supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.04k stars 515 forks source link

A proposed functionality improvement in regards to the window scrolling capability in Settings. #4184

Open CaillouxFred opened 3 months ago

CaillouxFred commented 3 months ago

I'm not sure whether this should be considered an "Issue" or a "feature request". I would rather call it a "functionality improvement".

I’ve been utilizing SuperSlicer for a while now, currently on 2.4.58.5 and found one little annoyance when it comes to scrolling Settings pages.

When the user want to scroll the page to attain different parameters in one page, it is too easy to use the mouse scroll wheel, expecting the page to go up and down, where, instead, depending on the object focus, it is the actual value on a specific field that gets modified. An easy mistake that inevitably require subsequent adjustments.

Examples: Go to the “Printer Settings” tab, Select the Speed section. In the “Speed for print moves” section, try to adjust the Default Speed. To do that you have to select the “Default_Speed/Default” data field and enter a new value with the keyboard. Now, change the “Infill Speed/Solid” value. You would have to use the mouse and select the data field and enter a new value with the keyboard. If the focus is kept on the right part of the window, scrolling with the mouse will move the window up and down normally, as expected, regardless of whether the focus remains on any data field. That is great and easy to manage. The user expect a mouse scroll to move up or down the actual window view.

Now, let’s switch the focus on the left side “Perimeters and Shell” attributes selector by a mouse click. The right side of the window now show all parameters pertaining to the “Perimeters and Shell”. Select “Vertical Shells/Perimeters” data field. Here, the user can enter a value with the keyboard or choose to utilize the mouse scroll wheel to adjust the value.

Notice that now, because the latest data field “Perimeters” remains on focus. Utilizing the mouse scroll wheel will, inevitably change the “Perimeters” data field value, instead of scrolling the window.

Furthermore, even if the user click “out” of that field, on an empty area, the focus remain on the data field and scrolling will keep changing the value. Not what would be expected of a scroll action.

Furthermore, mouse clicking on the left side attributes section, so as to change the focus out of the right side data field, and then click back on a blank area on any of the six sections, the focus will remain on the left side. Scrolling with the mouse will, at this point, have no effect at all. Where one would normally expect a window scroll.

Some analysis: The scrolling functionality , IMO, is not intuitive. Changing a data value with the mouse scrolling wheel is an unnecessary feature that could be retired, avoiding functionality confusion.

Changing focus from the right to left side of the window should not change the focus to the left side. There are 3 sections showing the Attributes selector, I guess we can call it the “Tree” sections. They are the “Print Settings” , “Filament Settings” , “Printer Settings”. None of these 3 choices require a mouse scroll capability in the “Tree” left side. This imply that in any of those 3 window tree, no mouse focus is necessary, other than when the user is selecting one of the attributes of interest. Immediately following an attribute selection the focus could return to the right side and then the Mouse Scroll Wheel should be focused strictly on the scroll bar, never on any data field. As such, no more confusion to the Mouse Scroll functionality. Every time, the user would expect the same thing, a Window Scroll, not a data value change. Besides, who uses a mouse scroll to adjust a value from 2 to 3 or 4. It is not an easy way to change a field value, hence, not a necessary behavior, rather an anoying one, since it creates confusion, IMO.

Any thoughts ?