Sync with 'master'
commit
7b8bcc2412
283
gitk-git/gitk
283
gitk-git/gitk
|
@ -2215,6 +2215,7 @@ proc setoptions {} {
|
|||
}
|
||||
|
||||
proc setttkstyle {} {
|
||||
global theme
|
||||
eval font configure TkDefaultFont [fontflags mainfont]
|
||||
eval font configure TkTextFont [fontflags textfont]
|
||||
eval font configure TkHeadingFont [fontflags mainfont]
|
||||
|
@ -2224,6 +2225,10 @@ proc setttkstyle {} {
|
|||
eval font configure TkIconFont [fontflags uifont]
|
||||
eval font configure TkMenuFont [fontflags uifont]
|
||||
eval font configure TkSmallCaptionFont [fontflags uifont]
|
||||
|
||||
if {[catch {ttk::style theme use $theme} err]} {
|
||||
set theme [ttk::style theme use]
|
||||
}
|
||||
}
|
||||
|
||||
# Make a menu and submenus.
|
||||
|
@ -2376,7 +2381,6 @@ proc makewindow {} {
|
|||
global highlight_files gdttype
|
||||
global searchstring sstring
|
||||
global bgcolor fgcolor bglist fglist diffcolors diffbgcolors selectbgcolor
|
||||
global uifgcolor uifgdisabledcolor
|
||||
global filesepbgcolor filesepfgcolor
|
||||
global mergecolors foundbgcolor currentsearchhitbgcolor
|
||||
global headctxmenu progresscanv progressitem progresscoords statusw
|
||||
|
@ -2495,40 +2499,18 @@ proc makewindow {} {
|
|||
set sha1entry .tf.bar.sha1
|
||||
set entries $sha1entry
|
||||
set sha1but .tf.bar.sha1label
|
||||
button $sha1but -text "[mc "Commit ID:"] " -state disabled -relief flat \
|
||||
ttk::button $sha1but -text "[mc "Commit ID:"] " -state disabled \
|
||||
-command gotocommit -width 8
|
||||
$sha1but conf -disabledforeground [$sha1but cget -foreground]
|
||||
pack .tf.bar.sha1label -side left
|
||||
ttk::entry $sha1entry -width $hashlength -font textfont -textvariable sha1string
|
||||
trace add variable sha1string write sha1change
|
||||
pack $sha1entry -side left -pady 2
|
||||
|
||||
set bm_left_data {
|
||||
#define left_width 16
|
||||
#define left_height 16
|
||||
static unsigned char left_bits[] = {
|
||||
0x00, 0x00, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1c, 0x00,
|
||||
0x0e, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x0e, 0x00, 0x1c, 0x00,
|
||||
0x38, 0x00, 0x70, 0x00, 0xe0, 0x00, 0xc0, 0x01};
|
||||
}
|
||||
set bm_right_data {
|
||||
#define right_width 16
|
||||
#define right_height 16
|
||||
static unsigned char right_bits[] = {
|
||||
0x00, 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x1c,
|
||||
0x00, 0x38, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x00, 0x38, 0x00, 0x1c,
|
||||
0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01};
|
||||
}
|
||||
image create bitmap bm-left -data $bm_left_data -foreground $uifgcolor
|
||||
image create bitmap bm-left-gray -data $bm_left_data -foreground $uifgdisabledcolor
|
||||
image create bitmap bm-right -data $bm_right_data -foreground $uifgcolor
|
||||
image create bitmap bm-right-gray -data $bm_right_data -foreground $uifgdisabledcolor
|
||||
|
||||
ttk::button .tf.bar.leftbut -command goback -state disabled -width 26
|
||||
.tf.bar.leftbut configure -image [list bm-left disabled bm-left-gray]
|
||||
ttk::button .tf.bar.leftbut -command goback -state disabled
|
||||
.tf.bar.leftbut configure -text \u2190 -width 3
|
||||
pack .tf.bar.leftbut -side left -fill y
|
||||
ttk::button .tf.bar.rightbut -command goforw -state disabled -width 26
|
||||
.tf.bar.rightbut configure -image [list bm-right disabled bm-right-gray]
|
||||
ttk::button .tf.bar.rightbut -command goforw -state disabled
|
||||
.tf.bar.rightbut configure -text \u2192 -width 3
|
||||
pack .tf.bar.rightbut -side left -fill y
|
||||
|
||||
ttk::label .tf.bar.rowlabel -text [mc "Row"]
|
||||
|
@ -2559,31 +2541,8 @@ proc makewindow {} {
|
|||
# build up the bottom bar of upper window
|
||||
ttk::label .tf.lbar.flabel -text "[mc "Find"] "
|
||||
|
||||
set bm_down_data {
|
||||
#define down_width 16
|
||||
#define down_height 16
|
||||
static unsigned char down_bits[] = {
|
||||
0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
|
||||
0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
|
||||
0x87, 0xe1, 0x8e, 0x71, 0x9c, 0x39, 0xb8, 0x1d,
|
||||
0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01};
|
||||
}
|
||||
image create bitmap bm-down -data $bm_down_data -foreground $uifgcolor
|
||||
ttk::button .tf.lbar.fnext -width 26 -command {dofind 1 1}
|
||||
.tf.lbar.fnext configure -image bm-down
|
||||
|
||||
set bm_up_data {
|
||||
#define up_width 16
|
||||
#define up_height 16
|
||||
static unsigned char up_bits[] = {
|
||||
0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f,
|
||||
0xb8, 0x1d, 0x9c, 0x39, 0x8e, 0x71, 0x87, 0xe1,
|
||||
0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
|
||||
0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01};
|
||||
}
|
||||
image create bitmap bm-up -data $bm_up_data -foreground $uifgcolor
|
||||
ttk::button .tf.lbar.fprev -width 26 -command {dofind -1 1}
|
||||
.tf.lbar.fprev configure -image bm-up
|
||||
ttk::button .tf.lbar.fnext -command {dofind 1 1} -text \u2193 -width 3
|
||||
ttk::button .tf.lbar.fprev -command {dofind -1 1} -text \u2191 -width 3
|
||||
|
||||
ttk::label .tf.lbar.flab2 -text " [mc "commit"] "
|
||||
|
||||
|
@ -2656,7 +2615,7 @@ proc makewindow {} {
|
|||
|
||||
ttk::label .bleft.mid.labeldiffcontext -text " [mc "Lines of context"]: "
|
||||
pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left -ipadx $wgap
|
||||
spinbox .bleft.mid.diffcontext -width 5 \
|
||||
ttk::spinbox .bleft.mid.diffcontext -width 5 \
|
||||
-from 0 -increment 1 -to 10000000 \
|
||||
-validate all -validatecommand "diffcontextvalidate %P" \
|
||||
-textvariable diffcontextstring
|
||||
|
@ -8910,9 +8869,9 @@ proc sha1change {n1 n2 op} {
|
|||
}
|
||||
if {[$sha1but cget -state] == $state} return
|
||||
if {$state == "normal"} {
|
||||
$sha1but conf -state normal -relief raised -text "[mc "Goto:"] "
|
||||
$sha1but conf -state normal -text "[mc "Goto:"] "
|
||||
} else {
|
||||
$sha1but conf -state disabled -relief flat -text "[mc "Commit ID:"] "
|
||||
$sha1but conf -state disabled -text "[mc "Commit ID:"] "
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10294,7 +10253,9 @@ proc refill_reflist {} {
|
|||
if {![string match "remotes/*" $n] && [string match $reflistfilter $n]} {
|
||||
if {[commitinview $headids($n) $curview]} {
|
||||
lappend localrefs [list $n H]
|
||||
if {[info exists upstreamofref($n)] && [commitinview $headids($upstreamofref($n)) $curview]} {
|
||||
if {[info exists upstreamofref($n)] && \
|
||||
[info exists headids($upstreamofref($n))] && \
|
||||
[commitinview $headids($upstreamofref($n)) $curview]} {
|
||||
lappend trackedremoterefs [list $upstreamofref($n) R]
|
||||
}
|
||||
} else {
|
||||
|
@ -11608,9 +11569,10 @@ proc mkfontdisp {font top which} {
|
|||
set fontpref($font) [set $font]
|
||||
ttk::button $top.${font}but -text $which \
|
||||
-command [list choosefont $font $which]
|
||||
ttk::label $top.$font -relief flat -font $font \
|
||||
-text $fontattr($font,family) -justify left
|
||||
ttk::label $top.$font -font $font \
|
||||
-text $fontattr($font,family)
|
||||
grid x $top.${font}but $top.$font -sticky w
|
||||
grid configure $top.$font -sticky ew
|
||||
}
|
||||
|
||||
proc centertext {w} {
|
||||
|
@ -11690,48 +11652,52 @@ proc prefspage_general {notebook} {
|
|||
|
||||
ttk::label $page.ldisp -text [mc "Commit list display options"] -font mainfontbold
|
||||
grid $page.ldisp - -sticky w -pady 10
|
||||
|
||||
ttk::label $page.spacer -text " "
|
||||
ttk::label $page.maxwidthl -text [mc "Maximum graph width (lines)"]
|
||||
spinbox $page.maxwidth -from 0 -to 100 -width 4 -textvariable maxwidth
|
||||
ttk::spinbox $page.maxwidth -from 0 -to 100 -width 4 -textvariable maxwidth
|
||||
grid $page.spacer $page.maxwidthl $page.maxwidth -sticky w
|
||||
#xgettext:no-tcl-format
|
||||
ttk::label $page.maxpctl -text [mc "Maximum graph width (% of pane)"]
|
||||
spinbox $page.maxpct -from 1 -to 100 -width 4 -textvariable maxgraphpct
|
||||
ttk::spinbox $page.maxpct -from 1 -to 100 -width 4 -textvariable maxgraphpct
|
||||
grid x $page.maxpctl $page.maxpct -sticky w
|
||||
|
||||
ttk::checkbutton $page.showlocal -text [mc "Show local changes"] \
|
||||
-variable showlocalchanges
|
||||
grid x $page.showlocal -sticky w
|
||||
|
||||
ttk::checkbutton $page.hideremotes -text [mc "Hide remote refs"] \
|
||||
-variable hideremotes
|
||||
grid x $page.hideremotes -sticky w
|
||||
|
||||
ttk::entry $page.refstohide -textvariable refstohide
|
||||
ttk::frame $page.refstohidef
|
||||
ttk::label $page.refstohidef.l -text [mc "Refs to hide (space-separated globs)" ]
|
||||
pack $page.refstohidef.l -side left
|
||||
pack configure $page.refstohidef.l -padx 10
|
||||
grid x $page.refstohidef $page.refstohide -sticky ew
|
||||
ttk::label $page.refstohidel -text [mc "Refs to hide (space-separated globs)"]
|
||||
grid x $page.refstohidel $page.refstohide -sticky ew
|
||||
grid configure $page.refstohide -padx {0 5}
|
||||
|
||||
ttk::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \
|
||||
-variable autocopy
|
||||
grid x $page.autocopy -sticky w
|
||||
|
||||
if {[haveselectionclipboard]} {
|
||||
ttk::checkbutton $page.autoselect -text [mc "Copy commit ID to X11 selection"] \
|
||||
-variable autoselect
|
||||
grid x $page.autoselect -sticky w
|
||||
}
|
||||
|
||||
spinbox $page.autosellen -from 1 -to $hashlength -width 4 -textvariable autosellen
|
||||
ttk::spinbox $page.autosellen -from 1 -to $hashlength -width 4 -textvariable autosellen
|
||||
ttk::label $page.autosellenl -text [mc "Length of commit ID to copy"]
|
||||
grid x $page.autosellenl $page.autosellen -sticky w
|
||||
|
||||
ttk::label $page.kscroll1 -text [mc "Wheel scrolling multiplier"]
|
||||
spinbox $page.kscroll -from 1 -to 20 -width 4 -textvariable kscroll
|
||||
ttk::spinbox $page.kscroll -from 1 -to 20 -width 4 -textvariable kscroll
|
||||
grid x $page.kscroll1 $page.kscroll -sticky w
|
||||
|
||||
ttk::label $page.ddisp -text [mc "Diff display options"] -font mainfontbold
|
||||
grid $page.ddisp - -sticky w -pady 10
|
||||
|
||||
ttk::label $page.tabstopl -text [mc "Tab spacing"]
|
||||
spinbox $page.tabstop -from 1 -to 20 -width 4 -textvariable tabstop
|
||||
ttk::spinbox $page.tabstop -from 1 -to 20 -width 4 -textvariable tabstop
|
||||
grid x $page.tabstopl $page.tabstop -sticky w
|
||||
|
||||
ttk::label $page.wrapcommentl -text [mc "Wrap comment text"]
|
||||
|
@ -11745,12 +11711,15 @@ proc prefspage_general {notebook} {
|
|||
ttk::checkbutton $page.ntag -text [mc "Display nearby tags/heads"] \
|
||||
-variable showneartags
|
||||
grid x $page.ntag -sticky w
|
||||
|
||||
ttk::label $page.maxrefsl -text [mc "Maximum # tags/heads to show"]
|
||||
spinbox $page.maxrefs -from 1 -to 1000 -width 4 -textvariable maxrefs
|
||||
ttk::spinbox $page.maxrefs -from 1 -to 1000 -width 4 -textvariable maxrefs
|
||||
grid x $page.maxrefsl $page.maxrefs -sticky w
|
||||
|
||||
ttk::checkbutton $page.ldiff -text [mc "Limit diffs to listed paths"] \
|
||||
-variable limitdiffs
|
||||
grid x $page.ldiff -sticky w
|
||||
|
||||
ttk::checkbutton $page.lattr -text [mc "Support per-file encodings"] \
|
||||
-variable perfile_attrs
|
||||
grid x $page.lattr -sticky w
|
||||
|
@ -11759,76 +11728,109 @@ proc prefspage_general {notebook} {
|
|||
ttk::frame $page.extdifff
|
||||
ttk::label $page.extdifff.l -text [mc "External diff tool" ]
|
||||
ttk::button $page.extdifff.b -text [mc "Choose..."] -command choose_extdiff
|
||||
pack $page.extdifff.l $page.extdifff.b -side left
|
||||
pack configure $page.extdifff.l -padx 10
|
||||
pack $page.extdifff.l -side left
|
||||
pack $page.extdifff.b -side right -padx {0 5}
|
||||
grid x $page.extdifff $page.extdifft -sticky ew
|
||||
grid configure $page.extdifft -padx {0 5}
|
||||
|
||||
ttk::entry $page.webbrowser -textvariable web_browser
|
||||
ttk::frame $page.webbrowserf
|
||||
ttk::label $page.webbrowserf.l -text [mc "Web browser" ]
|
||||
pack $page.webbrowserf.l -side left
|
||||
pack configure $page.webbrowserf.l -padx 10
|
||||
grid x $page.webbrowserf $page.webbrowser -sticky ew
|
||||
ttk::label $page.webbrowserl -text [mc "Web browser" ]
|
||||
grid x $page.webbrowserl $page.webbrowser -sticky ew
|
||||
grid configure $page.webbrowser -padx {0 5}
|
||||
|
||||
grid columnconfigure $page 2 -weight 1
|
||||
|
||||
return $page
|
||||
}
|
||||
|
||||
proc prefspage_colors {notebook} {
|
||||
global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
|
||||
global bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
|
||||
global diffbgcolors
|
||||
global themeloader
|
||||
|
||||
set page [create_prefs_page $notebook.colors]
|
||||
|
||||
ttk::label $page.themesel -font mainfontbold \
|
||||
-text [mc "Themes - change requires restart"]
|
||||
grid $page.themesel - -sticky w -pady 10
|
||||
|
||||
ttk::label $page.themelabel -text [mc "Theme to use after restart"]
|
||||
makedroplist $page.theme theme {*}[lsort [ttk::style theme names]]
|
||||
grid x $page.themelabel $page.theme -sticky w
|
||||
|
||||
ttk::entry $page.tloadvar -textvariable themeloader
|
||||
ttk::frame $page.tloadframe
|
||||
ttk::label $page.tloadframe.l -text [mc "Theme definition file"]
|
||||
ttk::button $page.tloadframe.b -text [mc "Choose..."] \
|
||||
-command [list choose_themeloader $page]
|
||||
pack $page.tloadframe.l -side left
|
||||
pack $page.tloadframe.b -side right -padx {0 5}
|
||||
pack configure $page.tloadframe.l -padx 0
|
||||
grid x $page.tloadframe $page.tloadvar -sticky ew
|
||||
grid configure $page.tloadvar -padx {0 5}
|
||||
|
||||
ttk::label $page.themelabel2 -text \
|
||||
[mc "The theme definition file may affect all themes."]
|
||||
ttk::button $page.themebut2 -text [mc "Apply theme"] \
|
||||
-command [list updatetheme $page]
|
||||
grid x $page.themebut2 $page.themelabel2 -sticky w
|
||||
|
||||
ttk::label $page.cdisp -text [mc "Colors: press to choose"] -font mainfontbold
|
||||
grid $page.cdisp - -sticky w -pady 10
|
||||
label $page.ui -padx 40 -relief sunk -background $uicolor
|
||||
ttk::button $page.uibut -text [mc "Interface"] \
|
||||
-command [list choosecolor uicolor {} $page [mc "interface"]]
|
||||
grid x $page.uibut $page.ui -sticky w
|
||||
label $page.bg -padx 40 -relief sunk -background $bgcolor
|
||||
ttk::button $page.bgbut -text [mc "Background"] \
|
||||
-command [list choosecolor bgcolor {} $page [mc "background"]]
|
||||
grid x $page.bgbut $page.bg -sticky w
|
||||
|
||||
label $page.fg -padx 40 -relief sunk -background $fgcolor
|
||||
ttk::button $page.fgbut -text [mc "Foreground"] \
|
||||
-command [list choosecolor fgcolor {} $page [mc "foreground"]]
|
||||
grid x $page.fgbut $page.fg -sticky w
|
||||
|
||||
label $page.diffold -padx 40 -relief sunk -background [lindex $diffcolors 0]
|
||||
ttk::button $page.diffoldbut -text [mc "Diff: old lines"] \
|
||||
-command [list choosecolor diffcolors 0 $page [mc "diff old lines"]]
|
||||
grid x $page.diffoldbut $page.diffold -sticky w
|
||||
|
||||
label $page.diffoldbg -padx 40 -relief sunk -background [lindex $diffbgcolors 0]
|
||||
ttk::button $page.diffoldbgbut -text [mc "Diff: old lines bg"] \
|
||||
-command [list choosecolor diffbgcolors 0 $page [mc "diff old lines bg"]]
|
||||
grid x $page.diffoldbgbut $page.diffoldbg -sticky w
|
||||
|
||||
label $page.diffnew -padx 40 -relief sunk -background [lindex $diffcolors 1]
|
||||
ttk::button $page.diffnewbut -text [mc "Diff: new lines"] \
|
||||
-command [list choosecolor diffcolors 1 $page [mc "diff new lines"]]
|
||||
grid x $page.diffnewbut $page.diffnew -sticky w
|
||||
|
||||
label $page.diffnewbg -padx 40 -relief sunk -background [lindex $diffbgcolors 1]
|
||||
ttk::button $page.diffnewbgbut -text [mc "Diff: new lines bg"] \
|
||||
-command [list choosecolor diffbgcolors 1 $page [mc "diff new lines bg"]]
|
||||
grid x $page.diffnewbgbut $page.diffnewbg -sticky w
|
||||
|
||||
label $page.hunksep -padx 40 -relief sunk -background [lindex $diffcolors 2]
|
||||
ttk::button $page.hunksepbut -text [mc "Diff: hunk header"] \
|
||||
-command [list choosecolor diffcolors 2 $page [mc "diff hunk header"]]
|
||||
grid x $page.hunksepbut $page.hunksep -sticky w
|
||||
|
||||
label $page.markbgsep -padx 40 -relief sunk -background $markbgcolor
|
||||
ttk::button $page.markbgbut -text [mc "Marked line bg"] \
|
||||
-command [list choosecolor markbgcolor {} $page [mc "marked line background"]]
|
||||
grid x $page.markbgbut $page.markbgsep -sticky w
|
||||
|
||||
label $page.selbgsep -padx 40 -relief sunk -background $selectbgcolor
|
||||
ttk::button $page.selbgbut -text [mc "Select bg"] \
|
||||
-command [list choosecolor selectbgcolor {} $page [mc "background"]]
|
||||
grid x $page.selbgbut $page.selbgsep -sticky w
|
||||
|
||||
grid columnconfigure $page 2 -weight 1
|
||||
|
||||
return $page
|
||||
}
|
||||
|
||||
proc prefspage_set_colorswatches {page} {
|
||||
global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
|
||||
global bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
|
||||
global diffbgcolors
|
||||
|
||||
$page.ui configure -background $uicolor
|
||||
$page.bg configure -background $bgcolor
|
||||
$page.fg configure -background $fgcolor
|
||||
$page.diffold configure -background [lindex $diffcolors 0]
|
||||
|
@ -11847,6 +11849,7 @@ proc prefspage_fonts {notebook} {
|
|||
mkfontdisp mainfont $page [mc "Main font"]
|
||||
mkfontdisp textfont $page [mc "Diff display font"]
|
||||
mkfontdisp uifont $page [mc "User interface font"]
|
||||
grid columnconfigure $page 2 -weight 1
|
||||
return $page
|
||||
}
|
||||
|
||||
|
@ -11881,7 +11884,7 @@ proc doprefs {} {
|
|||
grid rowconfigure $notebook 1 -weight 1
|
||||
raise [lindex $pages 0]
|
||||
|
||||
grid $notebook -sticky news -padx 2 -pady 2
|
||||
grid $notebook -sticky news -padx 3 -pady 3
|
||||
grid rowconfigure $top 0 -weight 1
|
||||
grid columnconfigure $top 0 -weight 1
|
||||
|
||||
|
@ -11890,12 +11893,13 @@ proc doprefs {} {
|
|||
ttk::button $top.buts.can -text [mc "Cancel"] -command prefscan -default normal
|
||||
bind $top <Key-Return> prefsok
|
||||
bind $top <Key-Escape> prefscan
|
||||
grid $top.buts.ok $top.buts.can
|
||||
grid columnconfigure $top.buts 0 -weight 1 -uniform a
|
||||
grid columnconfigure $top.buts 1 -weight 1 -uniform a
|
||||
grid $top.buts - - -pady 10 -sticky ew
|
||||
grid columnconfigure $top 2 -weight 1
|
||||
grid $top.buts.ok $top.buts.can -padx 20
|
||||
grid $top.buts -sticky w -pady 10
|
||||
bind $top <Visibility> [list focus $top.buts.ok]
|
||||
|
||||
# let geometry manager determine run, set minimum size
|
||||
update idletasks
|
||||
wm minsize $top [winfo reqwidth $top] [winfo reqheight $top]
|
||||
}
|
||||
|
||||
proc choose_extdiff {} {
|
||||
|
@ -11907,6 +11911,51 @@ proc choose_extdiff {} {
|
|||
}
|
||||
}
|
||||
|
||||
proc run_themeloader {f} {
|
||||
if {![info exists ::_themefiles_seen]} {
|
||||
set ::_themefiles_seen [dict create]
|
||||
}
|
||||
|
||||
set fn [file normalize $f]
|
||||
if {![dict exists $::_themefiles_seen $fn]} {
|
||||
if {[catch {source $fn} err]} {
|
||||
error_popup "could not interpret: $fn\n$err"
|
||||
dict set ::_themefiles_seen $fn 0
|
||||
} else {
|
||||
dict set ::_themefiles_seen $fn 1
|
||||
}
|
||||
}
|
||||
return [dict get $::_themefiles_seen $fn]
|
||||
}
|
||||
|
||||
proc updatetheme {prefspage {dotheme 1}} {
|
||||
global theme
|
||||
global themeloader
|
||||
if {$themeloader ne {}} {
|
||||
if {![run_themeloader $themeloader]} {
|
||||
set themeloader {}
|
||||
return
|
||||
} else {
|
||||
$prefspage.theme configure -values \
|
||||
[lsort [ttk::style theme names]]
|
||||
}
|
||||
}
|
||||
if {$dotheme} {
|
||||
ttk::style theme use $theme
|
||||
set_gui_colors
|
||||
prefspage_set_colorswatches $prefspage
|
||||
}
|
||||
}
|
||||
|
||||
proc choose_themeloader {prefspage} {
|
||||
global themeloader
|
||||
set tfile [tk_getOpenFile -title [mc "Gitk: select theme definition"] -multiple false]
|
||||
if {$tfile ne {}} {
|
||||
set themeloader $tfile
|
||||
updatetheme $prefspage 0
|
||||
}
|
||||
}
|
||||
|
||||
proc choosecolor {v vi prefspage x} {
|
||||
global $v
|
||||
|
||||
|
@ -11930,21 +11979,6 @@ proc setselbg {c} {
|
|||
allcanvs itemconf secsel -fill $c
|
||||
}
|
||||
|
||||
# This sets the background color and the color scheme for the whole UI.
|
||||
# For some reason, tk_setPalette chooses a nasty dark red for selectColor
|
||||
# if we don't specify one ourselves, which makes the checkbuttons and
|
||||
# radiobuttons look bad. This chooses white for selectColor if the
|
||||
# background color is light, or black if it is dark.
|
||||
proc setui {c} {
|
||||
if {[tk windowingsystem] eq "win32"} { return }
|
||||
set bg [winfo rgb . $c]
|
||||
set selc black
|
||||
if {[lindex $bg 0] + 1.5 * [lindex $bg 1] + 0.5 * [lindex $bg 2] > 100000} {
|
||||
set selc white
|
||||
}
|
||||
tk_setPalette background $c selectColor $selc
|
||||
}
|
||||
|
||||
proc setbg {c} {
|
||||
global bglist
|
||||
|
||||
|
@ -11969,10 +12003,9 @@ proc setfg {c} {
|
|||
}
|
||||
|
||||
proc set_gui_colors {} {
|
||||
global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
|
||||
global bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
|
||||
global diffbgcolors
|
||||
|
||||
setui $uicolor
|
||||
setbg $bgcolor
|
||||
setfg $fgcolor
|
||||
$ctext tag conf d0 -foreground [lindex $diffcolors 0]
|
||||
|
@ -11994,6 +12027,7 @@ proc prefscan {} {
|
|||
catch {destroy $prefstop}
|
||||
unset prefstop
|
||||
fontcan
|
||||
setttkstyle
|
||||
set_gui_colors
|
||||
}
|
||||
|
||||
|
@ -12460,11 +12494,13 @@ namespace import ::msgcat::mc
|
|||
|
||||
# on OSX bring the current Wish process window to front
|
||||
if {[tk windowingsystem] eq "aqua"} {
|
||||
safe_exec [list osascript -e [format {
|
||||
tell application "System Events"
|
||||
set frontmost of processes whose unix id is %d to true
|
||||
end tell
|
||||
} [pid] ]]
|
||||
catch {
|
||||
safe_exec [list osascript -e [format {
|
||||
tell application "System Events"
|
||||
set frontmost of processes whose unix id is %d to true
|
||||
end tell
|
||||
} [pid] ]]
|
||||
}
|
||||
}
|
||||
|
||||
# Unset GIT_TRACE var if set
|
||||
|
@ -12569,17 +12605,11 @@ if {[tk windowingsystem] eq "aqua"} {
|
|||
|
||||
set colors {"#00ff00" red blue magenta darkgrey brown orange}
|
||||
if {[tk windowingsystem] eq "win32"} {
|
||||
set uicolor SystemButtonFace
|
||||
set uifgcolor SystemButtonText
|
||||
set uifgdisabledcolor SystemDisabledText
|
||||
set bgcolor SystemWindow
|
||||
set fgcolor SystemWindowText
|
||||
set selectbgcolor SystemHighlight
|
||||
set web_browser "cmd /c start"
|
||||
} else {
|
||||
set uicolor grey85
|
||||
set uifgcolor black
|
||||
set uifgdisabledcolor "#999"
|
||||
set bgcolor white
|
||||
set fgcolor black
|
||||
set selectbgcolor gray85
|
||||
|
@ -12619,6 +12649,12 @@ set circleoutlinecolor $fgcolor
|
|||
set foundbgcolor yellow
|
||||
set currentsearchhitbgcolor orange
|
||||
|
||||
set theme [ttk::style theme use]
|
||||
set themeloader {}
|
||||
set uicolor {}
|
||||
set uifgcolor {}
|
||||
set uifgdisabledcolor {}
|
||||
|
||||
# button for popping up context menus
|
||||
if {[tk windowingsystem] eq "aqua" && [package vcompare $::tcl_version 8.7] < 0} {
|
||||
set ctxbut <Button-2>
|
||||
|
@ -12702,6 +12738,8 @@ set config_variables {
|
|||
tagfgcolor
|
||||
tagoutlinecolor
|
||||
textfont
|
||||
theme
|
||||
themeloader
|
||||
uicolor
|
||||
uifgcolor
|
||||
uifgdisabledcolor
|
||||
|
@ -12801,7 +12839,13 @@ set nullid "0000000000000000000000000000000000000000"
|
|||
set nullid2 "0000000000000000000000000000000000000001"
|
||||
set nullfile "/dev/null"
|
||||
|
||||
setttkstyle
|
||||
if {[file exists $themeloader]} {
|
||||
if {![run_themeloader $themeloader]} {
|
||||
puts stderr "Could not interpret themeloader: $themeloader"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
set appname "gitk"
|
||||
|
||||
set runq {}
|
||||
|
@ -12917,6 +12961,7 @@ if {[tk windowingsystem] eq "win32"} {
|
|||
focus -force .
|
||||
}
|
||||
|
||||
setttkstyle
|
||||
set_gui_colors
|
||||
|
||||
getcommits {}
|
||||
|
|
Loading…
Reference in New Issue