FileBrowser.st
changeset 2102 da9a9deccee0
parent 2101 54dd9ce332bf
child 2104 4cdfa467fb7c
--- a/FileBrowser.st	Fri Apr 16 19:46:37 1999 +0200
+++ b/FileBrowser.st	Fri Apr 16 20:18:38 1999 +0200
@@ -662,419 +662,437 @@
 
     <resource: #menu>
 
-    ^
-     
-       #(#Menu
-          
-           #(
-             #(#MenuItem
-                #label: 'About'
-                #translateLabel: true
-                #labelImage: #(#ResourceRetriever #ToolApplicationModel #menuIcon)
-                #submenu: 
-                 #(#Menu
-                    
-                     #(
-                       #(#MenuItem
-                          #label: 'About Smalltalk/X...'
-                          #translateLabel: true
-                          #value: #showAboutSTX
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'About FileBrowser...'
-                          #translateLabel: true
-                          #value: #openAboutThisApplication
-                      )
-                    ) nil
-                    nil
+    ^ 
+     #(#Menu
+        #(
+         #(#MenuItem
+            #label: 'About'
+            #translateLabel: true
+            #labelImage: #(#ResourceRetriever #ToolApplicationModel #menuIcon)
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'About Smalltalk/X...'
+                  #translateLabel: true
+                  #value: #showAboutSTX
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'About FileBrowser...'
+                  #translateLabel: true
+                  #value: #openAboutThisApplication
                 )
+               )
+              nil
+              nil
             )
-             #(#MenuItem
-                #label: 'File'
-                #translateLabel: true
-                #submenu: 
+          )
+         #(#MenuItem
+            #label: 'File'
+            #translateLabel: true
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Open'
+                  #translateLabel: true
+                  #value: #menuOpen
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Open selected Filename'
+                  #translateLabel: true
+                  #isVisible: #hasFilenameSelectionInCodeView
+                  #value: #openSelectedFilename
+                  #enabled: #hasFilenameSelectionInCodeView
+                )
+               #(#MenuItem
+                  #label: 'FileIn'
+                  #translateLabel: true
+                  #value: #fileFileIn
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'New'
+                  #translateLabel: true
+                  #submenu: 
                  #(#Menu
-                    
-                     #(
-                       #(#MenuItem
-                          #label: 'Open'
-                          #translateLabel: true
-                          #value: #menuOpen
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Open selected Filename'
-                          #translateLabel: true
-                          #value: #openSelectedFilename
-                          #isVisible: #hasFilenameSelectionInCodeView
-                          #enabled: #hasFilenameSelectionInCodeView
-                      )
-                       #(#MenuItem
-                          #label: 'FileIn'
-                          #translateLabel: true
-                          #value: #fileFileIn
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'New'
-                          #translateLabel: true
-                          #submenu: 
-                           #(#Menu
-                              
-                               #(
-                                 #(#MenuItem
-                                    #label: 'Directory...'
-                                    #translateLabel: true
-                                    #value: #newDirectory
-                                )
-                                 #(#MenuItem
-                                    #label: 'File...'
-                                    #translateLabel: true
-                                    #value: #newFile
-                                )
-                                 #(#MenuItem
-                                    #label: 'Hard Link...'
-                                    #translateLabel: true
-                                    #isVisible: #systemIsUnix
-                                    #value: #newHardLink
-                                )
-                                 #(#MenuItem
-                                    #label: 'Symbolic Link...'
-                                    #translateLabel: true
-                                    #isVisible: #systemIsUnix
-                                    #value: #newSoftLink
-                                )
-                              ) nil
-                              nil
-                          )
-                      )
-                       #(#MenuItem
-                          #label: 'Remove'
-                          #translateLabel: true
-                          #value: #fileRemove
-                          #enabled: #hasSelection
+                    #(
+                     #(#MenuItem
+                        #label: 'Directory...'
+                        #translateLabel: true
+                        #value: #newDirectory
                       )
