Commit Graph

1760 Commits (2c1610017ded2893e4d2f96849531ffa6028f3e5)

Author SHA1 Message Date
Georges Basile Stavracas Neto f12dbc87b8 UI: Don't define QT_NO_GLIB
The same reasoning of the previous patch means we can also stop
force-disabling Qt/GLib integration.
2021-01-28 23:58:13 -08:00
Georges Basile Stavracas Neto 58497e59d9 UI: Reinstate native dialogs on Linux with browser enabled
After the recent CEF update, the GMainLoop-in-a-thread conflict seems to be
gone, which allows us to being back native dialogs.
2021-01-28 23:58:13 -08:00
Georges Basile Stavracas Neto 913821ee8e UI: Make BrowserDock native
After cleaning up the native flags in various places, and disabling
making sibling of native widgets native, BrowserDock was left in an
inconsistent state, since it requires being native for CEF to work
properly.

Make BrowserDock native.
2021-01-26 09:43:16 -08:00
Georges Basile Stavracas Neto 9ee7547e19 UI: Cleanup native widgets
Some widgets are marked as native unnecessarily. Native widgets are
a bit more involving than regular ones, so remove this flag.

Original patch by David Edmundson <kde@davidedmundson.co.uk>
2021-01-26 09:43:16 -08:00
David Edmundson 4a32d1cec5 UI: Don't create native widget siblings
Native windows really only make sense for previews. They can be a new
xcb_window or a wayland subsurface.

For historical reasons setting a widget to native will also affect
ancestors. Qt will still draw them as part of the parent as they are
never mapped, but a window is nonetheless created.

This is especially problematic on wayland as then the subsurface is
parented to an unmapped window.

This default behaviour can be turned off. Now only the native widgets
(the video previews) are actually native.
2021-01-26 09:43:16 -08:00
Exeldro bacf83dbc9 UI: Close context menu on destroy of VolControl 2021-01-25 04:17:14 -08:00
Kurt Kartaltepe 77e4416c9f UI: Fix crash when systray is not enabled 2021-01-25 04:14:29 -08:00
Jim 8333f13587
Merge pull request #2067 from jpark37/srgb-toggle
Linear color math
2021-01-22 16:03:29 -08:00
jpark37 e08ad9faf3 UI: Render previews in linear sRGB space
Necessary for correct alpha blending.
2021-01-21 07:42:57 -08:00
Ivan Efremov c7ca8abdd3 UI: fix the maximum search length of Hotkeys Filter
The "fullName" property was filled only in case of exceeding
TRUNCATE_TEXT_LENGTH. Also search function had worked only with
item->text() what was the reason of maximum search length in
Hotkeys Filter(Setting->Hotkeys).

The following changes allow to search in filter without
the length limit of string along with the current functionality.
2021-01-20 12:18:05 -08:00
Ryan Foster 54207a0d60 UI: Replace deprecated QLayout->setMargin with setContentsMargin
QLayout->setMargin has been deprecated since Qt 5.13 (though marked
obsolete since at least Qt 4.8) and removed in Qt6. It was replaced by
QLayout->setContentsMargins, which is available in all versions of Qt5.
Building against Qt 5.13+ can produce compiler warnings when using
QLayout->setMargin, and warnings are bad.

