# HG changeset patch # User Claus Gittinger # Date 1580402516 -3600 # Node ID f18d0b3cc419fe5cc99a090bd0bd65bcaf1b010f # Parent 94971720b6bf8c664dbf81f70487f392311d4c1e #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 diff -r 94971720b6bf -r f18d0b3cc419 FileVersionDiffBrowser.st --- 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.