gitk: Remove boilerplate for configuration variables
Signed-off-by: Max Kirillov <max@max630.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Max Kirillov committed
Sep 14, 2014 at 23:35 UTC
9fabefb1f3f658e77eb18afa3f95efe1a0ee8d0d
1 file changed
+20
-68
gitk
+20
-68
@@ -2777,23 +2777,11 @@ proc doprogupdate {} {
2777
}
2778
2779
proc savestuff {w} {
2780
- global canv canv2 canv3 mainfont textfont uifont tabstop
2781
- global stuffsaved findmergefiles maxgraphpct
2782
- global maxwidth showneartags showlocalchanges
2780
global viewname viewfiles viewargs viewargscmd viewperm nextviewnum
2784
- global cmitmode wrapcomment datetimeformat limitdiffs
2785
- global colors uicolor bgcolor fgcolor diffcolors diffcontext selectbgcolor
2786
- global uifgcolor uifgdisabledcolor
2787
- global headbgcolor headfgcolor headoutlinecolor remotebgcolor
2788
- global tagbgcolor tagfgcolor tagoutlinecolor
2789
- global reflinecolor filesepbgcolor filesepfgcolor
2790
- global mergecolors foundbgcolor currentsearchhitbgcolor
2791
- global linehoverbgcolor linehoverfgcolor linehoveroutlinecolor circlecolors
2792
- global mainheadcirclecolor workingfilescirclecolor indexcirclecolor
2793
- global linkfgcolor circleoutlinecolor
2794
- global autoselect autosellen extdifftool perfile_attrs markbgcolor use_ttk
2795
- global hideremotes want_ttk maxrefs visiblerefs
2781
+ global use_ttk
2782
+ global stuffsaved
2783
global config_file config_file_tmp
2784
+ global config_variables
2785
2786
if {$stuffsaved} return
2787
if {![winfo viewable .]} return
@@ -2805,59 +2793,10 @@ proc savestuff {w} {
2793
if {$::tcl_platform(platform) eq {windows}} {
2794
file attributes $config_file_tmp -hidden true
2795
}
2808
- puts $f [list set mainfont $mainfont]
2809
- puts $f [list set textfont $textfont]
2810
- puts $f [list set uifont $uifont]
2811
- puts $f [list set tabstop $tabstop]
2812
- puts $f [list set findmergefiles $findmergefiles]
2813
- puts $f [list set maxgraphpct $maxgraphpct]
2814
- puts $f [list set maxwidth $maxwidth]
2815
- puts $f [list set cmitmode $cmitmode]
2816
- puts $f [list set wrapcomment $wrapcomment]
2817
- puts $f [list set autoselect $autoselect]
2818
- puts $f [list set autosellen $autosellen]
2819
- puts $f [list set showneartags $showneartags]
2820
- puts $f [list set maxrefs $maxrefs]
2821
- puts $f [list set visiblerefs $visiblerefs]
2822
- puts $f [list set hideremotes $hideremotes]
2823
- puts $f [list set showlocalchanges $showlocalchanges]
2824
- puts $f [list set datetimeformat $datetimeformat]
2825
- puts $f [list set limitdiffs $limitdiffs]
2826
- puts $f [list set uicolor $uicolor]
2827
- puts $f [list set want_ttk $want_ttk]
2828
- puts $f [list set bgcolor $bgcolor]
2829
- puts $f [list set fgcolor $fgcolor]
2830
- puts $f [list set uifgcolor $uifgcolor]
2831
- puts $f [list set uifgdisabledcolor $uifgdisabledcolor]
2832
- puts $f [list set colors $colors]
2833
- puts $f [list set diffcolors $diffcolors]
2834
- puts $f [list set mergecolors $mergecolors]
2835
- puts $f [list set markbgcolor $markbgcolor]
2836
- puts $f [list set diffcontext $diffcontext]
2837
- puts $f [list set selectbgcolor $selectbgcolor]
2838
- puts $f [list set foundbgcolor $foundbgcolor]
2839
- puts $f [list set currentsearchhitbgcolor $currentsearchhitbgcolor]
2840
- puts $f [list set extdifftool $extdifftool]
2841
- puts $f [list set perfile_attrs $perfile_attrs]
2842
- puts $f [list set headbgcolor $headbgcolor]
2843
- puts $f [list set headfgcolor $headfgcolor]
2844
- puts $f [list set headoutlinecolor $headoutlinecolor]
2845
- puts $f [list set remotebgcolor $remotebgcolor]
2846
- puts $f [list set tagbgcolor $tagbgcolor]
2847
- puts $f [list set tagfgcolor $tagfgcolor]
2848
- puts $f [list set tagoutlinecolor $tagoutlinecolor]
2849
- puts $f [list set reflinecolor $reflinecolor]
2850
- puts $f [list set filesepbgcolor $filesepbgcolor]
2851
- puts $f [list set filesepfgcolor $filesepfgcolor]
2852
- puts $f [list set linehoverbgcolor $linehoverbgcolor]
2853
- puts $f [list set linehoverfgcolor $linehoverfgcolor]
2854
- puts $f [list set linehoveroutlinecolor $linehoveroutlinecolor]
2855
- puts $f [list set mainheadcirclecolor $mainheadcirclecolor]
2856
- puts $f [list set workingfilescirclecolor $workingfilescirclecolor]
2857
- puts $f [list set indexcirclecolor $indexcirclecolor]
2858
- puts $f [list set circlecolors $circlecolors]
2859
- puts $f [list set linkfgcolor $linkfgcolor]
2860
- puts $f [list set circleoutlinecolor $circleoutlinecolor]
2796
+ foreach var_name $config_variables {
2797
+ upvar #0 $var_name var
2798
+ puts $f [list set $var_name $var]
2799
+ }
2800
2801
puts $f "set geometry(main) [wm geometry .]"
2802
puts $f "set geometry(state) [wm state .]"
@@ -12171,6 +12110,19 @@ catch {
12110
source $config_file
12111
}
12112
12113
+set config_variables {
12114
+ mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth
12115
+ cmitmode wrapcomment autoselect autosellen showneartags maxrefs visiblerefs
12116
+ hideremotes showlocalchanges datetimeformat limitdiffs uicolor want_ttk
12117
+ bgcolor fgcolor uifgcolor uifgdisabledcolor colors diffcolors mergecolors
12118
+ markbgcolor diffcontext selectbgcolor foundbgcolor currentsearchhitbgcolor
12119
+ extdifftool perfile_attrs headbgcolor headfgcolor headoutlinecolor
12120
+ remotebgcolor tagbgcolor tagfgcolor tagoutlinecolor reflinecolor
12121
+ filesepbgcolor filesepfgcolor linehoverbgcolor linehoverfgcolor
12122
+ linehoveroutlinecolor mainheadcirclecolor workingfilescirclecolor
12123
+ indexcirclecolor circlecolors linkfgcolor circleoutlinecolor
12124
+}
12125
+
12126
parsefont mainfont $mainfont
12127
eval font create mainfont [fontflags mainfont]
12128
eval font create mainfontbold [fontflags mainfont 1]