This reverts commit 08cee21158c1f43956210418dd99ab763a90d2a2.
Turns out that while this did improve theme switching performance, it
also completely breaks styling on macOS and introduces visual quirks
on Windows after switching themes, such as sliders and dropdown contents.
# Conflicts:
# UI/obs-app.cpp
# UI/obs-app.hpp
- The buttons in the accessibility settings were a fixed height, so
they would be rendered in a undesirable way with the Yami theme.
- Also fixes clear button sizing issues in hotkeys sections
The empty state of the SourcesTree widget looks rather busy, with
multiple icons and text without spacing. Revamp that state to use
a single, faded-out, 32px icon, add some spacing between the icon
and the text, and put the icon above the text.
Exact same set of visual changes as before, but this one required
removing some hardcoded sizes from VisibilityItemWidget that were
clipping icons and text, and messing up with the height of items.
New icons for expanding and collapsing groups will be introduced
by next commit, so rename the current one to right.svg - it also
better matches the current filename layout, since we have up.svg,
down.svg, and left.svg.
Setting fixed sizes breaks rendering of the icons in subtle
ways, such as cutting 1px from their sizes. Removing these
fixes sizes seem to allow Qt to correctly render these icons,
and allows us to remove some negative margins hacks that were
added to deal with it.
Some languages such as Spanish or Brazilian Portuguese have longer
words that make the sidebar scroll. Unfortunately Qt reports a rather
large minimum size for the sidebar, so simply removing the maximum
size is not an option.
Increase maximum width of the sidebar to 180px.
The current icon style is somewhat all over the place, with some
icons having thin lines, some others having thicker lines; some
filling the pixel grid in center, others in edges; some trying to
reduce subpixel positioning, some completely unaware of it.
Rework these icons to have a consistent style, with elongated
lines, rounded strokes, and proper center alignment.
The "no_sources.svg" asset is not covered by this work because this
empty state will be worked on in a separate commit.
Further changes will adjust specific UI elements to better match
the icon style.
These icons are derived from the GNOME icon library. I've changed
the fill colour to #fefefe for Dark theme icons, and #000000 for
embedded icons. If further icons are needed, they can be found at
https://teams.pages.gitlab.gnome.org/Design/icon-development-kit-www/
Calling `devicePixelRatioF` from any thread but the main UI thread
triggers thread-safety warnings at runtime on macOS, because Qt uses
NSView calls to determine the value.
NSView calls are only allowed to be made from the main thread on macOS,
so instead the value is stored as a property of the OBSQTDisplay at
initialization, to be retrieved from the preview object later.
Static functions that do not have access to the preview object have the
pixel ratio passed in their call signature.
Allows making QPushButtons use the QToolButton styling.
Current usage is for transitions dock buttons.
May be unneeded after #6756 but doesn't hurt to have
This shows distance between sides of preview and edges of sources.
This will allow users to more easily align sources.
Co-authored-by: Palakis <contact@slepin.fr>
Use JXR for HDR video on Windows. Other operating systems will tonemap
HDR to SDR, and save to PNG. Continue to take PNG screenshots for SDR.
We will probably support EXR for Mac/Linux someday.