-
Notifications
You must be signed in to change notification settings - Fork 286
Make OnionSkins UI more compact #1824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I agree this change is an improvement on Windows, it doesn't look as good on Linux/GNOME. On the left is your version, the right is the old version (the font is slightly different in the AppImage apparently):
Because the border is drawn underneath the group box text instead of through it, it looks to me like there isn't enough padding on the top. I think we should add 3px to the LayoutTopMargin
of nextFramesGroup
and prevFramesGroup
so that it's evenly spaced on Linux. While OS specific code could be added, I don't think it's worth it for 6px.
thanks for testing. I will tweak the spacing to see if I can make it look better. |
Maybe we shouldn't use QGroupBox here if the display is so inconsistent and keeping the layout compact is a priority? |
I don’t think this is something we should even have to worry about. To be completely honest, I’m not entirely convinced of this micromanagement of spacing and margin values in the first place. This will shave off a few pixels now, but the moment we make more meaningful changes (like the addition of an onion skin global toggle), we’ll be back to square one. If we’re really that concerned about keeping all the stuff on screen, we should just arrange (some of) the tool windows horizontally next to each other by default, rather than stacking them all vertically, or reduce the overall UI scale, or lock the tool windows by default in order to conserve the space consumed by their titlebars. I worry that if we instead choose to micromanage our pixels like this we’ll just end up dealing with more edge-cases like these groupboxes in the future. |
13e652b
to
5452aaa
Compare
@J5lx @scribblemaniac I've adjusted the margins, could you please test it again? |
I don't really agree that space reduction is micro-management. The things you mentioned above, the global onion toggle and horizontal tools options, they are all valuable and should be considered seriously. However, these things do not conflict with the space reduction. If you look at other tools such as Photoshop, Paint Tool SAI or Procreate, you may notice that they are extremely reluctant to put spaces between UI components in order to make the most use of limited screen spaces. I want to emphasize again that I want to improve the usability of HiDPI displays as they are becoming more and more common and our current UI usability with HiDPI displays is quite poor. |
My resolution is technically (2560 × 1600) retina but I have scaled UI, so it appears to be 1440x900. The screen is 13 inches. I understand that you want to strike a balance between aesthetic and usability, which is fine, as long as it's consistent across our widgets. For example if we should have 2 or 3 px instead of 6 px padding everywhere, then that's fine too, as long as it's consistent.
You can see the padding difference here: Looking at the code, the padding is 3 px around the overall group, yet there appears to be more spacing on the right side. The interesting thing here is that if I tweak the spacing, the font size and try to squish the layout as much as possible, the layout still ends up being wider than your the changes you made, which just shows that tweaking this has all kinds of weird outcomes. Top: My tweaked layout (wider) When I compare our layout with my CSP layout, ours is 25-30 px wider, but you can also see that they do all kinds of trickery to get it smaller, like squishing the font, potentially hiding it partially behind UI, having generally a more compact layout by more or less embedding the description into the slider component.
Aha...! the layout designer sets a minimum width on the outer layout if none is given, which apparently is 192 px in my case. Changing this manually, we could probably go down to 140 pixels and it would look alright, that's of course with the tweaked font size too. Would that be sufficient?
OBS: If we do agree to changing the font size, then it should be done throughout our dock widgets 😄 After going through all widgets, we could end up with something like this:
Do you want me to make a PR with this? I've made these changes available on: https://github.com/MrStevns/pencil/tree/compact-dock-layout |
Thanks a lot for the efforts. I was thinking of starting small from a single widget and then step by step making the changes to other widgets. But you have done them all! That's fantastic. I will definitely check your branch out when I get time. |
BTW, I also thinking of replacing the title bar of dock widgets. The default title bars eat a lot of spaces. |
Yes, please. Your branch is overall better than mine. I am going to close this PR. |
Improve the OnionSkins UI by reducing the spacing between UI components.
Currently, on my HiDPI laptop displays (Win11 with 150% scaling), the OnionSkins options are barely visible. We can improve it by minimizing the spacing between UI elements, so more options can be displayed within the limited available space.
Please see the before/after screenshots as follows:
Before
After