@@ -2777,23 +2777,11 @@ proc doprogupdate {} {
2777
2777
}
2778
2778
2779
2779
proc savestuff {w} {
2780
- global canv canv2 canv3 mainfont textfont uifont tabstop
2781
- global stuffsaved findmergefiles maxgraphpct
2782
- global maxwidth showneartags showlocalchanges
2783
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
2796
2783
global config_file config_file_tmp
2784
+ global config_variables
2797
2785
2798
2786
if {$stuffsaved } return
2799
2787
if {![winfo viewable .]} return
@@ -2805,59 +2793,10 @@ proc savestuff {w} {
2805
2793
if {$::tcl_platform(platform) eq {windows}} {
2806
2794
file attributes $config_file_tmp -hidden true
2807
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
+ }
2861
2800
2862
2801
puts $f " set geometry(main) [ wm geometry .] "
2863
2802
puts $f " set geometry(state) [ wm state .] "
@@ -12171,6 +12110,19 @@ catch {
12171
12110
source $config_file
12172
12111
}
12173
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
+
12174
12126
parsefont mainfont $mainfont
12175
12127
eval font create mainfont [fontflags mainfont]
12176
12128
eval font create mainfontbold [fontflags mainfont 1]
0 commit comments