https://doc.qt.io/archives/qt-4.8/qlayout-obsolete.html
https://doc.qt.io/qt-5/qlayout-obsolete.html
d6d33f0b80
https://github.com/qt/qtbase/blame/5.15.2/src/widgets/kernel/qlayout.h
2021-01-18 19:10:31 -08:00
Mike So f79393a727 UI: fix unable to upload and view crash report in mac 2021-01-18 01:43:09 -08:00
Clayton Groeneveld 968a1a6ff0 UI: Add interact button to source toolbar
This adds a interact button to the source toolbar. It is only
shown when source is interactable.
2021-01-17 20:03:08 -08:00
Clayton Groeneveld 520f1158e1 UI: Fix color of filters icon
The filters icon color was #ffffff. This changes it to #d2d2d2, the
same as the other icons.
2021-01-17 19:55:21 -08:00
Andrew Tropin fb347c3c62 UI: Add support for OBS_PLUGINS*_PATH env variables
Allow to load obs plugins from arbitary directory, specified by
OBS_PLUGINS_PATH and OBS_PLUGINS_DATA_PATH environment variables.
2021-01-16 00:26:10 -08:00
Clayton Groeneveld e38d8f10a6 UI: Add virtual camera to system tray
Adds ability to start and stop the virtual camera from the
system tray.
2021-01-15 18:16:41 -08:00
Andrew 7f5013cf37 UI: Use FileNameWithoutSpace for screenshot output 2021-01-15 18:16:03 -08:00
Clayton Groeneveld 3bc4e8ecba obs-frontend-api: Add frontend api functions for the virtual camera
This adds functions to the frontend api to start/stop the virtual
camera, to check if it is active and adds function to get the output
reference. It also adds api events for when the virtual camera is
started or stopped.
2021-01-13 09:46:04 -08:00
Hayden McAfee 96ef45cef5 UI: Support FTL URLs for custom streaming service
Custom streaming service URLs beginning with `ftl` are handled by the
`ftl_output` plugin.
2021-01-13 09:44:52 -08:00
Matt Gajownik 46118470ab UI: Only apply passthrough DPI scaling on Windows
Fixes #4031

It seems Qt on various flavours of Linux behaves erratically when scaled,
and for the moment macOS doesn't require fractional scaling support.

This commit can be reverted when Qt fixes issues on their side.
2021-01-13 20:26:35 +11:00
clone1018 64164a1523 rtmp-services: Add Glimesh service 2021-01-12 16:43:41 -08:00
Jimi Huotari 41367bb2b4 UI: Fix crash when no audio backends are available
This commit prevents a crash in, for example, Linux configurations
where PulseAudio is disabled, which leads into 'mod' being 'null',
which in turn leads into a segmentation fault when an ALSA source
is selected.

Closes https://github.com/obsproject/obs-studio/issues/3485
2021-01-12 09:33:48 -08:00
Ryan Foster 461a0c5484 UI: Refactor importer to use GetUnusedSceneCollectionFile 2021-01-11 14:49:59 -08:00
Ryan Foster 9b1d1c1b3d UI: Make GetUnusedSceneCollectionFile usable elsewhere 2021-01-11 14:49:59 -08:00
jpark37 0d1ffd8b30 UI: Support color picker with alpha 2021-01-11 11:52:50 -08:00
Colin Edwards 60e3c66d08
Merge pull request #3934 from pkviet/macbrowseraccel
UI: Enable HW acceleration switch for browser sources on Mac
2021-01-07 23:03:19 -06:00
Warchamp7 4b2fe7b552 UI: Fix padding on Acri context bar buttons 2021-01-02 04:36:17 -08:00
jp9000 cdd94b2b59 Revert "UI: Only apply new scaling behavior on newer installs"
This reverts commit 4e5f20dcbe.

