Commit Graph
17 Commits
Author SHA1 Message Date
Sebastian Beckmann 9e0c3219ff frontend: Move idian widgets to shared/qt 2025-08-22 16:21:52 -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
Sebastian Beckmann c527f9e34c cmake: Don't add Idian playground when feature is disabled 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
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
PatTheMav 272825b46a frontend: Add CrashHandler class
The CrashHandler class encapsulates all functionality around unsafe
shutdown detection as well as crash log discovery and log upload.

Each (functional) CrashHandler should be initialized with an app launch
UUID, which enables the handler to disambiguate a sentinel file for the
current app launch from those of prior app launches.
2025-08-22 15:38:12 -04:00
Matt Gajownik ffef7504ac Update translations from Crowdin 2025-06-09 14:55:50 -04:00
Ed Maste e0e132e5cf frontend: Fix build on FreeBSD
libpci is now required on FreeBSD, as on Linux.

Fixes: e1d2cf705d ("frontend: Support enhanced broadcasting on Linux")
2025-05-12 17:21:09 -04:00
Dennis Sädtler 368185019e frontend: Add support loading/saving additional canvases 2025-05-02 14:35:22 -04:00
Dennis Sädtler afd7619c98 frontend: Add OBS::Canvas class 2025-05-02 14:35:22 -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
PatTheMav ca44e3037d frontend: Add SceneCollection class as data model for Scene Collections 2025-04-21 15:17:11 -04:00
Alex Luccisano e1d2cf705d frontend: Support enhanced broadcasting on Linux
Enhanced broadcasting requires system information to be gathered
on the client and submitted to the GetClientConfiguration request
in order to obtain a valid response from the server. This commit
adds support for gathering the required information on Linux-based
systems.
2025-04-01 23:18:15 -04:00
Ryan Foster ba9ac1a9a8 cmake: Replace COMPILE_FLAGS with COMPILE_OPTIONS
COMPILE_OPTIONS was added and superseded COMPILE_FLAGS in CMake 3.11.

https://cmake.org/cmake/help/v3.30/prop_sf/COMPILE_FLAGS.html
https://cmake.org/cmake/help/v3.30/prop_sf/COMPILE_OPTIONS.html
2025-02-10 12:57:38 -05:00
gxalpha 79f5ba0e1d cmake: Turn off camera reaction by default on macOS 14.4 and later
The reaction effects that macOS adds by default are confusing to users
as they're turned on by default and users don't know where they come
from or where to turn them off. Setting this flag in the apps Info.plist
prevents them from being turned on by default. The macOS UI makes it
very obvious to the user where they can turn them on should they wish to
do so.
2025-01-16 16:33:59 -05:00
PatTheMav 08a2eb304b frontend: Migrate CMake files 2025-01-08 17:33:13 +01:00