[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