0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

2241 Commits

Author SHA1 Message Date
derrod
e2b7597fb0 UI: Fix YT chat being shown when selecting private event 2021-09-05 10:30:20 +02:00
derrod
d6f00ccfd7 UI: Only start YT check thread if auto-start is disabled 2021-09-05 04:04:46 +02:00
Ryan Foster
f832d14220 UI: Disable hotkeys when a user is expected to type text
Disable hotkeys when a user starts an interaction with the UI where they
are expected to type text and re-enable hotkeys when the interaction is
completed.
2021-09-04 15:22:21 -07:00
derrod
ee30a83a6f UI: Remove obsolete/unused struct members 2021-09-04 01:58:38 -07:00
derrod
d5f3ddabd1 UI: Restore auth reset when switching services
Fixes #5236
2021-09-04 01:58:38 -07:00
derrod
79e21eaea3 UI: Remove unused struct 2021-09-04 01:58:38 -07:00
Warchamp7
6995a7b5ae UI: Fix vertical stretching in audio settings pane
The fixes in #5143 caused the audio pane in settings
to stretch out to fit the available space.

Add a spacer so the pane only uses the space it needs.
2021-09-03 21:28:16 -07:00
derrod
a04bd742d7 UI: Use OBS locale for YouTube categories API 2021-08-31 17:59:51 -07:00
derrod
aba94c71e2 UI: Fix missing broadcast state reset on force-stop 2021-08-30 22:30:27 -07:00
derrod
5ea7aa3b7e UI: Start YouTube check thread after output starts
Fixes #5199
2021-08-30 22:30:27 -07:00
derrod
c52d127286 UI: Actually set AutoConfig bitrate max to 51 Mbps
Somebody snuck in an extra 0...
2021-08-30 13:50:12 +02:00
derrod
fe34a4f974 UI: Change YouTube description input to QPlainTextEdit 2021-08-29 22:55:59 -07:00
derrod
d16af0180d UI: Bump AutoConfig bitrate maximum to 51 Mbps
Several of the services included in OBS support bitrates higher than
10,000 kbps, YouTube being the new maximum at 51,000.
2021-08-30 03:29:08 +02:00
derrod
7ae6f328a1 UI: Add missing properties to ResetBroadcast 2021-08-29 01:19:16 +02:00
Exeldro
ffa9cd15e4 UI: Fix crash when output source 0 is null 2021-08-28 01:45:28 -07:00
Warchamp7
b34e6ae76b UI: Fix disabled auto-start/stop checkboxes
The YouTube integration auto-start and auto-stop checkboxes are only
made visible when scheduling an event. However, they are disabled by
default so users can't change them when they're visible.

I suspect these checkboxes used to always be visible and were on an
enable/disable flip which got changed to a visibility flip.
2021-08-27 13:01:10 +02:00
Clayton Groeneveld
6c10e9c3ac UI: Update png to svg in ui files
The icons in the main and filter ui files, were still using
png instead of svg.
2021-08-25 19:54:52 -07:00
gxalpha
4382591be3 UI: Remove "Fullscreen Interface" menu on macOS
Removes the "View" -> "Fullscreen Interface" menu entry on macOS, since
macOS automatically adds an entry doing the same thing by itself.
2021-08-25 19:39:58 -07:00
Warchamp7
2f637ede0f UI: Fix source toolbar shifting when nothing is selected
#5125 added icons to the source toolbar but no icon is displayed when nothing is selected.

This adds a spacer on the right side of the label that gets toggled inversely to the source icon, to maintain the same width
2021-08-25 11:40:43 -07:00
Warchamp7
6e566f9b23 UI: Adjust minimum size of source toolbars
Sets a minimum size on the source toolbar itself to prevent shrinking the main window too small for it to be useable in some cases.

Also sets some sane limits on the toolbars with dropdown menus and the image source toolbar filepath
2021-08-25 02:09:51 -07:00
jp9000
8f97e32227 UI: Allow overriding keyframe interval if smaller
Allows the ability to override the default keyframe interval via
advanced output mode as long as that interval is smaller than the
recommended keyframe interval.

Fixes an issue where it was impossible to set a lower keyframe interval
than the recommended keyframe interval.
2021-08-24 19:41:43 -07:00
jp9000
a6fdc47535 UI: Cache YouTube channel name
This prevents having to look up the YouTube channel every time the
settings window is opened.

Closes obsproject/obs-studio#5154
2021-08-24 18:44:34 -07:00
Warchamp7
e5dd5b4595 UI: Adjustments to YouTube integration strings
Various tweaks to phrasing, casing, and consistency with other places in the UI
2021-08-23 21:56:11 -07:00
derrod
18f40be820 UI: Add YouTube Chat Dock
Since embedded browsers are no longer allowed to log into Google from the chat
dock is effectively read-only.
To prevent users from even trying to log in the input field is hidden
via custom CSS.
2021-08-23 18:28:23 -07:00
Matt Gajownik
6e6263b185 UI: Fix incorrect OBSTheme definition for highlighted text color 2021-08-23 17:14:22 -07:00
Matt Gajownik
e03aeb9bfd UI: Use Palette in all default themes
This also replaces hex colours with RGB.
2021-08-23 17:14:22 -07:00
Matt Gajownik
58caf406cd UI: Load theme palette before loading theme
This ensures the theme loads its own palette colours rather than default.
2021-08-23 17:14:22 -07:00
Warchamp7
ba616fbac2 UI: Add styling for YouTube integration 2021-08-23 06:16:38 -07:00
Richard Stanway
f131c0c36b UI: Use inline const for shared vector
Issue detected by PVS Studio.
2021-08-22 17:12:00 -07:00
Richard Stanway
64f3b29e02
Merge pull request #4678 from cg2121/logviewer-fixes
UI: Log viewer fixes
2021-08-21 21:59:05 +02:00
jp9000
5968119c61 UI: Hide auto-start/auto-stop options in YouTube dialog
Having these widgets visible but disabled will only serve to confuse
users, so these widgets don't even need to be visible if the user isn't
performing a scheduled broadcast. There really isn't a purpose in having
them visible.
2021-08-21 06:51:46 -07:00
jp9000
bbad7f3e1f UI: Replace bad YouTube link with popup helper
The helper link associated with starting a scheduled broadcast was not
helpful, as it linked to developer API documentation. Instead, have the
helper widget pop up a tooltip so the user understands what it is doing,
and adjust the wording slightly so that the user knows it's a setting
primarily used for scheduled broadcasts (normal streams always start
right away)
2021-08-21 06:49:34 -07:00
jp9000
a668e01788 UI: Fix minor leak
The authors of this function didn't realize that the data object
returned from obs_service_get_settings() is incremented, and must be
released.
2021-08-20 18:47:26 -07:00
Clayton Groeneveld
afd58a78e5 UI: Add option to draw safe areas in preview 2021-08-20 15:20:59 -07:00
jp9000
fbbe193c59 UI: Add required links when using YouTube
These links are required by Google to be shown on any API client when
using Google/YouTube API.
2021-08-20 06:24:00 -07:00
Richard Stanway
e8d4de6bec decklink-output-ui: Don't update UI during shutdown
Fixes a crash on exit if the user exited with the outputs running as the
parent window will have already destroyed doUI.
2021-08-19 00:04:52 +02:00
gxalpha
981e7f7079 UI: Fix redo recreating sources in the wrong scene
Fixes an issue where if creating a new source was re-done from a
different scene, the source would be created first in that scene and
then OBS would switch to the scene where the source originally was
created.
Changes the order of these two operations, which makes OBS create the
source in the correct scene.
2021-08-18 11:16:14 -07:00
Jim
6c106893b9
Merge pull request #5143 from Warchamp7/ui-form-cleanup
UI: Clean up other UI form file markup
2021-08-18 06:49:00 -07:00
Clayton Groeneveld
a3f3b9d03c UI: Show source icon in context bar
This shows the source icon next to the source label in the
context bar.
2021-08-17 18:26:11 -07:00
gxalpha
008c6e4805 UI: Add menu bar item to show missing files dialog
Adds an entry to the "Scene Collection" tab of the menu bar that makes
the missing files dialog come back in case it got dismissed of files got
removed while OBS was open
2021-08-17 13:59:04 -07:00
derrod
c2cd372b00 UI: Fix missing #if for autostart warning 2021-08-17 19:41:26 +02:00
derrod
fc3f349a31 UI: Add "Don't show again" checkbox to YT auto start warning
Also modifies the warning message to be more clear about what this
means.
2021-08-17 19:12:27 +02:00
derrod
4ef2a79a19 UI: Show loading indicator while fetching YouTube Events 2021-08-17 18:35:55 +02:00
derrod
a4d37dba73 UI: Fix YouTube event selection, API usage, stream resumption
All these fixes are interlinked but to explain them further:
Event selection would only partially work, the code to re-use an
existing liveStream was never hit and so didn't work. It would also
break going live because broadcast_id would never be set. Additionally
it called StartBroadcast for no reason if autostart was enabled.

