aboutsummaryrefslogtreecommitdiff
path: root/git-gui/lib/error.tcl
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-11-23 13:28:53 -0800
committerJunio C Hamano <gitster@pobox.com>2011-11-23 13:28:53 -0800
commit3686aa1caf907d22fe318c28efe93f0e7870ba50 (patch)
treef99a303bd14c7343be7ccc5b9df5382f1bf79246 /git-gui/lib/error.tcl
parentaa2577a9c3bd5559bd580feca6edec4d70254adc (diff)
parent1e501a7c47ad5ada53d3b1acfb9f131f76e969ec (diff)
downloadgit-3686aa1caf907d22fe318c28efe93f0e7870ba50.tar.gz
git-3686aa1caf907d22fe318c28efe93f0e7870ba50.tar.xz
Merge branch 'maint' into tj/imap-send-remove-unused
* maint: (18123 commits) documentation fix: git difftool uses diff tools, not merge tools. Git 1.7.7.4 Makefile: add missing header file dependencies notes merge: eliminate OUTPUT macro mailmap: xcalloc mailmap_info name-rev --all: do not even attempt to describe non-commit object Git 1.7.7.3 docs: Update install-doc-quick docs: don't mention --quiet or --exit-code in git-log(1) Git 1.7.7.2 t7511: avoid use of reserved filename on Windows. clone: Quote user supplied path in a single quote pair read-cache.c: fix index memory allocation make the sample pre-commit hook script reject names with newlines, too Reindent closing bracket using tab instead of spaces Git 1.7.7.1 RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting gitweb: fix regression when filtering out forks Almost ready for 1.7.7.1 pack-objects: don't traverse objects unnecessarily ... Conflicts: imap-send.c
Diffstat (limited to 'git-gui/lib/error.tcl')
-rw-r--r--git-gui/lib/error.tcl119
1 files changed, 119 insertions, 0 deletions
diff --git a/git-gui/lib/error.tcl b/git-gui/lib/error.tcl
new file mode 100644
index 000000000..c0fa69af5
--- /dev/null
+++ b/git-gui/lib/error.tcl
@@ -0,0 +1,119 @@
+# git-gui branch (create/delete) support
+# Copyright (C) 2006, 2007 Shawn Pearce
+
+proc _error_parent {} {
+ set p [grab current .]
+ if {$p eq {}} {
+ return .
+ }
+ return $p
+}
+
+proc error_popup {msg} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ set cmd [list tk_messageBox \
+ -icon error \
+ -type ok \
+ -title [append "$title: " [mc "error"]] \
+ -message $msg]
+ if {[winfo ismapped [_error_parent]]} {
+ lappend cmd -parent [_error_parent]
+ }
+ eval $cmd
+}
+
+proc warn_popup {msg} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ set cmd [list tk_messageBox \
+ -icon warning \
+ -type ok \
+ -title [append "$title: " [mc "warning"]] \
+ -message $msg]
+ if {[winfo ismapped [_error_parent]]} {
+ lappend cmd -parent [_error_parent]
+ }
+ eval $cmd
+}
+
+proc info_popup {msg} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ tk_messageBox \
+ -parent [_error_parent] \
+ -icon info \
+ -type ok \
+ -title $title \
+ -message $msg
+}
+
+proc ask_popup {msg} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ set cmd [list tk_messageBox \
+ -icon question \
+ -type yesno \
+ -title $title \
+ -message $msg]
+ if {[winfo ismapped [_error_parent]]} {
+ lappend cmd -parent [_error_parent]
+ }
+ eval $cmd
+}
+
+proc hook_failed_popup {hook msg {is_fatal 1}} {
+ global use_ttk NS
+ set w .hookfail
+ Dialog $w
+ wm withdraw $w
+
+ ${NS}::frame $w.m
+ ${NS}::label $w.m.l1 -text "$hook hook failed:" \
+ -anchor w \
+ -justify left \
+ -font font_uibold
+ text $w.m.t \
+ -background white \
+ -foreground black \
+ -borderwidth 1 \
+ -relief sunken \
+ -width 80 -height 10 \
+ -font font_diff \
+ -yscrollcommand [list $w.m.sby set]
+ ${NS}::scrollbar $w.m.sby -command [list $w.m.t yview]
+ pack $w.m.l1 -side top -fill x
+ if {$is_fatal} {
+ ${NS}::label $w.m.l2 \
+ -text [mc "You must correct the above errors before committing."] \
+ -anchor w \
+ -justify left \
+ -font font_uibold
+ pack $w.m.l2 -side bottom -fill x
+ }
+ pack $w.m.sby -side right -fill y
+ pack $w.m.t -side left -fill both -expand 1
+ pack $w.m -side top -fill both -expand 1 -padx 5 -pady 10
+
+ $w.m.t insert 1.0 $msg
+ $w.m.t conf -state disabled
+
+ ${NS}::button $w.ok -text OK \
+ -width 15 \
+ -command "destroy $w"
+ pack $w.ok -side bottom -anchor e -pady 10 -padx 10
+
+ bind $w <Visibility> "grab $w; focus $w"
+ bind $w <Key-Return> "destroy $w"
+ wm title $w [strcat "[appname] ([reponame]): " [mc "error"]]
+ wm deiconify $w
+ tkwait window $w
+}