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

2285 Commits

Author SHA1 Message Date
jpark37
f186b8c304 UI: Remove conflicting setlocale call
Qt already sets LC_ALL to "" for non-Windows. We set LC_NUMERIC to "C"
afterward for sanity, and we don't want that setting to get smashed.
2022-03-01 12:53:51 -08:00
jpark37
fa5a05f188 UI: Restore LC_NUMERIC to C locale on Mac/Linux
Recommended by QCoreApplication doc for Unix.

Fixes CUBE LUT load, and FFmpeg output args for foreign locales.
2022-03-01 12:53:51 -08:00
Kevin Degeling
139e6ed69e UI: Additional product details
Based on the product description from the main website
2022-02-27 13:30:25 -03:00
Matt Gajownik
f77ab0e199 UI: Fix rendering of spaces & tabs in Log Viewer
For some reason, the combination of QPlainTextEdit and a HTML block
seems to treat spaces as HTML shoult (only display one, no tabs, etc)
rather than how QTextEdit + HTML does, which is strange. As we don't
need HTML for existing log lines, insert them as plaintext, but for
new entries wrap non-error non-warning messages in a <font> tag and
format that with white-space: pre
2022-02-27 18:56:19 +11:00
gxalpha
90f1ebf4aa UI: Disable downscale filter setting for same resolutions
Disables the downscale filter dropdown menu when base and output
resolution are the same.
2022-02-27 14:42:17 +11:00
OldBaldGeek
6a5a5b4538 UI: Make volume meter tweakable by stylesheet
Replace fixed Arial, 7 px meter scale font with the font used
for VolumeMeter/QWidget. Add qproperties for meter bar thickness and
a scaling factor for the meter scale numbers. If not specified in a
QSS, defaults are 3 pixel bar width and 80% of base font size.
2022-02-27 13:17:59 +11:00
OldBaldGeek
c8a0dbff1e UI: Use selective repaint on volume meter scale
Fix for issue 3915 - reduce tick and font blur at 125% DPI.
Former use of paint cache resulted in blur when scaled.
2022-02-27 13:17:59 +11:00
gxalpha
dd564a2e8f UI: Move "Check For Updates" menu to app menu on macOS
For apps using sparkle, it's normal for the "Check For Updates" button
to be in the app menu instead of the help menu, so let's put it there.
2022-02-27 12:47:18 +11:00
gxalpha
7cc20656f4 UI: Add shortcuts for Copy/Paste Transform
Adds the shortcuts Ctrl+Alt+C/V to the Copy/Paste Transform menus in the
Edit menu
2022-02-26 15:54:14 -08:00
cg2121
8510731f2b decklink: Don't load modules if Decklink not found
This also modifies decklink-captions and decklink-output-ui.
2022-02-26 15:44:00 -08:00
obiwac
93c2e681ca linux-v4l2: scandir with alphasort on non-Linux
Sort video device entries with `alphasort` on non-Linux platforms,
as opposed to `versionsort` on Linux.
(`versionsort` is a GNU extension, unavailable on e.g. FreeBSD.)

UI: Fix call to `to_string` on FreeBSD
2022-02-26 15:36:08 -08:00
gxalpha
aa0893b751 UI: Refresh edit menu on item locked signal 2022-02-26 15:35:10 -08:00
Matt Gajownik
0e57a7beef UI: Fix performance issues with the Log Viewer
This commit includes two big changes, alongside other smaller tweaks.

1) Update the internal QTextDocument of the text component directly
2) Use QPlainTextEdit, which supports HTML & is designed for long text
3) Use QString's arg function for formatting strings

Fix 1 significantly improves realtime performance when adding lines
individually, to the point that the UI no longer freezes if the viewer
is open and the log is being spammed. It also improves initial launch
speed when there's a large amount of text already in the file.
Reference: https://stackoverflow.com/a/54501760/2763321

Fix 2 completely eliminates delay when opening the viewer, regardless
of how many lines are already in the log file. For a standard log
after OBS launch, this cuts opening time from about 2 seconds to half a
second. For anything longer than 1,000 lines, the UI no longer freezes,
and the viewer (& its contents) open within half a second.
Reference: https://stackoverflow.com/a/17466240/2763321
2022-02-26 15:03:35 -08:00
jpark37
61ffb5c4d8 UI: Add OBSQTDisplay::OnMove()/OnDisplayChange()
This plumbing will be useful when handling color space changes.

Currently does nothing, and only Windows is wired for now.
2022-02-26 01:09:07 -08:00
cg2121
7b418d5be3 UI: Use std::unique_ptr for ui variables
Most ui variables were using std::unique_ptr, but not all.
Went through all of the UI code to find where they were manually
deleted.
2022-02-20 00:30:37 -08:00
Matt Gajownik
2ded0f7050 UI: Log 'Hide OBS from capture' on startup & settings change 2022-02-20 13:38:17 +11:00
gxalpha
d5f2b7e496 UI: Refresh edit menu on item select/deselect 2022-02-19 15:42:57 -08:00
Matt Gajownik
608e57257a UI: Don't collapse preview in Filters splitter view
Fixes #5959
2022-02-18 19:46:02 +11:00
tytan652
2720e6d00f UI: Avoid emiting events 2 times when renaming a profile 2022-02-12 15:14:21 -08:00
gxalpha
ccc57671eb UI: Correctly style "Chrome OS" 2022-02-12 15:04:42 -08:00
Translation Updater
25b58f0417 Update translations from Crowdin 2022-02-11 00:34:08 +00:00
Richard Stanway
aa73de952b
UI: Fix uninitialized memory access in OBSPropertiesView
Bug introduced in b0528e0cf7. Closes
https://github.com/obsproject/obs-studio/issues/5934.
2022-02-08 21:57:08 +01:00
jp9000
b0528e0cf7 UI: Fix properties view crash with non-obs objects
The properties view incorrectly assumed that it was being used with obs
objects only.

