<div dir="ltr">Hi Marcel,<div><br></div><div>I would not be opposed to removing the field altogether.</div><div><br></div><div>The impetus for my change was because, for some reason, I was unable to immediately use the keyboard to filter the list. Now, even reverting my change, I cannot seem to reproduce that.</div><div><br></div><div>However, even still, as long as we keep that text widget, I think it makes sense to center dialog UI's on the top-left-most widget in general (excepting close boxes, of course!). Most people's eyes gravitate from upper-left to lower-right when evaluating a UI screen. If we agree that the users' eyes would be at the pointer when the dialog opens, then positioning the dialog at the point where they would keep their eye flow continuous; e.g., where they were looking is where their eyes naturally gravitate to; the upper-left widget(s), upon opening under the mouse pointer, where there eyes already were. From that aspect, at least, it actually seems less jarring.</div><div><br></div><div>Removing the field altogether might encourage users to discover and utilize the list-filtering even elsewhere. I think that would be a positive thing..</div><div><br></div><div>Best,</div><div> Chris</div><div><br></div><div><br><div><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id="m_8148732402817215024m_1960852741856310215__MailbirdStyleContent" style="font-size:12pt;font-family:calibri;color:#000000"><div>can you elaborate on this? This is just cosmetics, right? You assume that the user should look at the empty search field. I was assuming that the possible search space is more important. Just open, type the term, navigate with the arrow keys and press return. So, this has been the focus:</div><div><br></div><div><img src="cid:e5a9166c-024b-4d5b-90b8-f0558693eac2" width="auto"></div><div><br></div><div>Now it is this:</div><div><br></div><div><img src="cid:99fcb075-b171-4bbc-8b5d-3057ad6317fb" width="auto"></div><div><br></div><div>Due to the centering of the dialog relative to the current mouse cursor. At least for me, this introduces a visual jump now. Two years ago, I decided to only keep that search field at the top for historical reasons because we can search in all lists in the system by just typing a term.</div><div><br></div><div>Anyway, just my two cents. :-)</div><div><br></div><div>Best,</div><div>Marcel</div><div><div class="m_8148732402817215024h5"><div><br></div><div><br></div><div class="m_8148732402817215024m_1960852741856310215mb_sig"></div>
<blockquote class="m_8148732402817215024m_1960852741856310215history_container" type="cite" style="border-left-style:solid;border-width:1px;margin-top:20px;margin-left:0px;padding-left:10px;min-width:500px">
<p style="color:#aaaaaa;margin-top:10px">Am 24.04.2018 05:53:40 schrieb <a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a> <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>>:</p>Chris Muller uploaded a new version of ToolBuilder-Morphic to project The Trunk:<br><a href="http://source.squeak.org/trunk/ToolBuilder-Morphic-cmm.214.mcz" target="_blank">http://source.squeak.org/trunk<wbr>/ToolBuilder-Morphic-cmm.214.<wbr>mcz</a><br><br>==================== Summary ====================<br><br>Name: ToolBuilder-Morphic-cmm.214<br>Author: cmm<br>Time: 23 April 2018, 10:52:42.863722 pm<br>UUID: ed4cff85-0d01-45be-acf4-89dc6f<wbr>683dfd<br>Ancestors: ToolBuilder-Morphic-cmm.213<br><br>Center ListChoosers under the search-widget for improved focus.<br><br>=============== Diff against ToolBuilder-Morphic-cmm.213 ===============<br><br>Item was changed:<br> ----- Method: ListChooser>>buildWith: (in category 'building') -----<br> buildWith: builder<br> <br> | dialogSpec searchBarHeight listSpec fieldSpec |<br> <br> searchBarHeight := Preferences standardDefaultTextFont height * 1.75.<br> <br> dialogSpec := builder pluggableDialogSpec new<br> model: self;<br> title: #title;<br> closeAction: #closed;<br> extent: self initialExtent;<br> autoCancel: true; "Behave like a pop-up menu. Historical reasons."<br> children: OrderedCollection new;<br> buttons: OrderedCollection new;<br> yourself.<br> <br> listSpec := builder pluggableListSpec new.<br> listSpec <br> model: self;<br> list: #items; <br> getIndex: #selectedIndex; <br> setIndex: #selectedIndex:; <br> doubleClick: #accept;<br> "keystrokePreview: #keyStrokeFromList:;"<br> autoDeselect: false;<br> filterableList: true;<br> clearFilterAutomatically: false;<br> name: #list;<br> frame: (LayoutFrame fractions: (0@0 corner: 1@1) offsets: (0@searchBarHeight corner: 0@0)).<br> dialogSpec children add: listSpec.<br> <br> fieldSpec := builder pluggableInputFieldSpec new.<br> fieldSpec <br> model: self;<br>+ name: #searchText ;<br> getText: #searchText;<br> editText: #searchText:;<br> setText: #acceptText:;<br> selection: #textSelection;<br> menu: nil;<br> indicateUnacceptedChanges: false;<br> askBeforeDiscardingEdits: false;<br> help: (self addAllowed ifTrue: ['Type new or filter existing...' translated] ifFalse: ['Type to filter existing...' translated]);<br> frame: (LayoutFrame fractions: (0@0 corner: 1@0) offsets: (0@0 corner: 0@searchBarHeight)).<br> dialogSpec children add: fieldSpec.<br> <br> "Buttons"<br> dialogSpec buttons add: (<br> builder pluggableButtonSpec new<br> model: self; <br> label: #acceptLabel;<br> action: #accept;<br> enabled: #canAcceptOrAdd;<br> color: #acceptColor).<br> <br> dialogSpec buttons add: (<br> builder pluggableButtonSpec new<br> model: self; <br> label: 'Cancel';<br> action: #cancel;<br> color: #cancelColor).<br> <br> dialogMorph := builder build: dialogSpec.<br>+ dialogMorph addKeyboardCaptureFilter: self ; positionOverWidgetNamed: #searchText.<br>- dialogMorph addKeyboardCaptureFilter: self.<br> listMorph := builder widgetAt: #list.<br> listMorph allowEmptyFilterResult: true.<br> <br> ^ dialogMorph!<br><br><br>
</blockquote></div></div></div><br><br>
<br></blockquote></div><br></div></div></div>