[squeak-dev] Review Request: fix-preference-browser-overflow.1.cs

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Thu Jun 16 12:42:31 UTC 2022


Hi Marcel,


> Please elaborate. :-)


I think it noticeably limits the first impression of the tool if someone opens the preference browser for the first time, chooses the Tools category by accident, and gets this:


[cid:c214541b-5b20-4df9-a363-1906959daca8]


It even took me a couple of seconds to realize that something (half of the checkboxes, trailing digits of some numbers) is missing here because there is no indicating scrollbar.


And once you select the item in question, everything else gets - and remains - out of place:


[cid:2a8d6664-06b0-4f7a-894f-79c454ffb756]


I agree with your priority list for the preference browser's issues in the long term. But I would like to fix this patch this slip again for 6.0 - I consider this a regression, it never occurred before this new preference was introduced, unless you manually resized the window. Two possible options for a workaround could be:


- Increase the default window size for now (see first attachment)

- Add a horizontal scroll bar to the list for now to make it easier to revert from the shift (see second attachment)


My preference (bad pun unintended) would be the first option. What do you think?


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Donnerstag, 16. Juni 2022 14:15:56
An: squeak-dev
Betreff: Re: [squeak-dev] Review Request: fix-preference-browser-overflow.1.cs

Hi Christoph --

> IMO the current appearance of the preference
> browser is not really acceptable for the release.

Please elaborate. :-) I like it. Just some extra window
resizing needed, depending on what the user wants to
browse.

Biggest issues are:
- Still not ToolBuilder-based but a nice alternative
- No input fields for float values
- Preference list needs a grid layout but we have none
- Input field would need minimum+preferred extent info but TableLayout does not support such layout strategies

It's still a compromise. I find it acceptable for the
release. It looked worse in the prior releases.

[cid:975fef43-1f26-4fdb-8ca5-1d17013eda59]

Best,
Marcel

Am 16.06.2022 12:08:59 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:

Hi Marcel,


this was only intended to be a quick-fix for the release, but you are right that solutions like this use to persist longer than we would love to. IMO the current appearance of the preference browser is not really acceptable for the release. Yes, we could also only increase the #initialExtent, but this simply requires even more screen space and I considered the original preference name a little bit too verbose anyway (do we even have an official definition of "tool windows vs windows"?).


Any ideas for a more elegant but cheap solution would be welcome.


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Donnerstag, 16. Juni 2022 11:53:05
An: squeak-dev
Betreff: Re: [squeak-dev] Review Request: fix-preference-browser-overflow.1.cs

Hi Christoph --

I don't like the reason you provide for changing the title of that preference. This kind of change is not maintainable in the long term. So, you drop the information "tool" for some highly fragile UI optimization. This is not okay. Next time somebody increases the width of that input field for #String, your change becomes void again.

Also, you even increased the #initialExtent. So you made two very different changes to tackle the same problem. Why not just increase the #initialExtent only to support this very configuration of preferences we have at the moment? This is not maintainable.

Your choice but this is a clear -1 from my side.

Best,
Marcel

Am 16.06.2022 11:34:12 schrieb christoph.thiede at student.hpi.uni-potsdam.de <christoph.thiede at student.hpi.uni-potsdam.de>:

=============== Summary ===============

Change Set:        fix-preference-browser-overflow
Date:            16 June 2022
Author:            Christoph Thiede

Fixes default width of preference browser. The new preference 'RealEstateAgent windowScaleFactor' had such a long name that it did not fit into the standard width. Shorten the name and extend the initial window extent so that selecting the preference does no longer offsets all items in the list.

Note that this is only a quick-fix and might fail again once you change your screen size or fonts. In the long term, it would be nicer if we had something like StringMorph >> #maxWidth: for this (maybe even with an automatic ellipsis ...).

=============== Diff ===============

PreferenceBrowser>>initialExtent {user interface} · ct 6/16/2022 11:24 (changed)
initialExtent
    "Scale here because the receiver is not built through a tool builder. See #buildPluggableWindow:."

-     ^ (660 at 440 * RealEstateAgent scaleFactor) rounded
+     ^ (705 @ 440 * RealEstateAgent scaleFactor) rounded

RealEstateAgent class>>windowScaleFactor {preferences} · ct 6/16/2022 11:23 (changed)
- windowScaleFactor
-     <preference: 'Scale Factor for Default Extent of Tool Windows'
+ windowScaleFactor
+     <preference: 'Scale Factor for Default Window Extent'
        categoryList: #(Morphic Tools Accessibility)
-         description: 'The extent of tool windows is tweaked for a world extent of 1024 at 768 (or its scaled equivalent). If you have a larger screen available, you might want to increase a tool''s default extent. Note that you can also increase the system''s overall scale factor instead.'
+         description: 'The extent of windows is tweaked for a world extent of 1024 at 768 (or its scaled equivalent). If you have a larger screen available, you might want to increase a tool''s default extent. Note that you can also increase the system''s overall scale factor instead.'
        type: #String>
    ^ WindowScaleFactor ifNil: [1.0]

["fix-preference-browser-overflow.1.cs"]

---
Sent from Squeak Inbox Talk<https://github.com/hpi-swa-lab/squeak-inbox-talk>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220616/3fdda7dd/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 113705 bytes
Desc: image.png
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220616/3fdda7dd/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 82145 bytes
Desc: pastedImage.png
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220616/3fdda7dd/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 67016 bytes
Desc: pastedImage.png
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220616/3fdda7dd/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PreferenceBrowser-initialExtent.st
Type: application/octet-stream
Size: 630 bytes
Desc: PreferenceBrowser-initialExtent.st
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220616/3fdda7dd/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PreferenceBrowserMorph-preferenceList.st
Type: application/octet-stream
Size: 656 bytes
Desc: PreferenceBrowserMorph-preferenceList.st
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220616/3fdda7dd/attachment-0003.obj>


More information about the Squeak-dev mailing list