git-gui: Include version check and test for tearoff menu entry
The --all option for git fetch was added in v1.6.6 so ensure we have a usable version before adding the menu items. Sometimes people use tearoff menus and these offset the entry indices by one. Acked-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
This commit is contained in:
parent
69e21b8392
commit
ba44692a2e
@ -233,6 +233,8 @@ proc make_sure_remote_submenues_exist {remote_m} {
|
||||
proc update_all_remotes_menu_entry {} {
|
||||
global all_remotes
|
||||
|
||||
if {[git-version < 1.6.6]} { return }
|
||||
|
||||
set have_remote 0
|
||||
foreach r $all_remotes {
|
||||
set have_remote 1
|
||||
@ -243,27 +245,29 @@ proc update_all_remotes_menu_entry {} {
|
||||
set prune_m $remote_m.prune
|
||||
if {$have_remote} {
|
||||
make_sure_remote_submenues_exist $remote_m
|
||||
if {[$fetch_m entrycget 0 -label] ne "All"} {
|
||||
set index [expr {[$fetch_m type 0] eq "tearoff" ? 1 : 0}]
|
||||
if {[$fetch_m entrycget $index -label] ne "All"} {
|
||||
|
||||
$fetch_m insert 0 separator
|
||||
$fetch_m insert 0 command \
|
||||
$fetch_m insert $index separator
|
||||
$fetch_m insert $index command \
|
||||
-label "All" \
|
||||
-command fetch_from_all
|
||||
|
||||
$prune_m insert 0 separator
|
||||
$prune_m insert 0 command \
|
||||
-label "All" \
|
||||
$prune_m insert $index separator
|
||||
$prune_m insert $index command \
|
||||
-label "All" \
|
||||
-command prune_from_all
|
||||
}
|
||||
} else {
|
||||
if {[winfo exists $fetch_m]} {
|
||||
set index [expr {[$fetch_m type 0] eq "tearoff" ? 1 : 0}]
|
||||
if {[$fetch_m type end] eq "separator"} {
|
||||
|
||||
delete_from_menu $fetch_m 0
|
||||
delete_from_menu $fetch_m 0
|
||||
delete_from_menu $fetch_m $index
|
||||
delete_from_menu $fetch_m $index
|
||||
|
||||
delete_from_menu $prune_m 0
|
||||
delete_from_menu $prune_m 0
|
||||
delete_from_menu $prune_m $index
|
||||
delete_from_menu $prune_m $index
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user