FileDialog.st
changeset 9113 c2f2d5819d28
parent 9110 9fcea22ea3b7
child 9269 4d09efee3752
--- a/FileDialog.st	Wed Oct 28 19:53:04 2009 +0100
+++ b/FileDialog.st	Wed Oct 28 19:53:27 2009 +0100
@@ -704,6 +704,8 @@
           min: (Point 10 10)
           max: (Point 1024 768)
           bounds: (Rectangle 0 0 407 400)
+          menu: mainMenu
+          performer: treeBrowser
         )
         component: 
        (SpecCollection
@@ -777,7 +779,7 @@
                        )
                      
                     )
-                    handles: (Any 0.18427518427518 1.0)
+                    handles: (Any 0.2972972972973 1.0)
                   )
                  (SubCanvasSpec
                     name: 'DirectoryTreeBrowser'
@@ -797,10 +799,11 @@
                         subAspect: rootHolder
                         aspect: rootDirectoryHolder
                       )
+                      
                      (SubChannelInfoSpec
                         subAspect: showHiddenFiles
                         aspect: showHiddenFiles
-                      ) 
+                      )
                     )
                     createNewApplication: true
                     createNewBuilder: true
@@ -881,6 +884,110 @@
 
 !FileDialog class methodsFor:'menu specs'!
 
+mainMenu
+    "This resource specification was automatically generated
+     by the MenuEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the MenuEditor may not be able to read the specification."
+
+    "
+     MenuEditor new openOnClass:FileDialog andSelector:#mainMenu
+     (Menu new fromLiteralArrayEncoding:(FileDialog mainMenu)) startUp
+    "
+
+    <resource: #menu>
+
+    ^ 
+     #(Menu
+        (
+         (MenuItem
+            label: 'Directory'
+            translateLabel: true
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Up'
+                  itemValue: doGoDirectoryUp
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  activeHelpKey: directoryBack
+                  enabled: enableBack
+                  label: 'Back'
+                  itemValue: doBack
+                  translateLabel: true
+                )
+               (MenuItem
+                  activeHelpKey: directoryBack
+                  enabled: enableForward
+                  label: 'Forward'
+                  itemValue: doForward
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  enabled: enableHome
+                  label: 'Home Directory'
+                  itemValue: doGotoHomeDirectory
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: 'Bookmarks'
+                  translateLabel: true
+                  submenuChannel: bookmarksMenu
+                )
+               (MenuItem
+                  label: 'Visited Directories'
+                  translateLabel: true
+                  submenuChannel: visitedDirectoriesMenu
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: 'View'
+            translateLabel: true
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Sort'
+                  translateLabel: true
+                  submenuChannel: sortMenu
+                )
+               (MenuItem
+                  label: 'Show'
+                  translateLabel: true
+                  submenuChannel: showMenuSpecForDialog
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Update'
+                  itemValue: updateCurrentDirectory
+                  translateLabel: true
+                )
+               )
+              nil
+              nil
+            )
+          )
+         )
+        nil
+        nil
+      )
+!
+
 toolBarMenu
     "This resource specification was automatically generated
      by the MenuEditor of ST/X."
@@ -958,7 +1065,7 @@
             label: 'Bookmarks'
             translateLabel: true
             isButton: true
-            submenuChannel: gotoBookmarksMenuSpec
+            submenuChannel: gotoBookmarksMenu
             labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
           )
          (MenuItem
@@ -990,6 +1097,10 @@
         nil
         nil
       )
+!
+
+viewInContentsBrowserMenu
+    ^ DirectoryContentsBrowser showMenuSpec
 ! !
 
 !FileDialog class methodsFor:'plugIn spec'!
@@ -1319,10 +1430,10 @@
     filterHolder := aHolder.
 !
 
-gotoBookmarksMenuSpec
+gotoBookmarksMenu
     <resource: #programMenu>
 
-    ^ treeBrowser gotoBookmarksMenuSpec
+    ^ treeBrowser gotoBookmarksMenu
 "/    |menu bookmarks|
 "/
 "/    menu := treeBrowser class emptyMenuSpec decodeAsLiteralArray.
@@ -1391,7 +1502,43 @@
     ^ selectedDeviceDrive
 !
 
+showDirectoryTree
+    ^ false
+!
+
+showDiskUsageHolder
+    ^ treeBrowser showDiskUsageHolder
+!
+
 showHiddenFiles
+    ^ treeBrowser showHiddenFiles
+!
+
+shownFiles
+    ^ treeBrowser shownFiles
+!
+
+sortCaselessInTreeBrowser
+    ^ treeBrowser sortCaselessInTreeBrowser
+!
+
+sortInTreeVisibilityHolder
+    ^ true
+!
+
+sortPropertyInTree
+    ^ treeBrowser sortBlockProperty
+!
+
+viewDirsInContentsBrowser
+    ^ false
+!
+
+viewFilesInDirectoryTree
+    ^ false
+!
+
+viewNoteBookApplicationHolder
     ^ false
 ! !
 
@@ -1574,9 +1721,9 @@
 !
 
 postBuildTreeBrowser:aSubCanvasView
-
     treeBrowser := aSubCanvasView client.
     treeBrowser rootHolder value:(self initialRootDirectory value).
+    treeBrowser sortPropertyInTree:(treeBrowser sortBlockProperty).
 !
 
 postBuildWith:aBuilder    
@@ -1618,6 +1765,29 @@
     self class lastExtent:self window topView extent.
 ! !
 
+!FileDialog methodsFor:'menus'!
+
+bookmarksMenu
+    ^ treeBrowser bookmarksMenu
+!
+
+directoryMenu
+self halt.
+    ^ treeBrowser directoryMenu
+!
+
+showMenuSpecForDialog
+    ^ treeBrowser class showMenuSpecForDialog
+!
+
+sortMenu
+    ^ treeBrowser class sortInTreeMenu
+!
+
+visitedDirectoriesMenu
+    ^ treeBrowser visitedDirectoriesMenu
+! !
+
 !FileDialog methodsFor:'private'!
 
 returnWasPressedInFilterField
@@ -1742,14 +1912,18 @@
 
 okPressed
     self doAccept
+!
+
+updateCurrentDirectory
+    treeBrowser updateCurrentDirectory
 ! !
 
 !FileDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.105 2009-10-28 16:47:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.106 2009-10-28 18:53:27 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.105 2009-10-28 16:47:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.106 2009-10-28 18:53:27 cg Exp $'
 ! !