Commit Graph
66 Commits
Author SHA1 Message Date
Warchamp7 83f5459afa frontend: Fix empty volume name label 2026-07-06 16:42:49 -04:00
Warchamp7 30d3b89b3b frontend: Parent mixer context menu to window
Parent the QMenu to the window. Fixes a warning for "QWidgetWindow
must be a top level window."
2026-07-02 18:49:44 -04:00
Warchamp7 1b0fc3b8be frontend: Fix resizing horizontal volume name 2026-07-02 18:49:44 -04:00
Warchamp7 b99ccb0367 frontend: Fix invokeMethod function name 2026-07-02 15:54:32 -04:00
Warchamp7 dcbb7840fe frontend: Show warning icon for Monitor Only 2026-07-01 14:27:15 -04:00
Warchamp7 04d36e09b9 frontend: Remove Monitor Only from UI 2026-07-01 14:27:15 -04:00
Warchamp7 696e8495df frontend: Remove volume control tri-state logic 2026-06-17 16:34:16 -04:00
Warchamp7 fcab6489b5 frontend: Clean up function names 2026-06-17 16:34:16 -04:00
Warchamp7 6ff9db6f13 frontend: Fix volume control state desync 2026-06-17 16:34:16 -04:00
Warchamp7 30b63c6849 Update C++ files with braces 2026-06-09 13:41:19 -04:00
Warchamp7andLain 12597e9484 frontend: Replace add source dropdown with dialog
Co-Authored-By: Lain <134130700+Lain-B@users.noreply.github.com>
2026-05-07 15:31:10 -04:00
cg2121 750c016161 frontend, libobs: Add OBSProperties OBSPtr type
We no longer have to manually destroy obs_properties_t.
2026-05-06 17:27:36 -04:00
Warchamp7 52ca7d905b frontend: Move source selection handling to parent 2026-05-06 14:48:32 -04:00
Sebastian Beckmann 649beed45c frontend: Don't store QT_TO_UTF8 to std::string
QT_TO_UTF8 returns a const char * that, in general, shouldn't be stored.
This is because QT_TO_UTF8(str) expands to str.toUtf8().constData():
toUtf8() returns a QByteArray, and constData() the pointer to its data
which is only valid until the QByteArray goes out of scope, which is
immediately after the call.
The original code that is changed here only works because in all of the
situations, the object that is stored to is actually a std::string that
gets constructed implicitly, so the constData() pointer is valid long
enough for the std::string constructor to copy the data.

The issue is that any "... = QT_TO_UTF8" code *looks* unsafe, and may
lead new or unfamiliar contributors to assume that they can also use it,
only to do "const char *... = QT_TO_UTF8(...)" which is dangerous.
Additionally, it introduces an unnecessary round of implicit conversions
and copies when QString.toStdString() already exists and copies into the
string buffer directly.
2026-05-06 14:15:44 -04:00
Warchamp7 b34d17714e frontend: Optimize audio mixer updates 2026-04-20 17:54:47 -04:00
Warchamp7 42564df7ec frontend: Fix muted colors 2026-04-01 10:45:48 -04:00
Warchamp7 d554ed821c frontend: Improve VolumeMeter size calculation 2026-04-01 10:45:48 -04:00
Warchamp7 9236e4fba2 frontend: Improve VolumeName size calculations 2026-04-01 10:45:48 -04:00
Warchamp7 ad41674568 frontend: Adjust mixer horizontal layout 2026-04-01 10:45:48 -04:00
Warchamp7 dba42dae7a frontend: Add missing tooltips to audio mixer 2026-04-01 10:45:48 -04:00
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
Warchamp7andLain 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
Warchamp7andderrod 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