84 Commits

Author SHA1 Message Date
cg2121
66341c7568 UI: Fix handling of remove signal with projectors
Since the remove signal is coming from another thread,
QMetaObject::invokeMethod has to be used, or corruption
could possibly occur.
2022-03-10 12:15:30 -08:00
Exeldro
f8c2ccc2c3 UI: Add mulitiview layout options without program 2022-03-08 12:30:19 -08:00
Sebastian Beckmann
77dbe44da4
UI: Properly close projector when source is removed (#5171) 2022-01-29 15:36:38 -08:00
Richard Stanway
076cd5d5d4 UI: Add option to hide OBS windows on Windows
This uses the SetWindowDisplayAffinity API to hide windows from capture
applications (including OBS). This is not perfect - internal windows
such as context menus, combo box dropdowns, etc will still be displayed.
Even with these limitations, it should help people with single monitors
capture content with less interference from the OBS window.

This implementation is for Windows only but the code is generic enough
that adding other platforms should be straightforward.
2022-01-22 15:14:16 -08:00
univrsal
aebd261ded UI: Disable WA_PaintOnScreen for projectors
Removing this attribute fixes #3582 and allows projector windows to be resized
under KDE.
2022-01-07 15:40:05 -08:00
Norihiro Kamae
e7cfaa0def UI: Fix label offset on projector view
Labels on 18-scene multiview were skewed. This commit adjusted the
location of the labels.
2022-01-07 15:17:20 -08:00
VodBox
3d544653e8 UI: Cleanup libobs C++ type use 2021-11-26 23:23:51 +13:00
Clayton Groeneveld
afd58a78e5 UI: Add option to draw safe areas in preview 2021-08-20 15:20:59 -07: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
PatTheMav
9ac92f61be
UI: Use macOS app icon for Qt app on macOS 2020-11-13 17:17:45 +01:00
Clayton Groeneveld
1eba0827b7 UI: Fix projector not working on secondary monitors
This fixes a bug where the projector wouldn't work on secondary
monitors on Windows.
2020-08-24 02:02:07 -05:00
Clayton Groeneveld
846c3d5acc UI: Delete projector when monitor is disconnected 2020-07-08 07:40:51 -07:00
Bennik2000
d8c215df0e UI: Add always on top checkbox to projector context menu
This checkbox overrides the global always on top setting
2020-06-26 05:59:17 -07:00
Scratch
5421851526 UI: Add window projector option "fit to content"
Adds an option to the context menu of a windowed projector to allow
resizing the aspect ratio of the client area of the window to the
contents of what's being projected (so that there's no extra space).
2020-06-24 13:18:52 -07:00
Jim
dd12488700
Merge pull request #3066 from cg2121/fix-always-on-top
UI: Fix projector always on top not working on Linux
2020-06-21 05:50:08 -07:00
Clayton Groeneveld
777d9eb787 UI: Auto update projector settings 2020-06-13 21:00:55 -05:00
Clayton Groeneveld
87965dff59 UI: Fix projector always on top not working on Linux 2020-06-13 20:10:38 -05:00
Ed Maste
7325eace24 UI: Fix projector on other than primary display
Calling showFullScreen after setGeometry puts the projector on the
expected monitor.  Previously (on FreeBSD, at least) it opened on the
primary display.
2020-04-12 18:43:23 -04:00
Richard Stanway
dca5f2fcdb UI: Properly apply hide cursor on fullscreen projectors
If a projector was created fullscreen, the isFullScreen() call would
fail since the window hasn't been displayed by Qt yet, resulting in the
cursor hiding choice not being applied. This moves the cursor hiding
into the SetMonitor call which is used for all code paths creating a
fullscreen projector, ensuring the setting is applied.

Fixes https://github.com/obsproject/obs-studio/issues/2687
2020-04-10 00:32:09 +02:00
VodBox
62c7eb489d UI: Set correct window title for fullscreen projector
Before this change, opening up a fullscreen projector would have the
wrong window title (Windowed Projector). This was because the call to
update the window title was called before a monitor is set, and the
title is determined by whether a monitor is set.

This change moves the update title call to after the geometry or monitor
gets set, ensuring the window title is correct.
2020-03-22 22:59:27 +13:00
Matt Gajownik
f302a98f8d UI: Fix windowed multiview title 2020-03-09 14:23:09 +11:00
Clayton Groeneveld
e832b42f07 UI: Add ability to change projector type 2019-10-21 23:48:58 -05:00
Jim
7ed8f05f21
Merge pull request #2106 from cg2121/fix-preview-bug
UI: Fix issue with preview projector
2019-10-15 22:16:11 -07:00
luz.paz
d124e6402c docs/sphinx: Fix various typos
(This modifies UI, libobs, deps/obs-scripting, various cmake files)

