45 Commits

Author SHA1 Message Date
gxalpha
577d6f1614 UI: Add undo/redo for resetting filters properties 2021-11-10 08:10:16 -08:00
gxalpha
01d91ee600 UI: Focus correct filter list when opening filter view
When the filter view is created, the first item of the asyncFilters list
would be selected (if the source supports asyncFilters) and have its
properties shown.
This means that when no items were in the asyncFilters list, no
properties would be shown, even if an effect filter was present.

Adds a check to focus the effectFilters list in case there are only
effect filters, which makes the correct properties appear.
2021-11-02 10:33:23 -07:00
gxalpha
25204b3e68 UI: Focus filter list when adding new filter
Fixes an issue where the defaults button wouldn't work since the wrong
list is in focus.
2021-11-02 10:33:23 -07:00
jp9000
da04907927 Revert "UI: Disable hotkeys when a user is expected to type text"
This reverts commit f832d14220b572165bf69ad73f30a5b961d02258.

Reverting this until we do more investigation. Currently, any text
that can be typed in a dialog requires the dialog to re-enable hotkeys
on destruction, which is frustrating. There has to be a better way.
2021-10-03 07:52:44 -07: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
Ford Smith
2ae593860d UI: Fix filters changes not properly being added to undo stack 2021-06-07 21:47:03 -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
jp9000
b86999e133 UI: Rename enable/disable funcs for undo/redo stack 2021-05-12 21:13:56 -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
Ford Smith
92745a1009 UI: Fix audio filters being deleted not getting added to undo 2021-04-29 00:14:28 -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
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
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
jpark37
e08ad9faf3 UI: Render previews in linear sRGB space
Necessary for correct alpha blending.
2021-01-21 07:42:57 -08:00
Exeldro
02f47345cf frontend-tools: Don't give every loaded filter focus
Speeds up loading with large number of filters and prevents deadlock by
not getting the properties of filters during
OBSBasicFilters::UpdateFilters() which uses the source->filter_mutex
2020-11-24 14:32:18 -08:00
Exeldro
64869bac46 UI: Add duplicate filter 2020-10-16 05:38:10 -07:00
Clayton Groeneveld
2b50263d5c UI, libobs: Add ability to copy/paste single filter 2020-10-15 10:14:22 -07:00
jp9000
51462e4f0f UI: Fix obsolete filters showing up 2020-08-18 11:09:26 -07:00
Matt Gajownik
d44faf9809 UI: Increment filter name automatically 2020-03-14 20:46:10 +11:00
Clayton Groeneveld
e6ec3c87de UI: Fix filter rename crash 2020-03-12 16:24:48 -05:00
Richard Stanway
5cfc16e9f9 UI: Call setWindowFlags before setupUi
For some reason this has a noticeable performance improvement,
presumably because Qt is notifying all the child widgets?
2020-03-04 23:20:19 +01:00
Clayton Groeneveld
30d2830c15 UI: Add ability to rename filters with F2 (Return on Mac) 2019-10-08 02:48:50 -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
Richard Stanway
90df9ea290 UI: Update error message severity levels and show additional info 2019-04-19 05:45:19 -07:00
Richard Stanway
43fbefb9ef UI: Remove additional unused help icons 2019-02-12 12:55:31 +01:00
Jim
270709bec1
Merge pull request #1445 from Dmitry-Me/unifyParametersNames
UI: Name parameters in definition same as in declaration
2018-09-01 21:24:07 -07:00
Jim
0738035275
Merge pull request #1455 from Andersama/delete-shortcut-filters
UI: Add various shortcuts for filters window
2018-09-01 19:45:37 -07:00
jp9000
4b534a0583 UI: Always show filter preview if video source 2018-08-29 15:52:59 -07:00
Alex Anderson
975722f472 UI: Add ctrl+up/down shorcuts to move filters around
Adds the same shortcuts in order to move filters around like sources
2018-08-28 20:34:09 -07:00
Alex Anderson
05e06b9af1 UI: Add delete as shortcut for removing filters
Delete key now should prompt to remove filters
2018-08-28 20:12:08 -07:00
jp9000
864e3698e8 UI: Fix filter layout issue
In commit 57f8c5e3, a stretch spacer was put in to the filter window UI,
which was meant to be used when there's no video for the source.
However, it was always put in, and would stretch the layout even when
there was video.  This fixes that issue by only inserting a stretch
spacer when there's no video for the source.
2018-08-27 17:49:04 -07:00
Dmitry-Me
31e8377b30 UI: Name parameters in definition same as in declaration 2018-08-23 16:46:17 +03:00
Jim
9565f9cd0c
Merge pull request #1332 from Andersama/patch-21
UI: Hide preview for sources and filters where possible
2018-08-01 23:05:45 -07:00
jp9000
b6665f9cc0 UI: Use QScopedPointer (not QPointer) where applicable
Contrary to what the name would have you believe, QPointer<> is not used
to delete a pointer when it leaves its specific scope.  Instead, it's
used to check to see if the pointer is still valid.  For most
QWidget-based objects, this is actually fine because QWidgets that are
assigned to layouts or other widgets will automatically be destroyed --
however, for non-widget objects, this can cause a memory leak.

