Skip to content
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

UI: Modernize about dialog #7298

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

youk-ai
Copy link

@youk-ai youk-ai commented Sep 5, 2022

Description

The basic layout of the about dialog got changed. A Tab bar replaces the previous bottom navigation panel as the main tool to navigate the about panel.

The OBS logo got moved into a smaller header above the tab bar containing only the logo itself, project name and version number. In turn general project information and links got consolidated into their own "About" tab and the previous "About" section got moved into the "Patrons" tab.

After:
after

Before:
before

Motivation and Context

The custom widget at the bottom of the about panel already imitated the functionality of a tab bar, replacing it with a QTabWidget makes the function more recognizable and adjusts well to pre-existing theming.

While the logo is important it simply took up too much space, the intention for shrinking and moving it was to shift the main focus on to the actual tab content.

I do recognize that changing that the UI is more of an art than science. I'd appreciate other thoughts on if this is even any better than the previous dialog, or how it could be improved by e.g: changes to layout, dimension, tab order, tab content...

How Has This Been Tested?

Tested on Windows 11 22H1

  • Resize the dialog to make sure elements resize and re-position accordingly
  • Click through each tab to see if the content is being shown
  • Check if all links lead to their respective destination

Types of changes

  • Tweak (non-breaking change to improve existing functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

At it's core the bottom navigation panel effectively imitated the
functionality of a TabBar. Replacing it with an actual QTabWidget
allows for re-use of pre-existing theming, and it's functionality
is probably more recognizable. The previous navigation panel also
had a few miscellaneous issues like:

 - no indication of button area
 - current selection didn't get highlighted
 - one could right click the label text to open a context menu

Other small changes:

 - Seperate the about dialog into a small header and the main
   QTabWidget.
 - Rename the previous "About" section into the more appropriate
   "Patrons"
 - Introduce the "About" tab and consolidate generic project info and
   links into it
@WizardCM WizardCM added Enhancement Improvement to existing functionality UI/UX Anything to do with changes or additions to UI/UX elements. labels Sep 5, 2022
Copy link
Member

@WizardCM WizardCM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe displaying Patrons by default is intentional, and should be kept.

I've personally been experimenting with ideas myself, and think the following would be worth discussing.

  1. Update the dialog to use the new logo - likely a copy of https://github.com/obsproject/obs-studio/blob/master/UI/xdg-data/icons/obs-logo-128.png
  2. Add an icon before the version number for the platform (Windows/macOS/Linux)
  3. The OBS logo should be vertically centered to match the text next to it

Thank you for submitting this PR, I'm excited to see this evolve.

UI/data/locale/en-US.ini Outdated Show resolved Hide resolved
UI/forms/OBSAbout.ui Outdated Show resolved Hide resolved
@youk-ai
Copy link
Author

youk-ai commented Sep 5, 2022

I believe displaying Patrons by default is intentional, and should be kept.

I've personally been experimenting with ideas myself, and think the following would be worth discussing.

1. Update the dialog to use the new logo - likely a copy of https://github.com/obsproject/obs-studio/blob/master/UI/xdg-data/icons/obs-logo-128.png

2. Add an icon before the version number for the platform (Windows/macOS/Linux)

3. The OBS logo should be vertically centered to match the text next to it

Thank you for submitting this PR, I'm excited to see this evolve.

In regards to your different points:

  1. You're right!
  2. That's very cute and I love the idea! Any recommendations for a suitable source for platform icons?
  3. This one still eludes me, initially the logo actually is vertically centered with the text but once theming applies and text size is changed the alignment gets thrown out the window. One solution would be to hardcode text size but that wouldn't really be ideal.
  4. About the patrons tab being kept as default, this I didn't think of but it makes sense. It also occurs to me that that's probably the reason why the information I put into the "About" tab was previously displayed at all times so as not to stow away information about the patrons. Ideally the patron tab should be displayed first but the information in the about tab should also be displayed. I'm gonna experiment with different variations on how one could lay this out.

@CodeYan01
Copy link
Contributor

I like the modern design. If the patreons should be shown right away, how about just having it as a separate frame on the right? so the only tabs will be About, Authors, and License? You could maybe even have autoscroll, if that's possible? Just throwing suggestions.

@youk-ai
Copy link
Author

youk-ai commented Sep 8, 2022

I like the modern design. If the patreons should be shown right away, how about just having it as a separate frame on the right? so the only tabs will be About, Authors, and License? You could maybe even have autoscroll, if that's possible? Just throwing suggestions.

Thanks for the idea! Unfortunately I couldn't quite make it look right, I'm still learning lots about Qt but it's not quite enough to create good looking animations. But I ended up trying something similar by putting the "About" information next to the obs logo again. This is what it currently looks like:

Screenshot 2022-09-08 141150

To summarize the main changes:

  • Patreon Tab is shown by default
  • About section got moved into a permanent location on the top right corner
  • Removed Label saying "Support the OBS Project", I believe the links on their own are descriptive enough
  • Layout changes to the logo, name and version

In regards to adding platform icons, I noticed that the website already has platform icons which would fit in very well:

Screenshot 2022-09-08 142507

Any thoughts?

@youk-ai youk-ai marked this pull request as draft September 8, 2022 12:37
@RytoEX
Copy link
Member

RytoEX commented Sep 8, 2022

Please hold off on further changes until @Warchamp7 can provide feedback.

@GeorgesStavracas
Copy link
Member

Two suggested changes:

  • Make sure that the top vertical divider is in the middle of the dialog
  • Please make the left padding of the content match the right padding

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improvement to existing functionality UI/UX Anything to do with changes or additions to UI/UX elements.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants