<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Thank you for giving it a try! :-)</p>
<p><br>
</p>
<p>> <span>The only real issue if you want to pick up the dialog and move it, and expect the text part to be grabbable (like it was) - the keyboard is then once again embedded in the text.</span></p>
<p><span><br>
</span></p>
<p><span>By the way, personally I use the blue mouse button at the most time I am moving anything in Morphic. It's a quite convenient way because no morph can regularly grab this event.</span></p>
<p><span><br>
</span></p>
<p><span>Best,</span></p>
<p><span>Christoph</span></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Chris Cunningham <cunningham.cb@gmail.com><br>
<b>Gesendet:</b> Freitag, 12. Juni 2020 01:37:54<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Morphic-cbc.1665.mcz</font>
<div> </div>
</div>
<div>
<div dir="ltr">Ok.  I've been running with Morphic.ct.1666 for a few days now, and it works just fine for me.  Nice work.
<div><br>
</div>
<div>The only real issue if you want to pick up the dialog and move it, and expect the text part to be grabbable (like it was) - the keyboard is then once again embedded in the text.  But I've only done that once, and it is a weird thing to do for the confirm
 dialogs I'm talking about, so really unlikely.</div>
<div><br>
</div>
<div>I'll probably reparent (and save) your package off of Morphic.mt.1666 just so that it looks nice and works well, likely tomorrow.</div>
<div><br>
</div>
<div>Thanks</div>
<div>-cbc</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, Jun 6, 2020 at 10:23 AM Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div id="gmail-m_7664417908258586791divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi Chris,</p>
<p><br>
</p>
<p>I honestly don't think that we should individualize the behavior of the message body per kind of the dialog window. Even if there is a list chooser, it may still contain a relevant message text that I'd like to copy. And how often will such "stray mouse
 clicks" occur in real life? And if it occurred, you should have your fingers at your mouse anyway ;)</p>
<p><br>
</p>
<p>If at all, I would rather like to press Escape or Tab when the message text has the focus, in order to move the focus back to the dialog window.</p>
<p>If we wanted this, we either could implement this in Editor or, via an event filter, in DialogWindow. What do you think?</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<div id="gmail-m_7664417908258586791Signature">
<div id="gmail-m_7664417908258586791divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="divtagdefaultwrapper">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_7664417908258586791divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>>
 im Auftrag von Chris Cunningham <<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>><br>
<b>Gesendet:</b> Samstag, 6. Juni 2020 19:13:57<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Morphic-cbc.1665.mcz</font>
<div> </div>
</div>
<div>
<div dir="ltr">What do you think about Morphic-cbc.1667?
<div><br>
</div>
<div>It accepts your changes, removes mine, and still locks the message for (at present) 3 dialogs boxes in the image:</div>
<div>- In ListChooser, when you have selected a partial of a choice, it asks to confirm a partial, a new, or cancel</div>
<div>- In MonticelloConfirgurationBrowser, asking you to confirm saving the configuration</div>
<div>- Any generic call to UserDialogBoxMorph>>confirm:trueChoice:falseChoice:  (where it locks the static message text 'Please Confirm:')</div>
<div><br>
</div>
<div>-cbc</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, Jun 6, 2020 at 9:36 AM Chris Cunningham <<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Ok.  There are definite benefits with this.  However, a stray mouse click still reduces the usefulness of a list chooser.
<div><br>
</div>
<div>Maybe ListChooser should be able to request the message rejects keyboard (this dialog is all about choosing a value, not about displaying a notice), while others could use ct.1666?  At least with this the enter button will close the dialog - but allow
 full interaction with the message (as long as you start by using the mouse).</div>
<div><br>
</div>
<div>-cbc</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, Jun 6, 2020 at 5:22 AM Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de" target="_blank">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<p>Hi Chris,</p>
<p><br>
</p>
<p>what do you think about <span>Morphic-ct.1666? :-) It would be nice if we did not completely lose the opportunity to manually activate the message and interact with it via keyboard.</span></p>
<p><span><br>
</span></p>
<p><span>Best,</span></p>
<p><span>Christoph</span></p>
<p><br>
</p>
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888Signature">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="divtagdefaultwrapper">
<div>
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888Item.MessagePartBody">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888divtagdefaultwrapper">
<font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"></font></div>
</div>
</font></div>
</div>
</div>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_7664417908258586791gmail-m_-8240663504513391062gmail-m_-4455411545076672888divRplyFwdMsg" dir="ltr">
<font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>> im Auftrag von Chris Cunningham
 <<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>><br>
