120 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Tcl
		
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Tcl
		
	
	
| # 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
 | |
| }
 |