Found using:
`codespell -q 3 -S *.ini,./UI/data/locale,./deps/w32-pthreads -L aci,dur,iff,mut,numer,uint`
2019-10-14 17:19:38 -07:00
Clayton Groeneveld
15129b5751 UI: Fix issue with preview projector 2019-10-09 02:43:48 -05:00
jp9000
f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
jp9000
74cd1da656 Revert "UI: Use theme colors setting for Projectors too"
This reverts commit 8a22889e3d732532141db6b79b438f01c9cefc98.

After further usage, result is undesirable.  We don't need the theme
applied to projectors.
2019-06-16 17:43:55 -07:00
James Park
37bf66b9dc UI: Remove unused helper function renderVB
Lambda replacement was added, but old function was left behind.
2019-05-18 22:09:19 -07:00
SuslikV
8a22889e3d UI: Use theme colors setting for Projectors too
Don't override the theme color settings for the Projector.
If required, the background color of the projector can be changed via

OBSProjector {qproperty-...}

record placed after "OBSQTDisplay {qproperty-...}" section in the theme
file (qss).
2019-04-17 07:10:12 -07:00
Clayton Groeneveld
4d908e31d3 UI: Don't hide cursor over multiview
I considered making this an option, but I decided against it because
I felt it wasn't necessary and would make the settings more complex.
Opinions are welcome.
2019-04-09 11:51:41 -05:00
Clayton Groeneveld
2080051b9f UI: Use icons from theme on Linux 2019-03-16 05:41:12 -05:00
Stéphane L
a8944d0a34 UI: add a default black background to the PGM output of the multiview 2019-02-02 15:42:12 +01:00
jp9000
87ca80deac UI: Fix infinitely incrementing showing ref 2019-01-13 21:00:46 -08:00
Shaolin
f8dfa4cb70 UI: Fix not all projectors using ProjectorAlwaysOnTop 2018-09-04 23:29:37 -03:00
Jim
86b7b0b6d5
Merge pull request #1457 from admshao/fix-projectors-always-on-top
UI: Use AlwaysOnTop option for windowed projectors
2018-08-29 09:08:59 -07:00
Shaolin
1ccbc3c68e UI: Use AlwaysOnTop option for windowed projectors 2018-08-29 02:17:11 -03:00
Shaolin
4264361469 UI: Fix a rare multiview crash when clicked
This was triggered by openning a fullscreen projector and trying to alt
tab. The projector was still on top but the first click on a KDE system
was returning a NULL activeWindow.
2018-08-29 00:51:45 -03:00
Andreas Reischuck
71d2e870bb UI: Fix multiview hang
This could cause an infinite recursion if "show_in_multiview" was false
for a scene.

Closes obsproject/obs-studio#1426
2018-08-17 09:22:32 -07:00
Shaolin
c145b129f3 UI: Add new Multiview Layout for up to 24 scenes
The variable name changes were done with the intent to ease the
abstraction of the scene, preview and program width/height size
so its not related with the canvas size but directly related with
our concept of scenes.
2018-05-20 23:20:52 -03:00
Shaolin
b3a4051530 UI: Move more fixed values to multiview update 2018-05-20 23:20:52 -03:00
Shaolin
5921558548 UI: Adjust the multiview num sources by the layout
The variable name changes were done with the intent to ease the
abstraction of the scene, preview and program width/height size
so its not related with the canvas size but directly related with
our concept of scenes.
2018-05-20 23:20:52 -03:00
Shaolin
abb929c0d1 UI: Calculate fixed values of the Multiview once 2018-05-20 23:20:52 -03:00
Shaolin
5b642c14de UI: Move multiview setting checks from draw path 2018-05-20 23:20:52 -03:00
Shaolin
b8966802ef UI: Add option to toggle multiview draw safe area 2018-05-20 23:20:52 -03:00
Shaolin
03de558af1 UI: Update multiview safe areas
Make the safe areas respect the EBU R 95 and Rec. ITU-R BT.1848-1
standards for 16:9 content.
Links: https://tech.ebu.ch/docs/r/r095rev1_March2016.pdf and
https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.1848-1-201510-I!!PDF-E.pdf
2018-05-20 23:20:52 -03:00
Shaolin
4649783b1e UI: Add option to toggle multiview scene names 2018-05-20 23:20:52 -03:00
Shaolin
e0e2cc57a0 UI: Add option to toggle multiview mouse switching 2018-05-20 23:20:52 -03:00
Shaolin
959bdda48c UI: Adjust multiview label size 2018-05-20 23:20:52 -03:00
Shaolin
b4d2d5d9c4 UI: Add proper source markers to multiview
This ensures the pixel correctness of the sources selection highlight
boxes when on a fullscreen projector.

When on a windowed projector due to the nature of int<->float
conversions and also due to the limited space, some source boxes
might be like 'off-by-one' and barely noticeable.
2018-05-20 23:20:52 -03:00
Shaolin
98839524f7 UI: Simplify multiview draw code 2018-05-20 23:20:52 -03:00