FileDialog.st
changeset 19267 cbf4f7ade8f7
parent 19265 52d3b63cc160
child 19357 0e76e9a27375
equal deleted inserted replaced
19266:9c289c27acf7 19267:cbf4f7ade8f7
    24 		buttonPanelVisibleHolder appendLabelHolder
    24 		buttonPanelVisibleHolder appendLabelHolder
    25 		browseMenuItemVisibleHolder selectedDeviceDrive
    25 		browseMenuItemVisibleHolder selectedDeviceDrive
    26 		listOfDeviceDrives rootDirectoryHolder initialRoot
    26 		listOfDeviceDrives rootDirectoryHolder initialRoot
    27 		verticalPanelView okLabelEnabled searchInfoBoxVisibleHolder
    27 		verticalPanelView okLabelEnabled searchInfoBoxVisibleHolder
    28 		searchedDirectoryInfoHolder'
    28 		searchedDirectoryInfoHolder'
    29 	classVariableNames:'LastExtent LastFindPattern'
    29 	classVariableNames:'LastExtent LastFindPattern AdditionalFolderItemsInMenu'
    30 	poolDictionaries:''
    30 	poolDictionaries:''
    31 	category:'Interface-Tools-File'
    31 	category:'Interface-Tools-File'
    32 !
    32 !
    33 
    33 
    34 !FileDialog class methodsFor:'documentation'!
    34 !FileDialog class methodsFor:'documentation'!
   730     "Modified: / 13-12-2006 / 16:25:42 / User"
   730     "Modified: / 13-12-2006 / 16:25:42 / User"
   731     "Modified (format): / 14-02-2017 / 12:49:34 / cg"
   731     "Modified (format): / 14-02-2017 / 12:49:34 / cg"
   732 ! !
   732 ! !
   733 
   733 
   734 !FileDialog class methodsFor:'accessing'!
   734 !FileDialog class methodsFor:'accessing'!
       
   735 
       
   736 additionalFolderItemsInMenu
       
   737     "any additional folders to be shown in the 'File' menu;
       
   738      each element can be either a filename or a pair with filename and menu-item-label."
       
   739 
       
   740     "/ FileDialog additionalFolderItemsInMenu:#('/Users/exept' ('/Users/exept/cg_work' 'WorkDir'))
       
   741     ^ AdditionalFolderItemsInMenu
       
   742 !
       
   743 
       
   744 additionalFolderItemsInMenu:aCollectionOfFoldernames
       
   745     "any additional folders to be shown in the 'File' menu;
       
   746      each element can be either a filename or a pair with filename and menu-item-label."
       
   747 
       
   748     "/ FileDialog additionalFolderItemsInMenu:#('/Users/exept' ('/Users/exept/cg_work' 'WorkDir'))
       
   749     AdditionalFolderItemsInMenu := aCollectionOfFoldernames
       
   750 !
   735 
   751 
   736 classResources
   752 classResources
   737     ^ (FileBrowserV2 ? AbstractFileBrowser) classResources
   753     ^ (FileBrowserV2 ? AbstractFileBrowser) classResources
   738 !
   754 !
   739 
   755 
  1084               enabled: enableGotoDownloads
  1100               enabled: enableGotoDownloads
  1085               label: 'Downloads Directory'
  1101               label: 'Downloads Directory'
  1086               itemValue: doGotoDownloadsDirectory
  1102               itemValue: doGotoDownloadsDirectory
  1087            ) 
  1103            ) 
  1088            (MenuItem
  1104            (MenuItem
       
  1105               label: 'Menu Slice'
       
  1106               submenuChannel: additionalFoldersMenuSlice
       
  1107               isMenuSlice: true
       
  1108            ) 
       
  1109            (MenuItem
       
  1110               label: '-'
       
  1111            ) 
       
  1112            (MenuItem
  1089               label: 'Bookmarks'
  1113               label: 'Bookmarks'
  1090               submenuChannel: bookmarksMenu
  1114               submenuChannel: bookmarksMenu
  1091               labelImage: (ResourceRetriever ToolbarIconLibrary bookmarks14x14 'Bookmarks')
  1115               labelImage: (ResourceRetriever ToolbarIconLibrary bookmarks14x14 'Bookmarks')
  1092            ) 
  1116            ) 
  1093            (MenuItem
  1117            (MenuItem
  1950     verticalPanelView addComponent: aView
  1974     verticalPanelView addComponent: aView
  1951 
  1975 
  1952     "Created: / 03-06-2013 / 17:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1976     "Created: / 03-06-2013 / 17:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1953 ! !
  1977 ! !
  1954 
  1978 
       
  1979 !FileDialog methodsFor:'error handling'!
       
  1980 
       
  1981 additionalFoldersMenuSlice
       
  1982     |slice|
       
  1983 
       
  1984     "/ AdditionalFolderItemsInMenu := #('/foo' '/etc' '/Users')
       
  1985     "/ AdditionalFolderItemsInMenu := #('/foo' ('/etc' 'Other') '/Users')
       
  1986     AdditionalFolderItemsInMenu notEmptyOrNil ifTrue:[
       
  1987         slice := Menu new.
       
  1988         AdditionalFolderItemsInMenu do:[:eachFolderNameOrPair |
       
  1989             |item fn label|
       
  1990 
       
  1991             eachFolderNameOrPair isArray ifTrue:[
       
  1992                 fn := eachFolderNameOrPair first asFilename.
       
  1993                 label := eachFolderNameOrPair second.
       
  1994             ] ifFalse:[
       
  1995                 fn := eachFolderNameOrPair asFilename.
       
  1996                 label := eachFolderNameOrPair.
       
  1997             ].
       
  1998             item := MenuItem new.
       
  1999             item label:label.
       
  2000             item itemValue:[ self gotoFile:fn ].
       
  2001             item enabled:[ fn exists and:[fn isDirectory and:[fn isExecutable]]].
       
  2002             slice addItem:item.
       
  2003         ].
       
  2004     ].
       
  2005     ^ slice
       
  2006 ! !
       
  2007 
  1955 !FileDialog methodsFor:'event handling'!
  2008 !FileDialog methodsFor:'event handling'!
  1956 
  2009 
  1957 processEvent:anEvent
  2010 processEvent:anEvent
  1958     "filter keyboard edit-events typed into the listOfItemsView.
  2011     "filter keyboard edit-events typed into the listOfItemsView.
  1959      Return true, if I have eaten the event"
  2012      Return true, if I have eaten the event"
  2370 
  2423 
  2371 findAndSelectNextFileEnabledHolder
  2424 findAndSelectNextFileEnabledHolder
  2372     ^ [LastFindPattern notEmptyOrNil].
  2425     ^ [LastFindPattern notEmptyOrNil].
  2373 !
  2426 !
  2374 
  2427 
       
  2428 gotoFile:fn
       
  2429     treeBrowser gotoFile:fn.
       
  2430 !
       
  2431 
  2375 menuDirHistory:backOrForward
  2432 menuDirHistory:backOrForward
  2376 
  2433 
  2377     ^ treeBrowser menuDirHistory:backOrForward.
  2434     ^ treeBrowser menuDirHistory:backOrForward.
  2378 !
  2435 !
  2379 
  2436