46 Commits

Author SHA1 Message Date
Warchamp7
9fc4a50746 frontend: Defer mixer rename dialog 2026-02-12 17:39:24 -05:00
Warchamp7
0755f475a6 frontend: Skip background paint for invalid sizes 2026-02-12 17:07:21 -05:00
Warchamp7
82b1112389 frontend: Fix VolumeControl rendering 2026-02-11 15:46:19 -05:00
Warchamp7
923118befc frontend: Clean up mixer hidden state 2026-02-04 18:29:20 -05:00
Warchamp7
84361415ff frontend: Close rename dialog if name unchanged 2026-01-28 13:18:47 -05:00
Warchamp7
90d0d593de frontend: Use disabled meter colors when output muted 2026-01-28 12:53:35 -05:00
Warchamp7
694680e8c0 frontend: Revert Add Source dialog update
This reverts commit 5fc2476913.
2026-01-28 12:13:20 -05:00
Warchamp7
8c04e6a3fe frontend: Restrict audio meter update region 2026-01-23 16:18:30 -05:00
Warchamp7
30633344e9 frontend: Force update volume meter backgrounds 2026-01-23 15:21:00 -05:00
Warchamp7
e73662f6c1 frontend: Implement sizeHint for VolumeMeter 2026-01-22 12:32:12 -05:00
Warchamp7
fa49eace7d frontend: Fix audio mixer monitoring state 2026-01-20 12:11:20 -05:00
Warchamp7
67f4ed3478 frontend: Refresh meter background on style change 2026-01-15 17:07:16 -05:00
Warchamp7
d05c8cba25 frontend: Remove unused audio mixer widgets 2026-01-15 12:53:30 -05:00
Warchamp7
5fc2476913 frontend: Replace add source dropdown with dialog
Co-Authored-By: Lain <134130700+Lain-B@users.noreply.github.com>
2026-01-14 14:49:38 -05:00
Warchamp7
902f6d17e5 frontend: Display volume source names with QLabel 2026-01-13 16:34:33 -05:00
Warchamp7
a42a6c4c5f frontend: Refactor and update Audio Mixer 2026-01-13 16:34:33 -05:00
Warchamp7
3e5cd44fd5 frontend: Add Menu Checkbox widget
Update MenuCheckBox.hpp
2026-01-13 16:34:33 -05:00
Warchamp7
c01a9bea49 frontend: Create AlignmentSelector widget 2026-01-08 21:12:30 -05:00
gxalpha
5129612b6c frontend,shared: Replace and disable contextless connect calls
# Conflicts:
#	frontend/OBSApp.cpp
2025-12-17 16:35:45 -05:00
Warchamp7
a4642cc532 frontend: Increase media playback slider fidelity 2025-12-17 15:56:27 -05:00
hongqingwan
85fa987f67 frontend: Fix runtime check failure issue
Fix an issue where the stack around the variable snapEnabled was
corrupted.

SPI_GETSNAPTODEFBUTTON should use BOOL, not bool.

Reference:
 * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-systemparametersinfow
2025-09-26 14:31:08 -04:00
Warchamp7
a9226f81d9 frontend: Fix UI deadlock
There is a Qt bug introduced around Qt 6.8.3 that causes the application
to hang when double clicking the sources list and the Windows setting
'Snap mouse to default button in dialog boxes' is enabled. Work around
this by using a timer if the setting is enabled.
2025-09-15 16:06:38 -04:00
FiniteSingularity
23b67268e7 frontend: Provide UI for phase 1 of plugin manager
For phase 1 of the plugin manager, the ability to toggle off/on plugins
to be loaded at launch is provided.

