Commit Graph

242 Commits

Author SHA1 Message Date
Warchamp7
e6b52f2e9b libobs, frontend: Signal transition_stop for cancelled transitions 2026-01-16 15:57:36 -05:00
Warchamp7
2faf51a7ed frontend: Prevent setting transition during transitions 2026-01-16 15:57:36 -05:00
Warchamp7
67f4ed3478 frontend: Refresh meter background on style change 2026-01-15 17:07:16 -05:00
Warchamp7
cd2c0b556c frontend: Fix audio mixer dialog on classic theme 2026-01-15 16:20:10 -05:00
Warchamp7
0bdee14778 frontend: Only round final theme values 2026-01-15 15:47:31 -05:00
tytan652
c9bbe81d53 frontend: Add vcs-browser to metainfo
flatpak-build-lint warns to add it.
2026-01-15 14:40:53 -05:00
Warchamp7
d05c8cba25 frontend: Remove unused audio mixer widgets 2026-01-15 12:53:30 -05:00
Warchamp7
26f6091b66 frontend: Fix Audio Mixer toolbar tooltips 2026-01-15 11:43:03 -05:00
Warchamp7
ce87cfb6a1 frontend: Round theme variables with "px" units 2026-01-15 11:13:00 -05:00
Dennis Sädtler
68b19f6b88 frontend: Fix groups not being saved to collection 2026-01-14 16:16:23 -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
Anton Kesy
22016f309c frontend: Fix typos 2026-01-14 13:47:30 -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
802cf6bd90 frontend: Create event filter for widget state styles 2026-01-13 16:34:33 -05:00
Hoshino Lina
2b53fe0e65 frontend: Fix QSystemTrayIcon and QMenu delete order
QSystemTrayIcon holds a non-owning pointer to the QMenu, so it needs to
be deleted first.

Fixes: #12948
2026-01-12 17:48:14 -05:00
Exeldro
cdb7add0b0 frontend-tools: Add lua registered source to module 2026-01-12 07:55:58 -05:00
Matt Gajownik
a5f0988933 Update translations from Crowdin 2026-01-10 01:02:43 -05:00
cg2121
ee1539614a frontend: Add more source undo/redo actions
This adds undo/redo actions for scale filtering, blending mode,
blending method, deinterlacing mode and deinterlacing field order.
2026-01-08 21:37:02 -05:00
Warchamp7
6fa1a35ad4 frontend: Update transform dialog 2026-01-08 21:12:30 -05:00
Warchamp7
c01a9bea49 frontend: Create AlignmentSelector widget 2026-01-08 21:12:30 -05:00
cg2121
8c946e792a frontend: Make sure all scene item properties are copied
Scale filtering, show/hide transitions and private settings were
not copied when copying scene items.
2026-01-08 20:18:13 -05:00
Warchamp7
92a83e4c4c frontend: Sync Preview/Program size and positioning 2026-01-08 19:58:07 -05:00
Dennis Sädtler
de82ca9293 frontend: Refactor OBSBasic::Save to only save frontend canvas scenes/groups 2026-01-08 15:03:19 -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
Sebastian Beckmann
f6a56227eb frontend: Remove implicit capture of "this" using "="
Implicitly capturing "this" with the capture default "=" is deprecated
with C++20. We fix this by either explicitly passing this, or by copying
the required members manually.
While this exposes some rather expensive copies like the QList
selectedItems in OBSBasic_Preview, it doesn't introduce them ("=" copies
implicitly).
2025-12-18 17:30:42 -05:00
Sebastian Beckmann
25f4fc9e70 frontend: Replace "=" capture with "this"
Implicit capture of 'this' with a capture default of '=' is deprecated
in C++20.

