[squeak-dev] The Trunk: Files-mt.147.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Oct 22 08:51:18 UTC 2015


Marcel Taeumel uploaded a new version of Files to project The Trunk:
http://source.squeak.org/trunk/Files-mt.147.mcz

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

Name: Files-mt.147
Author: mt
Time: 22 October 2015, 10:51:13.247 am
UUID: 088e1934-a399-40ed-923c-a0cdca15894b
Ancestors: Files-topa.146

Adds support for dropping directories into the image.

=============== Diff against Files-topa.146 ===============

Item was added:
+ ----- Method: FileDirectory class>>fileReaderServicesForFile:suffix: (in category 'file reader services') -----
+ fileReaderServicesForFile: fullName suffix: suffix
+ 
+ 	^ (self on: fullName) exists
+ 		ifTrue: [self services]
+ 		ifFalse: [#()].!

Item was added:
+ ----- Method: FileDirectory class>>initialize (in category 'class initialization') -----
+ initialize
+ 
+ 	FileServices registerFileReader: self.!

Item was added:
+ ----- Method: FileDirectory class>>requestDropDirectory: (in category 'dnd requests') -----
+ requestDropDirectory: dropIndex
+ 
+ 	^ self on: (FileStream primDropRequestFileName: dropIndex)!

Item was added:
+ ----- Method: FileDirectory class>>services (in category 'file reader services') -----
+ services
+ 
+ 	^ (self class selectors copyWithout: #services)
+ 		select: [:symbol | symbol beginsWith: #service]
+ 		thenCollect: [:selector | self perform: selector]!

Item was added:
+ ----- Method: FileDirectory>>mimeTypes (in category 'path access') -----
+ mimeTypes
+ 
+ 	^ #('text/directory')!

Item was added:
+ ----- Method: FileDirectory>>name (in category 'path access') -----
+ name
+ 	"Compatibility with StandardFileStream >> #name to be used, for example, for drop event handling."
+ 	
+ 	^ self fullName!

Item was changed:
  ----- Method: FileStream class>>fileReaderServicesForFile:suffix: (in category 'file reader services') -----
  fileReaderServicesForFile: fullName suffix: suffix
  	"Answer services for the given file"
  
+ 	"Check whether the given path points to a directory or file."
+ 	(FileStream isAFileNamed: fullName) ifFalse: [^ #()].
+ 		
  	^ self servicesWithSuffixes
  		select: [:spec | spec key anySatisfy: [:pattern | suffix = '*' or: [pattern match: suffix]]]
  		thenCollect: [:spec | spec value]!

Item was added:
+ ----- Method: FileStream class>>primDropRequestFileName: (in category 'dnd requests') -----
+ primDropRequestFileName: dropIndex
+ 	"Primitive. Return the file name for some file that was just dropped onto Squeak.
+ 	Fail if dropIndex is out of range or the primitive is not supported."
+ 	<primitive: 'primitiveDropRequestFileName' module:'DropPlugin'>
+ 	^nil!

Item was removed:
- ----- Method: StandardFileStream>>primDropRequestFileName: (in category 'dnd requests') -----
- primDropRequestFileName: dropIndex
- 	"Primitive. Return the file name for some file that was just dropped onto Squeak.
- 	Fail if dropIndex is out of range or the primitive is not supported."
- 	<primitive: 'primitiveDropRequestFileName' module:'DropPlugin'>
- 	^nil!

Item was changed:
  ----- Method: StandardFileStream>>requestDropStream: (in category 'dnd requests') -----
  requestDropStream: dropIndex
  	"Return a read-only stream for some file the user has just dropped onto Squeak."
  	| rawName |
+ 	rawName := self class primDropRequestFileName: dropIndex.
- 	rawName := self primDropRequestFileName: dropIndex.
  	name :=  (FilePath pathName: rawName isEncoded: true) asSqueakPathName.
  	fileID := self primDropRequestFileHandle: dropIndex.
  	fileID == nil ifTrue:[^nil].
  	self register.
  	rwmode := false.
  	buffer1 := String new: 1.
  	self enableReadBuffering
  !



More information about the Squeak-dev mailing list