API usage was unoptimal. Instead of only fetching the events we need
(active, ready) it would fetch *every single livestream* on the youtube
channel, 7 at a time, and then throw away every single result in the
majority of use cases.
This commit changes it to only fetch "active" and "ready" broadcasts and
then only filters out active ones that cannot be resumed (because
they're stil live).

Resuming existing streams also didn't work because they were just thrown
out by the selection. Now they get included if the attached liveStream
is not receiving data. The're distinguished in the UI and are listed
first. Simply selecting them and starting the stream will work.

These's still some stuff left, like redundant API calls. But thankfully
those fail silently and we can simply ignore it for now.
2021-08-17 18:35:55 +02:00
derrod
e212acf025 UI: Improve YouTube (error) translatability
Adds the ability to provide translated messages for YouTube API erorr
reasons.

Also adds translation for various internal errors that were previously
hardcoded to english.

Minor changes to existing translation strings to improve
translatability.
2021-08-17 18:35:55 +02:00
derrod
9b57490e2c UI: Show error if Google account has no channels 2021-08-17 18:35:55 +02:00
derrod
db368b5afc UI: Improve YouTube API HTTP error handling 2021-08-17 18:35:55 +02:00
derrod
64b21ad12f UI: Add fail_on_error parameter to GetRemoteFile
CURLOPT_FAILONERROR swallows the body of 40X responses,
but in some cases we want to read the body for error details.
2021-08-17 18:35:55 +02:00
gxalpha
85891630b3 UI: Dim hidden source items in source tree
Dims the items of hidden sources in the sources dock to make it more
obvious that they are not visible. Both the icon and the sources name
are affected.
2021-08-17 08:24:28 -07:00
jp9000
7fffca945e Revert "UI: Remove macOS-Default Full Screen Menu Item"
This reverts commit cf445be44c.

Did not mean to merge this. #4768
2021-08-17 06:00:53 -07:00
gxalpha
cf445be44c UI: Remove macOS-Default Full Screen Menu Item
macOS looks if the NSUserDefault NSFullScreenMenuItemEverywhere is set
to true, and if it is, it adds its own full screen menu item.
Sets this NSUserDefault to false since it defaults to true.
2021-08-17 05:58:29 -07:00
Warchamp7
6f90380ec2 UI: Show name of scene item in Transform window title 2021-08-17 05:54:29 -07:00
Warchamp7
4d1862d3c6 UI: Fix media controls toolbar default size and styling 2021-08-17 04:11:36 -07:00
Warchamp7
dca7fadf51 UI: Change the Source Toolbar to not be fixed size
This is part of a larger pass I'll be making over the UI to make it behave better with qss

The Source Toolbar previously had a fixed height that made styling it difficult. It now takes up the minimum amount of space it needs, but can grow to accommodate larger buttons, padding, etc.
2021-08-17 04:11:36 -07:00
Warchamp7
a48f87c057 UI: Change QWidgets to QFrame so Qt Creator doesn't hide these entries
QWidgets that contain property definitions as well as a layout child item do not properly show up in the Qt Creator hierarchy.

These properties are still invisibly applied but the QWidgets are not shown in Qt Creator and will get removed from the file after saving.
2021-08-17 04:11:36 -07:00
gxalpha
5db62af907 UI: Apply QSS to generic hotkey settings label
Fixes an issue where in the hotkey settings, some header labels wouldn't
be styled as intended.
2021-08-17 04:11:14 -07:00
Ryan Foster
ea9c75bacb cmake: Remove local files for checking threading support
These local copies of CheckForPthreads.c and FindThreads.cmake override
the ones included with CMake. These versions create CMake::Threads, but
Qt6 expects Threads::Threads created by CMake 3.1+. These local versions
seem to be based on old copies from CMake from late 2014 with some
customizations. Let's just use the built-in ones that CMake ships.

This commit also changes CMakeLists.txt files in UI and libobs to
require and link to Threads::Threads.

Co-authored-by: Kurt Kartaltepe <kkartaltepe@gmail.com>
2021-08-17 02:46:09 -07:00
Warchamp7
592570bb2b UI: Clean up Update form markup
Small whitespace fix
2021-08-17 05:44:29 -04:00
Warchamp7
95cdc0eba2 UI: Clean up Remux form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:43:36 -04:00
Warchamp7
7deba80aaf UI: Clean up Missing Files form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:43:09 -04:00
Warchamp7
e324b69c9f UI: Clean up Importer form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:42:05 -04:00
Warchamp7
1d48fc0a0e UI: Clean up Custom Browser Docks form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:41:30 -04:00
Warchamp7
2233e3450d UI: Clean up Transform form markup
Fixes some QWidgets that Qt Creator tries to clobber. As a result, there is a new spacer added now to ensure the controls remain grouped at the top of the window.
2021-08-17 05:38:23 -04:00
Warchamp7
592e404df5 UI: Clean up Interact form markup
This re-adds the native attribute for the OBSQTDisplay that was removed in #3782. I believe this particular removal was an error, and there is no way around this entry being native since OBSQTDisplay extends QWidget
2021-08-17 04:25:20 -04:00
Warchamp7
c4edb9a07f UI: Clean up Filters form markup
Fixes some QWidgets that Qt Creator tries to clobber. As a result, there are a couple spacers added now for the toolbars to align properly and a stretch policy on the main layout.

This re-adds the native attribute for the OBSQTDisplay that was removed in #3782. I believe this particular removal was an error, and there is no way around this entry being native since OBSQTDisplay extends QWidget
2021-08-17 04:23:08 -04:00
Warchamp7
092d03afd5 UI: Clean up About form markup 2021-08-17 02:08:28 -04:00
Warchamp7
3b52bbad61 UI: Clean up AutoConfig form markup 2021-08-17 02:08:08 -04:00
Warchamp7
47e370682b UI: Clean up toolbar form markup 2021-08-17 01:49:20 -04:00
Warchamp7
59ed4131a8 UI: Clean up Settings form markup
This continues work from #5133 to correct UI file markup and save correctly in Qt Creator

Defining alignment as an attribute in the <item> tag seems to be old behaviour that current versions of Qt Creator do not respect and will clobber these entries on save.

The correct approach is to have alignment as a property element in the widget.

As well, QWidgets that contain property definitions as well as a layout child item do not properly show up in the Qt Creator hierarchy.

These properties are still invisibly applied but the QWidgets are not shown in Qt Creator and will get removed from the file after saving.
2021-08-17 01:41:57 -04:00
Ryan Foster
e13e46839f UI: Query rtmp-services for stream key link URLs
Using the newly added stream key links in services.json from
rtmp-services, we can fetch the URLs from that source instead of
hardcoding them here. This allows us to remove service-specific code
from UI code and allows out-of-band updates to these URLs.
2021-08-16 09:48:14 -07:00
gxalpha
c9302d13ce UI,obs-transitions: Enable missing files dialog for stinger transition
Adds transitions to the missing files check, allowing for stinger
transitions to be shown in the dialog
2021-08-16 08:29:54 -07:00
jp9000
ee67228a94 UI: Fix compiler error
I probably should have at least compiled this before pushing a commit.
2021-08-15 06:55:15 -07:00
jp9000
228ca55661 UI: Fix frontend API cleanup/exit event order
Makes it so that the exit event is always called regardless of save
state, and that exit is always called after cleanup rather than before.
2021-08-15 06:44:23 -07:00
Exeldro
2f07107e88 frontend-tools: Fix crash on shutdown 2021-08-15 05:51:32 -07:00
derrod
ea271f9d91 UI: Create YouTube LiveStream objects as non-reusable 2021-08-15 05:06:28 -07:00
tytan652
47df2467e9 UI: Force Wayland usage under Wayland session
Qt doesn't use the Wayland platform on GNOME, so we have to
force it using the QT_QPA_PLATFORM env var. It's still possible to
use other QPA platforms using this env var, or the -platform command
line option.

qt5-wayland is now a required dependency for OBS on Linux (or FreeBSD).

Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
2021-08-15 05:05:29 -07:00
Richard Stanway
7217671eb0 UI: Trim custom server string
Spaces in the URL can cause issues as ffmpeg-mux is unable to figure
out the protocol. Fixes #5100.
2021-08-12 23:41:14 +02:00
Exeldro
5b18faeb49 UI: Add functions to open properties and filters 2021-08-12 04:31:40 -07:00
Exeldro
f0d372bdd7 obs-frontend-api: Send OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP 2021-08-12 01:33:52 -07:00
jp9000
57ae92206f UI: Fix unused variable outside of #if 2021-08-10 23:16:42 -07:00
Richard Stanway
64457e3d63 Revert "UI: Initialize Studio mode after loading scenes"
This reverts commit 8b50ad5e2a.
Regressions when loading a saved program / preview mode. Actual fix
probably needs to be done inside SetPreviewProgramMode.
2021-08-10 21:51:15 +02:00
Vainock
674715d369 UI: Replace '&&' with 'and' in YT integration 2021-08-08 16:47:17 +02:00
Jim
5292d1ced2
Merge pull request #5047 from obsproject/obs-yt-integration
YouTube Integration
2021-08-08 00:22:52 -07:00
gxalpha
6f778df158 UI: Show autoremux progress bar
Fixes a bug where the progress bar for autoremuxes wouldn't be made
visible when it started, and only a blank popup window appeared.
2021-08-07 23:17:50 -07:00
gxalpha
3e16296403 UI: Autoremux Replay Buffer
Replays from the replay buffer will be automatically remuxed to MP4 like
recordings are, if autoremux is enabled.
2021-08-07 23:15:12 -07:00
Yuriy Chumak
e6f1daab8c UI: Add YouTube integration 2021-08-07 01:07:04 -07:00
Norihiro Kamae
04b0d632aa UI: Fix da_push_back taking a wrong type of item
A pointer to `OBSSource` was passed to an argument that expect a pointer
to `obs_source_t *`.
Since the current implementation of a class `OBSSource` has a member
`obs_source_t *obj` at first and the class does not have any virtual
member functions, most implementation should work correctly.
2021-07-31 15:29:26 -07:00
Exeldro
08d9069201 UI: Fix undo delete scene that is used as source 2021-07-31 15:25:00 -07:00
Georges Basile Stavracas Neto
4c07ba6886 Revert "UI: Disable drag/drop on Linux scenes/sources (for now)"
This reverts commit 457adcedd3.

Requires https://github.com/obsproject/obs-browser/pull/304
2021-07-28 10:28:49 +10:00
Yuriy Chumak
0654675f32 UI: Add support for external browser OAuth
(Jim note: Adds abstraction to the OAuth class to allow the ability to
perform OAuth via external browser, and adds an AuthListener to act as
the local auth server.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak
63ad0642ae UI: Specify exact service to auth login callbacks
(Jim note: This gives the ability for auth login callbacks to know which
specific service type is being used. For example, with something like
YouTube, there's multiple variants: RTMP, RTMPS, and HLS. This way, the
service login callback can determine how it wants to treat the login
procedure depending on the specific type of service.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak
37b9ece904 UI: Add request type param to GetRemoteText 2021-07-24 15:50:59 -07:00
Yuriy Chumak
c4840ddba0 UI: Set Qt locale to current OBS locale
(Jim note: This will cause certain Qt functions to treat string
conversions differently depending on the language. Useful when using Qt
to perform these conversions.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak
eb6ba44c8a UI: Include QtNetwork as a direct dependency
(Jim note: Rather than copy the QtNetwork library manually like we were
doing before, this makes it so that QtNetwork is used as a dependency of
the UI. The cmake used to copy the library manually thus us no longer
necessary.)
2021-07-24 15:50:59 -07:00
Richard Stanway
f0e3cd1f91 UI: Simplify expressions in GetMonitorName 2021-07-24 23:15:45 +02:00
Richard Stanway
2727dd96bd UI: Handle prefixes when using paths in recording format
The replay buffer and screenshot functions add a prefix to the output
filename. The code in GetFormatString assumed the format string was the
entire filename, and inserted the prefix at the beginning. This caused
illegal paths such as "Screenshot /2021/05/22-35.mkv" to be created if
the user had specified a path in the format string, resulting in lost
files.

This commit inserts the prefix before the last / character to ensure it
only affects the filename portion of the format string.

Fixes #4707
2021-07-24 22:34:44 +02:00
Richard Stanway
8b50ad5e2a UI: Initialize Studio mode after loading scenes
Switching to Studio mode tries to duplicate the current scene, which is
null until scenes are loaded, generating various errors.
2021-07-24 22:34:44 +02:00
Richard Stanway
4c8b209bf0 UI: Use larger buffer for scene collection filename
Though the maximum size of a scene name is 170 characters, after
worst-case UTF-8 expansion this could overflow the buffer, resulting
in the scene collection being "lost" as the .json extension was
truncated.

Fixes #2560
2021-07-24 22:34:43 +02:00
VodBox
394eab050c UI: Fix ambiguous conversion error 2021-07-20 17:34:42 +12:00
VodBox
1102e0b1ee UI: Fix formatting on window-basic-settings.cpp
A requested change on PR #4455 resulted in a formatting error that was
missed before being merged. My bad.
2021-07-20 17:24:16 +12:00
Delta
a64328da56
UI: Add "18 Scenes" multiview option
Adds a "18 Scenes" multiview option. The 18 scene view leaves the
preview and program sized to the upper half of the window

Settings index in combobox may not match up with enum index. Settings
in the dropdown can now be ordered separately from the enum order.
2021-07-20 17:16:44 +12:00
gxalpha
09865c2ad4 UI: Fix displayed autoremux file name 2021-07-09 19:52:21 +12:00
SCG82
88cc691afa UI: Add obs-frontend-api functions to create/delete profiles 2021-07-09 19:32:18 +12:00
tt2468
502bc3bf0a UI: Add startup flag to disable missing files window
Adds a startup flag (--disable-missing-files-check) to disable the
missing files dialog from appearing on load. For some users, the
missing files dialog may interfere with automation of OBS, or the
user may also purposefully have missing files in their scene
collection which they do not want to be warned about.
2021-07-09 18:32:56 +12:00
tt2468
9ca70f4470 UI: Add obs_frontend_get_current_profile_path()
Returns the path of the current profile's location on the filesystem.
2021-07-09 17:39:40 +12:00
Matt Gajownik
74c3781554 libobs, UI: Add support for button properties as links
This adds support for a button property that opens a URL, after showing
a confirmation dialog to the user. Both the Type and URL must be set.
2021-07-09 17:32:09 +12:00
Bruce Zhang
7baf08e917 rtmp-services: add bilibili live 2021-07-08 09:44:28 -07:00
Matt Gajownik
5485a91d4c UI: Log Show/Hide transitions on scene collection load 2021-07-04 08:25:33 -07:00
Rat
c1deaf9c3f UI: Fix audio mixer UI not updating from threads
When changing a source's audio mixers/tracks or sync offset with
obs_source_set_audio_mixers or obs_source_set_sync_offset
from a non UI thread while the advanced audio properties panel is open
the UI fields will not update until closed and reopened.

It just shows an error on stderr for the failed invokeMethod calls
that would do the update. For mixers and sync offset respectively:
QMetaMethod::invoke: Unable to handle unregistered datatype 'uint32_t'
QMetaMethod::invoke: Unable to handle unregistered datatype 'int64_t'

Added needed Qt registrations in window-basic-main as that's where
all the needed ones for the frontend UI seem to be put.
2021-07-04 04:34:06 -07:00
gxalpha
7526bf76ff UI: Check if recording is paused when trying to pause
Adds a safety check to the pause-functions, double-checking that they
won't be called whether it is already in the desired state
2021-07-01 00:23:58 -07:00
Matt Gajownik
cf9899bade UI: Handle HTTP errors for fetching remote files 2021-06-30 01:46:50 -07:00
Matt Gajownik
1517062251 UI: Handle & log HTTP errors for RemoteTextThread
This includes the Patreon fetcher & the log/crash report uploader
2021-06-30 01:46:50 -07:00
Ryan Foster
1fa45e63a3 UI: Remove fractional scaling ifdefs
Among the systems we officially support, the oldest Qt version is Qt 5.9
on Ubuntu 18.04. Fractional scaling is supported in Qt 5.6 and newer. We
should be able to safely remove these ifdefs.
2021-06-30 01:42:01 -07:00
Ryan Foster
b496f43d45 UI: Make projector display resolutions DPI-aware
Follow up to PR #3988 and commit
5cdd084c7f.
Without this change, displays listed as projector targets on systems
using a fractional scaling factor (e.g., 125%, 150%, 175%) will show an
incorrect width and height for their size. For a display with 125%
scaling, OBS would show 1536x864 instead of 1920x1080. With this change,
it will show 1920x1080.
2021-06-30 01:24:02 -07:00
jp9000
f7dcb6afd6 UI: Fix win uninstall not deleting desktop shortcut
The Windows uninstaller was not deleting the desktop shortcut because
the shell context was incorrectly set to "current" for it, causing it to
try to delete in the incorrect location.
2021-06-22 19:05:43 -07:00
Matt Gajownik
3cc4feb8dd UI: Fix code indentation for Edit Undo/Redo 2021-06-13 15:36:22 +10:00
Matt Gajownik
dcd491541e UI/installer: Silently install Visual C++ Redist
Requires redistributables in the install build directory.
2021-06-11 23:12:30 -07:00
jpark37
cd5873e9bc UI: Fix unused parameter warning 2021-06-11 07:20:50 -07:00
Translation
ef2b1eb1c6 Update translations from Crowdin 2021-06-11 07:18:15 -07:00
jp9000
2d524580fe UI: Fix context bar crash
This crash was caused by the fact that the SourceToolbar::oldData member
variable was not being released correctly. To release an OBSData object,
it must be either destructed, set to a new value, or set to a null
value.
2021-06-10 14:33:32 -07:00
Ryan Foster
e0edd753ad UI: Handle mac-vth264 encoder ID change
Before OBS Studio 27, we used our own hard-coded internal encoder IDs on
for the mac-vth264 plugin: vt_h264_hw and vt_h264_sw. As of OBS Studio
27, we changed to using the encoder IDs that Apple's API reports.
Specifically, this behavior occurs due to PR #4105 and commit
6a9f25c8ea.

Unfortunately, this change in encoder IDs failed to take into account
existing user configurations, resulting in users with broken encoder
settings. This change attempts to gracefully upgrade user configurations
to handle the changed encoder IDs.

Fixes #4799.
2021-06-09 17:14:32 -07:00
Exeldro
5998f4cc4d UI: Optimize backup scene for undo/redo 2021-06-08 23:29:17 -07:00
Ford Smith
2ae593860d UI: Fix filters changes not properly being added to undo stack 2021-06-07 21:47:03 -07:00
Matt Gajownik
4d647d8d15 UI: Translate Undo action "Delete Scene" and include scene name 2021-06-06 11:05:47 -07:00
Matt Gajownik
94404a4d28 UI: Don't execute or track empty SceneItem move actions
This would appear as "Undo Move '' in 'Scene Name'"
2021-06-05 20:07:57 -07:00
jp9000
2b69adf3bc Revert "UI: Cleanup on_scenes_currentItemChanged function"
This reverts commit c497342fd6.

Fixes a bug where the sources list would not update after 5b25dec714.
2021-06-04 20:44:20 -07:00
jp9000
5b25dec714 Revert "UI: Fix spamming of log when setting current scene"
This reverts commit 9ca7e1cb0f.

Fixes obsproject/obs-studio#4801
2021-06-04 18:56:28 -07:00
Ryan Foster
5517db5122 UI: Disable Copy Filters in scene list for scene with no filters
When you right-click on a source in the Sources list that does not have
any filters, the "Copy Filters" item is disabled. When you right-click
on a scene in the Scenes list that does not have any filters, the "Copy
Filters" item is enabled. This fixes the Scenes context menu to behave
like the Sources context menu.
2021-06-02 03:39:26 -07:00
Ryan Foster
efb2dc70b9 UI: Disable Copy Filters in Audio Mixer for source with no filters
When you right-click on a source in the Sources list that does not have
any filters, the "Copy Filters" item is disabled. When you right-click
on an audio source in the Audio Mixer that does not have any filters,
the "Copy Filters" item is enabled. This fixes the Audio Mixer context
menu to behave like the Sources context menu.

Fixes #4790.
2021-06-02 03:39:26 -07:00
jp9000
457adcedd3 UI: Disable drag/drop on Linux scenes/sources (for now)
Due to a Qt issue on Linux, disable drag/drop on the scenes/sources list
on Linux for the time being.
2021-05-31 12:18:45 -07:00
jp9000
fb42a2ad8c UI: Remove scene collection undo/redo actions 2021-05-30 11:54:46 -07:00
Gol-D-Ace
90df8d44df Update translations from Crowdin 2021-05-30 20:33:35 +02:00
jp9000
dfff6bcfd6 UI: Fix OBS signal recursion
SourceSyncChanged() would call syncOffsetChanged() because it's
connected to the widget.  This is fixed by blocking signals

This bug was discovered because undo/redo actions for sync offset
changes were triggering the creation of new undo/redo actions within
their own callbacks.

Fixes obsproject/obs-studio#4760
2021-05-28 11:29:58 -07:00
Ed Maste
8dd612e37f UI: Correct add_action repeatable arg type
FreeBSD build fix.  repeatable is a bool, so pass false instead of NULL.
2021-05-23 03:34:39 -07:00
jpark37
2dc87dcd7f UI: Fix null string being passed to blog() 2021-05-21 23:45:15 -07:00
jp9000
c4c5b0d21d UI: Add Group/Ungroup Undo/Redo actions 2021-05-21 18:17:09 -07:00
jp9000
64cd451def UI: Do not allow new undo actions while undo disabled 2021-05-21 18:14:59 -07:00
jp9000
008a7372d3 UI: Add OBSBasic::BackupScene() with scene param
Just a little inline helper that automatically converts it to a source
so callers don't have to manually do this each time.
2021-05-21 18:13:19 -07:00
jp9000
7bdd384fd5 UI: Fix hide undo/redo not working with group items
Fixes obsproject/obs-studio#4702
2021-05-17 16:34:56 -07:00
Clayton Groeneveld
f4c36460c8 decklink-output-ui: Stop outputs when unloading
When closing OBS, sometimes it would crash if the Decklink outputs
were active.
2021-05-15 14:08:49 -07:00
Clayton Groeneveld
b28f99d4cd decklink-output-ui: Render texrender once per frame
To prevent rendering the texrender more than necessary, only
render it once per frame in a tick callback.
2021-05-15 14:08:49 -07:00
Ryan Foster
0a3cd9021b UI: Add versioned sources to scene collection importer
Versioned sources were added in commit
b2302902a3 after the scene collection
importer was added in commit 191165c721.
When a versioned source gets converted in TranslateOSStudio, it can end
up with a translated "id" but an untranslated "versioned_id". When OBS
loads the resulting JSON, it will rely on the versioned_id, and rewrite
the id to the corresponding value. Use obs_get_latest_input_type_id on
the translated source id to get the correct versioned_id when using
TranslateOSStudio.
2021-05-14 20:44:19 -07:00
Ryan Foster
183fb20dde UI: Fix scene collection importer OS translation
The OS translation in the Scene Collection Importer seems to have been
broken since the feature was added because the translated sources were
not added back to the output JSON object. Add the translated sources to
the output JSON object to get the feature to work.
2021-05-14 20:44:19 -07:00
jp9000
8bcb2c3d42 UI: Add paste source undo/redo actions 2021-05-12 22:07:40 -07:00
jp9000
1afe092c6e UI: Add disable push/pop to undo/redo stack
This allows disabling and re-enabling in certain situations where these
actions doing so might end up being used in recursion.
2021-05-12 21:35:11 -07:00
jp9000
edc82eb7cf UI: Use "enabled" instead of "disabled" variable name
Avoids double-negative naming.
2021-05-12 21:35:03 -07:00
jp9000
b86999e133 UI: Rename enable/disable funcs for undo/redo stack 2021-05-12 21:13:56 -07:00
Clayton Groeneveld
a5bb527ce5 UI: Delete log viewer when closing it
When the user would open the log viewer and close it, it would
just hide, instead of deleting it.
2021-05-09 20:35:28 -05:00
Clayton Groeneveld
7aedf78338 UI: Simplify log viewer on launch code
Removes redundant code when showing log viewer on start up.
2021-05-09 20:34:53 -05:00
jp9000
cec8e24630 frontend-plugins: Fix script properties not updating
Fixes a bug where script properties would not update correctly after the
Undo/Redo changes in the properties view. The properties view was using
the wrong callback, and had a bad cast.
2021-05-09 08:45:08 -07:00
jp9000
8ecf634ba7 Revert "rtmp-services: Add Odysee.com"
This reverts commit e876ad6596.
2021-05-09 00:55:16 -07:00
Developer
4e4c460829 rtmp-service: Rename "stream key" for dacast
(Additional note by Jim: Apparently, dacast doesn't use "stream key" for
whatever reason on its website, so this commit apparently changes the
text "Stream Key" to "Encoder Key" or whatever for whatever reason I'll
never know. I guess we need arbitrary names for things these days
because services can't get their names in order or something. Whatever.
I'm seriously tired of dealing with this sort of stuff. Seriously, this
is just dumb. This is dumb, and I wish I wasn't merging it, but at this
point, I'm like, whatever. I don't care. I've stopped caring. Why should
I care anymore? I'm losing it. I am absolutely losing it.)
2021-05-08 19:16:13 -07:00
Clayton Groeneveld
0452f05595 UI: Clear fade to black source
If the fade to black was active and the user switched scene collections,
or exited studio mode, the source wouldn't be cleared, causing the
transition not to work properly when used again.
2021-05-08 19:05:27 -07:00
Clayton Groeneveld
c2bc5e675c UI: Simplify fade to black code
Removes unnecessary function call.
2021-05-08 19:05:27 -07:00
Clayton Groeneveld
90efc5c69c UI: Disable transition props menu when transitioning
When transitioning, the transitions properties menu would still be
enabled.
2021-05-08 18:46:15 -07:00
iamflorencejay
e876ad6596 rtmp-services: Add Odysee.com 2021-05-08 15:31:43 -07:00
geekenmd
200c154238 rtmp-services: Add Brime Live service
rtmp-services: Add Brime Live service
2021-05-08 15:14:19 -07:00
jpark37
bd98e41ca1 UI: Fix rounding truncation
Set decimal places before value on QDoubleSpinBox to preserve precision.
2021-05-02 10:01:29 -07:00
Clayton Groeneveld
03b76c09e8 UI: Move clearing of copy/paste variables
It makes more sense for these to be in the ClearSceneData function.
2021-04-30 18:45:27 -07:00
jp9000
b685d1bf88 UI: Fix proprty Undo not updating settings properly
Settings would not update properly because obs_source_update() can only
apply the settings value to the existing settings, so it could not
remove values. This change fully erases existing settings and replaces
it with the target settings instead.
2021-04-30 18:38:31 -07:00
Anton Bershanskiy
5f7e81d628 UI: Remove duplicate include 2021-04-30 14:12:39 -07:00
Anton Bershanskiy
f8ca45a276 UI: Fix Undo/Redo for pasting multiple filters
Fixes bug introduced in commit d7e4945eab
2021-04-30 09:09:23 -07:00
jp9000
ec25ade9f2 UI: Add Undo/Redo for single filter copy/paste
Closes obsproject/obs-studio#4616
2021-04-30 00:14:28 -07:00
jp9000
d7e4945eab UI: Add Undo/Redo for pasting multiple filters
Closes obsproject/obs-studio#4616
2021-04-30 00:14:28 -07:00
jp9000
6372f51bda UI: Fix missing files dialog starting hidden (macOS)
An annoying hack to fix the dialog being hidden behind the main window
when the program starts up on macOS.
2021-04-29 01:33:40 -07:00
Ford Smith
eb4dbb72c7 UI: Fix audio filter changes not being added to undo
When a change to an audio filter was done, it would create a timer and
wait for no more inputs before saving and adding to undo (this is to
prevent spam from sliders). For some reason, the timer would get
destroyed before the information is saved, preventing it from going on
the undo stack.
2021-04-29 00:14:28 -07:00
Ford Smith
92745a1009 UI: Fix audio filters being deleted not getting added to undo 2021-04-29 00:14:28 -07:00
Ford Smith
732c2c7e9e UI: Fix undo/redo enabling redo with no items in redo 2021-04-29 00:14:28 -07:00
jp9000
0d482be14a UI: Use std::bind for visibility undo/redo action
This is better and slightly more optimal code over what it was before.
2021-04-27 21:31:07 -07:00
jp9000
20bbc9794d UI: Add Undo/Redo for volume change/mute via main fader 2021-04-27 21:09:41 -07:00
jp9000
cec8061d83 UI: Add Undo/Redo items for adv. audio properties
Rather than forcing the user to close the advanced audio properties
window in order to obtain an undo/redo action, use explicit undo/redo
actions for each widget change in the advanced audio properties dialog.
2021-04-27 21:08:08 -07:00
jp9000
ae5ac8fa82 UI: Add repeat protection for Undo/Redo
This allows the ability to mark an action as repeatable, which when set,
makes it so that it will change only the redo value for the last undo
item in the undo stack within the last three seconds. This allows the
ability to, for example, scroll a spinbox or change a slider value
without creating many unnecessarily duplicated undo/redo actions.
2021-04-27 20:45:43 -07:00
jp9000
78f1983f7d UI: Remove unnecessary Undo/Redo cleanup func
Since fixing the reference holding issue with scene/source deletion, the
undo/redo cleanup function (last param of add_action) is no longer
required.
2021-04-27 20:45:43 -07:00
Clayton Groeneveld
c497342fd6 UI: Cleanup on_scenes_currentItemChanged function
Removed unnecessary lines from the function. Also if the source happened to be
null, the SetCurrentScene function would be called anyway. Finally, the
UpdateContextBar and api lines were removed, as they are also being called with
SetCurrentScene.
2021-04-27 01:24:50 -07:00
jp9000
387a2c5f3e UI: Add undo/redo actions for move up/down/top/bottom
Fixes obsproject/obs-studio#4567
2021-04-26 10:52:28 -07:00
jp9000
59603f47ad UI: Use scene backup/undo/redo funcs for reordering
Fixes a bug where groups would not be backed up properly
2021-04-23 12:40:33 -07:00
jp9000
f1c120df2e UI: Refactor scene action undo/redo
Allows this code to be used for other actions where the scene data needs
to be backed up
2021-04-23 12:39:32 -07:00
jp9000
00fdec2493 UI: Add missing locale text for reorder undo/redo 2021-04-21 00:13:21 -07:00
jp9000
4188899194 UI: Add undo/redo for source reordering 2021-04-20 19:38:53 -07:00
jp9000
dde4d57d72 UI: Fix imported scene collection names duplicating
If an imported scene collection has a name that already exists, it will
instead be given a name plus an increment (e.g. "name 2", or "name 3",
etc)

Fixes obsproject/obs-studio#4442
2021-04-20 00:17:34 -07:00
VodBox
b5596cbf61 rtmp-services: Update Twitter.com 2021-04-20 13:47:27 +12:00
Joe Flateau
e9b80235b4 rtmp-services: Add Luzento.com 2021-04-20 13:34:05 +12:00
SCG82
d3ee5dfb9f UI: Delete unimplemented declaration, LoadProfile() 2021-04-18 17:46:20 -07:00
Clayton Groeneveld
44ee91188f UI: Fix crash when closing missing files window
A crash would occur when clicking the 'x' button in the missing files
dialog. This seemed to only happen in debug mode and using QT 5.15.0.

Closes obsproject/obs-studio#4363
Fixes obsproject/obs-studio#4359
2021-04-18 17:19:36 -07:00
Matt Gajownik
2aed4be7cf UI: Fix invalid check for Remove Multiple Sources dialog result
Fixes #4546
2021-04-18 17:13:01 +02:00
jp9000
8175700620 UI: Add Undo/Redo for source visibility
(Author note: This is why I hate supporting undo/redo.)

Fixes obsproject/obs-studio#4447
2021-04-16 20:33:53 -07:00
jp9000
8515f38bdb UI: Make undo_stack types in-class and private
Reduces polluting the global namespace
2021-04-16 20:31:57 -07:00
Exeldro
7e9aea71d9 UI: Fix missing Files dialog crash loading source icon 2021-04-16 12:03:34 -07:00
Matt Gajownik
7282802d4e UI: Use newer Twitch Dashboard docks for integration
Fixes an issue where the submit button on the Stream Information dock
would be cut off at certain resolutions.
2021-04-13 05:21:53 -07:00
jpark37
01cf13ac51 UI: Increase float property decimals based on step
Values are no longer truncated if a small step is specified.
2021-04-13 04:48:36 -07:00
Richard Stanway
054a68b8f4 UI: Fix undo data being saved when no changes occur
obs_scene_save_transform_states was called with all_items = true when
starting a transform, but all_items = false when comparing undo data.

Fixes #4510
2021-04-13 00:52:55 +02:00
Exeldro
8c49cc2831 UI: Add Undo/Redo for source visibility transitions 2021-04-11 10:10:54 -07:00
Clayton Groeneveld
9ca7e1cb0f UI: Fix spamming of log when setting current scene
When setting the current scene and if it was the same as the previous,
the log would be spammed with switching scene messages.

This issue particularly happened when using undo/redo, as their
functions were setting the current scene.
2021-04-11 08:26:12 -07:00
Ford Smith
2932cd0fd3 UI: Fix wrong behavior with undo/redo and groups 2021-04-10 11:28:04 -07:00
Clayton Groeneveld
bab21888f3 UI: Fix reordering scenes not working properly
If the user were reordering scenes, the preview scene would change
to a different one, than the one they were currently on.
2021-04-10 06:07:55 -07:00
Clayton Groeneveld
bb0dff60ab UI: Update context bar when using undo/redo
The context bar wouldn't update when using undo and redo.
2021-04-10 01:50:05 -07:00
Clayton Groeneveld
7dfd36f9e8 UI: Force current scene when using undo/redo
The undo/redo functions are setting the current scene. Everytime
it would do this, it would actually transition to the scene.
This forces the current scene, so it fixes a bug where the
transition would be grayed out when undoing/redoing.
2021-04-10 01:49:30 -07:00
Ford Smith
97e038f895 UI: Fix Undo/Redo holding source references
Holding references to sources is never a good idea. Instead, save and
restore the scene and its subsources on removal.

Co-authored-by: Jim <obs.jim@gmail.com>

Closes obsproject/obs-studio#4462
2021-04-09 06:05:03 -07:00
jp9000
e39fa5e902 UI: Clear undo stack in ClearSceneData() instead
Makes more sense to clear it here.
2021-04-09 04:19:31 -07:00
Ford Smith
0b583260a2 UI: Wipe undo/redo stack when switching scene collections 2021-04-08 16:45:04 -07:00
Ford Smith
0e944897c6 UI: Add maximum number of items in undo/redo stack 2021-04-08 15:53:20 -07:00
Lukáš Mojžíš
9ae6e145c1 UI: Conform transition duration in Scene Transition dock 2021-04-06 01:59:10 -07:00
Matt Gajownik
baf980f7a6 Revert "UI: Remove unnecessary IS_WIN32 macro"
This reverts commit 113b6317e7.
2021-04-02 21:15:30 +11:00
Matt Gajownik
113b6317e7 UI: Remove unnecessary IS_WIN32 macro 2021-04-02 21:04:09 +11:00
Clayton Groeneveld
448c7f38d0 UI: Add save notifications to status bar
This shows notifications in the status bar with the following:
- When screenshot is saved
- When replay buffer is saved
- When recording is saved
- When recording is auto remuxed
2021-04-01 07:36:20 -07:00
wangshaohui
48b779c7b2 UI: Ignore scene source which has been removed
While getting source list, we should ignore scene source which has been
removed. If we don't ignore it, a deleted scene source will be added
later. Besides, signals of that scene have been sent before, such as
"remove" of scene. So we can't remove this scene source by "auto
removeItem" defined in SourceTreeItem::ReconnectSignals().

Fixes obsproject/obs-studio#2602
2021-03-31 02:48:54 -07:00
Kurt Kartaltepe
fa8f95018d UI: Fix crash on exit with stuck encoder
If the encoder is hung and you try to exit these two values will still
be null when obs shutting down.
2021-03-31 01:21:51 -07:00
wangshaohui
f36b601aab UI: Fix character to prevent VS2019 compiler error
Apparently the specific character can cause VS2019 to have compiler
errors depending on the system's current character encoding, so just
remove it instead. (-Jim)
2021-03-30 23:02:23 -07:00
Richard Stanway
d6fd723f2c UI/installer: Add exit codes for silent installer
Code 3 = Unsupported OS (64bit on 32bit or below Windows 7)
Code 4 = Missing a dependency (VS 2019 or DirectX redistributables)
Code 5 = OBS is already running
Code 6 = OBS files are in use by another app (eg virtual camera)
2021-03-30 22:30:00 -07:00
tytan652
4f9940d1c0 UI: Fix wrong strings for Undo/Redo 2021-03-30 22:29:21 -07:00
Ryan Foster
bde55cbf7b UI: Remove Qt5MacExtras
QtMacExtras is currently not in Qt6 and there's no word on if/when it
will be reintroduced. We don't appear to be using it, so let's remove
it.
2021-03-30 05:50:43 -07:00
wangshaohui
81c4750fbf UI: Fix UI deadlock after dragging source
Fixes obsproject/obs-studio#2609
2021-03-30 05:49:00 -07:00
Vainock
3267f76c15 UI: Fix Horizontal Center Text
The horizontal center redo/undo works, but uses the vertical center string.
2021-03-30 05:25:13 -07:00
Vainock
da23113e41 UI: Fix locale key name 2021-03-30 13:35:36 +02:00
Ryan Foster
d445f9f9b6 UI: Remove ifdefs for Qt 5.9 and older
Among the systems we officially support, the oldest Qt version is Qt 5.9
on Ubuntu 18.04. We should be able to safely remove these ifdefs.
2021-03-30 03:52:04 -07:00
Jim
5d87f3c00b
Merge pull request #3426 from Programatic/undo_redo
UI: Implement Undo/Redo System
2021-03-30 03:16:24 -07:00
Ford Smith
86eb7aeb69 UI: Undo/Redo Properties and Filters
Implements undo/redo for both properties and filters. Works by creating
a new callback that gets called to save undo/redo states after a timer
is fired. Also disabled undo/redo until the actions have completed to
prevent a user from being able to disrupt the stack by perfoming actions
before others have finished.
2021-03-29 03:06:26 -04:00
Ford Smith
999495ca8c UI: Undo/Redo context bar properties
Implements undo/redo for changing of properties done through the context
bar.
2021-03-29 03:06:26 -04:00
Ford Smith
a374c023a1 UI: Undo/Redo Scene Collections
Implements undo/redo for scene collections. This includes operations
including rename, delete, and addition.
2021-03-29 03:06:26 -04:00
Ford Smith
3c5e2ddc37 UI: Undo/Redo audio
Implements undo/redo for advanced audio properties.
2021-03-29 03:06:26 -04:00
Ford Smith
3a620c485e UI: Undo/Redo Transformations
Implements undo/redo for transformations of sources, both through
preview and the transformations properties.
2021-03-29 03:06:26 -04:00
Ford Smith
60d95cb5bd UI/libobs: Undo/Redo Sources and Scenes
Implements the Undo/Redo for scenes and sources, ranging from renaming,
deletion, addition. It also adds several elements to libobs that were
designed to facilitate undo/redo, and should not affect the rest of
libobs.
2021-03-29 03:06:26 -04:00
Ford Smith
eced5a320b UI: Initial Undo/Redo
Starting to develop Undo/Redo. This just implmements the undo/redo stack
and its api.
2021-03-29 03:06:26 -04:00
Nirusu
a52012e8c5 UI: Fix canvas resolution in auto-config
Fix the returned display resolution when scaling is enabled to determine
the correct canvas resolution in the auto-config utility, using the same
approach as in 2787e63. This fixes #4298.
2021-03-25 19:25:13 -07:00
Ryan Foster
4ed7cd463d frontend-tools: Remove Qt5X11Extras
Qt5X11Extras (QX11Info) was added in
762983b5d8, but it doesn't seem to
actually be used. Qt6 doesn't yet ship X11Extras, so let's remove it.
2021-03-17 12:48:21 -07:00
Ryan Foster
0b88bfbf09 decklink-output-ui: Remove Qt5X11Extras
Qt5X11Extras (QX11Info) was added in
762983b5d8, but it doesn't seem to
actually be used. Qt6 doesn't yet ship X11Extras, so let's remove it.
2021-03-17 12:48:21 -07:00
Exeldro
32e7ba1abe UI: Add visibility transitions
This also modifies libobs.

This adds the ability for scene items to have transitions
when their visibility is toggled.
2021-03-16 22:15:16 -07:00
Anton Bershanskiy
543f58d4a6 UI: Copy Filters menu is active only if applicable 2021-03-16 21:38:06 -07:00
Kurt Kartaltepe
346e268a3d UI: Remove x11info dependency
This moves X11 platform to the qt private functions, as x11info was
removed from Qt6 so this is required for a clean Qt5/6 transition.

This is the implementation of x11info::getdisplay so it should still
work on older platforms. This "API" doesnt really guarantee anything
though.

Also clean up wayland only bits as we use them for all windowing systems
now, and the name of the native pointer we want is the same on both
platforms for now.
2021-03-16 18:50:52 -07:00
Georges Basile Stavracas Neto
7e36331c98 UI: Only set AA_DontCreateNativeWidgetSiblings on Wayland
It seems this introduced various regressions on X11 (and, potentially, on other
platforms too, but needs confirmation). Let's preserve the old ways on current
platforms, and only use this flag on the new Wayland platform.
2021-03-16 01:48:29 -07:00
Matt Gajownik
a86b4a9421 UI: Save video settings after 'Resize output (source size)'
Fixes #4207
2021-03-12 20:53:19 -08:00
Peter "Marenthyu" Fredebold
2a87543d82 UI: Add css on Drag and Drop
Adds parsing for the "layer-css" query param of URLs dragged into the main window, similarly to the other layer-* parameters already used.
2021-03-10 22:59:07 -08:00
Anton Bershanskiy
7d5430f4ea UI: Make drag and drop file ext. case insensitive
Fixes obsproject/obs-studio#4236
2021-03-10 20:40:04 -08:00
Christopher P Yarger
25a335dc3c UI: Add Frontend API function to get value of T-bar
Also add a Frontend API event for when the T-bar's value changes.
2021-03-10 20:18:36 -08:00
Clayton Groeneveld
40fda5fc08 UI: Remove UpdateSceneCollection function from header
This function wasn't removed in PR 4308.
2021-03-10 20:06:08 -08:00
Jim
9ecae253f0
Merge pull request #4314 from WizardCM/fix-group-resize-1
UI: Don't attempt to resize parent group when changing cursor
2021-03-09 20:59:05 -08:00
Ryan Foster
7214feba73 UI: Set Qt::AA_UseHighDpiPixmaps only on Qt5
Qt6 enables Qt::AA_UseHighDpiPixmaps by default and will emit a warning
if you try to enable it. To prevent the warning, only set this on Qt5.
2021-03-09 10:28:19 -05:00
Ryan Foster
1793515bbf UI: Explicitly include QFile
Explicitly include QFile to prevent a build failure with VS2019 and Qt6.
2021-03-09 09:31:10 -05:00
Ryan Foster
e81f8e3857 UI: Don't use QTextStream::setCodec in Qt6
In Qt6, QTextStream::setCodec has been replaced by
QTextStream::setEncoding. However, all text is assumed to be UTF-8, so
we don't need to specify UTF-8 in Qt6.

https://doc.qt.io/qt-5/qtextstream.html#setCodec-1
https://doc.qt.io/qt-6/qtextstream.html#setEncoding
2021-03-09 09:16:19 -05:00
Ryan Foster
05d29aa4e3 UI: Set default string size arg for QT_UTF8 / QString::fromUtf8
Our QT_UTF8(str) macro uses QString::fromUtf8(str) with no size
argument. In Qt5, QString::fromUtf8 uses a default value of -1 for the
size arg. If size is -1, it is taken to be strlen(str). In Qt6,
QString::fromUtf8 doesn't use a default value for the size arg, but has
the same behavior if you manually specify -1 for the size. Let's
manually specify -1 to maintain the same behavior between Qt5 and Qt6.

https://doc.qt.io/qt-5/qstring.html#fromUtf8
https://doc.qt.io/qt-6/qstring.html#fromUtf8
2021-03-09 09:16:16 -05:00
Ryan Foster
37971e7bf9 UI: Force plugins to use version appropriate Qt Network
Make building against either Qt5 or Qt6 easier by checking the Qt
version used and loading the appropriate Qt Network DLL.
2021-03-09 09:16:07 -05:00
Matt Gajownik
b2fb0ca07f UI: Don't attempt to resize parent group when changing cursor
Fixes an issue where resizing a source did not resize the parent group.
2021-03-09 21:15:17 +11:00
Kurt Kartaltepe
513bcb8e35 UI: Cleanup Qt for Qt6
This changes cleans up some deprecated functions that were removed in
Qt6. Some are placed behind version ifdefs and others are replaced for
their non-deprecated Qt5 version.
2021-03-08 21:41:13 -08:00
Mike
40f99da8a2 UI: Fix Qt signal connection warnings
Closes obsproject/obs-studio#4264
2021-03-08 21:39:43 -08:00
Exeldro
901a030adf frontend-tools: Add edit script button 2021-03-08 08:37:37 -08:00
VodBox
e81cf90c1e UI: Disable scroll and keyboard input for t-bar
closes #2951
2021-03-09 01:31:08 +13:00
VodBox
d2e3d0da3c UI: Remove unnecessary code 2021-03-08 23:42:21 +13:00
VodBox
3046f3b578 UI: Fix grid mode scenes overlapping
fixes #2676
2021-03-08 23:33:54 +13:00
VodBox
58b2da73b3 UI: Fix transform dialog for screen readers 2021-03-08 21:51:20 +13:00
Clayton Groeneveld
753de748e5 UI: Remove redundant code
The UpdateSceneSelection function was doing the same thing as the
code in the SetCurrentScene function.
2021-03-07 22:53:08 -08:00