[squeak-dev] The Trunk: System-ct.1356.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Jun 10 11:16:29 UTC 2022
Christoph Thiede uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ct.1356.mcz
==================== Summary ====================
Name: System-ct.1356
Author: ct
Time: 10 June 2022, 1:16:07.521533 pm
UUID: 7386bae4-4406-024a-9ae9-8dc6f4c78b87
Ancestors: System-mt.1355, System-ct.1156
Merges System-ct.1156:
Fixes double prompt for handling a dropped file when the first dialog was cancelled.
=============== Diff against System-mt.1355 ===============
Item was changed:
----- Method: ExternalDropHandler class>>defaultHandler (in category 'accessing') -----
defaultHandler
+
+ ^ DefaultHandler ifNil: [
+ DefaultHandler := ExternalDropHandler
+ type: nil
+ extension: nil
+ action: #edit]!
- DefaultHandler ifNil: [DefaultHandler := ExternalDropHandler type: nil extension: nil action: [:dropStream | dropStream edit]].
- ^DefaultHandler!
Item was changed:
----- Method: ExternalDropHandler class>>lookupExternalDropHandler: (in category 'accessing') -----
lookupExternalDropHandler: stream
| types extension serviceHandler |
types := stream mimeTypes.
types ifNotNil: [
+ self registeredHandlers
+ detect: [:handler | handler matchesTypes: types]
+ ifFound: [:handler | ^ handler]].
- self registeredHandlers do: [:handler |
- (handler matchesTypes: types)
- ifTrue: [^handler]]].
extension := FileDirectory extensionFor: stream name.
+ self registeredHandlers
+ detect: [:handler | handler matchesExtension: extension]
+ ifFound: [:handler | ^ handler].
+
+ ^ serviceHandler ifNil: [self defaultHandler]!
- self registeredHandlers do: [:handler |
- (handler matchesExtension: extension)
- ifTrue: [^handler]].
- serviceHandler := self lookupServiceBasedHandler: stream.
- ^serviceHandler
- ifNil: [self defaultHandler]!
Item was changed:
----- Method: ExternalDropHandler class>>lookupServiceBasedHandler: (in category 'accessing') -----
lookupServiceBasedHandler: dropStream
+
- "The file was just dropped; let's do our job"
| fileName services theOne |
+ self deprecated: 'ct: Use DefaultExternalDropHandler'.
fileName := dropStream name.
-
services := (FileServices itemsForFile: fileName)
reject: [:svc | self unwantedSelectors includes: svc selector].
+
-
"no service, default behavior"
+ services ifEmpty: [^ nil].
+
- services isEmpty
- ifTrue: [^nil].
-
theOne := self chooseServiceFrom: services.
+ ^ theOne ifNotNil: [
+ ExternalDropHandler type: nil extension: nil action: [:stream | theOne performServiceFor: stream]]!
- ^theOne
- ifNotNil: [ExternalDropHandler type: nil extension: nil action: [:stream | theOne performServiceFor: stream]]!
More information about the Squeak-dev
mailing list
|