git-gui: new config to control staging of untracked files
authorBert Wesarg <bert.wesarg@googlemail.com>
Fri, 14 Oct 2011 19:25:21 +0000 (21:25 +0200)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Tue, 18 Oct 2011 08:44:10 +0000 (09:44 +0100)
The default is the current "ask".

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
git-gui.sh
lib/index.tcl
lib/option.tcl

index e5dd8bc1f2ffb489f4b41470c3cbda5ff7ca4656..7eeec52281f874e526a089ebb0411673f2cadb81 100755 (executable)
@@ -859,6 +859,7 @@ set font_descs {
        {fontui   font_ui   {mc "Main Font"}}
        {fontdiff font_diff {mc "Diff/Console Font"}}
 }
+set default_config(gui.stageuntracked) ask
 
 ######################################################################
 ##
index 014acf93198d3ef3bc347a65b6129121b1228f09..45094c267209e4600bfd1ed373f03c24904739e0 100644 (file)
@@ -367,7 +367,19 @@ proc do_add_all {} {
                }
        }
        if {[llength $untracked_paths]} {
-               set reply [ask_popup [mc "Stage also untracked files?"]]
+               set reply 0
+               switch -- [get_config gui.stageuntracked] {
+               no {
+                       set reply 0
+               }
+               yes {
+                       set reply 1
+               }
+               ask -
+               default {
+                       set reply [ask_popup [mc "Stage also untracked files?"]]
+               }
+               }
                if {$reply} {
                        set paths [concat $paths $untracked_paths]
                }
index 3807c8d28324a277204db9191e99ddb856041c22..719103a4220cd3b84734c37e78e32773a8f23a47 100644 (file)
@@ -156,6 +156,7 @@ proc do_options {} {
                {i-0..99 gui.commitmsgwidth {mc "Commit Message Text Width"}}
                {t gui.newbranchtemplate {mc "New Branch Name Template"}}
                {c gui.encoding {mc "Default File Contents Encoding"}}
+               {s gui.stageuntracked {mc "Staging of untracked files"} {list "yes" "no" "ask"}}
                } {
                set type [lindex $option 0]
                set name [lindex $option 1]
@@ -208,6 +209,23 @@ proc do_options {} {
                                }
                                pack $w.$f.$optid -side top -anchor w -fill x
                        }
+                       s {
+                               set opts [eval [lindex $option 3]]
+                               ${NS}::frame $w.$f.$optid
+                               ${NS}::label $w.$f.$optid.l -text "$text:"
+                               if {$use_ttk} {
+                                       ttk::combobox $w.$f.$optid.v \
+                                               -textvariable ${f}_config_new($name) \
+                                               -values $opts -state readonly
+                               } else {
+                                       eval tk_optionMenu $w.$f.$optid.v \
+                                               ${f}_config_new($name) \
+                                               $opts
+                               }
+                               pack $w.$f.$optid.l -side left -anchor w -fill x
+                               pack $w.$f.$optid.v -side right -anchor e -padx 5
+                               pack $w.$f.$optid -side top -anchor w -fill x
+                       }
                        }
                }
        }