[squeak-dev] The Trunk: Tools-pre.882.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Sep 3 14:53:38 UTC 2019


Patrick Rein uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-pre.882.mcz

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

Name: Tools-pre.882
Author: pre
Time: 3 September 2019, 4:53:34.544361 pm
UUID: f593a50e-ceef-8045-b6b7-f36d63cb01dd
Ancestors: Tools-mt.881

Deprecates file reader registration methods on FileList

=============== Diff against Tools-mt.881 ===============

Item was removed:
- ----- Method: FileList class>>allRegisteredServices (in category 'file reader registration') -----
- allRegisteredServices
- 	"self allRegisteredServices"
- 
- 	| col |
- 	col := OrderedCollection new.
- 	self registeredFileReaderClasses do: [:each | col addAll: (each services)].
- 	^ col!

Item was removed:
- ----- Method: FileList class>>detectService:ifNone: (in category 'file reader registration') -----
- detectService: aBlock ifNone: anotherBlock
- 	"self detectService: [:each | each selector = #fileIn:] ifNone: [nil]"
- 
- 	^ self allRegisteredServices
- 			detect: aBlock
- 			ifNone: anotherBlock!

Item was removed:
- ----- Method: FileList class>>isReaderNamedRegistered: (in category 'file reader registration') -----
- isReaderNamedRegistered: aSymbol
- 	"return if a given reader class has been registered. Note that this is on purpose that the argument is
- 	a symbol and not a class"
- 
- 	 ^ (self registeredFileReaderClasses collect: [:each | each name]) includes: aSymbol
- !

Item was removed:
- ----- Method: FileList class>>itemsForDirectory: (in category 'file reader registration') -----
- itemsForDirectory: aFileDirectory
- 	"Answer a list of services appropriate when no file is selected."
- 
- 	| services |
- 	services := OrderedCollection new.
- 	self registeredFileReaderClasses do: [:reader |
- 		reader ifNotNil: [services addAll: (reader fileReaderServicesForDirectory: aFileDirectory) ]].
- 	^ services!

Item was removed:
- ----- Method: FileList class>>itemsForFile: (in category 'file reader registration') -----
- itemsForFile: fullName
- 	"Answer a list of services appropriate for a file of the given full name"
- 
- 	| services suffix |
- 	suffix := self suffixOf: fullName.
- 	services := OrderedCollection new.
- 	self registeredFileReaderClasses do: [:reader |
- 		reader ifNotNil: [services addAll: (reader fileReaderServicesForFile: fullName suffix: suffix)]].
- 	^ services!

Item was removed:
- ----- Method: FileList class>>registerFileReader: (in category 'file reader registration') -----
- registerFileReader: aProviderClass
- 	"register the given class as providing services for reading files"
- 
- 	| registeredReaders |
- 	registeredReaders := self registeredFileReaderClasses.
- 	(registeredReaders includes: aProviderClass) 
- 			ifFalse: [ registeredReaders addLast: aProviderClass ]!

Item was removed:
- ----- Method: FileList class>>registeredFileReaderClasses (in category 'file reader registration') -----
- registeredFileReaderClasses
- 	FileReaderRegistry := nil. "wipe it out"
- 	^FileServices registeredFileReaderClasses
- 	!

Item was removed:
- ----- Method: FileList class>>suffixOf: (in category 'file reader registration') -----
- suffixOf: aName
- 	"Answer the file extension of the given file"
- 	^ aName
- 		ifNil:
- 			['']
- 		ifNotNil:
- 			[(FileDirectory extensionFor: aName) asLowercase]!

Item was removed:
- ----- Method: FileList class>>unregisterFileReader: (in category 'file reader registration') -----
- unregisterFileReader: aProviderClass
- 	"unregister the given class as providing services for reading files"
- 
- 	self registeredFileReaderClasses remove: aProviderClass ifAbsent: [nil]!

Item was changed:
  ----- Method: FileList2 class>>endingSpecs (in category 'blue ui') -----
  endingSpecs
  	"Answer a collection of specs to build the selective 'find anything' tool called by the Navigator. This version uses the services registry to do so."
  	"FileList2 morphicViewGeneralLoaderInWorld: World"
  	| categories specs rejects |
  	rejects := #(addFileToNewZip: compressFile: openInZipViewer: extractAllFrom: openOn:).
  	categories := #(
  		('Art' ('bmp' 'gif' 'jpg' 'jpeg' 'form' 'png' 'pcx' 'xbm' 'xpm' 'ppm' 'pbm'))
  		('Morphs' ('morph' 'morphs' 'sp'))
  		('Projects' ('extseg' 'project' 'pr'))
  		('MIDI' ('mid' 'midi'))
  		('Music' ('mp3'))
  		('Movies' ('movie' 'mpg' 'mpeg' 'qt' 'mov'))
  		('Flash' ('swf'))
  	).
  
  		"('Books' ('bo'))"
  		"('Code' ('st' 'cs'))"
  		"('TrueType' ('ttf'))"
  		"('3ds' ('3ds'))"
  		"('Tape' ('tape'))"
  		"('Wonderland' ('wrl'))"
  		"('HTML' ('htm' 'html'))"
  
  	categories first at: 2 put: ImageReadWriter allTypicalFileExtensions.
  	specs := OrderedCollection new.
  	categories do: [ :cat | | catSpecs catServices okExtensions services |
  		services := Dictionary new.
  		catSpecs := Array new: 3.
  		catServices := OrderedCollection new.
  		okExtensions := Set new.
  
+ 		cat second do: [ :ext | (FileServices itemsForFile: (FileDirectory default fullPathFor: ('fred.',ext))) do: [ :i |
- 		cat second do: [ :ext | (FileList itemsForFile: (FileDirectory default fullPathFor: ('fred.',ext))) do: [ :i |
  			(rejects includes: i selector) ifFalse: [
  				okExtensions add: ext.
  				services at: i label put: i ]]].
  		services do: [ :svc | catServices add: svc ].
  		services isEmpty ifFalse: [ 
  			catSpecs at: 1 put: cat first;
  				at: 2 put: okExtensions;
  				at: 3 put: catServices.
  			specs add: catSpecs ]
  	].
  	^specs
  !



More information about the Squeak-dev mailing list