Merge git://repo.or.cz/git-gui

* git://repo.or.cz/git-gui:
  git-gui: Request blame metadata in utf-8.
  git-gui: Add the Show SSH Key item to the clone dialog.
  git-gui: Fix focus transition in the blame viewer.
This commit is contained in:
Junio C Hamano 2008-11-12 21:12:41 -08:00
commit 0f639abb68
4 changed files with 41 additions and 17 deletions

View File

@ -997,6 +997,17 @@ citool {
} }
} }
######################################################################
##
## execution environment
set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}]
# Suggest our implementation of askpass, if none is set
if {![info exists env(SSH_ASKPASS)]} {
set env(SSH_ASKPASS) [gitexec git-gui--askpass]
}
###################################################################### ######################################################################
## ##
## repository setup ## repository setup
@ -1073,15 +1084,6 @@ set selected_commit_type new
set nullid "0000000000000000000000000000000000000000" set nullid "0000000000000000000000000000000000000000"
set nullid2 "0000000000000000000000000000000000000001" set nullid2 "0000000000000000000000000000000000000001"
set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}]
######################################################################
# Suggest our implementation of askpass, if none is set
if {![info exists env(SSH_ASKPASS)]} {
set env(SSH_ASKPASS) [gitexec git-gui--askpass]
}
###################################################################### ######################################################################
## ##
## task management ## task management

View File

@ -321,7 +321,7 @@ constructor new {i_commit i_path i_jump} {
tk_popup $w.ctxm %X %Y tk_popup $w.ctxm %X %Y
" "
bind $i <Shift-Tab> "[list focus $w_cviewer];break" bind $i <Shift-Tab> "[list focus $w_cviewer];break"
bind $i <Tab> "[list focus $w_cviewer];break" bind $i <Tab> "[cb _focus_search $w_cviewer];break"
} }
foreach i [concat $w_columns $w_cviewer] { foreach i [concat $w_columns $w_cviewer] {
@ -337,10 +337,10 @@ constructor new {i_commit i_path i_jump} {
bind $i <Control-Key-f> {catch {%W yview scroll 1 pages};break} bind $i <Control-Key-f> {catch {%W yview scroll 1 pages};break}
} }
bind $w_cviewer <Shift-Tab> "[list focus $w_file];break" bind $w_cviewer <Shift-Tab> "[cb _focus_search $w_file];break"
bind $w_cviewer <Tab> "[list focus $w_file];break" bind $w_cviewer <Tab> "[list focus $w_file];break"
bind $w_cviewer <Button-1> [list focus $w_cviewer] bind $w_cviewer <Button-1> [list focus $w_cviewer]
bind $w_file <Visibility> [list focus $w_file] bind $w_file <Visibility> [cb _focus_search $w_file]
bind $top <F7> [list searchbar::show $finder] bind $top <F7> [list searchbar::show $finder]
bind $top <Escape> [list searchbar::hide $finder] bind $top <Escape> [list searchbar::hide $finder]
bind $top <F3> [list searchbar::find_next $finder] bind $top <F3> [list searchbar::find_next $finder]
@ -382,6 +382,14 @@ constructor new {i_commit i_path i_jump} {
_load $this $i_jump _load $this $i_jump
} }
method _focus_search {win} {
if {[searchbar::visible $finder]} {
focus [searchbar::editor $finder]
} else {
focus $win
}
}
method _handle_destroy {win} { method _handle_destroy {win} {
if {$win eq $w} { if {$win eq $w} {
_kill $this _kill $this
@ -551,7 +559,7 @@ method _read_file {fd jump} {
} ifdeleted { catch {close $fd} } } ifdeleted { catch {close $fd} }
method _exec_blame {cur_w cur_d options cur_s} { method _exec_blame {cur_w cur_d options cur_s} {
lappend options --incremental lappend options --incremental --encoding=utf-8
if {$commit eq {}} { if {$commit eq {}} {
lappend options --contents $path lappend options --contents $path
} else { } else {

View File

@ -43,12 +43,18 @@ constructor pick {} {
$w.mbar.apple add command \ $w.mbar.apple add command \
-label [mc "About %s" [appname]] \ -label [mc "About %s" [appname]] \
-command do_about -command do_about
$w.mbar.apple add command \
-label [mc "Show SSH Key"] \
-command do_ssh_key
} else { } else {
$w.mbar add cascade -label [mc Help] -menu $w.mbar.help $w.mbar add cascade -label [mc Help] -menu $w.mbar.help
menu $w.mbar.help menu $w.mbar.help
$w.mbar.help add command \ $w.mbar.help add command \
-label [mc "About %s" [appname]] \ -label [mc "About %s" [appname]] \
-command do_about -command do_about
$w.mbar.help add command \
-label [mc "Show SSH Key"] \
-command do_ssh_key
} }
wm protocol $top WM_DELETE_WINDOW exit wm protocol $top WM_DELETE_WINDOW exit

View File

@ -19,11 +19,11 @@ constructor new {i_w i_text args} {
frame $w frame $w
label $w.l -text [mc Find:] label $w.l -text [mc Find:]
entry $w.ent -textvariable ${__this}::searchstring -background lightgreen
button $w.bn -text [mc Next] -command [cb find_next] button $w.bn -text [mc Next] -command [cb find_next]
button $w.bp -text [mc Prev] -command [cb find_prev] button $w.bp -text [mc Prev] -command [cb find_prev]
checkbutton $w.cs -text [mc Case-Sensitive] \ checkbutton $w.cs -text [mc Case-Sensitive] \
-variable ${__this}::casesensitive -command [cb _incrsearch] -variable ${__this}::casesensitive -command [cb _incrsearch]
entry $w.ent -textvariable ${__this}::searchstring -background lightgreen
pack $w.l -side left pack $w.l -side left
pack $w.cs -side right pack $w.cs -side right
pack $w.bp -side right pack $w.bp -side right
@ -40,19 +40,27 @@ constructor new {i_w i_text args} {
} }
method show {} { method show {} {
if {![winfo ismapped $w]} { if {![visible $this]} {
grid $w grid $w
} }
focus -force $w.ent focus -force $w.ent
} }
method hide {} { method hide {} {
if {[winfo ismapped $w]} { if {[visible $this]} {
focus $ctext focus $ctext
grid remove $w grid remove $w
} }
} }
method visible {} {
return [winfo ismapped $w]
}
method editor {} {
return $w.ent
}
method _get_new_anchor {} { method _get_new_anchor {} {
# use start of selection if it is visible, # use start of selection if it is visible,
# or the bounds of the visible area # or the bounds of the visible area