-                       #(#MenuItem
-                          #label: 'Rename'
-                          #translateLabel: true
-                          #value: #fileRename
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Properties...'
-                          #translateLabel: true
-                          #value: #fileGetLongInfo
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                          #isVisible: #javaSupportLoaded
-                      )
-                       #(#MenuItem
-                          #label: 'Add to Java ClassPath'
-                          #translateLabel: true
-                          #isVisible: #javaSupportLoaded
-                          #value: #fileAddToJavaClassPath
-                          #enabled: #canAddToClassPath
-                      )
-                       #(#MenuItem
-                          #label: 'Remove from Java ClassPath'
-                          #translateLabel: true
-                          #isVisible: #javaSupportLoaded
-                          #value: #fileRemoveFromJavaClassPath
-                          #enabled: #canRemoveToClassPath
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Spawn'
-                          #translateLabel: true
-                          #value: #fileSpawn
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Exit'
-                          #translateLabel: true
-                          #value: #menuExit
+                     #(#MenuItem
+                        #label: 'File...'
+                        #translateLabel: true
+                        #value: #newFile
                       )
-                    ) nil
-                    nil
-                )
-            )
-             #(#MenuItem
-                #label: 'Directory'
-                #translateLabel: true
-                #submenuChannel: #directoryMenuSpec
-            )
-             #(#MenuItem
-                #label: 'CVS'
-                #translateLabel: true
-                #submenu: 
-                 #(#Menu
-
-                     #(
-                       #(#MenuItem
-                          #label: 'Remove file && CVS Container'
-                          #translateLabel: true
-                          #value: #fileRemoveAndRemoveContainerFromCVS
-                          #enabled: #canRemoveCVSContainer
+                     #(#MenuItem
+                        #label: 'Hard Link...'
+                        #translateLabel: true
+                        #isVisible: #systemIsUnix
+                        #value: #newHardLink
                       )
-                    ) nil
-                    nil
-                )
-            )
-             #(#MenuItem
-                #label: 'Edit'
-                #translateLabel: true
-                #submenu: 
-                 #(#Menu
-                    
-                     #(
-                       #(#MenuItem
-                          #label: 'Get Contents'
-                          #translateLabel: true
-                          #value: #fileGet
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Insert Contents'
-                          #translateLabel: true
-                          #value: #fileInsert
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Copy File List'
-                          #translateLabel: true
-                          #value: #copyFileList
-                      )
-                       #(#MenuItem
-                          #label: 'Copy Selected Filename'
-                          #translateLabel: true
-                          #value: #copySelectedFileName
-                      )
-                       #(#MenuItem
-                          #label: 'Copy Command History'
-                          #translateLabel: true
-                          #value: #copyCommandHistory
+                     #(#MenuItem
+                        #label: 'Symbolic Link...'
+                        #translateLabel: true
+                        #isVisible: #systemIsUnix
+                        #value: #newSoftLink
                       )
-                    ) nil
+                     )
+                    nil
                     nil
+                  )
                 )
+               #(#MenuItem
+                  #label: 'Remove'
+                  #translateLabel: true
+                  #value: #fileRemove
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Rename'
+                  #translateLabel: true
+                  #value: #fileRename
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Properties...'
+                  #translateLabel: true
+                  #value: #fileGetLongInfo
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: '-'
+                  #isVisible: #javaSupportLoaded
+                )
+               #(#MenuItem
+                  #label: 'Add to Java ClassPath'
+                  #translateLabel: true
+                  #isVisible: #javaSupportLoaded
+                  #value: #fileAddToJavaClassPath
+                  #enabled: #canAddToClassPath
+                )
+               #(#MenuItem
+                  #label: 'Remove from Java ClassPath'
+                  #translateLabel: true
+                  #isVisible: #javaSupportLoaded
+                  #value: #fileRemoveFromJavaClassPath
+                  #enabled: #canRemoveToClassPath
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Spawn'
+                  #translateLabel: true
+                  #value: #fileSpawn
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Exit'
+                  #translateLabel: true
+                  #value: #menuExit
+                )
+               )
+              nil
+              nil
             )
