Commit graph

3395 commits

Author SHA1 Message Date
gxalpha 175b0cbc83 UI: Update edit menu on source filter changes
Currently, when adding a filter to a source and then right-clicking it
or using the menu bar edit menu, it's not possible to copy the source's
filters. This is because the edit menu does not update on filter
changes.
Listening to the new global filters add/remove signal and updating the
edit menu will enable the copy option if a filter get added or disable
the option if the last filter gets removed.
2024-05-25 17:08:42 -07:00
gxalpha 4cf18a9abf UI: Add undo/redo to Paste Filters on audio mixer and scenes
Copy-Pasting filters on a scene or on a source via the audio mixer
context menu would not add an undo/redo action. This commit factors the
undo/redo logic out into a generic paste filters function that can be
used for pasting filters everywhere.
2024-05-25 17:06:21 -07:00
gxalpha 8184fa10a3 UI: Inline OBSBasic::ThemeChanged()
The majority of this method got removed in a prior commit [1]. Let's
inline the rest.

[1] 8dcfae9a39
2024-05-25 17:04:58 -07:00
tytan652 34d577d748 UI: Enforce completely Fusion Qt style on Linux
As of 8dcfae9a39, indicating the base
style to the proxy is completely functional.

It also bypasses QT_STYLE_OVERRIDE and -style, but since the system
theme is no longer available on Linux this is a non-issue.
2024-05-25 16:58:26 -07:00
Warchamp7 76bde59e22 UI: Adjust multiview border size 2024-05-25 16:55:02 -07:00
Warchamp7 40885b6b19 UI: Calculate label position using height and border 2024-05-25 16:55:02 -07:00
Warchamp7 8500515d27 UI: Adjust appearance of multiview labels 2024-05-25 16:55:02 -07:00
cg2121 5eeae2d8b2 UI: Change how the status bar gets weak stream output
The changes obs_output_get_weak_output to OBSGetWeakRef to be
consistent with the other UI code.
2024-05-25 16:21:10 -07:00
Ryan Foster cffdc15aac UI: Fix Grid Mode not persisting from View Menu
When clicking Grid Mode or List Mode from the context menu within the
Scenes list, whether or not Grid Mode is enabled persists between OBS
sessions. When clicking Grid or List from the View Menu, the setting
does not persist between OBS sessions. This seems to be a regression
from fc8c428521.

Previously, SceneTree's SetGridMode would set this config value. If the
intent is to not have SetGridMode directly set the config value, then
any function that calls SetGridMode other than the OBSBasic constructor
must instead set the config value.
2024-05-25 16:12:39 -07:00
Warchamp7 8dcfae9a39 UI: Remove unnecessary ProxyStyle usage 2024-05-23 18:55:43 -04:00
Warchamp7 c54393335d UI: Rename MediaSlider to AbsoluteSlider 2024-05-23 18:55:43 -04:00
Warchamp7 aba600cec0 UI: Move VolumeSlider widget to volume control 2024-05-23 18:55:43 -04:00
Warchamp7 132f3f3d69 UI: Adjust Classic theme mixer button styling 2024-05-22 12:15:17 -04:00
Ruwen Hahn 27fa9b1eed UI: Give unnamed settings labels relevant names 2024-05-20 16:11:08 -04:00
Ruwen Hahn a18305dd3f UI: Keep weak stream output ref in status bar
The status bar doesn't currently own its references to outputs, which
can be a problem if streaming outputs are released soon after stream
stop. The Multitrack Video output does exactly that, so the status bar
will sometimes try to access an invalid pointer for updating its stats.
Keeping a weak reference around and upgrading it to collect stats,
similar to how the stats window behaves.
2024-05-17 13:48:32 -04:00
Warchamp7 7843a822e0 UI: Adjust font size on macOS 2024-05-14 17:40:01 -04:00
gxalpha 41650479fe UI: Center preview spacing lines
Currently, the spacing lines begin in the middle of the box and then are
their width wide towards one direction. This means that the larger they
are, the more off-center their middle is.
This commit changes them to start at half their width left/top of the
center and end half the width to the right/bottom of the center, putting
the middle in the center.
2024-05-11 23:12:36 -04:00
gxalpha 67e4853b7d UI: Give private spacing helper sources names 2024-05-11 22:13:42 -04:00
gxalpha 03313a6af4 UI: Fix visibility and lock checkbox styling on system theme
In 7931f2acb8 the classes have been
removed in favor of properties, but this styling change appears to have
been reverted by accident, likely by the theming overhaul.
2024-05-11 21:52:42 -04:00
cg2121 b82a49e881 UI: Use OBSSourceLabel for VolControl
The OBSSourceLabel handles renaming of a source, so we don't have
to use the rename signals for volume controls.
2024-05-11 18:18:13 -07:00
cg2121 272a5edbaa UI: Use vector for volume control signals
This cleans up the volume control code by using a vector for
signals.
2024-05-11 18:18:13 -07:00
cg2121 cd918a7f4c UI: Move projector rename signal
This moves the renaming of projectors from OBSBasic to OBSProjector.
2024-05-11 17:51:47 -07:00
cg2121 023d9bd851 UI: Use OBSSourceLabel for item widget labels
This changes the labels for the source tree/visibility item widgets
to use OBSSourceLabel, as it handles the renaming of sources.
2024-05-11 17:35:04 -07:00
Warchamp7 af685be40d UI: Add OS specific theme variables via prefix 2024-05-10 18:39:18 -04:00
gxalpha 79f680cab6 UI: Use weak_source_expired instead of getting the source 2024-05-10 17:42:28 -04:00
tytan652 92822311a8 UI: Improve and update app CMake 3 metainfo file
CMake 2 path have a newer version of this file.

