EDCD / EDMarketConnector

Downloads commodity market and other station data from the game Elite: Dangerous for use with all popular online and offline trading tools.
GNU General Public License v2.0
991 stars 155 forks source link

Settings window needs to be resizeable #1293

Open Ratchet4220 opened 3 years ago

Ratchet4220 commented 3 years ago

Describe the enhancement

When adjusting the UI scale, it's possible to expand it beyond the desktop, so that you can not reach the "OK" button anymore. Therefore the settings window needs to be resizeable so that users can make the settings window functional again. Expected behavior

You could do this by adding a maximize button, or allowing window edge dragging.

Considered workarounds

None at this time

Additional context

I think 300 is more than enough scaling to allow text to be readable.

A-UNDERSCORE-D commented 3 years ago

Poked at this a bit. Tkinter remains awful. I cannot make the UI fit the way one would expect currently. our best bet is likely to have a reset-scaling switch like we have for other things already--Unless I rewrite the entire prefs UI (which I want to do but I remain awful at tkinter, and tkinter remains, in general, awful to work with)

Athanasius commented 1 year ago

You should always be able to either just hit or some number of times and then to close the Settings dialogue.

Making it resizable may well not mesh well with when users have many plugins with their own Settings tab, i.e. does myNotebook.py even allow for the width being less than the necessary in this scenario ? Also, from experience trying to make the main window resizable in Dark theme ... we'd have to be using all ttk, nott plain tk widgets, although in this case there's no theming issue to get in the way.

aussig commented 4 months ago

To solve the “too many tabs” problem in my plugin, I found a little community ttk component called “ScrollableNotebook” which allows the tab title area to scroll left and right. It also includes a drop-down with all the tabs listed for quick access.

Not sure whether you want to go down the custom component route, but it works well in my use case:

https://github.com/muhammeteminturgut/ttkScrollableNotebook