[squeak-dev] The Trunk: Monticello-ct.764.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jan 3 20:40:54 UTC 2022
Christoph Thiede uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ct.764.mcz
==================== Summary ====================
Name: Monticello-ct.764
Author: ct
Time: 3 January 2022, 9:40:50.200397 pm
UUID: 861868bb-b96a-3144-959b-a00a7e62abb0
Ancestors: Monticello-eem.763, Monticello-ct.729
Improves multilingual support.
=============== Diff against Monticello-eem.763 ===============
Item was changed:
----- Method: MCVersionHistoryBrowser>>defaultLabel (in category 'morphic ui') -----
defaultLabel
+ ^ '{1} History' translated format: {ancestry name}!
- ^ ancestry name, ' History'!
Item was changed:
----- Method: MCVersionHistoryBrowser>>searchHistory (in category 'morphic ui') -----
searchHistory
+ (Project uiManager
- (UIManager default
edit: (String streamContents:
[:s|
self selectedInfo topologicalAncestors
do: [:versionInfo | s nextPutAll: versionInfo summary]
separatedBy: [s cr; cr]])
+ label: ('Version History: {1}' translated format: {self selectedInfo versionName}))
+ extent: (0.5 at 0.9) * Display height!
- label: 'Version History: ', self selectedInfo versionName)
- extent: (0.5 at 0.9) * Display height!
Item was changed:
----- Method: MCVersionHistoryBrowser>>viewChanges:snapshot:relativeTo:snapshot: (in category 'morphic ui') -----
viewChanges: ancestorInfo snapshot: ancestorSnapshot relativeTo: baseInfo snapshot: baseSnapshot
"Note that the patchLabel will be parsed in MCPatchBrowser>>installSelection, so don't translate it!!"
| patch patchLabel |
+ patchLabel := 'changes between {1} and {2}' translated format: { baseInfo name. ancestorInfo name }.
- patchLabel := 'changes between {1} and {2}' format: { baseInfo name. ancestorInfo name }.
patch := ancestorSnapshot patchRelativeToBase: baseSnapshot.
(MCPatchBrowser forPatch: patch) label: patchLabel; show!
Item was changed:
----- Method: MCWorkingCopyBrowser>>addWorkingCopy (in category 'actions') -----
addWorkingCopy
|name|
+ name := Project uiManager request: 'Name of package:' translated.
- name := UIManager default request: 'Name of package:'.
name isEmptyOrNil ifFalse:
[PackageInfo registerPackageName: name.
workingCopy := MCWorkingCopy forPackage: (MCPackage new name: name).
workingCopyWrapper := nil.
self repositorySelection: 0].
self workingCopyListChanged; changed: #workingCopySelection; changed: #repositoryList.
self changedButtons.!
Item was changed:
----- Method: MCWorkingCopyBrowser>>backportChanges (in category 'actions') -----
backportChanges
self canBackport ifFalse: [^self].
workingCopy ifNotNil:
+ [workingCopy needsSaving ifTrue: [^ self inform: 'You must save the working copy before backporting.' translated].
- [workingCopy needsSaving ifTrue: [^ self inform: 'You must save the working copy before backporting.'].
self pickAncestorVersionInfo ifNotNil:
[:baseVersionInfo |
workingCopy backportChangesTo: baseVersionInfo]]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>checkForNewerVersions (in category 'actions') -----
checkForNewerVersions
+ "Answer true if there are no newer versions preventing us from saving a version."
+
| newer |
newer := workingCopy possiblyNewerVersionsIn: self repository.
+
+ newer ifEmpty: [^ true].
+
+ ^ self confirm: ('CAUTION!! {1}:\\ {2}\\Do you really want to save this version?' withCRs translated format: {
+ newer size = 1
+ ifTrue: ['This version in the repository may be newer' translated]
+ ifFalse: ['These {1} versions in the repository may be newer' translated format: {newer size}].
+ newer asCommaString withNoLineLongerThan: 150})!
- ^ newer isEmpty or: [
- self confirm: 'CAUTION!! These versions in the repository may be newer:',
- String cr, ((newer asCommaString withNoLineLongerThan: 150) truncateWithElipsisTo: 5 * 149), String cr,
- 'Do you really want to save this version?'].!
Item was changed:
----- Method: MCWorkingCopyBrowser>>defaultLabel (in category 'morphic ui') -----
defaultLabel
+ ^ 'Monticello Browser' translated!
- ^ 'Monticello Browser'!
Item was changed:
----- Method: MCWorkingCopyBrowser>>editRepository (in category 'actions') -----
editRepository
| newRepo |
newRepo := self repository openAndEditTemplateCopy.
newRepo ifNotNil: [
newRepo class = self repository class
ifTrue: [
self repository copyFrom: newRepo.
self changed: #repositoryList ]
+ ifFalse: [self inform: 'Must not change repository type!!' translated]]!
- ifFalse: [self inform: 'Must not change repository type!!']]
- !
Item was changed:
----- Method: MCWorkingCopyBrowser>>editScript: (in category 'morphic ui') -----
editScript: scriptSymbol
+ | script |
+ script := workingCopy packageInfo perform: scriptSymbol.
+ script openLabel: ('{1} of the Package {2}' translated format: {scriptSymbol. workingCopy package name}).!
- | script |
- script := workingCopy packageInfo perform: scriptSymbol.
- script openLabel: scriptSymbol asString, ' of the Package ', workingCopy package name.!
Item was changed:
----- Method: MCWorkingCopyBrowser>>flushCachedVersions (in category 'actions') -----
flushCachedVersions
| beforeBytes afterBytes beforeVersions afterVersions |
Cursor wait showWhile: [
Smalltalk garbageCollect.
beforeBytes := Smalltalk bytesLeft: true.
beforeVersions := MCVersion allSubInstances size.
MCFileBasedRepository flushAllCaches.
afterBytes := Smalltalk bytesLeft: true.
afterVersions := MCVersion allSubInstances size.
].
+ ^self inform: ('{1} versions flushed\{2} bytes reclaimed' translated format: {beforeVersions - afterVersions. beforeBytes - afterBytes})!
- ^self inform: (beforeVersions - afterVersions) asString, ' versions flushed', String cr,
- (beforeBytes - afterBytes) asBytesDescription, ' bytes reclaimed'!
Item was changed:
----- Method: MCWorkingCopyBrowser>>flushCachedVersionsAncestry (in category 'actions') -----
flushCachedVersionsAncestry
| beforeBytes afterBytes beforeVersions afterVersions beforeInfos afterInfos |
Cursor wait showWhile:
[ beforeBytes := Smalltalk garbageCollect.
beforeVersions := MCVersion allSubInstances size.
beforeInfos := MCVersionInfo instanceCount.
MCFileBasedRepository flushAllCaches.
MCWorkingCopy stubAllAncestry.
afterBytes := Smalltalk garbageCollect.
afterVersions := MCVersion allSubInstances size.
afterInfos := MCVersionInfo instanceCount ].
self inform:
+ ('{1} versions flushed\{2\ infos flushed\{3} reclaimed' translated
+ format: {beforeVersions - afterVersions. beforeInfos - afterInfos. (afterBytes - beforeBytes) asBytesDescription}).!
- (beforeVersions-afterVersions) asString, ' versions flushed',
- String cr, (beforeInfos-afterInfos), ' infos flushed',
- String cr, (afterBytes-beforeBytes) asBytesDescription, ' reclaimed'!
Item was changed:
----- Method: MCWorkingCopyBrowser>>newRepository (in category 'actions') -----
newRepository
| types index |
types := MCRepository allConcreteSubclasses asArray.
+ index := Project uiManager chooseFrom: (types collect: [:ea | ea description])
+ title: 'Repository type:' translated.
- index := UIManager default chooseFrom: (types collect: [:ea | ea description])
- title: 'Repository type:'.
^ index = 0 ifFalse: [(types at: index) morphicConfigure]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>pickAncestorVersionInfo (in category 'morphic ui') -----
pickAncestorVersionInfo
| ancestors index |
ancestors := workingCopy ancestry breadthFirstAncestors.
+ index := Project uiManager chooseFrom: (ancestors collect: [:ea | ea name])
+ title: 'Ancestor:' translated.
- index := UIManager default chooseFrom: (ancestors collect: [:ea | ea name])
- title: 'Ancestor:'.
^ index = 0 ifFalse: [ ancestors at: index]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>pickRepositorySatisfying: (in category 'morphic ui') -----
pickRepositorySatisfying: aBlock
| repos index |
repos := MCRepositoryGroup default repositories select: aBlock.
+ index := Project uiManager chooseFrom: (repos collect: [:ea | ea description])
+ title: 'Repository:' translated.
- index := UIManager default chooseFrom: (repos collect: [:ea | ea description])
- title: 'Repository:'.
^ index = 0 ifFalse: [repos at: index]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>pickWorkingCopySatisfying: (in category 'morphic ui') -----
pickWorkingCopySatisfying: aBlock
| copies index |
copies := self workingCopies select: aBlock.
copies isEmpty ifTrue: [ ^nil ].
+ index := Project uiManager chooseFrom: (copies collect: [:ea | ea packageName])
+ title: 'Package:' translated.
- index := UIManager default chooseFrom: (copies collect: [:ea | ea packageName])
- title: 'Package:'.
^ index = 0 ifFalse: [ copies at: index]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>recompilePackage (in category 'actions') -----
recompilePackage
(workingCopy withEnvironmentActiveDo: [workingCopy package packageInfo methods])
do: [:ea | ea actualClass recompile: ea methodSymbol]
+ displayingProgress: 'Recompiling...' translated.!
- displayingProgress: 'Recompiling...'!
Item was changed:
----- Method: MCWorkingCopyBrowser>>renamePackage (in category 'actions') -----
renamePackage
| newName |
workingCopy ifNil:
+ [ self inform: 'Please select a package to be renamed.' translated.
- [ UIManager inform: 'Please select a package to be renamed.'.
^ self ].
workingCopy modified ifTrue:
+ [ self inform: 'Only unmodified packages should be renamed.' translated.
- [ UIManager inform: 'Only unmodified packages should be renamed.'.
^ self ].
+ newName := Project uiManager
+ request: 'New name of package:' translated
- newName := UIManager default
- request: 'New name of package:'
initialAnswer: workingCopy packageName.
newName isEmptyOrNil ifFalse:
[ | newWorkingCopy |
newWorkingCopy := workingCopy renameToBe: newName.
workingCopy package snapshot definitions
ifEmpty:
[ "It worked."
workingCopy unregister.
workingCopy := newWorkingCopy.
self repositorySelection: 0.
self
workingCopyListChanged ;
changed: #workingCopySelection ;
changed: #repositoryList.
self changedButtons ]
ifNotEmpty:
[ "It didn't work, browse the remaining definitions."
self browseWorkingCopy ] ]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>revertPackage (in category 'actions') -----
revertPackage
self pickAncestorVersionInfo ifNotNil: [:info |
(self repositoryGroup versionWithInfo: info
+ ifNone: [^self inform: ('No repository found for {1}' translated format: {info name})]
- ifNone: [^self inform: 'No repository found for ', info name]
) load]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>searchHistory (in category 'actions') -----
searchHistory
workingCopy ifNotNil:
[(UIManager default
edit: (String streamContents:
[:s|
"Ignore the initial MCWorkingAncestry instance."
workingCopy ancestry topologicalAncestors allButFirst
do: [:versionInfo|
s nextPutAll: versionInfo summary]
separatedBy: [s cr; cr"; next: 32 put: $-; cr; cr"]])
+ label: ('Version History: {1}' translated format: {workingCopy packageName}))
- label: 'Version History: ', workingCopy packageName)
extent: (0.6 at 1) * Display height * 0.9]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>viewChanges (in category 'actions') -----
viewChanges
| patch |
self canSave ifTrue:
[patch := workingCopy changesRelativeToRepository: self repository withCache.
patch isNil ifTrue: [ ^self ].
patch isEmpty
ifTrue: [ workingCopy modified: false.
self inform: ('No changes between your working copy of the package\\ {1}\\ and the repository at location\\ {2}' withCRs translated asText format: { workingCopy packageName asText allBold. self repository description asText allBold })]
ifFalse:
[ workingCopy modified: true.
(MCPatchBrowser forPatch: patch)
+ label: ('Patch Browser: {1}' translated format: {workingCopy description});
- label: 'Patch Browser: ', workingCopy description;
environmentInDisplayingImage: workingCopy environment;
show ] ]!
Item was changed:
----- Method: MCWorkingCopyBrowser>>viewHistory (in category 'actions') -----
viewHistory
workingCopy ifNotNil:
[(MCWorkingHistoryBrowser new
ancestry: workingCopy ancestry;
package: workingCopy package)
+ label: ('Version History: {1}' translated format: {workingCopy packageName});
- label: 'Version History: ', workingCopy packageName;
show]!
More information about the Squeak-dev
mailing list
|