(Jim note: I'm annoyed.)
2022-02-08 11:07:23 -08:00
Rodney
b7a24d54c9
UI: Add warning on startup for running in Wine 2022-02-07 14:16:59 -08:00
Translation Updater
ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
jp9000
c71abfbd8c UI: Fix clang-format specifier 2022-02-02 22:39:24 -08:00
jp9000
4f09cac7af UI: Remove unnecessary call 2022-02-02 22:37:41 -08:00
jp9000
f0e631df17 UI: Fix filter props. getting recreated unnecessarily
Closes obsproject/obs-studio#5846
2022-02-02 22:35:56 -08:00
jp9000
4b355192e7 UI: Don't create filter properties before splitter
Fixes an issue where the properties wouldn't show up the first time the
properties are supposed to show
2022-02-02 22:35:56 -08:00
jp9000
f34b6866a5 UI: Improve properties view object safety
Use weak references on OBS objects that properties view reference in
order to ensure that the objects are still valid.

This fixes a crash where properties views would use objects without
necessarily knowing whether they were still valid or not.

Fixes obsproject/obs-studio#5862
Closes obsproject/obs-studio#5863
2022-02-02 22:35:56 -08:00
jp9000
6b944a2f3c libobs: Rename OBSObj to OBSPtr
Makes it a bit more explicit that it's just a pointer RAII, and because
an OBSObject will be added
2022-02-02 22:35:56 -08:00
Matt Gajownik
e2e751aa55 UI: Better Hide OBS Window description, add first time dialog & tooltip 2022-01-29 17:09:15 -08:00
Sebastian Beckmann
77dbe44da4
UI: Properly close projector when source is removed (#5171) 2022-01-29 15:36:38 -08:00
Paul Hindt
97d47b701b aja-output-ui: Fix crash when stopping AJA Preview output
Removing the first call to `video_output_stop` prevents the `data_mutex`

field in `struct video_output` from being destroyed while still in use.

The `render_preview_source` function will call `video_output_lock_frame`

upon that mutex and encounter a NULL pointer exception.
2022-01-29 15:06:34 -06:00
Matt Gajownik
eb7d6e84aa UI: Add separators to system tray context menu 2022-01-29 14:01:34 +11:00
gxalpha
9c51b70dd0 UI: Fix unused variable warning on non-windows 2022-01-29 13:30:17 +11:00
jp9000
c87a81ba56 UI: Show wait cursor while cleaning up scene data 2022-01-28 10:30:42 -08:00
Richard Stanway
5ed45d06da
UI: Check current affinity before calling SetWindowDisplayAffinity
For some reason, SetWindowDisplayAffinity can make windows visible even
when it sets the same value for affinity that GetWindowDisplayAffinity
reports. Possibly an API bug as this is probably not a widely used API
yet?

Fixes a weird window with no size appearing when browsing for files on
Windows.
2022-01-27 02:47:11 +01:00
Clayton Groeneveld
0377b962b5 UI: Disconnect group reorder signal
The group reorder signal was never disconnected when
resetting signals.
2022-01-25 06:06:15 -08:00
Richard Stanway
40a598008d UI: Fix QLabel leak in OBSPropertiesView::AddProperty
OBS_PROPERTY_GROUP creates neither a widget nor a label, causing
AddProperty to create a default one. Without a widget, it does not
get attached to the layout, resulting in a memory leak.

This commit also simplifies a bit of the code to avoid repeatedly
testing the same condition.
2022-01-25 06:01:23 -08:00
gxalpha
799ac3f6a0 UI: Fix transform options being wrongly enabled/disabled
They detection for this was not checking the n selected items but the
first n items in the list, which would lead to the options being enabled
or disabled based on the whether other items were locked.
2022-01-25 05:58:47 -08:00
Jim
b3b4e1b2ef
Merge pull request #5860 from obsproject/deprecate-addref
Deprecate addref for obs objects
2022-01-25 05:55:52 -08:00
Georges Basile Stavracas Neto
0f36d7832c
UI: Fix bugtracker URL in AppData file (#5861)
It is mistakenly set to github.org, instead of github.com.

Sorry :(
2022-01-24 19:02:55 -06:00
Jim
b9e01380f3 UI: Replace addref calls with get_ref 2022-01-24 14:06:50 -08:00
Matt Gajownik
b77ccceae7 UI: Allow 'Hide OBS window' on Windows 10 2004
Per the Microsoft documentation, 2004 (19041) is the minimum supported
version for this feature. Ensure the check matches that.
2022-01-24 21:44:47 +11:00
Matt Gajownik
f9b038513a UI: Fix Settings save crash on old Windows versions
WidgetChanged doesn't contain a null check, resulting in a crash when
looking at the value for the new Hide OBS From Capture setting.

Fixes #5854
2022-01-24 18:31:05 +11:00
Matt Gajownik
4e04011101 UI: Don't read unloaded module in source toolbar
Avoid potential crashes similar to #4391 for existing users,
especially on non-Windows.
2022-01-23 16:45:54 +11: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
gxalpha
d601577706 UI: Fix small typo 2022-01-21 10:07:25 -05:00
Richard Stanway
3ce12bc5e9
UI: Optimize undo/redo functions with constant references 2022-01-19 21:39:43 +01:00