<div dir="ltr">I think there have been complaints but not much have been done to it.<div><br></div><div>I&#39;m not sure yet if this change breaks any other functionality.These widgets have quite complex behavior .</div><div>
<br></div><div><br></div><div>Karl </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 23, 2014 at 9:34 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ah, I see now.  That&#39;s surprising; I&#39;m suprised no one complained<br>
about that before..<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Jun 23, 2014 at 12:15 PM, karl ramberg &lt;<a href="mailto:karlramberg@gmail.com">karlramberg@gmail.com</a>&gt; wrote:<br>
&gt; Before this change, moving the mouse out of a text or list pane meant it<br>
&gt; lost keyboard focus.<br>
&gt; Even if the Preferences mouseOverForKeyboardFocus was false.<br>
&gt; With this change you have to click the pane you want tho have keyboard<br>
&gt; focus.<br>
&gt;<br>
&gt; I find working with this change is less aggravating since I very often bump<br>
&gt; the mouse out of small text boxes and panes.<br>
&gt;<br>
&gt; It also means the preference does what it say it will do.<br>
&gt;<br>
&gt; Karl<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Jun 23, 2014 at 5:18 PM, Chris Muller &lt;<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Can you explain what effect this has for regular interaction with an<br>
&gt;&gt; image?  It&#39;s not obvious to me.<br>
&gt;&gt;<br>
&gt;&gt; On Sun, Jun 22, 2014 at 10:04 AM,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt;&gt; &gt; A new version of Morphic was added to project The Inbox:<br>
&gt;&gt; &gt; <a href="http://source.squeak.org/inbox/Morphic-kfr.722.mcz" target="_blank">http://source.squeak.org/inbox/Morphic-kfr.722.mcz</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ==================== Summary ====================<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Name: Morphic-kfr.722<br>
&gt;&gt; &gt; Author: kfr<br>
&gt;&gt; &gt; Time: 22 June 2014, 4:59:39.758 pm<br>
&gt;&gt; &gt; UUID: fffb2b9e-3b71-f341-9042-4e35e7cc19fa<br>
&gt;&gt; &gt; Ancestors: Morphic-cmm.721<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Make keyboard focus respect Preferences mouseOverForKeyboardFocus. With<br>
&gt;&gt; &gt; this change one has to click for keyboard fokus.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; =============== Diff against Morphic-cmm.721 ===============<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Item was changed:<br>
&gt;&gt; &gt;   ----- Method: PluggableListMorph&gt;&gt;mouseUp: (in category &#39;events&#39;)<br>
&gt;&gt; &gt; -----<br>
&gt;&gt; &gt;   mouseUp: event<br>
&gt;&gt; &gt;         &quot;The mouse came up within the list; take appropriate action&quot;<br>
&gt;&gt; &gt;         | row |<br>
&gt;&gt; &gt;         row := self rowAtLocation: event position.<br>
&gt;&gt; &gt;         &quot;aMorph ifNotNil: [aMorph highlightForMouseDown: false].&quot;<br>
&gt;&gt; &gt;         model okToChange<br>
&gt;&gt; &gt;                 ifFalse: [^ self].<br>
&gt;&gt; &gt;         &quot;No change if model is locked&quot;<br>
&gt;&gt; &gt;         row = self selectionIndex<br>
&gt;&gt; &gt;                 ifTrue: [(autoDeselect ifNil: [true]) ifTrue:[row = 0<br>
&gt;&gt; &gt; ifFalse: [self changeModelSelection: 0] ]]<br>
&gt;&gt; &gt;                 ifFalse: [self changeModelSelection: (self<br>
&gt;&gt; &gt; modelIndexFor: row)].<br>
&gt;&gt; &gt; +       event hand newKeyboardFocus: self.<br>
&gt;&gt; &gt; +       hasFocus := true.<br>
&gt;&gt; &gt;         Cursor normal show!<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Item was changed:<br>
&gt;&gt; &gt;   ----- Method: ScrollPane&gt;&gt;handlesMouseOver: (in category &#39;event<br>
&gt;&gt; &gt; handling&#39;) -----<br>
&gt;&gt; &gt;   handlesMouseOver: evt<br>
&gt;&gt; &gt;         &quot;Could just ^ true, but this ensures that scroll bars won&#39;t flop<br>
&gt;&gt; &gt; out<br>
&gt;&gt; &gt;         if you mouse-over appendages such as connecting pins.&quot;<br>
&gt;&gt; &gt;         self flag: #arNote. &quot;I have no idea how the code below could&#39;ve<br>
&gt;&gt; &gt; ever worked. If the receiver does not handle mouse over events then it<br>
&gt;&gt; &gt; should not receive any #mouseLeave if the mouse leaves the receiver for<br>
&gt;&gt; &gt; real. This is because &#39;evt cursorPoint&#39; describes the *end* point of the<br>
&gt;&gt; &gt; movement and considering that the code would return false if the move ends<br>
&gt;&gt; &gt; outside the receiver the scroll bars should never pop back in again. Which<br>
&gt;&gt; &gt; is exactly what happens with the new event logic if you don&#39;t just ^true.<br>
&gt;&gt; &gt; I&#39;m leaving the code in for reference - perhaps somebody can make sense from<br>
&gt;&gt; &gt; it; I sure cannot.&quot;<br>
&gt;&gt; &gt; +  ^Preferences mouseOverForKeyboardFocus<br>
&gt;&gt; &gt; -       ^true<br>
&gt;&gt; &gt;   &quot;<br>
&gt;&gt; &gt;         | cp |<br>
&gt;&gt; &gt;         cp := evt cursorPoint.<br>
&gt;&gt; &gt;         (bounds containsPoint: cp)<br>
&gt;&gt; &gt;                 ifTrue: [^ true]<br>
&gt;&gt; &gt;                 ifFalse: [self submorphsDo:<br>
&gt;&gt; &gt;                                         [:m | (m containsPoint: cp)<br>
&gt;&gt; &gt; ifTrue:<br>
&gt;&gt; &gt;                                                         [m == scrollBar<br>
&gt;&gt; &gt;                                                                 ifTrue:<br>
&gt;&gt; &gt; [^ true]<br>
&gt;&gt; &gt;                                                                 ifFalse:<br>
&gt;&gt; &gt; [^ false]]].<br>
&gt;&gt; &gt;                                 ^ false]<br>
&gt;&gt; &gt;   &quot;!<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>