'From etoys2.3 of 28 November 2007 [latest update: #1842] on 14 December 2007 at 4:59:44 pm'! "Change Set: UseOriginalName-yo Date: 14 December 2007 Author: Yoshiki Ohshima Use the base name of the stream for importing graphics as the object name."! !ExternalDropHandler class methodsFor: 'private' stamp: 'yo 12/14/2007 16:50'! defaultImageHandler | image sketch | ^ExternalDropHandler type: 'image/' extension: nil action: [:stream :pasteUp :event | stream binary. image _ Form fromBinaryStream: ((RWBinaryOrTextStream with: stream contents) reset). Project current resourceManager addResource: image url: (FileDirectory urlForFileNamed: stream name) asString. sketch _ World drawingClass withForm: image. sketch setNamePropertyTo: (FileDirectory baseNameFor: (FileDirectory localNameFor: stream fullName)). sketch setProperty: #originalEncoding toValue: (FileDirectory extensionFor: stream fullName). pasteUp addMorph: sketch centeredNear: event position. image _ sketch _ nil] fixTemps! ! !Form class methodsFor: 'file list services' stamp: 'yo 12/14/2007 16:55'! openImageInWindow: fullName "Handle five file formats: GIF, JPG, PNG, Form storeOn: (run coded), and BMP. Fail if file format is not recognized. Does nothing if called with nil filename." | image myStream sketch | fullName ifNil: [^ self]. myStream _ (FileStream readOnlyFileNamed: fullName) binary. image _ self fromBinaryStream: myStream. myStream close. Smalltalk isMorphic ifTrue:[ Project current resourceManager addResource: image url: (FileDirectory urlForFileNamed: fullName) asString. ]. Smalltalk isMorphic ifTrue: [ sketch _ (World drawingClass withForm: image) openInWorld. sketch setNamePropertyTo: (FileDirectory baseNameFor: (FileDirectory localNameFor: myStream fullName)). sketch setProperty: #originalEncoding toValue: (FileDirectory extensionFor: myStream fullName)] ifFalse: [FormView open: image named: fullName]! ! "Postscript: " ExternalDropHandler initialize!