git-gui / lib / about.tclon commit Merge commit 'v1.6.0' into jc/checkout-reflog-fix (4d9e42f)
   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
   8
   9        set w .about_dialog
  10        toplevel $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        label $w.header -text [mc "About %s" [appname]] \
  15                -font font_uibold
  16        pack $w.header -side top -fill x
  17
  18        frame $w.buttons
  19        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        label $w.desc \
  26                -text "[mc "git-gui - a graphical user interface for Git."]\n$copyright" \
  27                -padx 5 -pady 5 \
  28                -justify left \
  29                -anchor w \
  30                -borderwidth 1 \
  31                -relief solid
  32        pack $w.desc -side top -fill x -padx 5 -pady 5
  33
  34        set v {}
  35        append v "git-gui version $appvers\n"
  36        append v "[git version]\n"
  37        append v "\n"
  38        if {$tcl_patchLevel eq $tk_patchLevel} {
  39                append v "Tcl/Tk version $tcl_patchLevel"
  40        } else {
  41                append v "Tcl version $tcl_patchLevel"
  42                append v ", Tk version $tk_patchLevel"
  43        }
  44        if {[info exists ui_comm_spell]
  45                && [$ui_comm_spell version] ne {}} {
  46                append v "\n"
  47                append v [$ui_comm_spell version]
  48        }
  49
  50        set d {}
  51        append d "git wrapper: $::_git\n"
  52        append d "git exec dir: [gitexec]\n"
  53        append d "git-gui lib: $oguilib"
  54
  55        label $w.vers \
  56                -text $v \
  57                -padx 5 -pady 5 \
  58                -justify left \
  59                -anchor w \
  60                -borderwidth 1 \
  61                -relief solid
  62        pack $w.vers -side top -fill x -padx 5 -pady 5
  63
  64        label $w.dirs \
  65                -text $d \
  66                -padx 5 -pady 5 \
  67                -justify left \
  68                -anchor w \
  69                -borderwidth 1 \
  70                -relief solid
  71        pack $w.dirs -side top -fill x -padx 5 -pady 5
  72
  73        menu $w.ctxm -tearoff 0
  74        $w.ctxm add command \
  75                -label {Copy} \
  76                -command "
  77                clipboard clear
  78                clipboard append -format STRING -type STRING -- \[$w.vers cget -text\]
  79        "
  80
  81        bind $w <Visibility> "grab $w; focus $w.buttons.close"
  82        bind $w <Key-Escape> "destroy $w"
  83        bind $w <Key-Return> "destroy $w"
  84        bind_button3 $w.vers "tk_popup $w.ctxm %X %Y; grab $w; focus $w"
  85        wm title $w "About [appname]"
  86        tkwait window $w
  87}