2056 Commits

Author SHA1 Message Date
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 113b6317e78cf988e70b5e8c6e03ccbc800ac5d0.
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
762983b5d853ba8444c4efee450ea872b294060e, 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
762983b5d853ba8444c4efee450ea872b294060e, 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