AbstractFileBrowser.st
changeset 18511 4b7bd1293f9d
parent 18478 e88642b2a230
child 18525 de9b7b5fc8ba
equal deleted inserted replaced
18510:ed8ac4d47eb1 18511:4b7bd1293f9d
       
     1 "{ Encoding: utf8 }"
       
     2 
     1 "
     3 "
     2  COPYRIGHT (c) 2002 by eXept Software AG
     4  COPYRIGHT (c) 2002 by eXept Software AG
     3               All Rights Reserved
     5               All Rights Reserved
     4 
     6 
     5  This software is furnished under a license and may be used
     7  This software is furnished under a license and may be used
  1628           )
  1630           )
  1629          (MenuItem
  1631          (MenuItem
  1630             enabled: enableGotoDesktopDirectory
  1632             enabled: enableGotoDesktopDirectory
  1631             label: 'Desktop'
  1633             label: 'Desktop'
  1632             itemValue: doGotoDesktopDirectory
  1634             itemValue: doGotoDesktopDirectory
       
  1635           )
       
  1636          (MenuItem
       
  1637             enabled: enableGotoDocumentsDirectory
       
  1638             label: 'Documents'
       
  1639             itemValue: doGotoDocumentsDirectory
  1633           )
  1640           )
  1634          (MenuItem
  1641          (MenuItem
  1635             enabled: enableGotoDownloadsDirectory
  1642             enabled: enableGotoDownloadsDirectory
  1636             label: 'Downloads'
  1643             label: 'Downloads'
  1637             itemValue: doGotoDownloadsDirectory
  1644             itemValue: doGotoDownloadsDirectory
  3009                                 (decodedChar between:0 and:31) ifTrue:[
  3016                                 (decodedChar between:0 and:31) ifTrue:[
  3010                                     "/ the 'nul', 'soh' .. 'gs' chars in unicodePage 2400
  3017                                     "/ the 'nul', 'soh' .. 'gs' chars in unicodePage 2400
  3011                                     "/ are perfect here, but usually not available in the font
  3018                                     "/ are perfect here, but usually not available in the font
  3012                                     "/ and we have currently no way of knowing if they are...
  3019                                     "/ and we have currently no way of knowing if they are...
  3013                                     "/ (could let the font draw into a bitmap and check if there is something...)
  3020                                     "/ (could let the font draw into a bitmap and check if there is something...)
  3014                                     "/ For now, write a dot.·
  3021                                     "/ For now, write a dot.·
  3015                                     "/ charPrinted := (Character value:(byte + 16r2400))
  3022                                     "/ charPrinted := (Character value:(byte + 16r2400))
  3016                                 ].
  3023                                 ].
  3017                             ].
  3024                             ].
  3018                         ].
  3025                         ].
  3019                         asciiLineStream nextPut:charPrinted.
  3026                         asciiLineStream nextPut:charPrinted.
  3907     ^ self aspectFor:#enableGotoDesktopDirectory ifAbsent:[ ValueHolder with:true ].
  3914     ^ self aspectFor:#enableGotoDesktopDirectory ifAbsent:[ ValueHolder with:true ].
  3908 
  3915 
  3909     "Created: / 01-10-2010 / 16:19:17 / cg"
  3916     "Created: / 01-10-2010 / 16:19:17 / cg"
  3910 !
  3917 !
  3911 
  3918 
       
  3919 enableGotoDocumentsDirectory
       
  3920     ^ self aspectFor:#enableGotoDocumentsDirectory ifAbsent:[ ValueHolder with:true ].
       
  3921 
       
  3922     "Created: / 01-10-2010 / 16:19:17 / cg"
       
  3923 !
       
  3924 
  3912 enableGotoDownloadsDirectory
  3925 enableGotoDownloadsDirectory
  3913     ^ self aspectFor:#enableGotoDownloadsDirectory ifAbsent:[ ValueHolder with:true ].
  3926     ^ self aspectFor:#enableGotoDownloadsDirectory ifAbsent:[ ValueHolder with:true ].
  3914 
  3927 
  3915     "Created: / 01-10-2010 / 16:19:17 / cg"
  3928     "Created: / 01-10-2010 / 16:19:17 / cg"
  3916 !
  3929 !
  4810         (dir := Filename desktopDirectory) notNil ifTrue:[
  4823         (dir := Filename desktopDirectory) notNil ifTrue:[
  4811             self enableGotoDesktopDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
  4824             self enableGotoDesktopDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
  4812         ].
  4825         ].
  4813         (dir := Filename downloadsDirectory) notNil ifTrue:[
  4826         (dir := Filename downloadsDirectory) notNil ifTrue:[
  4814             self enableGotoDownloadsDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
  4827             self enableGotoDownloadsDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
       
  4828         ].
       
  4829         (dir := Filename documentsDirectory) notNil ifTrue:[
       
  4830             self enableGotoDocumentsDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
  4815         ].
  4831         ].
  4816         (dir := self tempDirectory) notNil ifTrue:[
  4832         (dir := self tempDirectory) notNil ifTrue:[
  4817             self enableGotoTempDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
  4833             self enableGotoTempDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
  4818         ].
  4834         ].
  4819     ].
  4835     ].
  5874 doCompareTwoFiles
  5890 doCompareTwoFiles
  5875     self openDiffView.
  5891     self openDiffView.
  5876 !
  5892 !
  5877 
  5893 
  5878 doGoDirectoryUp
  5894 doGoDirectoryUp
       
  5895     "navigate up to the parent folder"
       
  5896 
  5879     | upDir directory rootInTreeView|
  5897     | upDir directory rootInTreeView|
  5880 
  5898 
  5881     self enableDirectoryUp value ifFalse:[ ^ self].
  5899     self enableDirectoryUp value ifFalse:[ ^ self].
  5882     self currentFilesAreInSameDirectory ifTrue:[
  5900     self currentFilesAreInSameDirectory ifTrue:[
  5883         directory := self currentDirectory.
  5901         directory := self currentDirectory.
  5891     upDir := directory directory.
  5909     upDir := directory directory.
  5892     self setCurrentFileName:upDir.
  5910     self setCurrentFileName:upDir.
  5893 !
  5911 !
  5894 
  5912 
  5895 doGotoDefaultDirectory
  5913 doGotoDefaultDirectory
       
  5914     "navigate to the default folder (is the current directory)"
       
  5915 
  5896     self gotoFile:(Filename defaultDirectory).
  5916     self gotoFile:(Filename defaultDirectory).
  5897 !
  5917 !
  5898 
  5918 
  5899 doGotoDesktopDirectory
  5919 doGotoDesktopDirectory
       
  5920     "navigate to the desktop folder"
       
  5921 
  5900     self gotoFile:(Filename desktopDirectory).
  5922     self gotoFile:(Filename desktopDirectory).
  5901 !
  5923 !
  5902 
  5924 
  5903 doGotoDocumentsDirectory
  5925 doGotoDocumentsDirectory
       
  5926     "navigate to the documents folder"
       
  5927 
  5904     self gotoFile:(Filename documentsDirectory).
  5928     self gotoFile:(Filename documentsDirectory).
  5905 !
  5929 !
  5906 
  5930 
  5907 doGotoDownloadsDirectory
  5931 doGotoDownloadsDirectory
       
  5932     "navigate to the downloads folder"
       
  5933 
  5908     self gotoFile:(Filename downloadsDirectory).
  5934     self gotoFile:(Filename downloadsDirectory).
  5909 !
  5935 !
  5910 
  5936 
  5911 doGotoHomeDirectory
  5937 doGotoHomeDirectory
       
  5938     "navigate to the home folder"
       
  5939 
  5912     self gotoFile:(Filename homeDirectory).
  5940     self gotoFile:(Filename homeDirectory).
  5913 !
  5941 !
  5914 
  5942 
  5915 doGotoSmalltalkDirectory
  5943 doGotoSmalltalkDirectory
       
  5944     "navigate to the smalltalk bin folder (where the stx executable is)"
       
  5945 
  5916     self gotoFile:(self smalltalkDirectory).
  5946     self gotoFile:(self smalltalkDirectory).
  5917 !
  5947 !
  5918 
  5948 
  5919 doGotoSmalltalkWorkspaceDirectory
  5949 doGotoSmalltalkWorkspaceDirectory
       
  5950     "navigate to the user's smalltalk workspace folder"
       
  5951 
  5920     self gotoFile:(UserPreferences current workspaceDirectory).
  5952     self gotoFile:(UserPreferences current workspaceDirectory).
  5921 !
  5953 !
  5922 
  5954 
  5923 doGotoTempDirectory
  5955 doGotoTempDirectory
  5924     self gotoFile:(self tempDirectory).
  5956     self gotoFile:(self tempDirectory).
  8793                 redefKind := 'class'.
  8825                 redefKind := 'class'.
  8794                 isRedef := true.
  8826                 isRedef := true.
  8795             ] ifFalse:[sig == HaltInterrupt ifTrue:[ |sender|
  8827             ] ifFalse:[sig == HaltInterrupt ifTrue:[ |sender|
  8796                 label := msg := 'Breakpoint/Halt in fileIn'.
  8828                 label := msg := 'Breakpoint/Halt in fileIn'.
  8797                 sender := ex suspendedContext.
  8829                 sender := ex suspendedContext.
  8798                 msg := msg , ('\\in %1 » %2' bindWith:(sender receiver class name) with:(sender sender selector))
  8830                 msg := msg , ('\\in %1 » %2' bindWith:(sender receiver class name) with:(sender sender selector))
  8799             ] ifFalse:[
  8831             ] ifFalse:[
  8800                 label := 'Error in fileIn'.
  8832                 label := 'Error in fileIn'.
  8801                 msg := 'error in fileIn: %1'
  8833                 msg := 'error in fileIn: %1'
  8802             ]]].
  8834             ]]].
  8803 
  8835