f57ca1efe5
If we somehow managed to get our spellchecker instance created but aspell wasn't startable we may not finish _connect and thus may find one or more of our fields was not initialized in the instance. If we have an instance but no version, there is no reason to show a version to the user in our about dialog. We effectively have no spellchecker available. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
88 lines
2.1 KiB
Tcl
88 lines
2.1 KiB
Tcl
# git-gui about git-gui dialog
|
|
# Copyright (C) 2006, 2007 Shawn Pearce
|
|
|
|
proc do_about {} {
|
|
global appvers copyright oguilib
|
|
global tcl_patchLevel tk_patchLevel
|
|
global ui_comm_spell
|
|
|
|
set w .about_dialog
|
|
toplevel $w
|
|
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
|
|
|
pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10
|
|
label $w.header -text [mc "About %s" [appname]] \
|
|
-font font_uibold
|
|
pack $w.header -side top -fill x
|
|
|
|
frame $w.buttons
|
|
button $w.buttons.close -text {Close} \
|
|
-default active \
|
|
-command [list destroy $w]
|
|
pack $w.buttons.close -side right
|
|
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
|
|
|
label $w.desc \
|
|
-text "[mc "git-gui - a graphical user interface for Git."]\n$copyright" \
|
|
-padx 5 -pady 5 \
|
|
-justify left \
|
|
-anchor w \
|
|
-borderwidth 1 \
|
|
-relief solid
|
|
pack $w.desc -side top -fill x -padx 5 -pady 5
|
|
|
|
set v {}
|
|
append v "git-gui version $appvers\n"
|
|
append v "[git version]\n"
|
|
append v "\n"
|
|
if {$tcl_patchLevel eq $tk_patchLevel} {
|
|
append v "Tcl/Tk version $tcl_patchLevel"
|
|
} else {
|
|
append v "Tcl version $tcl_patchLevel"
|
|
append v ", Tk version $tk_patchLevel"
|
|
}
|
|
if {[info exists ui_comm_spell]
|
|
&& [$ui_comm_spell version] ne {}} {
|
|
append v "\n"
|
|
append v [$ui_comm_spell version]
|
|
}
|
|
|
|
set d {}
|
|
append d "git wrapper: $::_git\n"
|
|
append d "git exec dir: [gitexec]\n"
|
|
append d "git-gui lib: $oguilib"
|
|
|
|
label $w.vers \
|
|
-text $v \
|
|
-padx 5 -pady 5 \
|
|
-justify left \
|
|
-anchor w \
|
|
-borderwidth 1 \
|
|
-relief solid
|
|
pack $w.vers -side top -fill x -padx 5 -pady 5
|
|
|
|
label $w.dirs \
|
|
-text $d \
|
|
-padx 5 -pady 5 \
|
|
-justify left \
|
|
-anchor w \
|
|
-borderwidth 1 \
|
|
-relief solid
|
|
pack $w.dirs -side top -fill x -padx 5 -pady 5
|
|
|
|
menu $w.ctxm -tearoff 0
|
|
$w.ctxm add command \
|
|
-label {Copy} \
|
|
-command "
|
|
clipboard clear
|
|
clipboard append -format STRING -type STRING -- \[$w.vers cget -text\]
|
|
"
|
|
|
|
bind $w <Visibility> "grab $w; focus $w.buttons.close"
|
|
bind $w <Key-Escape> "destroy $w"
|
|
bind $w <Key-Return> "destroy $w"
|
|
bind_button3 $w.vers "tk_popup $w.ctxm %X %Y; grab $w; focus $w"
|
|
wm title $w "About [appname]"
|
|
tkwait window $w
|
|
}
|