#REFACTORING by exept
class: FileVersionDiffBrowser
added: #informationHolder
removed:
#infoHolder
#informationUntranslated:
changed:
#showActivity:
#updateVersionList
class: FileVersionDiffBrowser class
added: #openOnAllFilesMatching:changedSince:in:
changed:
#openOnAllFilesChangedSince:in:
#openOnAllVersionsOfFile:
#windowSpec
#windowSpecForMultipleFiles
#windowSpecForMultipleVersions
--- a/FileVersionDiffBrowser.st Wed Jan 22 16:44:15 2020 +0100
+++ b/FileVersionDiffBrowser.st Thu Jan 30 17:41:56 2020 +0100
@@ -160,7 +160,7 @@
uuid: '90e47868-7175-11e9-a23a-b8f6b1108e05'
level: -1
translateLabel: true
- labelChannel: infoHolder
+ labelChannel: informationHolder
adjust: left
)
)
@@ -313,7 +313,7 @@
uuid: '2b3f4a44-d4fd-11e7-af82-c42c033b4871'
level: -1
translateLabel: true
- labelChannel: infoHolder
+ labelChannel: informationHolder
adjust: left
)
)
@@ -445,7 +445,7 @@
uuid: '2b3f4a44-d4fd-11e7-af82-c42c033b4871'
level: -1
translateLabel: true
- labelChannel: infoHolder
+ labelChannel: informationHolder
adjust: left
)
)
@@ -603,29 +603,10 @@
and the diff list is generated from the file's current version against
the selected version in the top selection list"
- |setOfFiles theBrowser filesChangedSince sinceTimestamp|
-
- sinceTimestamp := aDateOrTimestamp asTimestamp.
-
- setOfFiles := aSetOfFilesOrADirectoryFilename.
- setOfFiles isFilename ifTrue:[
- setOfFiles := setOfFiles directoryContentsAsFilenames.
- ].
-
- filesChangedSince := setOfFiles
- select:[:fn | fn modificationTime > sinceTimestamp].
- filesChangedSince sort:[:a :b | a name < b name].
-
- theBrowser := self new.
- theBrowser allButOpenInterface:#windowSpecForMultipleFiles.
- theBrowser beMultipleFilesVersionBrowser.
- theBrowser fileList:filesChangedSince.
-
- "/ theBrowser classHolder:(ValueHolder with:aClass).
- "/ theBrowser setupForClass:aClass againstVersion:nil.
- theBrowser window label:(self resources string:'Versions of %1 files' with:setOfFiles size).
- theBrowser openWindow.
- ^ theBrowser.
+ self
+ openOnAllFilesMatching:nil
+ changedSince:aDateOrTimestamp
+ in:aSetOfFilesOrADirectoryFilename
"
FileVersionDiffBrowser
@@ -637,19 +618,65 @@
"Modified: / 08-07-2019 / 01:36:01 / Claus Gittinger"
!
-openOnAllVersionsOfFile:aFilename
+openOnAllFilesMatching:matchPatternOrNil changedSince:aDateOrTimestamp in:aSetOfFilesOrADirectoryFilename
+ "create a FileVersionDiffBrowser instance and set the list of files.
+ When a file is selected, the version list is extracted,
+ and the diff list is generated from the file's current version against
+ the selected version in the top selection list"
+
+ |setOfFiles theBrowser filesMatching filesChangedSince sinceTimestamp|
+
+ sinceTimestamp := aDateOrTimestamp asTimestamp.
+
+ setOfFiles := aSetOfFilesOrADirectoryFilename.
+ setOfFiles isFilename ifTrue:[
+ setOfFiles := setOfFiles directoryContentsAsFilenames.
+ ].
+ (matchPatternOrNil isEmptyOrNil or:[matchPatternOrNil = '*']) ifTrue:[
+ filesMatching := setOfFiles
+ ] ifFalse:[
+ filesMatching := setOfFiles select:[:fn | fn baseName matches:matchPatternOrNil].
+ ].
+ filesChangedSince := filesMatching select:[:fn | fn modificationTime > sinceTimestamp].
+ filesChangedSince sort:[:a :b | a name < b name].
+
+ theBrowser := self new.
+ theBrowser allButOpenInterface:#windowSpecForMultipleFiles.
+ theBrowser beMultipleFilesVersionBrowser.
+ theBrowser fileList:filesChangedSince.
+
+ "/ theBrowser classHolder:(ValueHolder with:aClass).
+ "/ theBrowser setupForClass:aClass againstVersion:nil.
+ theBrowser window label:(self resources string:'Versions of %1 files' with:filesChangedSince size).
+ theBrowser openWindow.
+ ^ theBrowser.
+
+ "
+ FileVersionDiffBrowser
+ openOnAllFilesMatching:'*.st'
+ changedSince:(Date today - 7 days)
+ in:('../../libbasic' asFilename files).
+ "
+
+ "Created: / 07-07-2019 / 18:58:01 / Claus Gittinger"
+ "Modified: / 08-07-2019 / 01:36:01 / Claus Gittinger"
+!
+
+openOnAllVersionsOfFile:aFilenameOrString
"create a VersionDiffBrowser instance and set the file.
The diff is generated from aFilename's current version against
the selected version in the top selection list"
- |theBrowser|
+ |theBrowser fileName|
+
+ fileName := aFilenameOrString asFilename.
theBrowser := self new.
theBrowser allButOpenInterface:#windowSpecForMultipleVersions.
theBrowser beMultipleVersionBrowser.
- theBrowser fileHolder value:aFilename.
- theBrowser setupForAllVersionsOfFile:aFilename.
- theBrowser window label:(self resources string:'Versions of %1' with:aFilename baseName).
+ theBrowser fileHolder value:fileName.
+ theBrowser setupForAllVersionsOfFile:fileName.
+ theBrowser window label:(self resources string:'Versions of %1' with:fileName baseName).
theBrowser openWindow.
^ theBrowser.
@@ -913,7 +940,7 @@
"Created: / 07-07-2019 / 19:47:13 / Claus Gittinger"
!
-infoHolder
+informationHolder
^ infoHolder.
"Modified: / 08-05-2019 / 11:05:10 / Claus Gittinger"
@@ -1124,7 +1151,7 @@
showActivity:someMessage
"some activityNotification shalt be communicated to the user."
- infoHolder value:someMessage.
+ self information:someMessage.
"Created: / 28-05-2019 / 15:26:34 / Claus Gittinger"
!
@@ -1270,7 +1297,7 @@
numShown := versionList size - 1.
newNumShown := (numShown + 50) max:30.
- infoHolder value:'Getting version log...'.
+ self information:'Getting version log...'.
partialLog := sourceCodeManager revisionLogOfFile:fn numberOfRevisions:newNumShown.
partialLog isNil ifTrue:[
@@ -1549,12 +1576,6 @@
"Modified: / 08-07-2019 / 01:24:35 / Claus Gittinger"
!
-informationUntranslated:msg
- self infoHolder value:msg
-
- "Created: / 09-08-2018 / 15:40:52 / Claus Gittinger"
-!
-
resetSelectionHolders
"
reset all selection holders when a new change set is given.