43 Commits

Author SHA1 Message Date
Warchamp7
bffd5f5980 frontend: Improve plugin manager safe mode behavior 2026-02-25 19:44:39 -05:00
Warchamp7
acd4c97873 frontend: Fix duplicated layout name 2026-02-20 16:35:30 -05:00
Warchamp7
694680e8c0 frontend: Revert Add Source dialog update
This reverts commit 5fc2476913.
2026-01-28 12:13:20 -05:00
shiina424
00f220a6dc frontend: Make Add Existing Button translatable 2026-01-17 14:28:20 -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
a42a6c4c5f frontend: Refactor and update Audio Mixer 2026-01-13 16:34:33 -05:00
Warchamp7
6fa1a35ad4 frontend: Update transform dialog 2026-01-08 21:12:30 -05:00
Warchamp7
92a83e4c4c frontend: Sync Preview/Program size and positioning 2026-01-08 19:58:07 -05:00
Warchamp7
13a132b486 frontend: Disable dock animations 2026-01-06 07:36:49 -05:00
Exeldro
dc7c8cfb48 frontend: Move transition preview button to button box 2026-01-06 07:02:52 -05:00
Warchamp7
407944a27c frontend: Rearrange default dock positions 2025-12-19 14:43:44 -05:00
Sean DuBois
cd4d624ec3 obs-webrtc: Add Simulcast Support 2025-12-17 13:41:59 -05:00
Warchamp7
9a3fe95211 frontend: Update Plugin Manager v1 UI 2025-09-12 14:18:27 -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
de9fcd6b42 frontend: Unify naming of Idian Playground
It's called Idian Playground in some places and Widget Playground in
others. Idian Playground is more precise so let's use that.
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
PatTheMav
de997b1e2f frontend: Update crash handling and log upload functionality
Updates include:

* Use of CrashHandler to provide automatic uploads of the most recent
crash log if an unclean shutdown was detected and it has not been
uploaded yet.
* Detection and handling of unclean shutdowns is delegated entirely to
the CrashHandler class
* Use of OBSLogReply has been replaced with the LogUploadDialog, which
asks for confirmation before new uploads of log files (confirmation is
skipped for files with available upload URLs already - only available
for crash logs with this change)

Architectural changes:
* OBSApp is the layer responsible for application launch and shutdown
states, as well as crash logs and application logs
* The actual handling is delegated to purpose-made classes which OBSApp
owns instances of
* OBSBasic in turn refers to OBSApp for all this functionality, and can
subscribe/connect to appropriate events exposed by OBSApp to this
purpose
* Implementation details (like the existence of the CrashHandler class)
are not exposed to OBSBasic or the LogUploadDialog

The amount of changes for normal log file upload have been purposefully
limited. A proper refactoring of the application log file handling will
move this code out of OBSBasic as well.
2025-08-22 15:38:12 -04:00
PatTheMav
e4e3035661 frontend: Add LogUploadDialog class 2025-08-22 15:38:12 -04:00
Sebastian Beckmann
268e30a52b frontend: Remove unused macOS window icons
Commit [1] originally made a differentiation between the operating
systems for the window icon. However, on macOS the window icon is only
respected for the main window (and used for the entire app, as windows
themselves don't have icons), and that got removed in [2]. This means
that this code doesn't actually do anything anymore, and thus should be
removed.

[1] 9ac92f61be
[2] 4afafaac6d
2025-08-19 14:48:06 -04:00
shiina424
bd68d33b0d frontend: Fix preview zoom buttons translation string 2025-06-16 13:31:20 -04:00
shiina424
6a01aab641 frontend/forms: Fix text cut off in multitrack video info 2025-06-04 13:26:33 -04:00
Sebastian Beckmann
cabe65cb98 frontend/forms: Fix duplicate UI element name warning
horizontalLayout_5 was already used further up.
2025-06-04 13:03:35 -04:00
Warchamp7
a3884d1375 frontend: Update Dock toolbar styling 2025-05-28 12:22:41 -04:00
Ryan Foster
b9cd9f30b1 frontend: Make profile export menu item translatable 2025-05-22 16:55:49 -04:00
Warchamp7
32f1b93d72 frontend: Swap preview zoom buttons 2025-05-22 14:21:08 -04:00
shiina424
ae61432c8e frontend: Add missing translations 2025-05-22 13:21:41 -04:00
Warchamp7
b46e5bb1c0 frontend: Fix dock title button sizes 2025-05-20 14:40:38 -04:00
shiina424
91ad044e68 frontend: Add close icon 2025-05-14 13:18:37 -04:00
Dennis Sädtler
0552062390 frontend: Allow selecting additional canvases for multitrack 2025-05-05 17:17:20 -04:00
Warchamp7
36e3489d86 frontend: Adjust missing files dialog 2025-04-25 14:01:23 -04:00
gxalpha
76e1818866 frontend: Highlight control dock buttons using style class
Checkable buttons are troublesome because QAccessible interprets them as
checkboxes, and doesn't pass the "clicked" signal to them (see
QTBUG-110737). Instead, we only get the "toggled" signal, which also
gets triggered by things other than user input (i.e., the button getting
changed by the program).

Making them uncheckable means that they behave like normal buttons
again. To style them, we can just add a class and address them that way.
Note that uncheckable here means *actually* not checkable - unlike the
cursed NonCheckableButton class previously used that makes a button
that *is* checkable ignore the user input (and only allow check state
changes via code, effectively making it solely a styling tool).
2025-04-24 15:37:50 -04:00
Warchamp7
13b3c8d033 frontend: Clean up various strings 2025-04-23 14:46:51 -04:00
Warchamp7
c0c77071b5 frontend: Add new appearance options 2025-04-22 15:04:49 -04:00
Warchamp7
69ecfcd9f6 frontend: Reorganize Preview/Source context menu 2025-04-15 15:00:43 -07:00
Sebastian Beckmann
902b3e6976 frontend: Re-set list spacing of source and scene tree to 0
This is needed due to QTBUG-106395. With spacing, drag-and-drop would
cause items to go to the bottom of the list if they are dropped in the
spacing.

Effectively reverts 5fa4ea44d0.
See also #7321 and 860b309db8.
2025-04-09 16:09:26 -07:00
Warchamp7
cd6bb523ae frontend: Adjust scene collection importer 2025-04-03 13:49:58 -04:00
cg2121
86f7475f14 frontend: Add preview zoom controls 2025-04-01 17:31:09 -04:00
cg2121
5fa4ea44d0 frontend: Make list spacing consistent
This makes all list widget spacing set to 1.
2025-04-01 16:39:53 -04:00
Warchamp7
ca762b9460 frontend: Remove Exit button (#11887) 2025-03-24 17:57:44 -04:00
gxalpha
a562b8bf52 frontend: Add Input Monitoring to permissions dialog
The previous commit switched global hotkeys from requiring Accessibility
to just Input Monitoring permissions. This adds the matching changes to
the permissions dialog, also accounting for the fact that Accessibility
includes Input Monitoring.
2025-02-05 14:33:06 -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
e6430ab1d8 frontend: Migrate Qt UI files 2025-01-08 17:33:13 +01:00