author | Junio C Hamano <gitster@pobox.com> | |
Tue, 12 Jun 2007 07:14:47 +0000 (00:14 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 12 Jun 2007 07:14:47 +0000 (00:14 -0700) |
* 'master' of git://repo.or.cz/git-gui:
git-gui: Save geometry before the window layout is damaged
git-gui: Give amend precedence to HEAD over MERGE_MSG
git-gui: Include 'war on whitespace' fixes from git.git
git-gui: Save geometry before the window layout is damaged
git-gui: Give amend precedence to HEAD over MERGE_MSG
git-gui: Include 'war on whitespace' fixes from git.git
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index e33ee03bc0b1881596115da73c875ef784cd0a93..3237f3d59627d60e3d5ac18ee588a61b0ce87576 100755 (executable)
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
if {![$ui_comm edit modified]
|| [string trim [$ui_comm get 0.0 end]] eq {}} {
- if {[load_message GITGUI_MSG]} {
+ if {[string match amend* $commit_type]} {
+ } elseif {[load_message GITGUI_MSG]} {
} elseif {[load_message MERGE_MSG]} {
} elseif {[load_message SQUASH_MSG]} {
}
# -- Standard bindings
#
-bind . <Destroy> {if {{%W} eq {.}} do_quit}
+wm protocol . WM_DELETE_WINDOW do_quit
bind all <$M1B-Key-q> do_quit
bind all <$M1B-Key-Q> do_quit
bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}
diff --git a/git-gui/lib/blame.tcl b/git-gui/lib/blame.tcl
index 98687c77daf2f5746b40674abc0e9fac8a0de7ed..139171d39edd343c48bfb3cb2a94b1437b596f07 100644 (file)
--- a/git-gui/lib/blame.tcl
+++ b/git-gui/lib/blame.tcl
bind $w_cviewer <Button-1> [list focus $w_cviewer]
bind $top <Visibility> [list focus $top]
- bind $w_file <Destroy> [list delete_this $this]
grid configure $w.header -sticky ew
grid configure $w.file_pane -sticky nsew
index 54c72b980c1d097a937f77bf0172bab64a223eda..405101637f0d224e341abd1177e3660cf8ea73a8 100644 (file)
$w.rename.newname_t icursor end
focus $w.rename.newname_t
"
- bind $w.header <Destroy> [list delete_this $this]
tkwait window $w
}
index fd86b11217cae2eab380362363cd7f4e8f79296a..3d6341bcc53d0e61b0817dcc5d9778f714b026b9 100644 (file)
--- a/git-gui/lib/browser.tcl
+++ b/git-gui/lib/browser.tcl
bind $w_list <Right> break
bind $w_list <Visibility> [list focus $w_list]
- bind $w_list <Destroy> [list delete_this $this]
set w $w_list
_ls $this $browser_commit
return $this
diff --git a/git-gui/lib/class.tcl b/git-gui/lib/class.tcl
index 72494c1a1ea51ec004a63f08f2c62db9096c2318..9d298d0dcc7d305eded58911c3c0758e94bb7ab6 100644 (file)
--- a/git-gui/lib/class.tcl
+++ b/git-gui/lib/class.tcl
if {[namespace exists $t]} {namespace delete $t}
}
-proc make_toplevel {t w} {
- upvar $t top $w pfx
+proc make_toplevel {t w args} {
+ upvar $t top $w pfx this this
+
+ if {[llength $args] % 2} {
+ error "make_toplevel topvar winvar {options}"
+ }
+ set autodelete 1
+ foreach {name value} $args {
+ switch -exact -- $name {
+ -autodelete {set autodelete $value}
+ default {error "unsupported option $name"}
+ }
+ }
+
if {[winfo ismapped .]} {
- upvar this this
regsub -all {::} $this {__} w
set top .$w
set pfx $top
set top .
set pfx {}
}
+
+ if {$autodelete} {
+ wm protocol $top WM_DELETE_WINDOW "
+ [list delete_this $this]
+ [list destroy $top]
+ "
+ }
}
index 8c112f3a8924c1cc82dcaa0a78a85506be162a50..ce25d92cac7b7826d8e04adc18d6e8a3c133096d 100644 (file)
--- a/git-gui/lib/console.tcl
+++ b/git-gui/lib/console.tcl
method _init {} {
global M1B
- make_toplevel top w
+ make_toplevel top w -autodelete 0
wm title $top "[appname] ([reponame]): $t_short"
set console_cr 1.0
diff --git a/git-gui/lib/merge.tcl b/git-gui/lib/merge.tcl
index 24ed24b3d091230d186208bd3656867f3fea70a0..ae0389df5bfb13b2823720c241b861b7b36b9e95 100644 (file)
--- a/git-gui/lib/merge.tcl
+++ b/git-gui/lib/merge.tcl
set cons [console::new "Merge" $msg]
console::exec $cons $cmd \
[namespace code [list _finish $revcnt $cons]]
- bind $w <Destroy> {}
+
+ wm protocol $w WM_DELETE_WINDOW {}
destroy $w
}
bind $w <$M1B-Key-Return> $_start
bind $w <Visibility> "grab $w; focus $w.source.l"
bind $w <Key-Escape> "unlock_index;destroy $w"
- bind $w <Destroy> unlock_index
+ wm protocol $w WM_DELETE_WINDOW "unlock_index;destroy $w"
wm title $w "[appname] ([reponame]): Merge"
tkwait window $w
}
index bc39581b86fdb9a9dc1d091c0d07b35a00c57ed9..b83e1b6315e856785341f083f121a02439682e09 100644 (file)
bind $w <$M1B-Key-R> [cb _rescan]
bind $w <Key-Return> [cb _delete]
bind $w <Key-Escape> [list destroy $w]
- bind $w.header <Destroy> [list delete_this $this]
return $w
}