if {[string range $err 0 4] == "usage"} {
set err "Gitk: error reading commits$fv:\
bad arguments to git log."
- if {$viewname($view) eq "Command line"} {
+ if {$viewname($view) eq [mc "Command line"]} {
append err \
" (Note: arguments to gitk are passed to git log\
to allow selection of commits to be displayed.)"
}
proc setoptions {} {
+ global use_ttk
+
if {[tk windowingsystem] ne "win32"} {
option add *Panedwindow.showHandle 1 startupFile
option add *Panedwindow.sashRelief raised startupFile
option add *Listbox.font mainfont startupFile
}
+proc setttkstyle {} {
+ eval font configure TkDefaultFont [fontflags mainfont]
+ eval font configure TkTextFont [fontflags textfont]
+ eval font configure TkHeadingFont [fontflags mainfont]
+ eval font configure TkCaptionFont [fontflags mainfont] -weight bold
+ eval font configure TkTooltipFont [fontflags uifont]
+ eval font configure TkFixedFont [fontflags textfont]
+ eval font configure TkIconFont [fontflags uifont]
+ eval font configure TkMenuFont [fontflags uifont]
+ eval font configure TkSmallCaptionFont [fontflags uifont]
+}
+
# Make a menu and submenus.
# m is the window name for the menu, items is the list of menu items to add.
# Each item is a list {mc label type description options...}
# The "mc" arguments here are purely so that xgettext
# sees the following string as needing to be translated
set file {
- mc "File" cascade {
- {mc "Update" command updatecommits -accelerator F5}
- {mc "Reload" command reloadcommits -accelerator Shift-F5}
- {mc "Reread references" command rereadrefs}
- {mc "List references" command showrefs -accelerator F2}
+ mc "&File" cascade {
+ {mc "&Update" command updatecommits -accelerator F5}
+ {mc "&Reload" command reloadcommits -accelerator Shift-F5}
+ {mc "Reread re&ferences" command rereadrefs}
+ {mc "&List references" command showrefs -accelerator F2}
{xx "" separator}
- {mc "Start git gui" command {exec git gui &}}
+ {mc "Start git &gui" command {exec git gui &}}
{xx "" separator}
- {mc "Quit" command doquit -accelerator Meta1-Q}
+ {mc "&Quit" command doquit -accelerator Meta1-Q}
}}
set edit {
- mc "Edit" cascade {
- {mc "Preferences" command doprefs}
+ mc "&Edit" cascade {
+ {mc "&Preferences" command doprefs}
}}
set view {
- mc "View" cascade {
- {mc "New view..." command {newview 0} -accelerator Shift-F4}
- {mc "Edit view..." command editview -state disabled -accelerator F4}
- {mc "Delete view" command delview -state disabled}
+ mc "&View" cascade {
+ {mc "&New view..." command {newview 0} -accelerator Shift-F4}
+ {mc "&Edit view..." command editview -state disabled -accelerator F4}
+ {mc "&Delete view" command delview -state disabled}
{xx "" separator}
- {mc "All files" radiobutton {selectedview 0} -command {showview 0}}
+ {mc "&All files" radiobutton {selectedview 0} -command {showview 0}}
}}
if {[tk windowingsystem] ne "aqua"} {
set help {
- mc "Help" cascade {
- {mc "About gitk" command about}
- {mc "Key bindings" command keys}
+ mc "&Help" cascade {
+ {mc "&About gitk" command about}
+ {mc "&Key bindings" command keys}
}}
set bar [list $file $edit $view $help]
} else {
proc ::tk::mac::Quit {} {doquit}
lset file end [lreplace [lindex $file end] end-1 end]
set apple {
- xx "Apple" cascade {
- {mc "About gitk" command about}
+ xx "&Apple" cascade {
+ {mc "&About gitk" command about}
{xx "" separator}
}}
set help {
- mc "Help" cascade {
- {mc "Key bindings" command keys}
+ mc "&Help" cascade {
+ {mc "&Key bindings" command keys}
}}
set bar [list $apple $file $view $help]
}
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]
+ set progressitem [$progresscanv create rect -1 0 0 $h -fill lime]
set fprogitem [$progresscanv create rect -1 0 0 $h -fill yellow]
set rprogitem [$progresscanv create rect -1 0 0 $h -fill red]
}
${NS}::frame .bleft.mid
${NS}::frame .bleft.bottom
+ # gap between sub-widgets
+ set wgap [font measure uifont "i"]
+
${NS}::button .bleft.top.search -text [mc "Search"] -command dosearch
pack .bleft.top.search -side left -padx 5
set sstring .bleft.top.sstring
-command changediffdisp -variable diffelide -value {0 1}
${NS}::radiobutton .bleft.mid.new -text [mc "New version"] \
-command changediffdisp -variable diffelide -value {1 0}
+
${NS}::label .bleft.mid.labeldiffcontext -text " [mc "Lines of context"]: "
- pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left
+ pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left -ipadx $wgap
spinbox .bleft.mid.diffcontext -width 5 \
-from 0 -increment 1 -to 10000000 \
-validate all -validatecommand "diffcontextvalidate %P" \
.bleft.mid.diffcontext set $diffcontext
trace add variable diffcontextstring write diffcontextchange
lappend entries .bleft.mid.diffcontext
- pack .bleft.mid.labeldiffcontext .bleft.mid.diffcontext -side left
+ pack .bleft.mid.labeldiffcontext .bleft.mid.diffcontext -side left -ipadx $wgap
${NS}::checkbutton .bleft.mid.ignspace -text [mc "Ignore space change"] \
-command changeignorespace -variable ignorespace
pack .bleft.mid.ignspace -side left -padx 5
{mc "Diff selected -> this" command {diffvssel 1}}
{mc "Make patch" command mkpatch}
{mc "Create tag" command mktag}
+ {mc "Copy commit summary" command copysummary}
{mc "Write commit to file" command writecommit}
{mc "Create new branch" command mkbranch}
{mc "Cherry-pick this commit" command cherrypick}
0x00, 0x00, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f,
0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0x00, 0x00};
}
-image create bitmap reficon-H -background black -foreground green \
+image create bitmap reficon-H -background black -foreground lime \
-data $rectdata -maskdata $rectmask
image create bitmap reficon-o -background black -foreground "#ddddff" \
-data $rectdata -maskdata $rectmask
set curview $n
set selectedview $n
- .bar.view entryconf [mca "Edit view..."] -state [expr {$n == 0? "disabled": "normal"}]
- .bar.view entryconf [mca "Delete view"] -state [expr {$n == 0? "disabled": "normal"}]
+ .bar.view entryconf [mca "&Edit view..."] -state [expr {$n == 0? "disabled": "normal"}]
+ .bar.view entryconf [mca "&Delete view"] -state [expr {$n == 0? "disabled": "normal"}]
run refill_reflist
if {![info exists viewcomplete($n)]} {
if {$id ne $nullid && $id ne $nullid2} {
set menu $rowctxmenu
if {$mainhead ne {}} {
- $menu entryconfigure 7 -label [mc "Reset %s branch to here" $mainhead] -state normal
+ $menu entryconfigure 8 -label [mc "Reset %s branch to here" $mainhead] -state normal
} else {
- $menu entryconfigure 7 -label [mc "Detached head: can't reset" $mainhead] -state disabled
+ $menu entryconfigure 8 -label [mc "Detached head: can't reset" $mainhead] -state disabled
}
- $menu entryconfigure 9 -state $mstate
$menu entryconfigure 10 -state $mstate
$menu entryconfigure 11 -state $mstate
+ $menu entryconfigure 12 -state $mstate
} else {
set menu $fakerowmenu
}
mktagcan
}
+proc copysummary {} {
+ global rowmenuid autosellen
+
+ set format "%h (\"%s\", %ad)"
+ set cmd [list git show -s --pretty=format:$format --date=short]
+ if {$autosellen < 40} {
+ lappend cmd --abbrev=$autosellen
+ }
+ set summary [eval exec $cmd $rowmenuid]
+
+ clipboard clear
+ clipboard append $summary
+}
+
proc writecommit {} {
global rowmenuid wrcomtop commitinfo wrcomcmd NS
set extdifftool "meld"
}
-set colors {green red blue magenta darkgrey brown orange}
+set colors {lime red blue magenta darkgrey brown orange}
if {[tk windowingsystem] eq "win32"} {
set uicolor SystemButtonFace
set uifgcolor SystemButtonText
}
set diffcolors {red "#00a000" blue}
set diffcontext 3
-set mergecolors {red blue green purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
+set mergecolors {red blue lime purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
set ignorespace 0
set worddiff ""
set markbgcolor "#e0e0ff"
-set headbgcolor green
+set headbgcolor lime
set headfgcolor black
set headoutlinecolor black
set remotebgcolor #ffddaa
set linehoveroutlinecolor black
set mainheadcirclecolor yellow
set workingfilescirclecolor red
-set indexcirclecolor green
+set indexcirclecolor lime
set circlecolors {white blue gray blue blue}
set linkfgcolor blue
set circleoutlinecolor $fgcolor
set use_ttk [expr {$have_ttk && $want_ttk}]
set NS [expr {$use_ttk ? "ttk" : ""}]
+if {$use_ttk} {
+ setttkstyle
+}
+
regexp {^git version ([\d.]*\d)} [exec git version] _ git_version
set show_notes {}
set viewchanged(1) 0
set vdatemode(1) 0
addviewmenu 1
- .bar.view entryconf [mca "Edit view..."] -state normal
- .bar.view entryconf [mca "Delete view"] -state normal
+ .bar.view entryconf [mca "&Edit view..."] -state normal
+ .bar.view entryconf [mca "&Delete view"] -state normal
}
if {[info exists permviews]} {