Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Allow stepping down in directory diff |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2bd38e69fc5221fd9f1dd2fbba816b6f |
User & Date: | peter 2009-02-12 15:26:51.000 |
Context
2009-02-12
| ||
18:31 | Require 8.5. Use argument expansion instead of eval. check-in: eaa675fac3 user: peter tags: trunk | |
15:26 | Allow stepping down in directory diff check-in: 2bd38e69fc user: peter tags: trunk | |
2009-01-23
| ||
22:36 | Better doc of plugins. Allow dump of plugins check-in: 4251e290a3 user: peter tags: trunk | |
Changes
Changes to Changes.
1 2 3 4 5 6 7 | 2009-01-23 Don't save unchanged preferences to prefs file. Better documentation for plugins. Added plugin dump. Release 2.4 | > > > | 1 2 3 4 5 6 7 8 9 10 | 2009-02-12 Allow stepping down in directory diff. 2009-01-23 Don't save unchanged preferences to prefs file. Better documentation for plugins. Added plugin dump. Release 2.4 |
︙ | ︙ |
Changes to src/dirdiff.tcl.
︙ | ︙ | |||
233 234 235 236 237 238 239 | set newdir [tk_chooseDirectory -initialdir $newdir -title "Select Directory"] if {$newdir != ""} { set dir $newdir $entryW xview end } } | | | | > > > > | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | set newdir [tk_chooseDirectory -initialdir $newdir -title "Select Directory"] if {$newdir != ""} { set dir $newdir $entryW xview end } } snit::widget DirCompareTree { component tree component hsb component vsb option -leftdirvariable -default "" -configuremethod SetDirOption option -rightdirvariable -default "" -configuremethod SetDirOption option -statusvar -default "" variable AfterId "" variable PauseBgProcessing 0 variable IdleQueue {} variable IdleQueueArr variable leftMark "" variable rightMark "" variable leftDir "" variable rightDir "" constructor {args} { install tree using ttk::treeview $win.tree -height 20 \ -columns {type status leftfull leftname leftsize leftdate rightfull rightname rightsize rightdate} \ -displaycolumns {leftsize leftdate rightsize rightdate} # Experiment to show less. FIXA # -displaycolumns {leftname leftsize leftdate rightname rightsize rightdate} install vsb using scrollbar $win.vsb -orient vertical \ -command "$tree yview" install hsb using scrollbar $win.hsb -orient horizontal \ -command "$tree xview" set AfterId "" set IdleQueue {} |
︙ | ︙ | |||
305 306 307 308 309 310 311 | after cancel $AfterId } set AfterId "" } method SetDirOption {option value} { set options($option) $value | > | > > | > > | > | > > > | | > > > > > | > > > > > > > | | | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | after cancel $AfterId } set AfterId "" } method SetDirOption {option value} { set options($option) $value if {$options(-leftdirvariable) eq ""} return upvar \#0 $options(-leftdirvariable) left if {![info exists left]} return if {![file isdirectory $left]} return if {$options(-rightdirvariable) eq ""} return upvar \#0 $options(-rightdirvariable) right if {![info exists right]} return if {![file isdirectory $right]} return set leftDir $left set rightDir $right after idle [mymethod ReStart] } method newTopDir {newLeft newRight} { if {$newLeft ne "" && [file isdirectory $newLeft]} { upvar \#0 $options(-leftdirvariable) left set left $newLeft set leftDir $left } if {$newRight ne "" && [file isdirectory $newRight]} { upvar \#0 $options(-rightdirvariable) right set right $newRight set rightDir $right } after idle [mymethod ReStart] } method ReStart {} { # Delete all idle processing if {$AfterId ne ""} { after cancel $AfterId } set AfterId "" set IdleQueue {} array unset IdleQueueArr # Fill in clean root data $tree delete [$tree children {}] $tree set {} type directory $self SetNodeStatus {} empty $tree set {} leftfull $leftDir $tree set {} leftname [file tail $leftDir] $tree set {} rightfull $rightDir $tree set {} rightname [file tail $rightDir] $self UpdateDirNode {} } # Format a time stamp for display proc FormatDate {date} { clock format $date -format "%Y-%m-%d %H:%M:%S" |
︙ | ︙ | |||
485 486 487 488 489 490 491 | } if {$type eq "file" && $lf ne "" && $rf ne ""} { # Files, both exist $m add command -label "Compare Files" -command [list \ newDiff $lf $rf] } | > > > > > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | > | 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 | } if {$type eq "file" && $lf ne "" && $rf ne ""} { # Files, both exist $m add command -label "Compare Files" -command [list \ newDiff $lf $rf] } if {$type eq "directory"} { if {$lf ne "" && $rf ne ""} { # Directory, both exist $m add command -label "Go down" -command [mymethod \ newTopDir $lf $rf] } if {$lf ne ""} { # Directory, left exist $m add command -label "Go down left" -command [mymethod \ newTopDir $lf ""] } if {$rf ne ""} { # Directory, right exist $m add command -label "Go down right" -command [mymethod \ newTopDir "" $rf] } } if {$type eq "file"} { if {([string match left* $colname] || $oneside) && $lf ne ""} { $m add command -label "Copy File to Right" \ -command [mymethod CopyFile $node left] $m add command -label "Edit Left File" \ -command [list EditFile $lf] $m add command -label "Mark Left File" \ -command [list set [myvar leftMark] $lf] if {$rightMark != ""} { $m add command -label "Compare Left with $rightMark" \ -command [list newDiff $lf $rightMark] } } elseif {([string match right* $colname] || $oneside) && $rf ne ""} { $m add command -label "Copy File to Left" \ -command [mymethod CopyFile $node right] $m add command -label "Edit Right File" \ -command [list EditFile $rf] $m add command -label "Mark Right File" \ -command [list set [myvar rightMark] $rf] if {$leftMark != ""} { $m add command -label "Compare Right with $leftMark" \ -command [list newDiff $leftMark $rf] } } } tk_popup $m $X $Y } method AddNodeToIdle {node} { |
︙ | ︙ | |||
808 809 810 811 812 813 814 | variable statusVar constructor {args} { lappend ::diff(diffWindows) $win wm title $win "Eskil Dir" wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win] | | > > | | 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 | variable statusVar constructor {args} { lappend ::diff(diffWindows) $win wm title $win "Eskil Dir" wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win] install tree using DirCompareTree $win.dc \ -leftdirvariable ::dirdiff(leftDir) \ -rightdirvariable ::dirdiff(rightDir) \ -statusvar [myvar statusVar] ttk::frame $win.fe1 ttk::frame $win.fe2 menu $win.m $hull configure -menu $win.m |
︙ | ︙ | |||
919 920 921 922 923 924 925 | grid $win.bu -padx 6 -ipadx 15 grid rowconfigure $win 1 -weight 1 grid columnconfigure $win {0 2} -weight 1 } method DoDirCompare {} { | | | | 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 | grid $win.bu -padx 6 -ipadx 15 grid rowconfigure $win 1 -weight 1 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 { |
︙ | ︙ |
Changes to src/eskil.tcl.
︙ | ︙ | |||
34 35 36 37 38 39 40 | # Stop Tk from meddling with the command line by copying it first. set ::eskil(argv) $::argv set ::eskil(argc) $::argc set ::argv {} set ::argc 0 | | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # Stop Tk from meddling with the command line by copying it first. set ::eskil(argv) $::argv set ::eskil(argc) $::argc set ::argv {} set ::argc 0 set debug 1 set diffver "Version 2.4+ 2009-02-12" set ::thisScript [file join [pwd] [info script]] # Do initalisations for needed packages and globals. # This is not run until needed to speed up command line error reporting. proc Init {} { package require Tk 8.4 catch {package require textSearch} |
︙ | ︙ |