# Conflicts:
#	frontend/settings/OBSBasicSettings.cpp
#	frontend/settings/OBSHotkeyEdit.cpp
#	frontend/settings/OBSHotkeyWidget.cpp
2025-12-18 17:30:42 -05:00
Warchamp7
e7e32689a8 frontend: Use palette for Light theme audio mixer 2025-12-18 15:26:37 -05:00
Warchamp7
c8e74c9dec frontend: Round display size for projectors 2025-12-17 21:43:44 -05:00
Sebastian Beckmann
f80d35fa4a frontend: Remove "using namespace std" from headers
This is very dangerous as it propagates down everywhere the headers are
included in.
2025-12-17 18:51:35 -05:00
Sebastian Beckmann
a9634db561 frontend/cmake: Enable Qt strict mode
Qt strict mode disables APIs deemed "'suboptimal' or 'dangerous'" [1]
and "clearly undesirable" [2] by Qt that will be removed in the long
term.
Usages of the APIs in OBS have been removed in the previous commits, and
by setting this flag we keep ourselves from using them again.
The versioning works in a way where e.g. a new addition to this in 6.9
would only be disabled if at least 0x060900 is set. By setting 0xFF0000,
we're effectively disabling any APIs that are deemed to be bad in any
future Qt version (up to 255).
While this could lead to OBS not being buildable against bleeding edge
Qt, it also means that it will be noticed early. Should the disabled API
turn out to be too complex to remove, the value can be downgraded to the
last working one then.

[1] qt/qtbase@3a6c8e02b6
[2] qt/qtbase@f9163ae7a8
2025-12-17 16:35:45 -05:00
gxalpha
5129612b6c frontend,shared: Replace and disable contextless connect calls
# Conflicts:
#	frontend/OBSApp.cpp
2025-12-17 16:35:45 -05:00
gxalpha
876806bbf5 frontend: Replace and disable QString to QUrl casts 2025-12-17 16:35:45 -05:00
gxalpha
9b1d1493ab frontend,shared: Replace and disable QByteArray to char * casts 2025-12-17 16:35:45 -05:00
Sebastian Beckmann
63d7f7fb55 frontend: Replace #defines in YoutubeApiWrappers 2025-12-17 16:35:45 -05:00
Sebastian Beckmann
f9aec57091 frontend: Avoid unnecessary QString<->const char * conversions
SetComboByName, SetComboByValue and SetInvalidValue all pass their
parameters to Qt functions which only take QStrings. As a consequence,
we have cases we'd convert a QString to a const char* to call these
functions, only for the functions to implicitly convert them back into
QStrings. We can avoid this by passing QStrings directly. In cases where
we did actually pass const chars, the (implicit) conversion now just
takes place earlier.
2025-12-17 16:35:45 -05:00
Warchamp7
a4642cc532 frontend: Increase media playback slider fidelity 2025-12-17 15:56:27 -05:00
tytan652
c142571d5c frontend: Cleanup Qt GuiPrivate linkage
Remove unneeded linkages and guard needed ones for Qt versions earlier
than 6.9.0.
2025-12-17 15:04:49 -05:00
Sean DuBois
cd4d624ec3 obs-webrtc: Add Simulcast Support 2025-12-17 13:41:59 -05:00
Warchamp7
ff9b4eb099 frontend: Fix transition duration not loading correctly 2025-12-12 13:44:47 -05:00
Warchamp7
e3df8722bd frontend: Switch off deleted scenes immediately 2025-12-12 13:08:40 -05:00
Warchamp7
34a0a6a530 frontend: Remove crash handler earlier in shutdown 2025-12-04 15:05:23 -05:00
Dennis Sädtler
606e1932b8 frontend: Fix recursion during canvas removal causing crashes 2025-12-03 15:10:44 -05:00
Warchamp7
bd2024eb81 cmake: Fix order of frontend targets
Updates targets to be consistent in their order putting uppercase before lowercase
2025-12-01 16:40:34 -05:00
Warchamp7
14572498dc frontend: Adjust application shutdown logic
Improves app shutdown in a few ways, including separating out different
pieces of the OBSBasic close handler into their own functions.

Removes the crash handler sentinel earlier when the main window is closed,
preventing unclean shutdown warnings when a plugin causes issues. While not
ideal, the dialog is not useful when we cannot specify which plugin caused the
problem.

Increases shutdown priority of the main application so that when OBS interrupts
the session ending, CEF is not closed at the same time. This fixes a crash.

Additional safeguards and event handling to try to ensure a smoother shutdown.
2025-12-01 16:40:34 -05:00
shiina424
d97e5ad820 frontend: Rename scrollbar in Acri theme 2025-11-12 12:33:49 -05:00
shiina424
d6642384db frontend: Rename scrollbar in Classic theme 2025-11-12 12:33:49 -05:00