︙ | | |
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
+
|
set ::argv {}
set ::argc 0
set ::eskil(debug) 0
# Version string is loaded from version.txt
set ::eskil(diffver) "Version Unknown"
set ::eskil(thisScript) [file join [pwd] [info script]]
set ::eskil(thisDir) [file dirname $::eskil(thisScript)]
namespace import tcl::mathop::+
namespace import tcl::mathop::-
namespace import tcl::mathop::*
namespace import tcl::mathop::/
# Do initalisations for needed packages and globals.
|
︙ | | |
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
-
-
|
if {[catch {package require psballoon}]} {
# Add a dummy if it does not exist.
proc addBalloon {args} {}
} else {
namespace import -force psballoon::addBalloon
}
set ::eskil(thisDir) [file dirname $::eskil(thisScript)]
# Follow any link
set tmplink $::eskil(thisScript)
while {[file type $tmplink] eq "link"} {
set tmplink [file readlink $tmplink]
set tmplink [file normalize [file join $::eskil(thisDir) $tmplink]]
set ::eskil(thisDir) [file dirname $tmplink]
}
|
︙ | | |
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
-
+
+
|
}
}
}
# Provide a ttk-friendly toplevel, fixing background and menubar
if {[info commands ttk::toplevel] eq ""} {
proc ttk::toplevel {w args} {
tk::toplevel $w {*}$args
place [ttk::frame $w.tilebg] -x 0 -y 0 -relwidth 1 -relheight 1
place [ttk::frame $w.tilebg] -border outside \
-x 0 -y 0 -relwidth 1 -relheight 1
return $w
}
}
::snit::widgetadaptor ttk::entryX {
delegate method * to hull
delegate option * to hull
|
︙ | | |
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
|
+
+
+
+
+
+
-
|
set ih [image height $::img(up)]
set iw [image width $::img(up)]
set ::img(upup) [image create photo -height $ih -width [expr {2 * $iw}]]
$::img(upup) copy $::img(up) -to 0 0 [expr {2 * $iw - 1}] [expr {$ih - 1}]
EskilThemeInit
}
# Load sources needed early, during command line handling
proc InitSourceEarly {} {
source $::eskil(thisDir)/preprocess.tcl
}
proc InitReSource {} {
InitSourceEarly
# Get all other source files
source $::eskil(thisDir)/eskil.tcl
source $::eskil(thisDir)/clip.tcl
source $::eskil(thisDir)/compare.tcl
source $::eskil(thisDir)/map.tcl
source $::eskil(thisDir)/merge.tcl
source $::eskil(thisDir)/registry.tcl
source $::eskil(thisDir)/dirdiff.tcl
source $::eskil(thisDir)/help.tcl
source $::eskil(thisDir)/preprocess.tcl
source $::eskil(thisDir)/plugin.tcl
source $::eskil(thisDir)/printobj.tcl
source $::eskil(thisDir)/print.tcl
source $::eskil(thisDir)/rev.tcl
source $::eskil(thisDir)/debug.tcl
# Only load vcsvfs if vfs is present
|
︙ | | |
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
|
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
|
-
+
|
"Error when trying to save preferences:\n$err"
return
}
foreach i [array names ::Pref] {
set value $::Pref($i)
# Special handling for preprocess
if {$i eq "preprocess"} {
if {$i eq "preprocessn"} {
set value [getPreprocessSave]
}
# Skip unchanged options.
if {[info exists ::DefaultPref($i)]} {
if {$::DefaultPref($i) eq $value} {
continue
}
|
︙ | | |
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
|
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
|
-
+
|
set ::DefaultPref(bgnew2) \#e0e0ff
set ::DefaultPref(context) -1
set ::DefaultPref(finegrainchunks) 0
set ::DefaultPref(marklast) 1
set ::DefaultPref(linewidth) 80
set ::DefaultPref(lines) 60
set ::DefaultPref(editor) ""
set ::DefaultPref(preprocess) {}
set ::DefaultPref(preprocessn) {}
set ::DefaultPref(toolbar) 0
set ::DefaultPref(wideMap) 0 ;# Not settable in GUI yet
# Print options
set ::DefaultPref(printHeaderSize) 10
set ::DefaultPref(printCharsPerLine) 80
set ::DefaultPref(printPaper) a4
|
︙ | | |
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
|
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
|
+
+
+
+
+
+
+
-
+
+
+
|
set ::DefaultPref(dir,exdirs) "RCS CVS .git .svn .hg"
set ::DefaultPref(dir,onlyrev) 0
set ::DefaultPref(dir,nice) 1
# Start with default preferences, before loading setup file
array set ::Pref [array get ::DefaultPref]
# Handle old option
set ::Pref(preprocess) {}
# TODO: implement filter option fully
set ::eskil(filter) ""
if {![info exists ::eskil_testsuite] && [file exists "~/.eskilrc"]} {
safeLoad "~/.eskilrc" ::Pref
}
if {$::Pref(editor) ne ""} {
set ::util(editor) $::Pref(editor)
}
# If the user's file has this old option, translate it to the new
if {$::Pref(preprocess) ne ""} {
lappend ::Pref(preprocessn) "old"
lappend ::Pref(preprocessn) \
[dict create preprocess $::Pref(preprocess) \
# Nothing here currently
active 1 save 1]
}
array unset ::Pref preprocess
# Set up reactions to some Pref settings
if {![info exists ::widgets(toolbars)]} {
set ::widgets(toolbars) {}
}
trace add variable ::Pref(toolbar) write TraceToolbar
}
|
︙ | | |
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
|
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
|
+
|
if {![info exists ::eskil(gurkmeja)]} {
set ::eskil(gurkmeja) 1
package require pstools
namespace import -force pstools::*
getOptions
if {![info exists ::eskil_testsuite]} {
InitSourceEarly
parseCommandLine
}
}
|