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:
commit
0f639abb68
@ -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
|
||||||
|
@ -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 {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user