Commit Graph

2661 Commits (master)

Author SHA1 Message Date
cg2121 a92c439af9 UI: Fix scripts dialog buttons
The tool buttons would be rendered incorrectly in the Yami based
themes.
2022-08-22 16:33:31 -07:00
cg2121 f7d815b79b UI: Fix disabled sliders color
The disabled sliders would be the same color as the window background.
2022-08-22 15:42:19 -07:00
jp9000 7b3ae0b03c UI: Fix fields not growing in FFmpeg output settings
Wasn't consistent with how it is with the rest of the user interface

Fixes obsproject/obs-studio#7147
2022-08-22 14:40:59 -07:00
jp9000 b4b01e2054 UI: Use bigger default size for button dock
Due to the new virtual camera button set being ridiculously large, the
main window needs a larger default dock size for the button dock.
Annoyingly.
2022-08-22 14:07:00 -07:00
Richard Stanway ef48f5b28d
UI/installer: Update references to dependencies for 28.0.0 2022-08-21 17:26:27 +02:00
gxalpha 97f76f99e5 UI: Remove separate trash icon themeID
The removeIconSmall is now also a trash icon, so we don't need a
separate (now duplicate) themeID for it anymore.
The icon itself of course needs to stay as it's still needed.
2022-08-20 16:46:02 -07:00
gxalpha 8cf46ca68c UI: Properly register VoidFunc in Meta Object System 2022-08-20 16:45:07 -07:00
cg2121 0afcb71122 UI: Reset volume/media sliders on theme change
Since volume/media sliders are using QProxyStyle, they are not
updated when themes are changed, so re-initialize them.
2022-08-20 16:29:16 -07:00
gxalpha a7419a9809 UI: Use backspace icon to indicate "Clear" in hotkey-edit 2022-08-20 02:02:21 -07:00
tytan652 5d5ecf17b4 UI: Check for virtual camera enablement before loading config 2022-08-18 06:47:42 -07:00
Matt Gajownik c7da23bf96 UI: Remove spaces from translation keys
Qt translation strings use the full English string as an identifier,
rather than a standardised key. Meanwhile, .ini files aren't designed
for keys with spaces, so a translation string for "Restore Defaults"
won't match unless the ini line is
"Restore Defaults"="Defaults"
which is inconsistent, unpleasant and harder to read.
2022-08-18 03:35:51 -07:00
jp9000 3ae1c1470f Revert "UI: Don't set theme if it didn't change"
This reverts commit b4a2eacba7.
2022-08-18 03:21:49 -07:00
tududweb a772e74286 UI: Correctly draw sub-item SpacingHelper on group 2022-08-18 02:35:34 -07:00
tududweb 122b83f4c1 UI: Don't show sub-item SpacingHelper on locked group 2022-08-18 02:35:34 -07:00
tytan652 f41404528a UI: Save virtual camera outside of the modules object
Save the configuration outside of the modules object meant for plugins
in the scene collection.
2022-08-18 02:35:13 -07:00
cg2121 ccfe300f72 UI: Reintroduce faster theme switching
Based on (was reverted):
08cee21158

This simplifies the faster switching code, as setting an empty
stylesheet resets it to default.
2022-08-18 02:34:47 -07:00
cg2121 5412b000ab UI: Remove unused stylesheet code
This code is from before custom stylesheets were introduced.
2022-08-17 23:22:05 -07:00
Chip Bradford 590fa1ffe6 UI: Free virtual cam memory on shutdown 2022-08-17 23:21:28 -07:00
gxalpha 0a94b3ce16 UI: Only set QStyle on app start
Setting a QStyle resets the color palette. This is unhelpful when a few
lines before that we set a new palette. In theory the setStyle call
could just be moved up, but we don't need to since we always set the
same style so there's no reason to call it multiple times.
2022-08-18 14:22:55 +10:00
gxalpha b4a2eacba7 UI: Don't set theme if it didn't change
If the user just reselects the theme they're already on, we shouldn't
set it again, as setting a theme always introduces issues (that are
especially visible on macOS and Linux).
2022-08-17 13:45:40 -07:00
gxalpha 07c54e1b18 UI: Use user application support as base_module_dir 2022-08-17 17:03:48 +02:00
gxalpha b543f96a3b UI: Only load legacy macOS .so plugins on x86_64
Plugins are expected to be in the .plugin bundle format. We do not want
to encourage usage of the old .so format, this is only kept at all for
backwards compatibility with existing plugins.
2022-08-17 17:03:48 +02:00
gxalpha 4998fddf6b UI: Don't load macOS plugin bundles from global library
Plugins are supposed to go into the user application support directory,
so we shouldn't load them from the system one.
2022-08-17 17:03:48 +02:00
cg2121 be98abc088 UI: Fix crash when hiding audio mixer item
This crash is suspected to be a QT bug that happens in 6.2.4, as
it only happens in this version. This is the QT version that is in
the Ubuntu 22.04 ppa, so this fix is a necessary evil as it affects
Ubuntu users.