<b>Gesendet:</b> Samstag, 6. Juni 2020 04:41:50<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Morphic-cbc.1665.mcz</font>
<div> </div>
</div>
<div>
<div dir="ltr">This fixes the mangling I accidentally did to Marcel's changes, following his suggestion (roughly).
<div><br>
</div>
<div>I now get the best of both worlds in my image.  If noone objects, I'll move it to trunk in a few days.</div>
<div><br>
</div>
<div>-cbc</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jun 5, 2020 at 7:38 PM <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
A new version of Morphic was added to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Morphic-cbc.1665.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Morphic-cbc.1665.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-cbc.1665<br>
Author: cbc<br>
Time: 5 June 2020, 7:38:31.284262 pm<br>
UUID: c887ffd7-40ae-3547-8240-13186db081c8<br>
Ancestors: Morphic-cbc.1664<br>
<br>
Add support for locking a morph so that it doesn't accept keyboard actions - but is still accessible with the mouse.  Sending #rejectKeyboardFocus will make that morph completely ignore keyboard events of any kind.  A morph can be tested with #shouldRejectKeyboardFocus
 to see if this should happen.<br>
DialogWindow has been modified to reject keyboard focus, so that in (say, ConfirmDialogs) you can still use the keyboard to interact with the keys AND you can interact with the message text via the mouse.<br>
(Also updated StringMorph similarly.)<br>
<br>
=============== Diff against Morphic-cbc.1664 ===============<br>
<br>
Item was changed:<br>
  ----- Method: DialogWindow>>createMessage: (in category 'initialization') -----<br>
  createMessage: aString <br>
<br>
        messageMorph := aString asText asMorph.<br>
        messageMorph<br>
                name: 'Message';<br>
                readOnly: true;<br>
                setProperty: #indicateKeyboardFocus toValue: #never;<br>
+               rejectKeyboardFocus.<br>
-               lock.<br>
        self setMessageParameters.      <br>
        ^ messageMorph!<br>
<br>
Item was added:<br>
+ ----- Method: Morph>>rejectKeyboardFocus (in category 'accessing') -----<br>
+ rejectKeyboardFocus<br>
+       self rejectKeyboardFocus: true.!<br>
<br>
Item was added:<br>
+ ----- Method: Morph>>rejectKeyboardFocus: (in category 'accessing') -----<br>
+ rejectKeyboardFocus: boolean<br>
+       self setProperty: #rejectKeyboardFocus toValue: boolean!<br>
<br>
Item was changed:<br>
  ----- Method: Morph>>rejectsEvent: (in category 'events-processing') -----<br>
  rejectsEvent: anEvent<br>
        "Return true to reject the given event. Rejecting an event means neither the receiver nor any of it's submorphs will be given any chance to handle it."<br>
+       ^self isLocked or: [self visible not or: [anEvent isKeyboard and: [self shouldRejectKeyboardFocus]]]!<br>
-       ^self isLocked or:[self visible not]!<br>
<br>
Item was added:<br>
+ ----- Method: Morph>>rejectsKeyboardFocus (in category 'testing') -----<br>
+ rejectsKeyboardFocus<br>
+       ^self valueOfProperty: #rejectKeyboardFocus ifAbsent: [false]!<br>
<br>
Item was added:<br>
+ ----- Method: Morph>>shouldRejectKeyboardFocus (in category 'testing') -----<br>
+ shouldRejectKeyboardFocus<br>
+       ^self valueOfProperty: #rejectKeyboardFocus ifAbsent: [false]!<br>
<br>
Item was changed:<br>
  ----- Method: StringMorph>>wouldAcceptKeyboardFocus (in category 'event handling') -----<br>
  wouldAcceptKeyboardFocus<br>
+       ^ self isLocked not and: [self shouldRejectKeyboardFocus not]!<br>
-       ^ self isLocked not!<br>
<br>
<br>
</blockquote>
</div>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</body>
</html>