-             #(#MenuItem
-                #label: 'View'
-                #translateLabel: true
-                #submenu: 
-                 #(#Menu
-                    
-                     #(
-                       #(#MenuItem
-                          #label: 'Details'
-                          #translateLabel: true
-                          #indication: #showingDetails
-                      )
-                       #(#MenuItem
-                          #label: 'Show Hidden Files'
-                          #translateLabel: true
-                          #indication: #showingHiddenFiles
-                      )
-                       #(#MenuItem
-                          #label: 'Big Image Preview'
-                          #translateLabel: true
-                          #indication: #showingBigImagePreview
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Sort By Name'
-                          #translateLabel: true
-                          #choice: #sortByWhat
-                          #choiceValue: #name
-                      )
-                       #(#MenuItem
-                          #label: 'Sort By Type'
-                          #translateLabel: true
-                          #choice: #sortByWhat
-                          #choiceValue: #type
-                      )
-                       #(#MenuItem
-                          #label: 'Sort By Time'
-                          #translateLabel: true
-                          #choice: #sortByWhat
-                          #choiceValue: #time
-                      )
-                       #(#MenuItem
-                          #label: 'Ignore Case'
-                          #translateLabel: true
-                          #enabled: #sortByName
-                          #indication: #sortCaseless
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Encoding...'
-                          #translateLabel: true
-                          #value: #fileEncoding
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Update'
-                          #translateLabel: true
-                          #value: #updateCurrentDirectory
-                      )
-                    ) nil
-                    nil
+          )
+         #(#MenuItem
+            #label: 'Directory'
+            #translateLabel: true
+            #submenuChannel: #directoryMenuSpec
+          )
+         #(#MenuItem
+            #label: 'Edit'
+            #translateLabel: true
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Get Contents'
+                  #translateLabel: true
+                  #value: #fileGet
+                  #enabled: #hasSelection
                 )
+               #(#MenuItem
+                  #label: 'Insert Contents'
+                  #translateLabel: true
+                  #value: #fileInsert
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Copy File List'
+                  #translateLabel: true
+                  #value: #copyFileList
+                )
+               #(#MenuItem
+                  #label: 'Copy Selected Filename'
+                  #translateLabel: true
+                  #value: #copySelectedFileName
+                )
+               #(#MenuItem
+                  #label: 'Copy Command History'
+                  #translateLabel: true
+                  #value: #copyCommandHistory
+                )
+               )
+              nil
+              nil
             )
