Posted to tcl by emiliano at Tue Jul 14 19:35:43 GMT 2009view pretty
Index: library/iconlist.tcl =================================================================== RCS file: /cvsroot/tktoolkit/tk/library/iconlist.tcl,v retrieving revision 1.2 diff -u -r1.2 iconlist.tcl --- library/iconlist.tcl 16 Feb 2009 00:57:26 -0000 1.2 +++ library/iconlist.tcl 14 Jul 2009 19:31:00 -0000 @@ -443,7 +443,9 @@ # method Create {} { ttk::frame $w - set hull [ttk::entry $w.cHull -takefocus 0] + set hull [ttk::frame $w.cHull -style TEntry -takefocus 0] + bind $hull <FocusIn> {%W state focus} + bind $hull <FocusOut> {%W state !focus} set sbar [ttk::scrollbar $w.cHull.sbar -orient horizontal -takefocus 0] catch {$sbar configure -highlightthickness 0} set canvas [canvas $w.cHull.canvas -highlightthick 0 -takefocus 1 \ Index: library/tkfbox.tcl =================================================================== RCS file: /cvsroot/tktoolkit/tk/library/tkfbox.tcl,v retrieving revision 1.74 diff -u -r1.74 tkfbox.tcl --- library/tkfbox.tcl 14 Apr 2009 18:09:50 -0000 1.74 +++ library/tkfbox.tcl 14 Jul 2009 19:31:02 -0000 @@ -83,6 +83,29 @@ KDHGfDZNcz2SZIx547/0BVRRX7n8uT/sAAAAAElFTkSuQmCC }] } + if {![info exists ::tk::Priv(homeImage)]} { + set ::tk::Priv(homeImage) [image create photo -data { + iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gva + eTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QoOFCMCb8BVTwAAAyVJREFU + OMullcFvG0UUh7+Z7Dq1G+NtnEBdRG0hVTSiqkAoNFIvHCCgKmotWVUiCMpf4FO1FQ + KVf2CFVEgFJyCIHIKg0jpSLz330AMHGkI5EEEPkRM1iZ1CXLvx7gyHXa/WTZ1E6kij + 3Z2Z9703v3lvVnCINg85oBp+vjkNv/G8bR7emge9Y9t6x7b1POjQ0b5NHAQFfi3adt + e46zgAJ6ZhrZetPAz00Z070XhtcZHQUXW/yOVB0Na9ewxks13zh4GL/aDeygrSMJCF + Qmf7FG2bzUoFKQSDFy/2lEX2gupqFZlOR9A/Jy6w+uEUruMwdOkSntb7Ri5i0Gngx6 + Jto+v1YPLYMVzHofHxR2ycfo2XXjzOqfo2q1evUrRt1isVEj0ij4N10bah2YTdXchk + cB2HJ/YV/n35BCMjr5NKJmm1WqTW1nkwMxPAXZeElBF8OmQaIfRIx4FuNhGDg7iOg/ + 7CQWazvJEvkM/ng3kNu6+cxLx1i4VSialymXXX3XN4RvhMRdqE0L7vv8UzTM6fG8Oy + rMhAaw2AZVlk795lYWyMqXL54HS7fvMX/LnvaBsGo6NvMzAwgO/7Xb3dbuP7Pv3ZLO + P377MwOxtPANml8e2zZ2ceLi3NnVv5i08/+2RPBDe++hqlFNe/nEWLPrTXQhhH0P4T + Pr92jUo6zdCZM+UPlpdvxKVgfGnph8uTpbkLg0ExjIycRgiBEIFv3/fRWqOFpK8wjr + eyiMi/h35wG601lckShZOvfsPy8rOl6GiYSCQwTRPDMDBNE6VUBK9u7QDw+9+b+L6K + bBzH0c/S2IiDpZRIKUnIVQxRQymFUgqPBH/8swXAw/pjPNEf2RBkl4hL0QccjYM7Ei + hyNFsBNJfL8c75Ud5PHkXq47wrTTbWiIOzBAXiGaEHoxcY+kkmQSkFwKP6JmJ7q/tS + qtX2VLIRG5AdbS3LIpPJIJAEfMHw8DCNRoOJiYk9GZNKRWXQAHQHKEIp0pcnS7Xn+d + v8/NNNE/DioXfk6A8P4IVQryEgGc754dqd8L0NbAP/ARvA49iarvtYPCWLAMzYrogZ + 6rD7YddPR/8/aWZWKFzoJj8AAAAASUVORK5CYII= + }] + } } # ::tk::dialog::file:: -- @@ -121,6 +144,7 @@ set data(dirMenuBtn) $w.contents.f1.menu set data(dirMenu) $w.contents.f1.menu.menu set data(upBtn) $w.contents.f1.up + set data(homeBtn) $w.contents.f1.home set data(icons) $w.contents.icons set data(ent) $w.contents.f2.ent set data(typeMenuLab) $w.contents.f2.lab2 @@ -348,10 +372,13 @@ $data(dirMenu) add radiobutton -label "" -variable \ [format %s(selectPath) ::tk::dialog::file::$dataName] set data(upBtn) [ttk::button $f1.up] - $data(upBtn) configure -image $Priv(updirImage) + $data(upBtn) configure -image $Priv(updirImage) -default disabled + set data(homeBtn) [ttk::button $f1.home] + $data(homeBtn) configure -image $Priv(homeImage) -default disabled $f1.menu configure -takefocus 1;# -highlightthickness 2 + pack $data(homeBtn) -side right -padx 4 -fill both pack $data(upBtn) -side right -padx 4 -fill both pack $f1.lab -side left -padx 4 -fill both pack $f1.menu -expand yes -fill both -padx 4 @@ -453,6 +480,7 @@ wm protocol $w WM_DELETE_WINDOW [list ::tk::dialog::file::CancelCmd $w] $data(upBtn) configure -command [list ::tk::dialog::file::UpDirCmd $w] + $data(homeBtn) configure -command [list ::tk::dialog::file::HomeCmd $w] $data(cancelBtn) configure -command [list ::tk::dialog::file::CancelCmd $w] bind $w <KeyPress-Escape> [list $data(cancelBtn) invoke] bind $w <Alt-Key> [list tk::AltKeyInDialog $w %A] @@ -964,6 +992,14 @@ } } +# Gets called when user presses the "home directory" button +# +proc ::tk::dialog::file::HomeCmd {w} { + upvar ::tk::dialog::file::[winfo name $w] data + + set data(selectPath) $::env(HOME) +} + # Join a file name to a path name. The "file join" command will break if the # filename begins with ~ #