aboutsummaryrefslogtreecommitdiff
path: root/git-gui/lib/error.tcl
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-05-07 23:36:31 -0400
committerShawn O. Pearce <spearce@spearce.org>2007-05-07 23:51:00 -0400
commit5f5dbd719d0d8ec136f32a0a56674902bd85f72f (patch)
treef5898a282daf34722256709c7ac2ac7f78f9bbb7 /git-gui/lib/error.tcl
parent3082acfa7c626a34aa419a163585051c2df2bf09 (diff)
parentebcaadabcb90eaf35a3bd69a50cccce4be4dcc2c (diff)
downloadgit-5f5dbd719d0d8ec136f32a0a56674902bd85f72f.tar.gz
git-5f5dbd719d0d8ec136f32a0a56674902bd85f72f.tar.xz
Merge branch 'master' of git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui: git-gui: Use vi-like keys in merge dialog git-gui: Include commit id/subject in merge choices git-gui: Show all possible branches for merge git-gui: Move merge support into a namespace git-gui: Allow vi keys to scroll the diff/blame regions git-gui: Move console procs into their own namespace git-gui: Refactor into multiple files to save my sanity git-gui: Track our own embedded values and rebuild when they change git-gui: Refactor to use our git proc more often git-gui: Use option database defaults to set the font git-gui: Cleanup common font handling for font_ui git-gui: Correct line wrapping for too many branch message git-gui: Warn users before making an octopus merge git-gui: Include the subject in the status bar after commit Also perform an evil merge change to update Git's main Makefile to pass the proper options down into git-gui now that it depends on reasonable values for 'sharedir' and 'TCL_PATH'. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'git-gui/lib/error.tcl')
-rw-r--r--git-gui/lib/error.tcl101
1 files changed, 101 insertions, 0 deletions
diff --git a/git-gui/lib/error.tcl b/git-gui/lib/error.tcl
new file mode 100644
index 000000000..d0253ae2f
--- /dev/null
+++ b/git-gui/lib/error.tcl
@@ -0,0 +1,101 @@
+# git-gui branch (create/delete) support
+# Copyright (C) 2006, 2007 Shawn Pearce
+
+proc error_popup {msg} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ set cmd [list tk_messageBox \
+ -icon error \
+ -type ok \
+ -title "$title: error" \
+ -message $msg]
+ if {[winfo ismapped .]} {
+ lappend cmd -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 "$title: warning" \
+ -message $msg]
+ if {[winfo ismapped .]} {
+ lappend cmd -parent .
+ }
+ eval $cmd
+}
+
+proc info_popup {msg {parent .}} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ tk_messageBox \
+ -parent $parent \
+ -icon info \
+ -type ok \
+ -title $title \
+ -message $msg
+}
+
+proc ask_popup {msg} {
+ set title [appname]
+ if {[reponame] ne {}} {
+ append title " ([reponame])"
+ }
+ return [tk_messageBox \
+ -parent . \
+ -icon question \
+ -type yesno \
+ -title $title \
+ -message $msg]
+}
+
+proc hook_failed_popup {hook msg} {
+ set w .hookfail
+ toplevel $w
+
+ frame $w.m
+ label $w.m.l1 -text "$hook hook failed:" \
+ -anchor w \
+ -justify left \
+ -font font_uibold
+ text $w.m.t \
+ -background white -borderwidth 1 \
+ -relief sunken \
+ -width 80 -height 10 \
+ -font font_diff \
+ -yscrollcommand [list $w.m.sby set]
+ label $w.m.l2 \
+ -text {You must correct the above errors before committing.} \
+ -anchor w \
+ -justify left \
+ -font font_uibold
+ scrollbar $w.m.sby -command [list $w.m.t yview]
+ pack $w.m.l1 -side top -fill x
+ 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
+
+ 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 "[appname] ([reponame]): error"
+ tkwait window $w
+}