-             #(#MenuItem
-                #label: 'Tools'
-                #translateLabel: true
-                #submenu: 
-                 #(#Menu
-                    
-                     #(
-                       #(#MenuItem
-                          #label: 'Unix Command'
-                          #translateLabel: true
-                          #isVisible: #systemIsUnix
-                          #value: #menuOSCommand
-                      )
-                       #(#MenuItem
-                          #label: 'DOS Command'
-                          #translateLabel: true
-                          #isVisible: #systemIsDOS
-                          #value: #menuOSCommand
-                      )
-                       #(#MenuItem
-                          #label: 'VMS Command'
-                          #translateLabel: true
-                          #isVisible: #systemIsVMS
-                          #value: #menuOSCommand
-                      )
-                       #(#MenuItem
-                          #label: '-'
-                      )
-                       #(#MenuItem
-                          #label: 'Changes Browser'
-                          #translateLabel: true
-                          #value: #openChangesBrowser
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Editor'
-                          #translateLabel: true
-                          #value: #openEditor
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'HTML Reader'
-                          #translateLabel: true
-                          #value: #openHTMLReader
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Applet Viewer'
-                          #translateLabel: true
-                          #isVisible: #hasJava
-                          #value: #openAppletViewer
-                          #enabled: #hasJavaAndSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Image Inspector'
-                          #translateLabel: true
-                          #value: #openImageInspector
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Image Preview'
-                          #translateLabel: true
-                          #value: #openImagePreview
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'Image Editor'
-                          #translateLabel: true
-                          #value: #openImageEditor
-                          #enabled: #hasSelection
-                      )
-                       #(#MenuItem
-                          #label: 'ZipFile Tool'
-                          #translateLabel: true
-                          #value: #openZipTool
-                          #enabled: #hasZipFileSelected
-                      )
-                       #(#MenuItem
-                          #label: 'File Differences...'
-                          #translateLabel: true
-                          #value: #openDiffView
-                      )
-                       #(#MenuItem
-                          #label: 'Find Duplicate Files'
-                          #translateLabel: true
-                          #value: #fileFindDuplicates
-                      )
-                       #(#MenuItem
-                          #label: 'Find All Duplicate Files (recursive)'
-                          #translateLabel: true
-                          #value: #fileFindAllDuplicates
-                      )
-                       #(#MenuItem
-                          #label: 'Find a File...'
-                          #translateLabel: true
-                          #value: #fileFindFile
-                      )
-                       #(#MenuItem
-                          #label: 'Hex Dump'
-                          #translateLabel: true
-                          #value: #fileHexDump
-                      )
-                       #(#MenuItem
-                          #label: 'Shell Terminal'
-                          #translateLabel: true
-                          #isVisible: #systemIsUnix
-                          #value: #openTerminal
-                          #enabled: #systemIsUnix
-                      )
-                    ) nil
-                    nil
+          )
+         #(#MenuItem
+            #label: 'View'
+            #translateLabel: true
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Details'
+                  #translateLabel: true
+                  #indication: #showingDetails
+                )
+               #(#MenuItem
+                  #label: 'Show Hidden Files'
+                  #translateLabel: true
+                  #indication: #showingHiddenFiles
+                )
+               #(#MenuItem
+                  #label: 'Big Image Preview'
+                  #translateLabel: true
+                  #indication: #showingBigImagePreview
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Sort By Name'
+                  #translateLabel: true
+                  #choice: #sortByWhat
+                  #choiceValue: #name
+                )
+               #(#MenuItem
+                  #label: 'Sort By Type'
+                  #translateLabel: true
+                  #choice: #sortByWhat
+                  #choiceValue: #type
+                )
+               #(#MenuItem
+                  #label: 'Sort By Time'
+                  #translateLabel: true
+                  #choice: #sortByWhat
+                  #choiceValue: #time
+                )
+               #(#MenuItem
+                  #label: 'Ignore Case'
+                  #translateLabel: true
+                  #enabled: #sortByName
+                  #indication: #sortCaseless
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Encoding...'
+                  #translateLabel: true
+                  #value: #fileEncoding
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Update'
+                  #translateLabel: true
+                  #value: #updateCurrentDirectory
+                )
+               )
+              nil
+              nil
+            )
+          )
+         #(#MenuItem
+            #label: 'Tools'
+            #translateLabel: true
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Unix Command'
+                  #translateLabel: true
+                  #isVisible: #systemIsUnix
+                  #value: #menuOSCommand
+                )
+               #(#MenuItem
+                  #label: 'DOS Command'
+                  #translateLabel: true
+                  #isVisible: #systemIsDOS
+                  #value: #menuOSCommand
+                )
+               #(#MenuItem
+                  #label: 'VMS Command'
+                  #translateLabel: true
+                  #isVisible: #systemIsVMS
+                  #value: #menuOSCommand
+                )
+               #(#MenuItem
+                  #label: '-'
+                )
+               #(#MenuItem
+                  #label: 'Changes Browser'
+                  #translateLabel: true
+                  #value: #openChangesBrowser
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Editor'
+                  #translateLabel: true
+                  #value: #openEditor
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'HTML Reader'
+                  #translateLabel: true
+                  #value: #openHTMLReader
+                  #enabled: #hasSelection
                 )