See the following commits for metainfo change details:
- 853ae5ea6e
- 904fe87f83
- 0cc6068ed4
2024-05-10 16:21:36 -04:00
tytan652 0fc4eb8c96 UI: Restore MuteCheckBox indeterminate state icon in Yami 2024-05-06 17:36:57 -03:00
gxalpha fad6f43608 UI: Set default recording format to Fragmented MOV on macOS
In 22205d582c, the change to default to
Fragmented MP4/MOV on all platforms was reverted due to compatibility
issues with the default video player on Windows.
On macOS however, the default player (QuickTime Player) works fine with
fragmented formats, and instead is unable to play MKV files (which have
always been the default format for OBS). This change makes videos with
the default settings playable on macOS with the default player.
2024-05-04 17:20:05 -07:00
Warchamp7 a3876a41d6 UI: Adjust styling of QTabBar tabs 2024-05-04 17:10:26 -07:00
Warchamp7 8721bf6107 UI: Update media source time labels while seeking 2024-05-04 16:37:17 -07:00
Warchamp7 c54f4371d6 UI: Adjust preview scrolling clamp values 2024-05-04 16:17:12 -07:00
Aleks Todorov bad7b78fe4 UI: Fix text stacking in paused indicator
Currently, the paused indicator is never undone, instead relying on the
update timer to eventually erase it away when the recording duration is
updated. If the user spams pause fast enough, the indicator will stack
several times before it is erased - especially if the unpaused branch in
the update timer never has a chance to run.

Instead of mutating the recordTime text on pause and requiring an undo,
extract the UI update to a separate function which computes the full
text based on the current state. Call this function when pause is
toggled, thereby forcing an accurate UI update that either does or does
not incude the paused text.

An added benefit is that the paused indicator now disappears
immediately.
2024-05-04 13:39:34 -07:00
Aleks Todorov ec31c7e5bf UI: Set recording paused before anything else
When this call was first introduced in eab10d48b2, it was at top of this
block, albeit after the calls to `pause`. Over time it has slowly
shifted lower and lower in the block.

In reality, it should be the first thing in the block to ensure that
further calls have accurate information about the pause state to update
themselves.
2024-05-04 13:39:34 -07:00
Paul Hindt 182410cf6c aja: Prepare plugins for new libajantv2 repo
Support building AJA plugins with either the new libajantv2 library, or
the deprecated ntv2 library.

Finder scripts updated to search for libajantv2 and fall back to ntv2 if
not found. This allows this PR to be merged without requiring a
corresponding update to the pre-built obs-deps packages.
2024-05-02 14:31:16 -04:00
cg2121 dfd5798e6c UI: Fix volume control button styling
The config button and mute checkbox were different sizes.
2024-04-29 14:56:59 -04:00
cg2121 ee72927ad2 UI: Fix styling of appearance tab
This makes the appearance tab look the same as other settings
tabs.
2024-04-29 14:55:01 -04:00
Warchamp7 1ba54adb85 UI: Clean up theme file formatting 2024-04-25 16:10:56 -04:00
Georges Basile Stavracas Neto df1ec719d1 UI: Update appearance icon
- Use the monitor with brush symbolic
2024-04-24 21:48:04 -04:00
Georges Basile Stavracas Neto 402ba09a77 UI: Update filters icon
- Add rounder borders
- Adjust fills
2024-04-24 21:48:04 -04:00
Warchamp7 93bedd21c8 UI: Reset duration when removing show/hide transition 2024-04-22 16:39:21 -04:00
Warchamp7 a3a8f6dbfb UI: Convert themes to composable format 2024-04-21 00:01:16 -04:00
derrod 503968671d UI: Add composable themes feature
Co-authored-by: Warchamp7 <warchamp2003@hotmail.com>
2024-04-21 00:01:16 -04:00
derrod b76e0cd31b UI: Add 'Appearance' settings page 2024-04-21 00:01:16 -04:00
tytan652 41ba8bdfdd UI: Add HighContrastEnabled implementation for Linux 2024-04-21 00:01:16 -04:00
derrod 0a9f1e7391 UI: Add HighContrastEnabled() to platform utilities 2024-04-21 00:01:16 -04:00
Warchamp7 7a3f5d784a UI: Clean up main window dock structure 2024-04-20 16:53:40 -07:00
Norihiro Kamae 7b2d555061 UI: Set dock floating after hiding it
Setting the dock floating before hiding it created a transparent window
on X11.
2024-04-20 16:49:19 -07:00
derrod 83383c13bc UI: Reformat .ui files with Qt Designer
Files have been formatted with Qt Designer (bin\designer.exe) 6.6.2.
2024-04-18 17:26:30 -04:00
Ryan Foster eb65ebdc5e UI: Use System theme volume meter colors
These comments do not actually match the color values here:
 * (0xff, 0xff, 0xff) is white
 * (0xcc, 0xcc, 0xcc) is light gray

Instead of just fixing the comments, use the values from the System
theme and also correct the comments.
2024-04-18 13:59:44 -04:00
Penwywern 731c2d9c82 UI: Change advanced audio controls to use audio_active 2024-04-16 15:48:42 -04:00