AbstractFileBrowser.st
branchjv
changeset 13170 c9b815af5777
parent 12819 0ce340e972c4
parent 12874 f08360e7ac62
child 13173 e9da2324940d
--- a/AbstractFileBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/AbstractFileBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1821,16 +1821,19 @@
             label: 'Split...'
             itemValue: splitSelectedFiles
             translateLabel: true
+            enabled: hasFileSelection
           )
          (MenuItem
             label: 'Join...'
             itemValue: joinSelectedFiles
             translateLabel: true
+            enabled: hasFileSelection
           )
          (MenuItem
             label: 'Copy Corrupted File To...'
             itemValue: copySelectionToRepairingCorruptedFiles
             translateLabel: true
+            enabled: hasFileSelection
           )
          (MenuItem
             label: '-'
@@ -1840,11 +1843,13 @@
             itemValue: filterSelectedFiles:
             translateLabel: true
             argument: rot13
+            enabled: hasFileSelection
           )
          (MenuItem
             label: '-'
           )
          (MenuItem
+            enabled: hasFileSelection
             label: 'Truncate...'
             itemValue: truncateSelectedFilesToZeroSize
             translateLabel: true
@@ -1868,14 +1873,14 @@
             label: '-'
           )
          (MenuItem
-            enabled: hasSelection
+            enabled: hasFileSelection
             label: 'File Differences'
             itemValue: openDiffView
             translateLabel: true
             isVisible: hasTwoFilesSelectedHolder
           )
          (MenuItem
-            enabled: hasSelection
+            enabled: hasFileSelection
             label: 'File Differences...'
             itemValue: openDiffView
             translateLabel: true
@@ -2319,8 +2324,8 @@
                   itemValue: openCBrowser
                   isVisible: hasCBrowser
                 )
-               (MenuItem
-                  enabled: canOpenMontocelloBrowser
+               (MenuItem   
+                  enabled: canOpenMonticelloBrowser
                   label: 'Monticello Browser'
                   itemValue: doOpenMonticelloBrowser
                 )
@@ -2486,6 +2491,7 @@
                (MenuItem
                   label: 'Same Contents as Selected...'
                   itemValue: fileFindDuplicateFile
+                  enabled: hasFileSelection
                 )
                (MenuItem
                   label: 'Duplicate Files'
@@ -4327,7 +4333,7 @@
     self enableForward value:self canForward.
     self enableBack    value:self canBackward.
 
-    self updateCanMake.
+    "/ self updateCanMake.
 
     "Modified: / 29-12-2010 / 11:01:52 / cg"
 !
@@ -4642,7 +4648,7 @@
 !
 
 copyOrMoveDialog:aCollectionOfFiles for:aDestinationDirectory
-    |size stream msg answer file|
+    |size msg answer file|
 
     size := aCollectionOfFiles size.
 
@@ -5737,9 +5743,14 @@
 !
 
 cvsTagSelection
-    |tag stream cmd|
-
-    tag := Dialog request:(resources string:'Tag:').
+    |tag tags cmd|
+
+    tag := Dialog
+                request:(resources string:'Tag (possibly multiple, separated by ";"):')
+                initialAnswer:(CVSSourceCodeManager recentTag).
+    tag isEmptyOrNil ifTrue:[^ self ].
+
+    CVSSourceCodeManager recentTag:tag.
 
     CVSSourceCodeManager notNil ifTrue:[
         cmd := CVSSourceCodeManager cvsExecutable.
@@ -5747,16 +5758,13 @@
         cmd := 'cvs'.
     ].
 
-    stream := WriteStream on:''.
-    stream 
-        nextPutAll:cmd; 
-        nextPutAll:' tag -F ';
-        nextPutAll:'"'; 
-        nextPutAll:tag; 
-        nextPutAll:'" ';
-        nextPutAll:(self makeFileNameArgumentString).
-
-    self executeCommand:stream contents.
+    tags := tag asCollectionOfSubstringsSeparatedByAny:',;'.
+    tags do:[:eachTag |
+        self executeCommand:('%1 tag -F "%2" %3' 
+                                bindWith:cmd 
+                                with:(eachTag withoutSeparators) 
+                                with:(self makeFileNameArgumentString))
+    ].
 !
 
 cvsUpdateAll
@@ -6406,6 +6414,8 @@
 !
 
 doOpenMonticelloBrowser
+    MCMczReader isNil ifTrue:[ Smalltalk loadPackage:'stx:goodies/monticello'].
+
     self withWaitCursorDo:[
         self currentSelectedFiles do:[:fn |
             |version snapshot|
@@ -7461,7 +7471,7 @@
     "open a diff-view"
 
     |name1 name2 text1 text2 d err nm l1 files title 
-     defaultName defaultDir lastFile sameContents msg|
+     defaultName defaultDir sameContents msg|
 
     files := self currentSelectedObjects.
     files isEmpty ifTrue:[
@@ -8104,7 +8114,7 @@
 splitSelectedFiles
     |selectedFiles numFiles msg sizeString kiloBytes|
 
-    selectedFiles := self currentSelectedObjects.
+    selectedFiles := self currentSelectedFiles.
     (numFiles := selectedFiles size) == 0 ifTrue:[^ self].
 
     msg := (numFiles > 1) 
@@ -8275,7 +8285,7 @@
 
 hasJavaAndSelection
 
-    ^ [ self currentSelectedFiles size > 0
+    ^ [ self currentSelectedFiles notEmptyOrNil
         and:[JavaClassReader notNil 
         and:[JavaClassReader isLoaded]]]
 !
@@ -8288,14 +8298,13 @@
 
 hasMP3PlayerAndSelection
 
-    ^ [ self currentSelectedFiles size > 0
+    ^ [ self currentSelectedFiles notEmptyOrNil
         and:[ self hasMP3Player value]]
 !
 
 hasResourceFileSelected
-
-    ^ self currentSelectedFiles 
-        conform:[:fn | 
+    ^ (self currentSelectedFiles) 
+        contains:[:fn | 
             fn suffix asLowercase = 'rs'
         ].
 !
@@ -8785,7 +8794,7 @@
 !
 
 currentSelectedFiles
-    ^ self currentSelectedObjects select:[:file | file isDirectory not].
+    ^ self currentSelectedObjects reject:[:file | file isDirectory].
 
     "Modified: / 04-12-2006 / 13:14:39 / cg"
 !
@@ -9303,11 +9312,11 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.522 2013-06-03 10:52:06 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.528 2013-06-07 09:58:31 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.522 2013-06-03 10:52:06 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.528 2013-06-07 09:58:31 cg Exp $'
 !
 
 version_HG