This patch replaces QPointer with QScopedPointer where applicable to
prevent memory leaks.

Closes obsproject/obs-studio#1367
2018-07-31 21:14:52 -07:00
Alex Anderson
57f8c5e328 UI: Hide preview for sources and filters where possible
Hides the preview window for audio sources in the properties menu and
contextually in the filters menu to save on gui space.
2018-07-31 13:14:32 -07:00
jp9000
2de3973fae UI: Allow temporarily disabling filter/source types
Implements the OBS_SOURCE_CAP_DISABLE capability flag in to the user
interface.
2018-01-03 17:04:04 -08:00
jp9000
da0e3ef0ee UI: Do not show deprecated filters 2018-01-03 17:04:03 -08:00
nleseul
953af9f3d1 UI: Handle update_properties signal in OBSBasicFilters window
The OBSBasicFilters window did not register a handler for the
"update_properties" signal. Now it does. Addresses issue #1028.

Closes jp9000/obs-studio#1036
2017-11-22 23:38:23 -08:00
jp9000
14e41dc0c1 UI: Make sure "Defaults" buttons aren't default buttons 2017-06-28 09:20:52 -07:00
cg2121
2d84da2f7e UI: Add "Defaults" button to filters/properties windows
This adds a "Defaults" button in the source and filter properties, which
will clear and reset all settings.

Closes jp9000/obs-studio#875
2017-06-26 17:44:34 -07:00
jp9000
f093028d7a UI: Sort filter names when adding filters 2017-05-16 18:03:34 -07:00
jp9000
522f5cdf3b UI: Make sure all message box buttons are translated
Instead of QMessageBox::question and QMessageBox::information, use the
OBSMessageBox class, which translates all buttons.
2017-05-13 14:06:32 -07:00
jp9000
580f38a733 UI: Remove deleteLater view from filter window layout
In the filters dialog, when the properties are being updated due to
filters being added/removed/switched, using deleteLater on the previous
view would cause it to linger in the view until the deleteLater is
processed by the Qt queue, displaying two views instead of one.
Additionally because of that, this would also cause the display in the
filters dialog to resize as well, causing the reorder mutex hard lock
which was fixed by the parent commit.

Closes jp9000/obs-studio#714
2016-12-17 15:32:19 -08:00
Christoph Hohmann
7de289f6cc UI: Fix crash in filters dialog caused by access to deleted widget 2016-09-20 16:23:11 +02:00
jp9000
01b274f1da UI: Rename 'obs' dir to 'UI'
This is to prevent confusion both when prefixing commits and when
reading the directory structure for the first time.
2016-08-27 20:19:45 -07:00