gitk: Use named fonts instead of the font specification
This replaces the use of $mainfont, $textfont and $uifont with named fonts called mainfont, textfont and uifont. We also have variants called mainfontbold and textfontbold. This makes it much easier to make sure font size changes are reflected everywhere they should be, since configuring a named font automatically changes all the widgets that are using that font. Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
64b5f146fd
commit
9c311b3208
257
gitk
257
gitk
@ -133,7 +133,7 @@ proc stop_rev_list {} {
|
||||
}
|
||||
|
||||
proc getcommits {} {
|
||||
global phase canv mainfont curview
|
||||
global phase canv curview
|
||||
|
||||
set phase getcommits
|
||||
initlayout
|
||||
@ -615,7 +615,7 @@ proc confirm_popup msg {
|
||||
|
||||
proc makewindow {} {
|
||||
global canv canv2 canv3 linespc charspc ctext cflist
|
||||
global textfont mainfont uifont tabstop
|
||||
global tabstop
|
||||
global findtype findtypemenu findloc findstring fstring geometry
|
||||
global entries sha1entry sha1string sha1but
|
||||
global diffcontextstring diffcontext
|
||||
@ -630,19 +630,19 @@ proc makewindow {} {
|
||||
|
||||
menu .bar
|
||||
.bar add cascade -label "File" -menu .bar.file
|
||||
.bar configure -font $uifont
|
||||
.bar configure -font uifont
|
||||
menu .bar.file
|
||||
.bar.file add command -label "Update" -command updatecommits
|
||||
.bar.file add command -label "Reread references" -command rereadrefs
|
||||
.bar.file add command -label "List references" -command showrefs
|
||||
.bar.file add command -label "Quit" -command doquit
|
||||
.bar.file configure -font $uifont
|
||||
.bar.file configure -font uifont
|
||||
menu .bar.edit
|
||||
.bar add cascade -label "Edit" -menu .bar.edit
|
||||
.bar.edit add command -label "Preferences" -command doprefs
|
||||
.bar.edit configure -font $uifont
|
||||
.bar.edit configure -font uifont
|
||||
|
||||
menu .bar.view -font $uifont
|
||||
menu .bar.view -font uifont
|
||||
.bar add cascade -label "View" -menu .bar.view
|
||||
.bar.view add command -label "New view..." -command {newview 0}
|
||||
.bar.view add command -label "Edit view..." -command editview \
|
||||
@ -656,7 +656,7 @@ proc makewindow {} {
|
||||
.bar add cascade -label "Help" -menu .bar.help
|
||||
.bar.help add command -label "About gitk" -command about
|
||||
.bar.help add command -label "Key bindings" -command keys
|
||||
.bar.help configure -font $uifont
|
||||
.bar.help configure -font uifont
|
||||
. configure -menu .bar
|
||||
|
||||
# the gui has upper and lower half, parts of a paned window.
|
||||
@ -713,10 +713,10 @@ proc makewindow {} {
|
||||
set entries $sha1entry
|
||||
set sha1but .tf.bar.sha1label
|
||||
button $sha1but -text "SHA1 ID: " -state disabled -relief flat \
|
||||
-command gotocommit -width 8 -font $uifont
|
||||
-command gotocommit -width 8 -font uifont
|
||||
$sha1but conf -disabledforeground [$sha1but cget -foreground]
|
||||
pack .tf.bar.sha1label -side left
|
||||
entry $sha1entry -width 40 -font $textfont -textvariable sha1string
|
||||
entry $sha1entry -width 40 -font textfont -textvariable sha1string
|
||||
trace add variable sha1string write sha1change
|
||||
pack $sha1entry -side left -pady 2
|
||||
|
||||
@ -745,9 +745,9 @@ proc makewindow {} {
|
||||
|
||||
# Status label and progress bar
|
||||
set statusw .tf.bar.status
|
||||
label $statusw -width 15 -relief sunken -font $uifont
|
||||
label $statusw -width 15 -relief sunken -font uifont
|
||||
pack $statusw -side left -padx 5
|
||||
set h [expr {[font metrics $uifont -linespace] + 2}]
|
||||
set h [expr {[font metrics uifont -linespace] + 2}]
|
||||
set progresscanv .tf.bar.progress
|
||||
canvas $progresscanv -relief sunken -height $h -borderwidth 2
|
||||
set progressitem [$progresscanv create rect -1 0 0 $h -fill green]
|
||||
@ -760,10 +760,10 @@ proc makewindow {} {
|
||||
set progupdatepending 0
|
||||
|
||||
# build up the bottom bar of upper window
|
||||
label .tf.lbar.flabel -text "Find " -font $uifont
|
||||
button .tf.lbar.fnext -text "next" -command dofind -font $uifont
|
||||
button .tf.lbar.fprev -text "prev" -command {dofind 1} -font $uifont
|
||||
label .tf.lbar.flab2 -text " commit " -font $uifont
|
||||
label .tf.lbar.flabel -text "Find " -font uifont
|
||||
button .tf.lbar.fnext -text "next" -command dofind -font uifont
|
||||
button .tf.lbar.fprev -text "prev" -command {dofind 1} -font uifont
|
||||
label .tf.lbar.flab2 -text " commit " -font uifont
|
||||
pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \
|
||||
-side left -fill y
|
||||
set gdttype "containing:"
|
||||
@ -772,27 +772,27 @@ proc makewindow {} {
|
||||
"touching paths:" \
|
||||
"adding/removing string:"]
|
||||
trace add variable gdttype write gdttype_change
|
||||
$gm conf -font $uifont
|
||||
.tf.lbar.gdttype conf -font $uifont
|
||||
$gm conf -font uifont
|
||||
.tf.lbar.gdttype conf -font uifont
|
||||
pack .tf.lbar.gdttype -side left -fill y
|
||||
|
||||
set findstring {}
|
||||
set fstring .tf.lbar.findstring
|
||||
lappend entries $fstring
|
||||
entry $fstring -width 30 -font $textfont -textvariable findstring
|
||||
entry $fstring -width 30 -font textfont -textvariable findstring
|
||||
trace add variable findstring write find_change
|
||||
set findtype Exact
|
||||
set findtypemenu [tk_optionMenu .tf.lbar.findtype \
|
||||
findtype Exact IgnCase Regexp]
|
||||
trace add variable findtype write findcom_change
|
||||
.tf.lbar.findtype configure -font $uifont
|
||||
.tf.lbar.findtype.menu configure -font $uifont
|
||||
.tf.lbar.findtype configure -font uifont
|
||||
.tf.lbar.findtype.menu configure -font uifont
|
||||
set findloc "All fields"
|
||||
tk_optionMenu .tf.lbar.findloc findloc "All fields" Headline \
|
||||
Comments Author Committer
|
||||
trace add variable findloc write find_change
|
||||
.tf.lbar.findloc configure -font $uifont
|
||||
.tf.lbar.findloc.menu configure -font $uifont
|
||||
.tf.lbar.findloc configure -font uifont
|
||||
.tf.lbar.findloc.menu configure -font uifont
|
||||
pack .tf.lbar.findloc -side right
|
||||
pack .tf.lbar.findtype -side right
|
||||
pack $fstring -side left -expand 1 -fill x
|
||||
@ -820,10 +820,10 @@ proc makewindow {} {
|
||||
frame .bleft.mid
|
||||
|
||||
button .bleft.top.search -text "Search" -command dosearch \
|
||||
-font $uifont
|
||||
-font uifont
|
||||
pack .bleft.top.search -side left -padx 5
|
||||
set sstring .bleft.top.sstring
|
||||
entry $sstring -width 20 -font $textfont -textvariable searchstring
|
||||
entry $sstring -width 20 -font textfont -textvariable searchstring
|
||||
lappend entries $sstring
|
||||
trace add variable searchstring write incrsearch
|
||||
pack $sstring -side left -expand 1 -fill x
|
||||
@ -834,9 +834,9 @@ proc makewindow {} {
|
||||
radiobutton .bleft.mid.new -text "New version" \
|
||||
-command changediffdisp -variable diffelide -value {1 0}
|
||||
label .bleft.mid.labeldiffcontext -text " Lines of context: " \
|
||||
-font $uifont
|
||||
-font uifont
|
||||
pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left
|
||||
spinbox .bleft.mid.diffcontext -width 5 -font $textfont \
|
||||
spinbox .bleft.mid.diffcontext -width 5 -font textfont \
|
||||
-from 1 -increment 1 -to 10000000 \
|
||||
-validate all -validatecommand "diffcontextvalidate %P" \
|
||||
-textvariable diffcontextstring
|
||||
@ -846,7 +846,7 @@ proc makewindow {} {
|
||||
pack .bleft.mid.labeldiffcontext .bleft.mid.diffcontext -side left
|
||||
set ctext .bleft.ctext
|
||||
text $ctext -background $bgcolor -foreground $fgcolor \
|
||||
-state disabled -font $textfont \
|
||||
-state disabled -font textfont \
|
||||
-yscrollcommand scrolltext -wrap none
|
||||
if {$have_tk85} {
|
||||
$ctext conf -tabstyle wordprocessor
|
||||
@ -860,7 +860,7 @@ proc makewindow {} {
|
||||
lappend fglist $ctext
|
||||
|
||||
$ctext tag conf comment -wrap $wrapcomment
|
||||
$ctext tag conf filesep -font [concat $textfont bold] -back "#aaaaaa"
|
||||
$ctext tag conf filesep -font textfontbold -back "#aaaaaa"
|
||||
$ctext tag conf hunksep -fore [lindex $diffcolors 2]
|
||||
$ctext tag conf d0 -fore [lindex $diffcolors 0]
|
||||
$ctext tag conf d1 -fore [lindex $diffcolors 1]
|
||||
@ -882,8 +882,8 @@ proc makewindow {} {
|
||||
$ctext tag conf m15 -fore "#ff70b0"
|
||||
$ctext tag conf mmax -fore darkgrey
|
||||
set mergemax 16
|
||||
$ctext tag conf mresult -font [concat $textfont bold]
|
||||
$ctext tag conf msep -font [concat $textfont bold]
|
||||
$ctext tag conf mresult -font textfontbold
|
||||
$ctext tag conf msep -font textfontbold
|
||||
$ctext tag conf found -back yellow
|
||||
|
||||
.pwbottom add .bleft
|
||||
@ -894,18 +894,18 @@ proc makewindow {} {
|
||||
frame .bright.mode
|
||||
radiobutton .bright.mode.patch -text "Patch" \
|
||||
-command reselectline -variable cmitmode -value "patch"
|
||||
.bright.mode.patch configure -font $uifont
|
||||
.bright.mode.patch configure -font uifont
|
||||
radiobutton .bright.mode.tree -text "Tree" \
|
||||
-command reselectline -variable cmitmode -value "tree"
|
||||
.bright.mode.tree configure -font $uifont
|
||||
.bright.mode.tree configure -font uifont
|
||||
grid .bright.mode.patch .bright.mode.tree -sticky ew
|
||||
pack .bright.mode -side top -fill x
|
||||
set cflist .bright.cfiles
|
||||
set indent [font measure $mainfont "nn"]
|
||||
set indent [font measure mainfont "nn"]
|
||||
text $cflist \
|
||||
-selectbackground $selectbgcolor \
|
||||
-background $bgcolor -foreground $fgcolor \
|
||||
-font $mainfont \
|
||||
-font mainfont \
|
||||
-tabs [list $indent [expr {2 * $indent}]] \
|
||||
-yscrollcommand ".bright.sb set" \
|
||||
-cursor [. cget -cursor] \
|
||||
@ -917,7 +917,7 @@ proc makewindow {} {
|
||||
pack $cflist -side left -fill both -expand 1
|
||||
$cflist tag configure highlight \
|
||||
-background [$cflist cget -selectbackground]
|
||||
$cflist tag configure bold -font [concat $mainfont bold]
|
||||
$cflist tag configure bold -font mainfontbold
|
||||
|
||||
.pwbottom add .bright
|
||||
.ctop add .pwbottom
|
||||
@ -1272,10 +1272,10 @@ Copyright
|
||||
Use and redistribute under the terms of the GNU General Public License} \
|
||||
-justify center -aspect 400 -border 2 -bg white -relief groove
|
||||
pack $w.m -side top -fill x -padx 2 -pady 2
|
||||
$w.m configure -font $uifont
|
||||
$w.m configure -font uifont
|
||||
button $w.ok -text Close -command "destroy $w" -default active
|
||||
pack $w.ok -side bottom
|
||||
$w.ok configure -font $uifont
|
||||
$w.ok configure -font uifont
|
||||
bind $w <Visibility> "focus $w.ok"
|
||||
bind $w <Key-Escape> "destroy $w"
|
||||
bind $w <Key-Return> "destroy $w"
|
||||
@ -1336,10 +1336,10 @@ f Scroll diff view to next file
|
||||
" \
|
||||
-justify left -bg white -border 2 -relief groove
|
||||
pack $w.m -side top -fill both -padx 2 -pady 2
|
||||
$w.m configure -font $uifont
|
||||
$w.m configure -font uifont
|
||||
button $w.ok -text Close -command "destroy $w" -default active
|
||||
pack $w.ok -side bottom
|
||||
$w.ok configure -font $uifont
|
||||
$w.ok configure -font uifont
|
||||
bind $w <Visibility> "focus $w.ok"
|
||||
bind $w <Key-Escape> "destroy $w"
|
||||
bind $w <Key-Return> "destroy $w"
|
||||
@ -1871,22 +1871,22 @@ proc vieweditor {top n title} {
|
||||
|
||||
toplevel $top
|
||||
wm title $top $title
|
||||
label $top.nl -text "Name" -font $uifont
|
||||
entry $top.name -width 20 -textvariable newviewname($n) -font $uifont
|
||||
label $top.nl -text "Name" -font uifont
|
||||
entry $top.name -width 20 -textvariable newviewname($n) -font uifont
|
||||
grid $top.nl $top.name -sticky w -pady 5
|
||||
checkbutton $top.perm -text "Remember this view" -variable newviewperm($n) \
|
||||
-font $uifont
|
||||
-font uifont
|
||||
grid $top.perm - -pady 5 -sticky w
|
||||
message $top.al -aspect 1000 -font $uifont \
|
||||
message $top.al -aspect 1000 -font uifont \
|
||||
-text "Commits to include (arguments to git rev-list):"
|
||||
grid $top.al - -sticky w -pady 5
|
||||
entry $top.args -width 50 -textvariable newviewargs($n) \
|
||||
-background white -font $uifont
|
||||
-background white -font uifont
|
||||
grid $top.args - -sticky ew -padx 5
|
||||
message $top.l -aspect 1000 -font $uifont \
|
||||
message $top.l -aspect 1000 -font uifont \
|
||||
-text "Enter files and directories to include, one per line:"
|
||||
grid $top.l - -sticky w
|
||||
text $top.t -width 40 -height 10 -background white -font $uifont
|
||||
text $top.t -width 40 -height 10 -background white -font uifont
|
||||
if {[info exists viewfiles($n)]} {
|
||||
foreach f $viewfiles($n) {
|
||||
$top.t insert end $f
|
||||
@ -1898,9 +1898,9 @@ proc vieweditor {top n title} {
|
||||
grid $top.t - -sticky ew -padx 5
|
||||
frame $top.buts
|
||||
button $top.buts.ok -text "OK" -command [list newviewok $top $n] \
|
||||
-font $uifont
|
||||
-font uifont
|
||||
button $top.buts.can -text "Cancel" -command [list destroy $top] \
|
||||
-font $uifont
|
||||
-font uifont
|
||||
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
|
||||
@ -2191,12 +2191,12 @@ proc bolden_name {row font} {
|
||||
}
|
||||
|
||||
proc unbolden {} {
|
||||
global mainfont boldrows
|
||||
global boldrows
|
||||
|
||||
set stillbold {}
|
||||
foreach row $boldrows {
|
||||
if {![ishighlighted $row]} {
|
||||
bolden $row $mainfont
|
||||
bolden $row mainfont
|
||||
} else {
|
||||
lappend stillbold $row
|
||||
}
|
||||
@ -2235,9 +2235,8 @@ proc delvhighlight {} {
|
||||
|
||||
proc vhighlightmore {} {
|
||||
global hlview vhl_done commitidx vhighlights
|
||||
global displayorder vdisporder curview mainfont
|
||||
global displayorder vdisporder curview
|
||||
|
||||
set font [concat $mainfont bold]
|
||||
set max $commitidx($hlview)
|
||||
if {$hlview == $curview} {
|
||||
set disp $displayorder
|
||||
@ -2253,7 +2252,7 @@ proc vhighlightmore {} {
|
||||
set row $commitrow($curview,$id)
|
||||
if {$r0 <= $row && $row <= $r1} {
|
||||
if {![highlighted $row]} {
|
||||
bolden $row $font
|
||||
bolden $row mainfontbold
|
||||
}
|
||||
set vhighlights($row) 1
|
||||
}
|
||||
@ -2263,11 +2262,11 @@ proc vhighlightmore {} {
|
||||
}
|
||||
|
||||
proc askvhighlight {row id} {
|
||||
global hlview vhighlights commitrow iddrawn mainfont
|
||||
global hlview vhighlights commitrow iddrawn
|
||||
|
||||
if {[info exists commitrow($hlview,$id)]} {
|
||||
if {[info exists iddrawn($id)] && ![ishighlighted $row]} {
|
||||
bolden $row [concat $mainfont bold]
|
||||
bolden $row mainfontbold
|
||||
}
|
||||
set vhighlights($row) 1
|
||||
} else {
|
||||
@ -2277,7 +2276,7 @@ proc askvhighlight {row id} {
|
||||
|
||||
proc hfiles_change {} {
|
||||
global highlight_files filehighlight fhighlights fh_serial
|
||||
global mainfont highlight_paths gdttype
|
||||
global highlight_paths gdttype
|
||||
|
||||
if {[info exists filehighlight]} {
|
||||
# delete previous highlights
|
||||
@ -2335,13 +2334,13 @@ proc find_change {name ix op} {
|
||||
}
|
||||
|
||||
proc findcom_change args {
|
||||
global nhighlights mainfont boldnamerows
|
||||
global nhighlights boldnamerows
|
||||
global findpattern findtype findstring gdttype
|
||||
|
||||
stopfinding
|
||||
# delete previous highlights, if any
|
||||
foreach row $boldnamerows {
|
||||
bolden_name $row $mainfont
|
||||
bolden_name $row mainfont
|
||||
}
|
||||
set boldnamerows {}
|
||||
catch {unset nhighlights}
|
||||
@ -2414,7 +2413,7 @@ proc askfilehighlight {row id} {
|
||||
}
|
||||
|
||||
proc readfhighlight {} {
|
||||
global filehighlight fhighlights commitrow curview mainfont iddrawn
|
||||
global filehighlight fhighlights commitrow curview iddrawn
|
||||
global fhl_list find_dirn
|
||||
|
||||
if {![info exists filehighlight]} {
|
||||
@ -2436,7 +2435,7 @@ proc readfhighlight {} {
|
||||
if {![info exists commitrow($curview,$line)]} continue
|
||||
set row $commitrow($curview,$line)
|
||||
if {[info exists iddrawn($line)] && ![ishighlighted $row]} {
|
||||
bolden $row [concat $mainfont bold]
|
||||
bolden $row mainfontbold
|
||||
}
|
||||
set fhighlights($row) 1
|
||||
}
|
||||
@ -2470,7 +2469,7 @@ proc doesmatch {f} {
|
||||
}
|
||||
|
||||
proc askfindhighlight {row id} {
|
||||
global nhighlights commitinfo iddrawn mainfont
|
||||
global nhighlights commitinfo iddrawn
|
||||
global findloc
|
||||
global markingmatches
|
||||
|
||||
@ -2491,11 +2490,10 @@ proc askfindhighlight {row id} {
|
||||
}
|
||||
}
|
||||
if {$isbold && [info exists iddrawn($id)]} {
|
||||
set f [concat $mainfont bold]
|
||||
if {![ishighlighted $row]} {
|
||||
bolden $row $f
|
||||
bolden $row mainfontbold
|
||||
if {$isbold > 1} {
|
||||
bolden_name $row $f
|
||||
bolden_name $row mainfontbold
|
||||
}
|
||||
}
|
||||
if {$markingmatches} {
|
||||
@ -2624,7 +2622,7 @@ proc is_ancestor {a} {
|
||||
}
|
||||
|
||||
proc askrelhighlight {row id} {
|
||||
global descendent highlight_related iddrawn mainfont rhighlights
|
||||
global descendent highlight_related iddrawn rhighlights
|
||||
global selectedline ancestor
|
||||
|
||||
if {![info exists selectedline]} return
|
||||
@ -2648,7 +2646,7 @@ proc askrelhighlight {row id} {
|
||||
}
|
||||
if {[info exists iddrawn($id)]} {
|
||||
if {$isbold && ![ishighlighted $row]} {
|
||||
bolden $row [concat $mainfont bold]
|
||||
bolden $row mainfontbold
|
||||
}
|
||||
}
|
||||
set rhighlights($row) $isbold
|
||||
@ -3624,7 +3622,7 @@ proc drawcmittext {id row col} {
|
||||
global commitlisted commitinfo rowidlist parentlist
|
||||
global rowtextx idpos idtags idheads idotherrefs
|
||||
global linehtag linentag linedtag selectedline
|
||||
global mainfont canvxmax boldrows boldnamerows fgcolor nullid nullid2
|
||||
global canvxmax boldrows boldnamerows fgcolor nullid nullid2
|
||||
|
||||
# listed is 0 for boundary, 1 for normal, 2 for left, 3 for right
|
||||
set listed [lindex $commitlisted $row]
|
||||
@ -3681,15 +3679,15 @@ proc drawcmittext {id row col} {
|
||||
set name [lindex $commitinfo($id) 1]
|
||||
set date [lindex $commitinfo($id) 2]
|
||||
set date [formatdate $date]
|
||||
set font $mainfont
|
||||
set nfont $mainfont
|
||||
set font mainfont
|
||||
set nfont mainfont
|
||||
set isbold [ishighlighted $row]
|
||||
if {$isbold > 0} {
|
||||
lappend boldrows $row
|
||||
lappend font bold
|
||||
set font mainfontbold
|
||||
if {$isbold > 1} {
|
||||
lappend boldnamerows $row
|
||||
lappend nfont bold
|
||||
set nfont mainfontbold
|
||||
}
|
||||
}
|
||||
set linehtag($row) [$canv create text $xt $y -anchor w -fill $fgcolor \
|
||||
@ -3698,11 +3696,11 @@ proc drawcmittext {id row col} {
|
||||
set linentag($row) [$canv2 create text 3 $y -anchor w -fill $fgcolor \
|
||||
-text $name -font $nfont -tags text]
|
||||
set linedtag($row) [$canv3 create text 3 $y -anchor w -fill $fgcolor \
|
||||
-text $date -font $mainfont -tags text]
|
||||
-text $date -font mainfont -tags text]
|
||||
if {[info exists selectedline] && $selectedline == $row} {
|
||||
make_secsel $row
|
||||
}
|
||||
set xr [expr {$xt + [font measure $mainfont $headline]}]
|
||||
set xr [expr {$xt + [font measure $font $headline]}]
|
||||
if {$xr > $canvxmax} {
|
||||
set canvxmax $xr
|
||||
setcanvscroll
|
||||
@ -3985,7 +3983,7 @@ proc bindline {t id} {
|
||||
proc drawtags {id x xt y1} {
|
||||
global idtags idheads idotherrefs mainhead
|
||||
global linespc lthickness
|
||||
global canv mainfont commitrow rowtextx curview fgcolor bgcolor
|
||||
global canv commitrow rowtextx curview fgcolor bgcolor
|
||||
|
||||
set marks {}
|
||||
set ntags 0
|
||||
@ -4014,9 +4012,9 @@ proc drawtags {id x xt y1} {
|
||||
foreach tag $marks {
|
||||
incr i
|
||||
if {$i >= $ntags && $i < $ntags + $nheads && $tag eq $mainhead} {
|
||||
set wid [font measure [concat $mainfont bold] $tag]
|
||||
set wid [font measure mainfontbold $tag]
|
||||
} else {
|
||||
set wid [font measure $mainfont $tag]
|
||||
set wid [font measure mainfont $tag]
|
||||
}
|
||||
lappend xvals $xt
|
||||
lappend wvals $wid
|
||||
@ -4028,7 +4026,7 @@ proc drawtags {id x xt y1} {
|
||||
foreach tag $marks x $xvals wid $wvals {
|
||||
set xl [expr {$x + $delta}]
|
||||
set xr [expr {$x + $delta + $wid + $lthickness}]
|
||||
set font $mainfont
|
||||
set font mainfont
|
||||
if {[incr ntags -1] >= 0} {
|
||||
# draw a tag
|
||||
set t [$canv create polygon $x [expr {$yt + $delta}] $xl $yt \
|
||||
@ -4041,7 +4039,7 @@ proc drawtags {id x xt y1} {
|
||||
if {[incr nheads -1] >= 0} {
|
||||
set col green
|
||||
if {$tag eq $mainhead} {
|
||||
lappend font bold
|
||||
set font mainfontbold
|
||||
}
|
||||
} else {
|
||||
set col "#ddddff"
|
||||
@ -4050,7 +4048,7 @@ proc drawtags {id x xt y1} {
|
||||
$canv create polygon $x $yt $xr $yt $xr $yb $x $yb \
|
||||
-width 1 -outline black -fill $col -tags tag.$id
|
||||
if {[regexp {^(remotes/.*/|remotes/)} $tag match remoteprefix]} {
|
||||
set rwid [font measure $mainfont $remoteprefix]
|
||||
set rwid [font measure mainfont $remoteprefix]
|
||||
set xi [expr {$x + 1}]
|
||||
set yti [expr {$yt + 1}]
|
||||
set xri [expr {$x + $rwid}]
|
||||
@ -4082,10 +4080,10 @@ proc xcoord {i level ln} {
|
||||
}
|
||||
|
||||
proc show_status {msg} {
|
||||
global canv mainfont fgcolor
|
||||
global canv fgcolor
|
||||
|
||||
clear_display
|
||||
$canv create text 3 3 -anchor nw -text $msg -font $mainfont \
|
||||
$canv create text 3 3 -anchor nw -text $msg -font mainfont \
|
||||
-tags text -fill $fgcolor
|
||||
}
|
||||
|
||||
@ -5522,12 +5520,12 @@ proc clear_ctext {{first 1.0}} {
|
||||
}
|
||||
|
||||
proc settabs {{firstab {}}} {
|
||||
global firsttabstop tabstop textfont ctext have_tk85
|
||||
global firsttabstop tabstop ctext have_tk85
|
||||
|
||||
if {$firstab ne {} && $have_tk85} {
|
||||
set firsttabstop $firstab
|
||||
}
|
||||
set w [font measure $textfont "0"]
|
||||
set w [font measure textfont "0"]
|
||||
if {$firsttabstop != 0} {
|
||||
$ctext conf -tabs [list [expr {($firsttabstop + $tabstop) * $w}] \
|
||||
[expr {($firsttabstop + 2 * $tabstop) * $w}]]
|
||||
@ -5658,11 +5656,11 @@ proc scrolltext {f0 f1} {
|
||||
}
|
||||
|
||||
proc setcoords {} {
|
||||
global linespc charspc canvx0 canvy0 mainfont
|
||||
global linespc charspc canvx0 canvy0
|
||||
global xspc1 xspc2 lthickness
|
||||
|
||||
set linespc [font metrics $mainfont -linespace]
|
||||
set charspc [font measure $mainfont "m"]
|
||||
set linespc [font metrics mainfont -linespace]
|
||||
set charspc [font measure mainfont "m"]
|
||||
set canvy0 [expr {int(3 + 0.5 * $linespc)}]
|
||||
set canvx0 [expr {int(3 + 0.5 * $linespc)}]
|
||||
set lthickness [expr {int($linespc / 9) + 1}]
|
||||
@ -5687,25 +5685,45 @@ proc redisplay {} {
|
||||
}
|
||||
}
|
||||
|
||||
proc fontdescr {f} {
|
||||
set d [list [font actual $f -family] [font actual $f -size]]
|
||||
if {[font actual $f -weight] eq "bold"} {
|
||||
lappend d "bold"
|
||||
}
|
||||
if {[font actual $f -slant] eq "italic"} {
|
||||
lappend d "italic"
|
||||
}
|
||||
if {[font actual $f -underline]} {
|
||||
lappend d "underline"
|
||||
}
|
||||
if {[font actual $f -overstrike]} {
|
||||
lappend d "overstrike"
|
||||
}
|
||||
return $d
|
||||
}
|
||||
|
||||
proc incrfont {inc} {
|
||||
global mainfont textfont ctext canv phase cflist showrefstop
|
||||
global stopped entries
|
||||
unmarkmatches
|
||||
set mainfont [lreplace $mainfont 1 1 [expr {[lindex $mainfont 1] + $inc}]]
|
||||
set textfont [lreplace $textfont 1 1 [expr {[lindex $textfont 1] + $inc}]]
|
||||
set s [font actual mainfont -size]
|
||||
incr s $inc
|
||||
if {$s < 1} {
|
||||
set s 1
|
||||
}
|
||||
font config mainfont -size $s
|
||||
font config mainfontbold -size $s
|
||||
set mainfont [fontdescr mainfont]
|
||||
set s [font actual textfont -size]
|
||||
incr s $inc
|
||||
if {$s < 1} {
|
||||
set s 1
|
||||
}
|
||||
font config textfont -size $s
|
||||
font config textfontbold -size $s
|
||||
set textfont [fontdescr textfont]
|
||||
setcoords
|
||||
settabs
|
||||
$cflist conf -font $textfont
|
||||
$ctext tag conf filesep -font [concat $textfont bold]
|
||||
foreach e $entries {
|
||||
$e conf -font $mainfont
|
||||
}
|
||||
if {$phase eq "getcommits"} {
|
||||
$canv itemconf textitems -font $mainfont
|
||||
}
|
||||
if {[info exists showrefstop] && [winfo exists $showrefstop]} {
|
||||
$showrefstop.list conf -font $mainfont
|
||||
}
|
||||
redisplay
|
||||
}
|
||||
|
||||
@ -5816,7 +5834,7 @@ proc lineleave {id} {
|
||||
proc linehover {} {
|
||||
global hoverx hovery hoverid hovertimer
|
||||
global canv linespc lthickness
|
||||
global commitinfo mainfont
|
||||
global commitinfo
|
||||
|
||||
set text [lindex $commitinfo($hoverid) 0]
|
||||
set ymax [lindex [$canv cget -scrollregion] 3]
|
||||
@ -5826,13 +5844,13 @@ proc linehover {} {
|
||||
set y [expr {$hovery + $yfrac * $ymax - $linespc / 2}]
|
||||
set x0 [expr {$x - 2 * $lthickness}]
|
||||
set y0 [expr {$y - 2 * $lthickness}]
|
||||
set x1 [expr {$x + [font measure $mainfont $text] + 2 * $lthickness}]
|
||||
set x1 [expr {$x + [font measure mainfont $text] + 2 * $lthickness}]
|
||||
set y1 [expr {$y + $linespc + 2 * $lthickness}]
|
||||
set t [$canv create rectangle $x0 $y0 $x1 $y1 \
|
||||
-fill \#ffff80 -outline black -width 1 -tags hover]
|
||||
$canv raise $t
|
||||
set t [$canv create text $x $y -anchor nw -text $text -tags hover \
|
||||
-font $mainfont]
|
||||
-font mainfont]
|
||||
$canv raise $t
|
||||
}
|
||||
|
||||
@ -6168,7 +6186,7 @@ proc domktag {} {
|
||||
|
||||
proc redrawtags {id} {
|
||||
global canv linehtag commitrow idpos selectedline curview
|
||||
global mainfont canvxmax iddrawn
|
||||
global canvxmax iddrawn
|
||||
|
||||
if {![info exists commitrow($curview,$id)]} return
|
||||
if {![info exists iddrawn($id)]} return
|
||||
@ -6177,7 +6195,7 @@ proc redrawtags {id} {
|
||||
set xt [eval drawtags $id $idpos($id)]
|
||||
$canv coords $linehtag($commitrow($curview,$id)) $xt [lindex $idpos($id) 2]
|
||||
set text [$canv itemcget $linehtag($commitrow($curview,$id)) -text]
|
||||
set xr [expr {$xt + [font measure $mainfont $text]}]
|
||||
set xr [expr {$xt + [font measure mainfont $text]}]
|
||||
if {$xr > $canvxmax} {
|
||||
set canvxmax $xr
|
||||
setcanvscroll
|
||||
@ -6509,8 +6527,8 @@ proc rmbranch {} {
|
||||
|
||||
# Display a list of tags and heads
|
||||
proc showrefs {} {
|
||||
global showrefstop bgcolor fgcolor selectbgcolor mainfont
|
||||
global bglist fglist uifont reflistfilter reflist maincursor
|
||||
global showrefstop bgcolor fgcolor selectbgcolor
|
||||
global bglist fglist reflistfilter reflist maincursor
|
||||
|
||||
set top .showrefs
|
||||
set showrefstop $top
|
||||
@ -6522,7 +6540,7 @@ proc showrefs {} {
|
||||
toplevel $top
|
||||
wm title $top "Tags and heads: [file tail [pwd]]"
|
||||
text $top.list -background $bgcolor -foreground $fgcolor \
|
||||
-selectbackground $selectbgcolor -font $mainfont \
|
||||
-selectbackground $selectbgcolor -font mainfont \
|
||||
-xscrollcommand "$top.xsb set" -yscrollcommand "$top.ysb set" \
|
||||
-width 30 -height 20 -cursor $maincursor \
|
||||
-spacing1 1 -spacing3 1 -state disabled
|
||||
@ -6534,15 +6552,15 @@ proc showrefs {} {
|
||||
grid $top.list $top.ysb -sticky nsew
|
||||
grid $top.xsb x -sticky ew
|
||||
frame $top.f
|
||||
label $top.f.l -text "Filter: " -font $uifont
|
||||
entry $top.f.e -width 20 -textvariable reflistfilter -font $uifont
|
||||
label $top.f.l -text "Filter: " -font uifont
|
||||
entry $top.f.e -width 20 -textvariable reflistfilter -font uifont
|
||||
set reflistfilter "*"
|
||||
trace add variable reflistfilter write reflistfilter_change
|
||||
pack $top.f.e -side right -fill x -expand 1
|
||||
pack $top.f.l -side left
|
||||
grid $top.f - -sticky ew -pady 2
|
||||
button $top.close -command [list destroy $top] -text "Close" \
|
||||
-font $uifont
|
||||
-font uifont
|
||||
grid $top.close -
|
||||
grid columnconfigure $top 0 -weight 1
|
||||
grid rowconfigure $top 0 -weight 1
|
||||
@ -7845,7 +7863,7 @@ proc doprefs {} {
|
||||
toplevel $top
|
||||
wm title $top "Gitk preferences"
|
||||
label $top.ldisp -text "Commit list display options"
|
||||
$top.ldisp configure -font $uifont
|
||||
$top.ldisp configure -font uifont
|
||||
grid $top.ldisp - -sticky w -pady 10
|
||||
label $top.spacer -text " "
|
||||
label $top.maxwidthl -text "Maximum graph width (lines)" \
|
||||
@ -7863,7 +7881,7 @@ proc doprefs {} {
|
||||
grid x $top.showlocal -sticky w
|
||||
|
||||
label $top.ddisp -text "Diff display options"
|
||||
$top.ddisp configure -font $uifont
|
||||
$top.ddisp configure -font uifont
|
||||
grid $top.ddisp - -sticky w -pady 10
|
||||
label $top.diffoptl -text "Options for diff program" \
|
||||
-font optionfont
|
||||
@ -7879,7 +7897,7 @@ proc doprefs {} {
|
||||
grid x $top.tabstopl $top.tabstop -sticky w
|
||||
|
||||
label $top.cdisp -text "Colors: press to choose"
|
||||
$top.cdisp configure -font $uifont
|
||||
$top.cdisp configure -font uifont
|
||||
grid $top.cdisp - -sticky w -pady 10
|
||||
label $top.bg -padx 40 -relief sunk -background $bgcolor
|
||||
button $top.bgbut -text "Background" -font optionfont \
|
||||
@ -7912,9 +7930,9 @@ proc doprefs {} {
|
||||
|
||||
frame $top.buts
|
||||
button $top.buts.ok -text "OK" -command prefsok -default active
|
||||
$top.buts.ok configure -font $uifont
|
||||
$top.buts.ok configure -font uifont
|
||||
button $top.buts.can -text "Cancel" -command prefscan -default normal
|
||||
$top.buts.can configure -font $uifont
|
||||
$top.buts.can configure -font uifont
|
||||
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
|
||||
@ -8322,6 +8340,15 @@ set selectbgcolor gray85
|
||||
catch {source ~/.gitk}
|
||||
|
||||
font create optionfont -family sans-serif -size -12
|
||||
font create mainfont
|
||||
catch {eval font config mainfont [font actual $mainfont]}
|
||||
eval font create mainfontbold [font actual mainfont] -weight bold
|
||||
font create textfont
|
||||
catch {eval font config textfont [font actual $textfont]}
|
||||
eval font create textfontbold [font actual textfont]
|
||||
font config textfontbold -weight bold
|
||||
font create uifont
|
||||
catch {eval font config uifont [font actual $uifont]}
|
||||
|
||||
# check that we can find a .git directory somewhere...
|
||||
if {[catch {set gitdir [gitdir]}]} {
|
||||
|
Loading…
Reference in New Issue
Block a user