Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Handle links in directory diff. Changed buttons to use images in directory diff. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | table-list |
Files: | files | file ages | folders |
SHA1: |
eb61cb3ca6c9d1a7c34b88d9d52428df |
User & Date: | peter.spjuth@gmail.com 2011-05-07 00:37:03.000 |
Context
2011-05-08
| ||
22:49 | Documented tablelist transition Closed-Leaf check-in: 1cdf7d5e95 user: peter.spjuth@gmail.com tags: table-list | |
2011-05-07
| ||
00:37 | Handle links in directory diff. Changed buttons to use images in directory diff. check-in: eb61cb3ca6 user: peter.spjuth@gmail.com tags: table-list | |
2011-05-05
| ||
22:18 | Use my tablelist check-in: 4702fd1691 user: peter.spjuth@gmail.com tags: table-list | |
Changes
Changes to src/dirdiff.tcl.
︙ | ︙ | |||
52 53 54 55 56 57 58 | lsort -dictionary $l } # Compare two files or dirs # Return true if equal proc CompareFiles {file1 file2} { global Pref | | | > > > > > > > > > > > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | lsort -dictionary $l } # Compare two files or dirs # Return true if equal proc CompareFiles {file1 file2} { global Pref if {[catch {file lstat $file1 stat1}]} { return 0 } if {[catch {file lstat $file2 stat2}]} { return 0 } # Same type? set isdir1 [FileIsDirectory $file1] set isdir2 [FileIsDirectory $file2] if {$isdir1 != $isdir2} { return 0 } # Handle links if {$stat1(type) eq "link" && $stat2(type) eq "link"} { set l1 [file link $file1] set l2 [file link $file2] # Equal links are considered equal, otherwise check contents if {$l1 eq $l2} { return 1 } file stat $file1 stat1 file stat $file2 stat2 } # If contents is not checked, same size is enough to be equal if {$stat1(size) == $stat2(size) && $Pref(dir,comparelevel) == 0} { return 1 } set ignorekey $Pref(dir,ignorekey) # Different size is enough when doing binary compare if {$stat1(size) != $stat2(size) && $Pref(dir,comparelevel) == 2 \ |
︙ | ︙ | |||
274 275 276 277 278 279 280 | -command "$tree xview" # Use demo images from Tablelist set dir $::eskil(thisDir)/../lib/tablelist/demos set img(clsd) [image create photo -file [file join $dir clsdFolder.gif]] set img(open) [image create photo -file [file join $dir openFolder.gif]] set img(file) [image create photo -file [file join $dir file.gif]] | | > | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | -command "$tree xview" # Use demo images from Tablelist set dir $::eskil(thisDir)/../lib/tablelist/demos set img(clsd) [image create photo -file [file join $dir clsdFolder.gif]] set img(open) [image create photo -file [file join $dir openFolder.gif]] set img(file) [image create photo -file [file join $dir file.gif]] # Local images set dir $::eskil(thisDir)/images set img(link) [image create photo -file [file join $dir link.gif]] set img(left) [image create photo -file [file join $dir arrow_left.gif]] set img(right) [image create photo -file [file join $dir arrow_right.gif]] set AfterId "" set IdleQueue {} $tree configure -yscrollcommand "$vsb set" -xscrollcommand "$hsb set" |
︙ | ︙ | |||
761 762 763 764 765 766 767 | } set id [$tree insertchild $node end $values] $tree rowattrib $id type $type $tree rowattrib $id status unknown $tree rowattrib $id leftfull $df1 $tree rowattrib $id rightfull $df2 if {$type ne "directory"} { | > > > | | > | 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 | } set id [$tree insertchild $node end $values] $tree rowattrib $id type $type $tree rowattrib $id status unknown $tree rowattrib $id leftfull $df1 $tree rowattrib $id rightfull $df2 if {$type ne "directory"} { if {$type eq "link"} { $tree cellconfigure $id,structure -image $img(link) } else { $tree cellconfigure $id,structure -image $img(file) $tree cellconfigure $id,command -window [mymethod addCmdCol] } } if {$type eq "directory"} { ## Make it so that this node is openable $tree collapse $id #$tree insertchild $id end dummy ;# a dummy $tree cellconfigure $id,structure -text $name/ |
︙ | ︙ | |||
903 904 905 906 907 908 909 910 911 912 913 914 915 916 | 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 \ -leftdirvariable ::dirdiff(leftDir) \ -rightdirvariable ::dirdiff(rightDir) \ -statusvar [myvar statusVar] ttk::frame $win.fe1 ttk::frame $win.fe2 | > > > > > > > > | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 | variable statusVar constructor {args} { eskilRegisterToplevel $win wm title $win "Eskil Dir" wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win] set dir $::eskil(thisDir)/images set img(open) [image create photo -file [file join $dir folderopen1.gif]] set img(up) [image create photo -file [file join $dir arrow_up.gif]] set h [image height $img(up)] set w [image width $img(up)] set img(upup) [image create photo -height $h -width [expr {2 * $w}]] $img(upup) copy $img(up) -to 0 0 [expr {2 * $w - 1}] [expr {$h - 1}] install tree using DirCompareTree $win.dc \ -leftdirvariable ::dirdiff(leftDir) \ -rightdirvariable ::dirdiff(rightDir) \ -statusvar [myvar statusVar] ttk::frame $win.fe1 ttk::frame $win.fe2 |
︙ | ︙ | |||
975 976 977 978 979 980 981 | } $win.m.md add command -label "Reread Source" -underline 0 \ -command {EskilRereadSource} $win.m.md add separator $win.m.md add command -label "Redraw Window" -command {makeDirDiffWin 1} } | | | | | | | | | | | | 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 | } $win.m.md add command -label "Reread Source" -underline 0 \ -command {EskilRereadSource} $win.m.md add separator $win.m.md add command -label "Redraw Window" -command {makeDirDiffWin 1} } ttk::button $win.bu -image $img(upup) -command [mymethod UpDir] \ -underline 0 bind $win <Alt-u> "$win.bu invoke" #catch {font delete myfont} #font create myfont -family $Pref(fontfamily) -size $Pref(fontsize) ttk::entryX $win.e1 -textvariable dirdiff(leftDir) -width 30 ttk::button $win.bu1 -image $img(up) -command [mymethod UpDir 1] ttk::button $win.bb1 -image $img(open) \ -command "[list BrowseDir dirdiff(leftDir) $win.e1] [mymethod DoDirCompare]" after 50 [list after idle [list $win.e1 xview end]] ttk::entryX $win.e2 -textvariable dirdiff(rightDir) -width 30 ttk::button $win.bu2 -image $img(up) -command [mymethod UpDir 2] ttk::button $win.bb2 -image $img(open) \ -command "[list BrowseDir dirdiff(rightDir) $win.e2] [mymethod DoDirCompare]" after 50 [list after idle [list $win.e2 xview end]] bind $win.e1 <Return> [mymethod DoDirCompare] bind $win.e2 <Return> [mymethod DoDirCompare] ttk::label $win.sl -anchor w -textvariable [myvar statusVar] pack $win.bb1 $win.bu1 -in $win.fe1 -side left -pady 1 -ipadx 10 pack $win.bu1 -padx 6 pack $win.e1 -in $win.fe1 -side left -fill x -expand 1 pack $win.bb2 $win.bu2 -in $win.fe2 -side right -pady 1 -ipadx 10 pack $win.bu2 -padx 6 pack $win.e2 -in $win.fe2 -side left -fill x -expand 1 grid $win.fe1 $win.bu $win.fe2 -sticky we |
︙ | ︙ |
Changes to src/eskil.tcl.
︙ | ︙ | |||
1917 1918 1919 1920 1921 1922 1923 | # Check if a filename is a directory and handle starkits proc FileIsDirectory {file {kitcheck 0}} { # Skip directories if {[file isdirectory $file]} {return 1} # This detects .kit but how to detect starpacks? | | | 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 | # Check if a filename is a directory and handle starkits proc FileIsDirectory {file {kitcheck 0}} { # Skip directories if {[file isdirectory $file]} {return 1} # This detects .kit but how to detect starpacks? if {[file extension $file] eq ".kit" || $kitcheck} { if {![catch {package require vfs::mk4}]} { if {![catch {vfs::mk4::Mount $file $file -readonly}]} { # Check for contents to ensure it is a kit if {[llength [glob -nocomplain $file/*]] == 0} { vfs::unmount $file } } |
︙ | ︙ |
Added src/images/arrow_up.gif.
cannot compute difference between binary files
Added src/images/folderopen1.gif.
cannot compute difference between binary files
Added src/images/link.gif.
cannot compute difference between binary files