This fixes the crash by deferring the hiding of the audio mixer
item to the next event loop.
2022-08-17 05:43:02 -07:00
Richard Stanway abedc7d08b UI: Fix use-after-free in properties view 2022-08-17 05:30:57 -07:00
Translation Updater 4aaa07f93d Update translations from Crowdin 2022-08-17 04:22:50 +00:00
Georges Basile Stavracas Neto 87b5f17b2f UI: Update windowaudio.svg
Update it to match the style of the rest of the icon theme.
2022-08-16 22:32:24 -03:00
Georges Basile Stavracas Neto 3ad4e5a251 UI: Update icons for interact and refresh 2022-08-16 22:32:24 -03:00
pkv 3191c73e16 UI: Fix theme leak
This fixes leaks when loading and switching themes.

Signed-off-by: pkv <pkv@obsproject.com>
2022-08-16 07:36:18 -07:00
tytan652 fe889ec28e UI: Fix settings properties view background on Yami variants 2022-08-15 19:07:19 -03:00
tytan652 0f63967ee0 UI: Fix grid mode spacing with Yami variants 2022-08-15 19:07:19 -03:00
tytan652 29d40bb7fb UI/themes: Disable QDialog button icons on Yami new variants 2022-08-15 19:07:19 -03:00
cg2121 92624565a6 UI: Fix Yami list widget hover color
With Yami, when hovering a list widget (ie. scenes/settings), the
background wouldn't change like the sources list.
2022-08-15 18:37:40 -03:00
gxalpha b7e7bf192c UI/themes: Add macOS separator fix to Dark and System 2022-08-15 18:04:14 -03:00
Warchamp7 66e01d2c5d UI: Add Yami variants for Acri and Rachni 2022-08-15 18:01:36 -03:00
Warchamp7 99363e2137 UI: Add Yami greyscale variant 2022-08-15 18:01:36 -03:00
Warchamp7 a1efc73e6a UI: Add Yami light variant 2022-08-15 18:01:36 -03:00
shiina424 43abfafe5a UI: Add missing Icon in System theme 2022-08-15 17:54:04 -03:00
Jim 7b76619c43 UI: Fix increment check for what's new (again)
Increment checks for the what's new file were not working as intended;
old stored increments would unintentionally pass to newer versions if
the newer versions did not explicitly start up with a whatsnew.json file
that had their version. The previous attempt to fix made it so that it
used a completely separate global.ini entry when a matching entry was
found. However, this entry did not take into account the beta or release
candidate number of the current build. This fixes it to bake in the
beta/rc number into the entry.
2022-08-14 01:06:53 -07:00
Jim c63d2f9852 UI: Remove #if expression for what's new message
This #if test was intended to not show messages for new users, but
instead just made it so messages wouldn't show at all if the entry
wasn't previously set. Plus the expression was bad anyway.

This was causing betas and release candidates to not show what's new
messages when they should have been.

