[squeak-dev] The Trunk: Morphic-eem.1704.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Oct 20 00:18:47 UTC 2020


Eliot Miranda uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-eem.1704.mcz

==================== Summary ====================

Name: Morphic-eem.1704
Author: eem
Time: 19 October 2020, 5:18:43.145396 pm
UUID: 1889aef2-4bb4-45ee-a4c9-75c721103c1e
Ancestors: Morphic-mt.1703

Integrate Javier Diaz-Reinoso's kindly contributed improvement to Workspace file editing.

=============== Diff against Morphic-mt.1703 ===============

Item was changed:
  ----- Method: TextEditor>>saveContentsInFile (in category 'menu messages') -----
  saveContentsInFile
  	"Save the receiver's contents string to a file, prompting the user for a file-name.  Suggest a reasonable file-name."
  
+ 	| fileName stringToSave parentWindow labelToUse suggestedName dir |
- 	| fileName stringToSave parentWindow labelToUse suggestedName |
  	stringToSave := paragraph text string.
  	stringToSave size = 0 ifTrue: [^self inform: 'nothing to save.'].
  	parentWindow := model dependents 
  				detect: [:dep | dep isKindOf: SystemWindow]
  				ifNone: [nil].
+ 	dir := parentWindow valueOfProperty: #myDir.
+ 	labelToUse :=
+ 		parentWindow 
+ 			ifNil: ['Untitled']
+ 			ifNotNil: [
+ 				dir  ifNil: [parentWindow label] 
+ 					ifNotNil:[dir fullNameFor:  parentWindow label]].
- 	labelToUse := parentWindow ifNil: ['Untitled']
- 				ifNotNil: [parentWindow label].
  	suggestedName := nil.
  	#(#('Decompressed contents of: ' '.gz')) do: 
  			[:leaderTrailer | | lastIndex | 
  			"can add more here..."
  
  			(labelToUse beginsWith: leaderTrailer first) 
  				ifTrue: 
  					[suggestedName := labelToUse copyFrom: leaderTrailer first size + 1
  								to: labelToUse size.
  					(labelToUse endsWith: leaderTrailer last) 
  						ifTrue: 
  							[suggestedName := suggestedName copyFrom: 1
  										to: suggestedName size - leaderTrailer last size]
  						ifFalse: 
+ 							[lastIndex := suggestedName lastIndexOf: $. ifAbsent: [0].
+ 							(lastIndex = 0 or: [lastIndex = 1]) 
+ 								ifFalse: [suggestedName := suggestedName copyFrom: 1 to: lastIndex - 1]]]].
+ 	suggestedName ifNil: [suggestedName := labelToUse.
+ 		(labelToUse includesSubstring: '.') ifFalse: [suggestedName := suggestedName , '.text']].
+ 	fileName := UIManager default request: 'File name?'
- 							[lastIndex := suggestedName lastIndexOf: $..
- 							lastIndex > 1
- 								ifTrue: [suggestedName := suggestedName copyFrom: 1 to: lastIndex - 1]]]].
- 	suggestedName ifNil: [suggestedName := labelToUse , '.text'].
- 	fileName := UIManager default saveFilenameRequest: 'File name?'
  				initialAnswer: suggestedName.
  	fileName isEmptyOrNil 
  		ifFalse: 
+ 			[ 	|ns|
+ 				ns := MultiByteFileStream newFileNamed: fileName.
+ 				ns lineEndConvention: (parentWindow valueOfProperty: #lineConversion).
+ 				ns nextPutAll: stringToSave;
+ 				close.
+ 				suggestedName ~= fileName ifTrue:[parentWindow label: fileName].
+ 			  	self morph hasUnacceptedEdits: false.
+ 			]!
- 			[(FileStream newFileNamed: fileName)
- 				nextPutAll: stringToSave;
- 				close]!



More information about the Squeak-dev mailing list