This commit adds a new Plugin Manager dialog which can be accessed from
the Tools menu, which shows a list of all installed 3rd party plugins
with a checkbox to toggle them off or on.  If a change is made, the user
is prompted to restart OBS. To allow this, the plugin manager uses a
json based config file stored in the OBS config directory. Additionally
for sources in the source tree, a sample UI has been provided that
indicates any sources whose parent module is disabled, by turning its
title red.
2025-08-28 14:29:10 -04:00
Sebastian Beckmann
9e0c3219ff frontend: Move idian widgets to shared/qt 2025-08-22 16:21:52 -04:00
Warchamp7
e8f6143769 frontend: Add new Idian widgets
Co-Authored-By: derrod <rodney@rodney.io>
2025-08-22 16:21:52 -04:00
Norihiro Kamae
8e2da12c2a frontend: Fix multiview not decrementing showing state count
Also replaced a variable `numSrcs` with `multiviewNewScenes.size()`
because they are always identical.
2025-08-22 14:10:45 -04:00
shiina424
2b38b92652 frontend: Fix group icon position in System theme 2025-06-13 17:54:04 -04:00
shiina424
b7bd7c00c5 frontend: Fix visibility and lock checkbox in System theme 2025-05-22 12:48:13 -04:00
cg2121
d7cce79d7e frontend: Use static_cast when casting from void pointers
Using static_cast is preferred here, as it is safer to use than
reinterpret_cast.
2025-05-05 20:47:10 -04:00
cg2121
345fe56b6e frontend: Make sure all QObject subclasses have Q_OBJECT macro
Went through and found all QObject subclasses that didn't have
a Q_OBJECT macro.
2025-05-05 13:10:39 -04:00
Warchamp7
99d7d134a7 frontend: Clip source names when dock too small 2025-04-28 16:18:07 -04:00
gxalpha
28960a48a7 frontend/components: Remove NonCheckableButton
The NonCheckableButton class was previously used for situations where a
*checkable* button was meant to not be checkable by the *user*, but only
through code. This was useful mostly as a styling tool (and to confuse
developers like me as to what it actually did).

The disadvantage is that such a button - a button that is actually
checkable (has the checkable attribute) but ignores the user - still
gets recognized by QAccessible as a checkable button, which has
accessibility issues when used like a normal button (see QTBUG-110737).

We can still get the styling effect on *actually* uncheckable buttons by
giving them a class, so this widget should not be necessary.
2025-04-24 15:37:50 -04:00
Warchamp7
c0c77071b5 frontend: Add new appearance options 2025-04-22 15:04:49 -04:00
Sebastian Beckmann
1388490dfa frontend: Remove additional spacing hack in SourceTreeItem
Effectively reverting 4e97b1bb30, this
removes a hack that added additional spacing as scrollbars would go over
content due to a Qt bug. This bug appears to be fixed, as the described
behavior is no longer observed. As such, the additional spacing is no
longer needed (and only looks out of place).
2025-04-08 12:44:13 -04:00
Warchamp7
c942731aaf frontend: Adjust styling for SourceTree 2025-04-03 14:18:46 -04:00
cg2121
4e8b131509 frontend: Use OBSBasic::Get() in all places
This reduces duplicated code when getting the OBSBasic context.
2025-02-05 15:15:52 -05:00
cg2121
449755ee6d frontend: Move media control dynamic properties to ui file
This moves the dynamic properties for the media control buttons
from the cpp file to the ui file.
2025-01-27 16:36:08 -05:00
PatTheMav
654ddcd409 frontend: Split Qt UI Widget implementations into single files per class 2025-01-08 17:33:13 +01:00
PatTheMav
9f887c76d3 frontend: Prepare Qt UI Widgets for splits 2025-01-08 17:33:13 +01:00
PatTheMav
1ff68267a3 frontend: Split Settings implementation into single files per C++ class 2025-01-08 15:36:55 +01:00
PatTheMav
9876882e0b frontend: Prepare Qt Settings UI files for splits 2025-01-08 15:36:55 +01:00
PatTheMav
085c6245b0 frontend: Split Qt UI dialogs into single files per C++ class 2025-01-08 15:36:55 +01:00
PatTheMav
e4a43f6555 frontend: Prepare Qt UI dialogs for splits 2025-01-08 15:36:55 +01:00
PatTheMav
f4fe30a5b3 frontend: Split Qt UI component into single file per C++ class 2025-01-08 15:36:54 +01:00
PatTheMav
819850c0f6 frontend: Prepare Qt UI components for splits 2025-01-08 15:36:54 +01:00
PatTheMav
3bbda4803e frontend: Add renamed Qt UI components
This commit only contains Qt UI components that are self-contained,
i.e. the translation units only contain code for a single class or
interface and don't mix implementations.
2025-01-08 15:36:54 +01:00