Just remove this code as it's silly to have at this point anyway. All
users should see what's new messages if they open the program, even if
for the first time.
2022-08-14 01:06:53 -07:00
derrod 9140c260ee UI: Add Whats New for macOS/Linux
- Requires MbedTLS on Linux
- Enabled by default on macOS and Flatpak
- Enabled on linux via ENABLE_WHATSNEW_LINUX
- Enables compilation of blake2 on Linux/macOS
- Makes header name check also work with lowercase header
- Changes WahtsNew to be only enabled when browser panels are available
2022-08-13 16:46:48 -07:00
cg2121 5aac910659 UI: Fix grid mode spacing with Yami
In the scenes grid mode, the buttons would be squished together in
the Yami theme.
2022-08-13 16:22:02 -07:00
cg2121 5d803058b4 UI: Fix settings properties view background
In the Yami theme, the background color in the properties view in the
settings dialog would be incorrect.
2022-08-13 16:02:00 -07:00
Norihiro Kamae e46e0f8a3e UI: Fix memory leak when virtualcam fails to start 2022-08-13 01:35:45 -07:00
Chip Bradford e7ebe99049 UI: Fix crash when pausing/unpausing recording 2022-08-13 01:33:07 -07:00
cg2121 94189402c2 UI: Fix padding with vertical volume meters
Since Yami uses a different font, the 0 dB mark at the top of the
vertical meters would be cut off. This adds a 1px padding to the top
and bottom of the volume meters, when in vertical mode.
2022-08-13 01:10:38 -07:00
tytan652 cdd3399286 UI/themes: Disable QDialog button icons on all non-system themes 2022-08-13 01:07:29 -07:00
Norihiro Kamae b7d4ae8cf8 UI: Remove unnecessary UTF character 2022-08-13 00:49:17 -07:00
tytan652 e3cebb9942 UI: Avoid forcing the user to start the virtual camera
While configuring it.
2022-08-10 03:44:01 -07:00
tytan652 0e61a57bba UI: Cleanup virtual camera config dialog code
Remove unneeded headers and "using namespace".
2022-08-10 03:44:01 -07:00
Jim 9e15114750
Merge pull request #6577 from chippydip/multiple-video-mixes
libobs: Add support for multiple video mixes
2022-08-09 21:37:48 -07:00
Matt Gajownik 3a7a6f4dc0 UI: Fix build error with stray defaultStylesheet 2022-08-09 22:57:23 +10:00
Matt Gajownik aacc1133f7 UI/installer: Require Windows 10 64bit minimum 2022-08-09 22:43:09 +10:00
Matt Gajownik a7503254f3 Revert "UI: Apply default stylesheet before applying theme"
This reverts commit 08cee21158.

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
2022-08-09 22:39:26 +10:00
cg2121 185dbf5492 UI: Fix ffmpeg path browse button not showing
The ffmpeg path browse button would be hidden in the settings.
2022-08-08 20:44:46 +10:00
Jim cb051240ff
Merge pull request #6896 from GeorgesStavracas/gbsneto/iconography
Iconography and list styles
2022-08-06 17:12:42 -07:00
cg2121 b61cc5de23 UI: Fix spacing with media controls
The spacing in the media controls was set to 0. This only became
noticeable when using the Yami theme, as the buttons have a background
color.
2022-08-06 16:46:47 -07:00
cg2121 f1f405b170 UI: Fix buttons in settings dialog
- 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
2022-08-06 16:26:26 -07:00
cg2121 2b4629848d UI: Fix spacer lines not using accessibility color
The spacer helper lines would not use the selection color set in the
accessibility settings.
2022-08-06 16:14:24 -07:00
Monsteer 0c930f52d3
UI: Fix typo "QTestEdit" in Yami
Changed "QTestEdit" with "QTextEdit".
2022-08-07 01:13:56 +02:00
gxalpha 3233c455d1 UI: Make spacing helpers DPI aware
Addition to 76ae9cbc which was made independently of the spacing helpers
introduced in 2d6a9c9c
2022-08-06 16:10:20 -07:00
Norihiro Kamae e7c00890f6 UI: Increase maximum limit of automatic file splitting 2022-08-06 16:06:17 -07:00
gxalpha a1e8075fba UI: Unregister file splitting hotkey when clearing hotkeys 2022-08-06 10:25:10 +10:00
gxalpha 405f5123c1 UI: Don't hardcode margins in lineedit-autoresize 2022-08-06 10:22:25 +10:00
shiina424 b247a401c9 UI: Add missing Icon in Acri theme
accessibility and interact icons is missing.
2022-08-02 09:46:36 -07:00
shiina424 f58a28da33 UI: Add missing Icon in Rachni theme
accessibility and interact icons is missing.
2022-08-02 09:46:20 -07:00
gxalpha 1a170f4c94 UI: Properly store manual file splitting type 2022-08-02 09:43:15 -07:00
Georges Basile Stavracas Neto b74b5fec65 UI: Make audio icons consistent
Force them to align to a 16x16 pixel grid, and match the style of
other icons in the main UI.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto 2de20ac00d UI: Revamp empty state of SourcesTree
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.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto 3f3cf02d2a UI: Remove 1px spacer from SourceTree
With the new icons, this extra spacer is not necessary.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto d09c1fcdd7 UI: Adjust list style of filters dialog
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.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto 249459afc9 UI: Add specific icons to expand and collapse
Instead of reusing the same thinline arrow, use a smaller, filled
arrow for expanding and collapsing.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto cfb36a338b UI: Rename expand.svg to right.svg
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.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto b26c0dd7d5 UI: Remove fixed icon sizes from SourceTree
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.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto ef999dfc99 UI: Adjust list style of scenes and sources
Exact same set of changes as before, but additionally remove the
margins from the items since it was artificially increasing the
spacing between them.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto a8141789fe UI: Adjust list style of settings sidebar
Add padding between items and border; increase inner padding a
bit; make list items rounded; add spacing between list items.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto 8751741572 UI: Increase maximum size of settings' sidebar
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.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto 7256702f39 UI: Set sidebar icon size to 16px
Symbolic icons, such as the ones used in the sidebar of the settings
dialog, are usually made to work best at 16x16.
2022-08-02 09:27:00 -03:00
Georges Basile Stavracas Neto 30888822bc UI: Rework icons
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/
2022-08-02 09:25:47 -03:00
tytan652 c2122b0916 UI: Fix crash if there is no monitoring available 2022-07-31 21:48:56 -07:00
derrod 5620a469a9 UI: Remove compatibility for QT < 5.10 2022-07-31 21:47:01 -07:00
jpark37 ff88e0b8ac UI: Restore color format/space warning
Callbacks had the wrong signature.
2022-07-31 21:45:51 -07:00
Translation Updater 81734be37c Update translations from Crowdin 2022-07-31 23:40:53 +00:00
Chip Bradford df446c3f6e UI: Add Virtual Camera source selector dialog 2022-07-31 15:39:18 -07:00
PatTheMav f1cf3ff141 UI: Fix Qt call on UI thread from graphics thread
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.
2022-07-31 19:36:34 +02:00
gxalpha 37526e9ac9 UI: Add macOS permissions window
Co-Authored-By: Matt Gajownik <git@wizardcm.com>
2022-07-31 18:14:41 +02:00
gxalpha b7a20cd5e4 UI: Add function to open privacy preferences on macOS 2022-07-31 18:14:41 +02:00
Matt Gajownik 43ef6699e3 UI: Fix toolbutton colour in Yami 2022-07-31 20:45:52 +10:00
gxalpha e75b509bba UI: Include OpenSans font with OBS
Also reinstates the font-family statement removed in 2941c48
2022-07-31 20:23:19 +10:00
cg2121 e072976ccf UI: Add audio mixer toolbar
This adds a toolbar to the audio mixer dock, so it is
easier to access advanced audio dialog and unhide/vertical
actions.
2022-07-31 20:22:02 +10:00
PatTheMav 11325e6a35 UI: Remove permission code paths for Mac OS X before 10.15 2022-07-31 12:21:35 +02:00
Warchamp7 8a3abf1de7 UI: Add toolButton styling property for buttons
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
2022-07-31 20:20:15 +10:00
Matt Gajownik 68499222ad UI: Fix panning when preview scaling is enabled 2022-07-31 14:19:27 +10:00
Clayton Groeneveld 2d6a9c9cc1 UI: Show spacing helpers in preview
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>
2022-07-30 19:41:18 -07:00
jpark37 eb7bb07a79 UI: JXR screenshots on Windows
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.
2022-07-30 16:33:57 -07:00
tytan652 91c46af767 UI: Fix close display before native surfaces
A QPlatformSurfaceEvent constant is used in a switch that only accept
QEvent type.

timerEvent() is missing the override keyword.

f8d415afbe
2022-07-30 16:21:36 -07:00
cg2121 5bdd4fe658 UI: Fix studio mode label not updating
When studio mode is enabled and OBS is first started, the program
scene label would be empty.
2022-07-31 09:18:14 +10:00
gxalpha ea9350bcbf UI: Add hotkey to split file
Adds a frontend hotkey that splits the current recording file. Ideally,
this would only appear if file splitting is enabled like the replay
buffer hotkey, however that is an output hotkey which is hidden because
the output doesn't exist. This doesn't work here since the recording
output is obviously always available, but is unaware of whether file
splitting is enabled until the output is started.
2022-07-30 15:21:08 +02:00
gxalpha 0c8befd4b3 UI: Add file splitting option "Only split manually" 2022-07-30 15:21:08 +02:00
gxalpha 8fd2f164b7 obs-ffmpeg: Enable file splitting with obs_data directly
Also modifies UI accordingly.

This can enable file splitting even if no time or storage limit is set.
2022-07-30 15:21:08 +02:00