This originally was added because of a faulty assumption that it would
change defaults, but defaults were apparently broken from 26.0.2 -> 26.1
because primaryScreen->size() changed its behavior, so the original code
technically fixed the original behavior.
2020-12-29 09:13:37 -08:00
jp9000 4e5f20dcbe UI: Only apply new scaling behavior on newer installs
The new scaling behavior affects defaults, so only apply it to new
installs of 26.2 or greater, while maintaining the previous behavior if
the user is upgrading from an older version.
2020-12-29 08:58:30 -08:00
Ryan Foster 5cdd084c7f UI: Support fractional scaling for Canvas/Base size
Without this change, new profiles created on systems using a fractional
scaling factor (e.g., 125%, 150%, 175%) will get an incorrect (X, Y)
pair for the new canvas size. For a display with 125% scaling, OBS would
set (1536, 864) instead of (1920, 1080). With this change, it will set
(1920, 1080).
2020-12-29 08:40:07 -08:00
Richard Stanway 2678d351f5 UI/updater: Increase number of download workers
Request / response latency dominates the download time of small
files and patches, especially the locale files. Increasing this to
4 doesn't consume many more resources and basically doubles the
download speed, especially on higher latency connections.
2020-12-21 18:32:39 +01:00
Richard Stanway f0ed8c337e UI/updater: Enable HTTP2 and TLS 1.3
Unfortunately WinHTTP doesn't support multiplexing with HTTP2, but there
is still some minor benefit to enabling it. Windows 10 21H1 will enable
TLS 1.3 client support in Schannel, so let's get ready for it.
2020-12-21 18:32:39 +01:00
Gol-D-Ace 513e95d0f6
UI: Fix name of kab-KAB locale 2020-12-21 16:04:27 +01:00
Rodney 60fed63d68
Merge pull request #3877 from derrod/purge-services
UI/rtmp-services: Remove Smashcast
2020-12-21 09:46:53 +01:00
Richard Stanway 6b2830b16f UI/installer: Add additional VS2019 DLL check 2020-12-20 02:57:15 +01:00
pkv c8155d491d UI: Enable HW acceleration switch for browser sources on Mac
This enables in Settings the checkbox for hardware acceleration for
Browser Sources in MacOs.
2020-12-18 18:13:35 +01:00
Richard Stanway 9201390a46 UI/updater: Move in-use files away before writing
On a modern Windows OS, you can rename an in-use file despite not being
able to write to it. With the introduction of the virtual camera, it is
now quite common that users will have in-use files when updating. This
commit renames in-use files, allowing the new version to be installed.
Upon a reboot, the previously in-use file will be deleted.
2020-12-15 21:11:47 +01:00
Richard Stanway c0d7602b64 UI/updater: Always clean up temporary files
If an update failed to install, it would leave a single temporary file
behind for that particular patch / file.
2020-12-15 21:11:35 +01:00
Richard Stanway 38ad3ba18f UI: Add deferred function to update context bar
With the queued connection in d68484e7, the "Deselect" signal for
sources which are being deleted is never fired, as the object is gone by
the time the queued signal is processed. This results in the context bar
not updating.

This commit adds a new UpdateContextBarDeferred function, allowing
queuing of only the context bar update instead of the whole signal
handler.
2020-12-14 11:53:01 -08:00
jp9000 580eecda01 UI: Fix installer/updater check for vs2019 32bit
VS2019 32bit redist does not have/use vcruntime140_1.dll, so remove
those checks from the installer and auto-updater.
2020-12-13 21:59:21 -08:00
derrod a605770a2b UI: Remove Smashcast from AutoConfig 2020-12-14 05:04:40 +01:00
Gol-D-Ace 7368a2c7cc Update translations from Crowdin 2020-12-14 00:29:44 +01:00
Richard Stanway a53c59e8c7 UI: Determine rate control after creating encoders
If the user hasn't specifically set a rate control and left OBS at the
default of CBR, the settings loaded by GetDataFromJsonFile will not have
a rate_control parameter present. This causes the replay buffer to think
the user is in VBR mode and use the wrong settings for determining
maximum buffer size. Fixes #2516.
2020-12-12 02:43:35 +01:00
Exeldro d68484e7b7 UI: Handle (de)select scene items queued
The (de)select signal can come from a obs_scene_enum_items
which locks the scene. The Qt::QueuedConnection makes sure
the (de)select is handled outside of that lock.
Fixes the deadlock from #3673
2020-12-11 17:05:38 -08:00
jp9000 13ee86ab7f UI/updater: Fix dll check 2020-12-09 22:25:49 -08:00
jp9000 a01d3e77b1 UI: Remove jansson requirement from UI and updater
Use json11 instead.
2020-12-09 22:23:03 -08:00
jp9000 9cc5aa5629 UI/updater: Update redist checks to VS2019 2020-12-09 22:23:03 -08:00
jp9000 ebc0d6a500 UI: Fix weird spacing in adv output FFmpeg recording 2020-12-07 19:15:16 -08:00
Matt Gajownik 5f5b220048 UI: Correctly unregister Virtual Camera & Source Toolbar hotkeys
Fixes an issue where the hotkey entries would be duplicated
(including in the UI hotkey list) on every Profile switch.
2020-12-06 23:01:46 +11:00
Matt Gajownik fff45a4114 UI: Scale Interact cursor position based on display DPI 2020-12-06 16:22:11 +11:00