<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Go ahead and merge it. ;o)<div class="mb_sig"></div><blockquote class='history_container' type='cite' style='border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;'>
                        <p style='color: #AAAAAA; margin-top: 10px;'>Am 06.12.2021 20:04:34 schrieb christoph.thiede@student.hpi.uni-potsdam.de <christoph.thiede@student.hpi.uni-potsdam.de>:</p><div style='font-family:Arial,Helvetica,sans-serif'>
Hi Marcel,<br>
<br>
was this a serious objection? :-) Since we have proper handling of file-drop events, this bug should not occur any longer. Could we get this patch merged? :-)<br>
<br>
Best,<br>
Christoph<br>
<br>
<span style="color: #808080">---<br>
</span><span style="color: #808080"><i>Sent from </i></span><span style="color: #808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></span><br>
<br>
On 2020-05-08T09:23:34+02:00, marcel.taeumel@hpi.de wrote:<br>
<br>
> I like the duplicate prompt. :-D  Because the first is never at the position I acctually dropped the file. Only the second one is.<br>
> <br>
> Best,<br>
> Marcel<br>
> Am 05.05.2020 17:41:35 schrieb commits at source.squeak.org <commits at source.squeak.org>:<br>
> Christoph Thiede uploaded a new version of System to project The Inbox:<br>
> http://source.squeak.org/inbox/System-ct.1156.mcz<br>
> <br>
> ==================== Summary ====================<br>
> <br>
> Name: System-ct.1156<br>
> Author: ct<br>
> Time: 5 May 2020, 5:41:10.96399 pm<br>
> UUID: 2ce2496e-92e9-f744-9a58-d9e9320adfab<br>
> Ancestors: System-mt.1155<br>
> <br>
> Fixes double prompt for handling a dropped file when the first dialog was cancelled. Cleans up duplication between ExternalDropHandler >> #lookupServiceBasedHandler: and DefaultExternalDropHandler by deprecating the first one. Maybe we can also remove this method?<br>
> <br>
> =============== Diff against System-mt.1155 ===============<br>
> <br>
> Item was changed:<br>
> ----- Method: DefaultExternalDropHandler>>chooseServiceFrom: (in category 'private') -----<br>
> chooseServiceFrom: aCollection<br>
> + "private - choose a service from aCollection asking the user if needed"<br>
> + ^ aCollection size = 1<br>
> - "private - choose a service from aCollection asking the user if needed"<br>
> - ^aCollection size = 1<br>
> ifTrue: [aCollection anyOne]<br>
> + ifFalse: [UIManager default<br>
> + chooseFrom: (aCollection collect: [:each | each label])<br>
> - ifFalse:[UIManager default<br>
> - chooseFrom: (aCollection collect:[:each| each label])<br>
> values: aCollection<br>
> title: 'You dropped a file. Please choose a service:' translated withCRs].!<br>
> <br>
> Item was changed:<br>
> ----- Method: DefaultExternalDropHandler>>handle:in:dropEvent: (in category 'event handling') -----<br>
> handle: dropStream in: pasteUp dropEvent: anEvent<br>
> "the file was just droped, let's do our job"<br>
> | fileName services chosen |<br>
> fileName := dropStream name.<br>
> services := self servicesForFileNamed: fileName.<br>
> +<br>
> -<br>
> "no service, default behavior"<br>
> + services ifEmpty: [<br>
> + ^ UIManager default edit: dropStream contentsOfEntireFile].<br>
> +<br>
> - services isEmpty<br>
> - ifTrue: [^UIManager default edit: dropStream contentsOfEntireFile].<br>
> -<br>
> chosen := self chooseServiceFrom: services.<br>
> + chosen ifNotNil: [chosen performServiceFor: dropStream].!<br>
> - chosen ifNotNil:[chosen performServiceFor: dropStream]!<br>
> <br>
> Item was changed:<br>
> ----- Method: DefaultExternalDropHandler>>servicesForFileNamed: (in category 'private') -----<br>
> servicesForFileNamed: aString<br>
> + "private - answer a collection of file-services for the file named aString"<br>
> +<br>
> + ^ (FileServices itemsForFile: aString)<br>
> + copyWithoutAll: self unwantedSelectors!<br>
> - "private - answer a collection of file-services for the file named<br>
> - aString"<br>
> - | allServices |<br>
> - allServices := FileServices itemsForFile: aString.<br>
> - ^ allServices<br>
> - reject: [:svc | self unwantedSelectors includes: svc selector]!<br>
> <br>
> Item was changed:<br>
> ----- Method: ExternalDropHandler class>>defaultHandler (in category 'accessing') -----<br>
> defaultHandler<br>
> +<br>
> + ^ DefaultHandler ifNil: [<br>
> + DefaultHandler := ExternalDropHandler<br>
> + type: nil<br>
> + extension: nil<br>
> + action: #edit]!<br>
> - DefaultHandler ifNil: [DefaultHandler := ExternalDropHandler type: nil extension: nil action: [:dropStream | dropStream edit]].<br>
> - ^DefaultHandler!<br>
> <br>
> Item was changed:<br>
> ----- Method: ExternalDropHandler class>>lookupExternalDropHandler: (in category 'accessing') -----<br>
> lookupExternalDropHandler: stream<br>
> <br>
> | types extension serviceHandler |<br>
> types := stream mimeTypes.<br>
> <br>
> types ifNotNil: [<br>
> + self registeredHandlers<br>
> + detect: [:handler | handler matchesTypes: types]<br>
> + ifFound: [:handler | ^ handler]].<br>
> - self registeredHandlers do: [:handler |<br>
> - (handler matchesTypes: types)<br>
> - ifTrue: [^handler]]].<br>
> <br>
> extension := FileDirectory extensionFor: stream name.<br>
> + self registeredHandlers<br>
> + detect: [:handler | handler matchesExtension: extension]<br>
> + ifFound: [:handler | ^ handler].<br>
> +<br>
> + ^ serviceHandler ifNil: [self defaultHandler]!<br>
> - self registeredHandlers do: [:handler |<br>
> - (handler matchesExtension: extension)<br>
> - ifTrue: [^handler]].<br>
> - serviceHandler := self lookupServiceBasedHandler: stream.<br>
> - ^serviceHandler<br>
> - ifNil: [self defaultHandler]!<br>
> <br>
> Item was changed:<br>
> ----- Method: ExternalDropHandler class>>lookupServiceBasedHandler: (in category 'accessing') -----<br>
> lookupServiceBasedHandler: dropStream<br>
> +<br>
> - "The file was just dropped; let's do our job"<br>
> | fileName services theOne |<br>
> + self deprecated: 'ct: Use DefaultExternalDropHandler'.<br>
> fileName := dropStream name.<br>
> -<br>
> services := (FileServices itemsForFile: fileName)<br>
> reject: [:svc | self unwantedSelectors includes: svc selector].<br>
> +<br>
> -<br>
> "no service, default behavior"<br>
> + services ifEmpty: [^ nil].<br>
> +<br>
> - services isEmpty<br>
> - ifTrue: [^nil].<br>
> -<br>
> theOne := self chooseServiceFrom: services.<br>
> + ^ theOne ifNotNil: [<br>
> + ExternalDropHandler type: nil extension: nil action: [:stream | theOne performServiceFor: stream]]!<br>
> - ^theOne<br>
> - ifNotNil: [ExternalDropHandler type: nil extension: nil action: [:stream | theOne performServiceFor: stream]]!<br>
> <br>
> <br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200508/058d55fc/attachment.html><br>
> <br>

</div></blockquote>
                                        </div></body>