Browse Source

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>
maint
Pat Thoyts 14 years ago
parent
commit
ba44692a2e
  1. 24
      lib/remote.tcl

24
lib/remote.tcl

@ -233,6 +233,8 @@ proc make_sure_remote_submenues_exist {remote_m} { @@ -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 {} { @@ -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…
Cancel
Save