︙ | | | ︙ | |
263
264
265
266
267
268
269
270
271
272
273
274
275
276
|
option -leftdirvariable -default "" -configuremethod SetDirOption
option -rightdirvariable -default "" -configuremethod SetDirOption
option -statusvar -default ""
variable AfterId ""
variable PauseBgProcessing 0
variable ScheduledRestart 0
variable IdleQueue {}
variable IdleQueueArr
variable leftMark ""
variable rightMark ""
variable leftDir ""
variable rightDir ""
|
>
|
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
option -leftdirvariable -default "" -configuremethod SetDirOption
option -rightdirvariable -default "" -configuremethod SetDirOption
option -statusvar -default ""
variable AfterId ""
variable PauseBgProcessing 0
variable ScheduledRestart 0
variable AfterTime 1
variable IdleQueue {}
variable IdleQueueArr
variable leftMark ""
variable rightMark ""
variable leftDir ""
variable rightDir ""
|
︙ | | | ︙ | |
364
365
366
367
368
369
370
371
372
373
374
375
376
377
|
set rightDir $right
}
if {!$ScheduledRestart} {
set ScheduledRestart 1
after idle [mymethod ReStart]
}
}
method ReStart {} {
# Delete all idle processing
if {$AfterId ne ""} {
after cancel $AfterId
}
set AfterId ""
|
>
>
>
>
>
>
>
|
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
|
set rightDir $right
}
if {!$ScheduledRestart} {
set ScheduledRestart 1
after idle [mymethod ReStart]
}
}
method nice {ms} {
# Sanity check
if {$ms < 1} { set ms 1 }
if {$ms > 1000} {set ms 1000 }
set AfterTime $ms
}
method ReStart {} {
# Delete all idle processing
if {$AfterId ne ""} {
after cancel $AfterId
}
set AfterId ""
|
︙ | | | ︙ | |
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
|
method AddNodeToIdle {node} {
if {[info exists IdleQueueArr($node)]} { return }
lappend IdleQueue $node
set IdleQueueArr($node) 1
if {$AfterId eq ""} {
set AfterId [after 1 [mymethod UpdateIdle]]
}
}
method UpdateIdle {} {
set AfterId "X"
if {$PauseBgProcessing} {
set AfterId [after 200 [mymethod UpdateIdle]]
|
|
|
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
|
method AddNodeToIdle {node} {
if {[info exists IdleQueueArr($node)]} { return }
lappend IdleQueue $node
set IdleQueueArr($node) 1
if {$AfterId eq ""} {
set AfterId [after $AfterTime [mymethod UpdateIdle]]
}
}
method UpdateIdle {} {
set AfterId "X"
if {$PauseBgProcessing} {
set AfterId [after 200 [mymethod UpdateIdle]]
|
︙ | | | ︙ | |
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
|
set rightfull [$tree rowattrib $node rightfull]
if {$leftfull ne ""} {
set statusvar $leftfull
} else {
set statusvar $rightfull
}
set AfterId [after 1 [mymethod UpdateIdle]]
} else {
set statusvar ""
set AfterId ""
}
}
method SetNodeStatus {node status} {
|
|
|
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
|
set rightfull [$tree rowattrib $node rightfull]
if {$leftfull ne ""} {
set statusvar $leftfull
} else {
set statusvar $rightfull
}
set AfterId [after $AfterTime [mymethod UpdateIdle]]
} else {
set statusvar ""
set AfterId ""
}
}
method SetNodeStatus {node status} {
|
︙ | | | ︙ | |
910
911
912
913
914
915
916
917
918
919
920
921
922
923
|
}
snit::widget DirDiff {
hulltype toplevel
widgetclass Toplevel
component tree
variable statusVar
constructor {args} {
eskilRegisterToplevel $win
wm title $win "Eskil Dir"
wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win]
install tree using DirCompareTree $win.dc \
|
>
|
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
|
}
snit::widget DirDiff {
hulltype toplevel
widgetclass Toplevel
component tree
variable statusVar
variable nice 1
constructor {args} {
eskilRegisterToplevel $win
wm title $win "Eskil Dir"
wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win]
install tree using DirCompareTree $win.dc \
|
︙ | | | ︙ | |
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
|
-label "Do not check contents"
$win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 1 \
-label "Normal compare"
$win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 2 \
-label "Exact compare"
$win.m.mo.mc add checkbutton -variable Pref(dir,ignorekey) \
-label "Ignore \$Keyword:\$"
$win.m add cascade -label "Tools" -underline 0 -menu $win.m.mt
menu $win.m.mt
$win.m.mt add command -label "New Diff Window" -underline 0 \
-command makeDiffWin
$win.m.mt add command -label "Clip Diff" -underline 0 \
-command makeClipDiffWin
if {$::tcl_platform(platform) eq "windows"} {
|
|
>
>
>
>
>
>
>
>
>
>
>
|
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
|
-label "Do not check contents"
$win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 1 \
-label "Normal compare"
$win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 2 \
-label "Exact compare"
$win.m.mo.mc add checkbutton -variable Pref(dir,ignorekey) \
-label "Ignore \$Keyword:\$"
$win.m.mo add cascade -label "Nice" -menu $win.m.mo.mn
menu $win.m.mo.mn
$win.m.mo.mn add radiobutton -variable [myvar nice] -value 1 \
-command [mymethod DoNice] -label 1
$win.m.mo.mn add radiobutton -variable [myvar nice] -value 50 \
-command [mymethod DoNice] -label 50
$win.m.mo.mn add radiobutton -variable [myvar nice] -value 100 \
-command [mymethod DoNice] -label 100
$win.m.mo.mn add radiobutton -variable [myvar nice] -value 1000 \
-command [mymethod DoNice] -label 1000
$win.m add cascade -label "Tools" -underline 0 -menu $win.m.mt
menu $win.m.mt
$win.m.mt add command -label "New Diff Window" -underline 0 \
-command makeDiffWin
$win.m.mt add command -label "Clip Diff" -underline 0 \
-command makeClipDiffWin
if {$::tcl_platform(platform) eq "windows"} {
|
︙ | | | ︙ | |
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
|
grid columnconfigure $win {0 2} -weight 1
}
method DoDirCompare {} {
$tree configure -leftdirvariable ::dirdiff(leftDir) \
-rightdirvariable ::dirdiff(rightDir)
}
# Go up one level in directory hierarchy.
# 0 = both
method UpDir {{n 0}} {
global dirdiff Pref
switch $n {
0 {
|
>
>
>
>
|
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
|
grid columnconfigure $win {0 2} -weight 1
}
method DoDirCompare {} {
$tree configure -leftdirvariable ::dirdiff(leftDir) \
-rightdirvariable ::dirdiff(rightDir)
}
method DoNice {} {
$tree nice $nice
}
# Go up one level in directory hierarchy.
# 0 = both
method UpDir {{n 0}} {
global dirdiff Pref
switch $n {
0 {
|
︙ | | | ︙ | |