+               #(#MenuItem
+                  #label: 'Applet Viewer'
+                  #translateLabel: true
+                  #isVisible: #hasJava
+                  #value: #openAppletViewer
+                  #enabled: #hasJavaAndSelection
+                )
+               #(#MenuItem
+                  #label: 'Image Inspector'
+                  #translateLabel: true
+                  #value: #openImageInspector
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Image Preview'
+                  #translateLabel: true
+                  #value: #openImagePreview
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Image Editor'
+                  #translateLabel: true
+                  #value: #openImageEditor
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'ZipFile Tool'
+                  #translateLabel: true
+                  #value: #openZipTool
+                  #enabled: #hasZipFileSelected
+                )
+               #(#MenuItem
+                  #label: 'File Differences...'
+                  #translateLabel: true
+                  #value: #openDiffView
+                )
+               #(#MenuItem
+                  #label: 'Find Duplicate Files'
+                  #translateLabel: true
+                  #value: #fileFindDuplicates
+                )
+               #(#MenuItem
+                  #label: 'Find All Duplicate Files (recursive)'
+                  #translateLabel: true
+                  #value: #fileFindAllDuplicates
+                )
+               #(#MenuItem
+                  #label: 'Find a File...'
+                  #translateLabel: true
+                  #value: #fileFindFile
+                )
+               #(#MenuItem
+                  #label: 'Hex Dump'
+                  #translateLabel: true
+                  #value: #fileHexDump
+                )
+               #(#MenuItem
+                  #label: 'Shell Terminal'
+                  #translateLabel: true
+                  #isVisible: #systemIsUnix
+                  #value: #openTerminal
+                  #enabled: #systemIsUnix
+                )
+               )
+              nil
+              nil
             )
-             #(#MenuItem
-                #label: 'Help'
-                #translateLabel: true
-                #startGroup: #right
-                #submenu: 
-                 #(#Menu
-                    
-                     #(
-                       #(#MenuItem
-                          #label: 'FileBrowser Documentation'
-                          #translateLabel: true
-                          #value: #openHTMLDocument:
-                          #argument: 'tools/fbrowser/TOP.html'
-                      )
-                    ) nil
-                    nil
+          )
+         #(#MenuItem
+            #label: 'CVS'
+            #translateLabel: true
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Update selected files/directories'
+                  #translateLabel: true
+                  #value: #cvsUpdateSelection
+                  #enabled: #hasSelection
+                )
+               #(#MenuItem
+                  #label: 'Update directory local'
+                  #translateLabel: true
+                  #value: #cvsUpdateDirectoryLocal
+                )
+               #(#MenuItem
+                  #label: 'Update directory recursive'
+                  #translateLabel: true
+                  #value: #cvsUpdateDirectoryRecursive
+                )
+               #(#MenuItem
+                  #label: '-'
                 )
+               #(#MenuItem
+                  #label: 'Remove file && CVS Container'
+                  #translateLabel: true
+                  #value: #cvsRemoveFileAndContainer
+                  #enabled: #canRemoveCVSContainer
+                )
+               )
+              nil
+              nil
             )
-          ) nil
-          nil
+          )
+         #(#MenuItem
+            #label: 'Help'
+            #translateLabel: true
+            #startGroup: #right
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'FileBrowser Documentation'
+                  #translateLabel: true
+                  #value: #openHTMLDocument:
+                  #argument: 'tools/fbrowser/TOP.html'
+                )
+               )
+              nil
+              nil
+            )
+          )
+         )
+        nil
+        nil
       )
 ! !
 
@@ -2370,31 +2388,6 @@
     "Modified: / 16.12.1998 / 17:30:31 / cg"
 !
 
