git-gui / lib / about.tclon commit Merge branch 'sp/maint-push-sideband' into maint (a886ba2)
   1# git-gui about git-gui dialog
   2# Copyright (C) 2006, 2007 Shawn Pearce
   3
   4proc do_about {} {
   5        global appvers copyright oguilib
   6        global tcl_patchLevel tk_patchLevel
   7        global ui_comm_spell NS use_ttk
   8
   9        set w .about_dialog
  10        Dialog $w
  11        wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
  12
  13        pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10
  14        ${NS}::label $w.header -text [mc "About %s" [appname]] \
  15                -font font_uibold -anchor center
  16        pack $w.header -side top -fill x
  17
  18        ${NS}::frame $w.buttons
  19        ${NS}::button $w.buttons.close -text {Close} \
  20                -default active \
  21                -command [list destroy $w]
  22        pack $w.buttons.close -side right
  23        pack $w.buttons -side bottom -fill x -pady 10 -padx 10
  24
  25        paddedlabel $w.desc \
  26                -text "[mc "git-gui - a graphical user interface for Git."]\n$copyright"
  27        pack $w.desc -side top -fill x -padx 5 -pady 5
  28
  29        set v {}
  30        append v "git-gui version $appvers\n"
  31        append v "[git version]\n"
  32        append v "\n"
  33        if {$tcl_patchLevel eq $tk_patchLevel} {
  34                append v "Tcl/Tk version $tcl_patchLevel"
  35        } else {
  36                append v "Tcl version $tcl_patchLevel"
  37                append v ", Tk version $tk_patchLevel"
  38        }
  39        if {[info exists ui_comm_spell]
  40                && [$ui_comm_spell version] ne {}} {
  41                append v "\n"
  42                append v [$ui_comm_spell version]
  43        }
  44
  45        set d {}
  46        append d "git wrapper: $::_git\n"
  47        append d "git exec dir: [gitexec]\n"
  48        append d "git-gui lib: $oguilib"
  49
  50        paddedlabel $w.vers -text $v
  51        pack $w.vers -side top -fill x -padx 5 -pady 5
  52
  53        paddedlabel $w.dirs -text $d
  54        pack $w.dirs -side top -fill x -padx 5 -pady 5
  55
  56        menu $w.ctxm -tearoff 0
  57        $w.ctxm add command \
  58                -label {Copy} \
  59                -command "
  60                clipboard clear
  61                clipboard append -format STRING -type STRING -- \[$w.vers cget -text\]
  62        "
  63
  64        bind $w <Visibility> "grab $w; focus $w.buttons.close"
  65        bind $w <Key-Escape> "destroy $w"
  66        bind $w <Key-Return> "destroy $w"
  67        bind_button3 $w.vers "tk_popup $w.ctxm %X %Y; grab $w; focus $w"
  68        wm title $w "About [appname]"
  69        tkwait window $w
  70}