#FEATURE by cg
class: AbstractFileBrowser
added:
#aspectFor:ifAbsentPut:
#hasFileOrCypressPackageSelection
changed:
#changeSetBrowserItemVisible
#currentFileNameHolderChangedForCommon
#forEachSelectedFileIgnoringDirectories:do:
#openChangeSetBrowser
class: AbstractFileBrowser class
changed: #toolsMenuSpec
--- a/AbstractFileBrowser.st Sun Jun 23 13:42:48 2019 +0200
+++ b/AbstractFileBrowser.st Sun Jun 23 13:43:05 2019 +0200
@@ -2450,7 +2450,7 @@
labelImage: (ResourceRetriever ToolbarIconLibrary changesBrowser16x16Icon 'Changes Browser')
)
(MenuItem
- enabled: hasFileSelection
+ enabled: hasFileOrCypressPackageSelection
label: 'ChangeSet Browser'
itemValue: openChangeSetBrowser
isVisible: changeSetBrowserItemVisible
@@ -2760,6 +2760,8 @@
nil
nil
)
+
+ "Modified: / 23-06-2019 / 13:04:17 / Claus Gittinger"
!
viewDetailsMenuSpec
@@ -4163,6 +4165,12 @@
"Created: / 01-10-2010 / 16:26:27 / cg"
!
+hasFileOrCypressPackageSelection
+ ^ self aspectFor:#hasFileOrCypressPackageSelection ifAbsentPut:[ false asValue ].
+
+ "Created: / 23-06-2019 / 13:05:51 / Claus Gittinger"
+!
+
hasFileSelection
^ self aspectFor:#hasFileSelection ifAbsent:[ false asValue ].
!
@@ -4373,6 +4381,14 @@
^ holder
!
+aspectFor:something ifAbsentPut:aBlock
+ "returns the model for an aspect; these are stored in a common dictionary"
+
+ ^ self aspectFor:something ifAbsent:[|v| v := aBlock value. self aspectFor:something put:v. v]
+
+ "Created: / 23-06-2019 / 13:05:37 / Claus Gittinger"
+!
+
aspectFor:something put:aValueHolder
"stores the model for an aspect; these are stored in a common dictionary"
@@ -4608,7 +4624,10 @@
!
changeSetBrowserItemVisible
- ^ Screen current ctrlDown.
+ ^ self hasFileOrCypressPackageSelection value
+ or:[Screen current ctrlDown].
+
+ "Modified: / 23-06-2019 / 13:13:53 / Claus Gittinger"
!
cvsMenusAreShown
@@ -4929,6 +4948,7 @@
selectionNotEmpty := selection notEmptyOrNil.
self hasSelection value:selectionNotEmpty.
self hasFileSelection value:(selectionNotEmpty and:[self firstSelectedFile notNil]).
+ self hasFileOrCypressPackageSelection value:(selection contains:[:sel | sel isDirectory and:[sel hasSuffix:'package']]).
self canOpenChangeBrowser value:(selectionNotEmpty).
newDirectories := self directoriesForFiles:selection.
@@ -4978,7 +4998,7 @@
"Modified: / 29-12-2010 / 11:01:52 / cg"
"Modified: / 17-12-2013 / 08:23:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 17-09-2018 / 16:25:36 / Claus Gittinger"
+ "Modified: / 23-06-2019 / 13:07:24 / Claus Gittinger"
!
filterModelChanged
@@ -8092,7 +8112,9 @@
forEachSelectedFileIgnoringDirectories:ignoreDirs do:aBlock
|numItems path files|
- files := self currentSelectedFiles.
+ files := ignoreDirs
+ ifTrue:[self currentSelectedFiles]
+ ifFalse:[self currentSelectedObjects].
(numItems := files size) > 2 ifTrue:[
(self
@@ -8114,6 +8136,7 @@
].
"Modified: / 19-01-2017 / 16:57:03 / stefan"
+ "Modified: / 23-06-2019 / 13:19:05 / Claus Gittinger"
!
generateDetachedSignaturesForSelectedFiles
@@ -8394,9 +8417,10 @@
self
openTool:(UserPreferences current changeSetBrowserClass)
with:#openOnFile:
- ignoreDirectories:true
+ ignoreDirectories:false
"Modified (comment): / 27-07-2012 / 20:42:55 / cg"
+ "Modified: / 23-06-2019 / 13:17:07 / Claus Gittinger"
!
openChangesBrowser