-fileRemoveAndRemoveContainerFromCVS
-    "remove the selected file(s) and their CVS containers.
-     Query if user really wants to really remove them."
-
-    |sel q|
-
-    sel := fileListView selection.
-    sel size > 0 ifTrue:[
-        sel := sel collect:[:rawIndex | fileList at:rawIndex].
-        sel size > 1 ifTrue:[
-            q := resources string:'remove %1 selected files and CVS containers ?' with:(sel size)
-        ] ifFalse:[
-            q := resources string:'remove ''%1'' and CVS container ?' with:(sel first asText allBold)
-        ].
-        (self sensor shiftDown
-        or:[self ask:q yesButton:'remove']) ifTrue:[
-            self withCursor:(Cursor wait) do:[
-                self doRemoveAndRemoveFromCVS:sel
-            ]
-        ]
-    ]
-
-    "Modified: / 16.12.1998 / 17:30:31 / cg"
-!
-
 fileRename
     "rename the selected file(s)"
 
@@ -3500,6 +3493,141 @@
     "Modified: / 14.8.1998 / 16:44:00 / cg"
 ! !
 
+!FileBrowser methodsFor:'menu actions - cvs'!
+
+cvsRemoveFileAndContainer
+    "remove the selected file(s) and their CVS containers.
+     Query if user really wants to really remove them."
+
+    |sel q|
+
+    sel := fileListView selection.
+    sel size > 0 ifTrue:[
+        sel := sel collect:[:rawIndex | fileList at:rawIndex].
+        sel size > 1 ifTrue:[
+            q := resources string:'remove %1 selected files and CVS containers ?' with:(sel size)
+        ] ifFalse:[
+            q := resources string:'remove ''%1'' and CVS container ?' with:(sel first asText allBold)
+        ].
+        (self sensor shiftDown
+        or:[self ask:q yesButton:'remove']) ifTrue:[
+            self withCursor:(Cursor wait) do:[
+                self doRemoveAndRemoveFromCVS:sel
+            ]
+        ]
+    ]
+
+    "Modified: / 16.12.1998 / 17:30:31 / cg"
+!
+
+cvsUpdateDirectoryLocal
+    "update this directory"
+
+    self
+        doExecuteCommand:'cvs upd -l' replace:false
+
+    "Modified: / 16.12.1998 / 17:30:31 / cg"
+!
+
+cvsUpdateDirectoryRecursive
+    "update this directory"
+
+    self
+        doExecuteCommand:'cvs upd -d' replace:false
+
+    "Modified: / 16.12.1998 / 17:30:31 / cg"
+!
+
+cvsUpdateSelection
+    "update selected files"
+
+    |sel|
+
+    sel := fileListView selection.
+    sel size > 0 ifTrue:[
+        sel := sel collect:[:rawIndex | fileList at:rawIndex].
+        sel do:[:fn |
+            self
+                doExecuteCommand:('cvs upd ' , fn) replace:false
+        ]
+    ].
+!
+
+doRemoveAndRemoveFromCVS:filesToRemove
+    "remove the selected file(s) and their CVS containers - no questions asked"
+
+    |msg idx needUpdate toRemove updateRunning yesToAll|
+
+    updateRunning := listUpdateProcess notNil.
+    self stopUpdateProcess.
+    toRemove := OrderedCollection new.
+
+    "/
+    "/ did the directory change in the meanwhile ?
+    "/
+    needUpdate := (currentDirectory modificationTime > timeOfLastCheck).
+
+    yesToAll := false.
+    lockUpdate := true.
+    [
+        filesToRemove do:[:fileName |
+            |f|
+
+            f := currentDirectory construct:fileName.
+            OperatingSystem accessDeniedErrorSignal handle:[:ex|
+                "was not able to remove it"
+                msg := (resources string:'cannot remove ''%1'' !!' with:fileName).
+                self showAlert:msg with:(OperatingSystem lastErrorString)
+            ] do:[
+                |answer contents|
+
+                (f isSymbolicLink not) ifTrue:[
+                    self
+                        doExecuteCommand:('cvs remove -f ' , f baseName)
+                        replace:false.
+
+"
+                self show:nil
+"
+                    idx := fileList indexOf:fileName.
+                    idx ~~ 0 ifTrue:[
+                        toRemove add:idx.
+                    ]
+                ]
+            ].
+        ].
+    ] valueNowOrOnUnwindDo:[
+        lockUpdate := false.
+        fileListView setSelection:nil.
+
+        "/
+        "/ remove reverse - otherwise indices are wrong
+        "/
+        toRemove sort.
+        toRemove reverseDo:[:idx |
+            fileList removeIndex:idx.
+            fileListView removeIndex:idx.
+        ].
+
+        updateRunning ifTrue:[
+            self updateCurrentDirectory
+        ] ifFalse:[
+            "
+             install a new check after some time
+            "
+            needUpdate ifFalse:[timeOfLastCheck := AbsoluteTime now].
+            Processor removeTimedBlock:checkBlock.
+            Processor addTimedBlock:checkBlock afterSeconds:checkDelta.
+        ]
+    ].
+
+    self
+        doExecuteCommand:('cvs commit -m ''removed via FileBrowser''')
+        replace:false.
+
+    "Modified: / 21.10.1998 / 17:02:11 / cg"
+! !
+
 !FileBrowser methodsFor:'misc user interaction'!
 
 closeRequest
