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]