@@ -5250,83 +5378,6 @@
     "Modified: / 21.10.1998 / 17:02:11 / cg"
 !
 
-doRemoveAndRemoveFromCVS:filesToRemove
-    "remove the selected file(s) and their CVS containers - no questions asked"
-
-    |msg idx needUpdate toRemove updateRunning yesToAll|
-
-    updateRunning := listUpdateProcess notNil.
-    self stopUpdateProcess.
-    toRemove := OrderedCollection new.
-
-    "/
-    "/ did the directory change in the meanwhile ?
-    "/
-    needUpdate := (currentDirectory modificationTime > timeOfLastCheck).
-
-    yesToAll := false.
-    lockUpdate := true.
-    [
-        filesToRemove do:[:fileName |
-            |f|
-
-            f := currentDirectory construct:fileName.
-            OperatingSystem accessDeniedErrorSignal handle:[:ex|
-                "was not able to remove it"
-                msg := (resources string:'cannot remove ''%1'' !!' with:fileName).
-                self showAlert:msg with:(OperatingSystem lastErrorString)
-            ] do:[
-                |answer contents|
-
-                (f isSymbolicLink not) ifTrue:[
-                    OperatingSystem 
-                        executeCommand:'cvs remove -f ' , f baseName
-                        inDirectory:currentDirectory pathName.
-
-"
-                self show:nil
-"
-                    idx := fileList indexOf:fileName.
-                    idx ~~ 0 ifTrue:[
-                        toRemove add:idx.
-                    ]
-                ]
-            ].
-        ].
-    ] valueNowOrOnUnwindDo:[
-        lockUpdate := false.
-        fileListView setSelection:nil.
-
-        "/
-        "/ remove reverse - otherwise indices are wrong
-        "/
-        toRemove sort.
-        toRemove reverseDo:[:idx |
-            fileList removeIndex:idx.
-            fileListView removeIndex:idx.
-        ].
-
-        updateRunning ifTrue:[
-            self updateCurrentDirectory
-        ] ifFalse:[
-            "
-             install a new check after some time
-            "
-            needUpdate ifFalse:[timeOfLastCheck := AbsoluteTime now].
-            Processor removeTimedBlock:checkBlock.
-            Processor addTimedBlock:checkBlock afterSeconds:checkDelta.
-        ]
-    ].
-
-    OperatingSystem 
-        executeCommand:'cvs commit -m ''removed via FileBrowser'''
-        inDirectory:currentDirectory pathName.
-
-
-    "Modified: / 20.11.1997 / 17:39:14 / stefan"
-    "Modified: / 21.10.1998 / 17:02:11 / cg"
-!
-
 doRename:oldName to:newName
     "rename a file (or directory)"
 
@@ -6518,5 +6569,5 @@
 !FileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.306 1999-04-16 17:46:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.307 1999-04-16 18:18:38 cg Exp $'
 ! !