170 Commits

Author SHA1 Message Date
Clayton Groeneveld
2b50263d5c UI, libobs: Add ability to copy/paste single filter 2020-10-15 10:14:22 -07:00
jp9000
3d51602690 UI: Fix replay buffer frontend event not triggering
The frontend API event OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED was not
being triggered when hotkeys were used because it was only set to
trigger when the replay buffer button was clicked, not when a hotkey was
used. This fixes it so that the frontend event sends a signal to the
frontend so that hotkeys will actually work.
2020-10-12 16:59:26 -07:00
jp9000
3486c0b363 UI: Fix selecting correct transition when deleting
When deleting a transition, it would sometimes select the one that
replaces it, which could be the separator.  This would cause undefined
behavior.  This fixes it so that it selects either the one that replaces
it (if a valid one replaces it), or the transition at the bottom of the
known list and not the separator.
2020-10-06 08:49:58 -07:00
jp9000
da8547c112 UI: Fix non-default transitions going below add vals 2020-10-06 08:25:03 -07:00
jp9000
2963b3b8ed UI: Create output before calling start stream event
Allows modifying the output OBS_FRONTEND_EVENT_STREAMING_STARTING.
2020-09-16 22:25:09 -07:00
jp9000
c0f19b95d5 UI: Do not always have log viewer loaded
This object should not always be created on startup. Instead, only load
it specifically when the user wants to load it.

This fixes a freeze some users were experiencing due to the text widget.
Unfortunately, it is not yet known how that freeze occurred with the log
viewer, so for the time being do not load the log viewer object unless
explicitly created.
2020-09-15 20:29:40 -07:00
Ryan Foster
9cb36f803f UI: Disable scene rename shortcut key while renaming
While editing a scene name, the Qt shortcut key for the renameScene
action remained active. If the user pressed the shortcut key while
actively editing a scene name, the widget would retrigger the action,
causing the name edit to fail and discard the current changes to the
scene name. The scene name would be reset to its previous saved value
and reselected as if the user had pressed the shortcut key for the first
time.

This commit removes the QAction associated with the shortcut key from
the scenes dock widget when editing starts and adds the action back to
the widget once editing is done.

Fixes #3044.
2020-08-25 22:33:23 -04:00
jp9000
fcf01304d2 UI: Defer device properties to separate thread
Because devices can take significant time to enumerate, defer the
properties creation to a separate thread.  The author of this commit
feels a great amount of displeasure over having to write this.
2020-08-25 08:21:29 -07:00
jp9000
68dcee824e UI: Clear context bar on scene collection change
Fixes a bug where the source toolbar would show the previously selected
source from the prior scene collection when changing to a new scene
collection
2020-08-25 00:46:02 -07:00
Clayton Groeneveld
227f80ac48 UI: Fix always on top w/ projectors on Linux
Apparently, on Linux, you cannot update the window flags while it is
still open, so just close the projectors and reopen them again when the
setting changes.
2020-08-23 10:36:06 -07:00
Clayton Groeneveld
27f913843a UI: Add OBSBasic::ClearProjectors()
Allows the ability to clear projectors via a function rather than have
to manually iterate any time one needs to clear the projectors
2020-08-23 10:36:06 -07:00
Clayton Groeneveld
b9b990a35a UI: Fix transition enumeration
Fixes issue where sometimes the transition loop would return a null
transition.
2020-08-23 09:47:52 -07:00
Clayton Groeneveld
f580de0bc7 UI: Fix multiview update regression
Fixes bug where multiview won't update when reordering scenes with drag
and drop. Was originally fixed with #2114, but bcddf4d caused a
regression where it didn't work anymore.
2020-08-22 08:37:26 -07:00
Colin Edwards
fddbbe259d UI: Source Toolbar
The source toolbar allows quick and easy access to properties and
filers, and shows common properties/features of a source type.  For
example, when you select a media source, VLC source, or the slideshow
source, you'll get media controls to control playback of the media.  If
you select a text source you can edit the font, color, or text if
applicable.  Or if you select a capture source, you can select the
display/window/etc to capture for that source.

If the source toolbar is not desired and is viewed as taking up valuable
space in the window, it can be disabled via the view menu.

Co-authored-by: Clayton Groeneveld <claytong1214@gmail.com>
Co-authored-by: Jim <obs.jim@gmail.com>
2020-08-17 07:18:18 -07:00
Jim
a9c65aeabf
Merge pull request #2955 from cg2121/group-signals
UI: Make select/deselect signals work w/ group items
2020-08-08 19:59:13 -07:00
Clayton Groeneveld
040e445617 UI: Add log viewer window 2020-07-31 19:57:12 -07:00
Clayton Groeneveld
d5905039c9 UI: Redesign transitions dock
Co-authored-by: Jim <obs.jim@gmail.com>
2020-07-31 09:48:09 -07:00
Clayton Groeneveld
a70014d7b2 UI: Add ability to make screenshots
Co-authored-by: Jim <obs.jim@gmail.com>
2020-07-30 17:41:43 -07:00
jp9000
ebb093b8a3 Revert "UI: Match Windows taskbar state to tray icon"
This reverts commit d442fda3fc1155947fb311d0a2fbb46213df4a16.
2020-07-11 06:12:51 -07:00
jp9000
959dbb64ed Revert "Merge pull request #3110 from WizardCM/taskbar-color-setting"
This reverts commit 04e01458e5aa86337ccb6c34568c7dcd063e2833, reversing
changes made to b83a9dd0d6cc059fddce557aadcfcb56f9b9dc03.
2020-07-11 06:05:35 -07:00
Matt Gajownik
081fc548c5 UI: Add setting for taskbar color 2020-07-10 20:12:59 -07:00
jp9000
a72a52fa38 UI: Add virtual camera to UI
Adds a virtual camera button to the main user interface.  If virtual
camera is not installed, it will not add the button.  On Windows, it
detects whether the virtual camera filters are properly registered, and
will only add the button if the virtual camera filter is confirmed
registered.

Also adds a virtual camera option to the auto-configuration wizard,
which will just simply set the user's resolution/scale to 1920x1080 at
30 FPS.
2020-07-07 06:09:59 -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
Jim
695f3c1f33
Merge pull request #2662 from WizardCM/log-dialog
Enhance Log dialog with description and Analyze button
2020-06-24 12:01:10 -07:00
Clayton Groeneveld
777d9eb787 UI: Auto update projector settings 2020-06-13 21:00:55 -05:00
Clayton Groeneveld
2fe749fc84 UI: Make select/deselect signals work w/ group items 2020-05-19 06:36:00 -05:00
Matt Gajownik
d442fda3fc UI: Match Windows taskbar state to tray icon
This adds both a status icon, and changes the color
of the taskbar button itself.
2020-05-07 20:05:35 +10:00
Colin Edwards
9447a06b05 Revert "UI: Remove unnecessary global variables"
This reverts commit f91d3baf43e69f6d1922b0e03e043af6de0baf6a.

From @pkv: the reason some of these vars were global is because Qt was not deleting them at all; as a result memory leaks have been reintroduced for: previewProjector, trayMenu, studioProgramProjector, multiviewProjectorMenu ;
2020-04-19 09:31:18 -05:00
Clayton Groeneveld
f91d3baf43 UI: Remove unnecessary global variables 2020-04-18 18:58:45 -05:00
Matt Gajownik
c878bfcb1f UI: Differentiate between crash & session log dialogs 2020-04-07 20:43:09 +10:00
jp9000
0fb34ed965 UI: Fix closing OBS before showing whats new dialog
The program can get stuck waiting for the browser within a event queue,
so instead mark that the program is closing, do it in a separate thread,
signal the window when it's finished, and then check whether it's in the
process of closing before actually showing the dialog.
2020-03-16 08:59:46 -07:00
Clayton Groeneveld
b240a5671b UI: Do not disable t-bar 2020-03-05 09:11:17 -06:00
Clayton Groeneveld
b3601681b8 UI: Add ability to lock volume 2020-02-16 18:33:46 -06:00
Matt Gajownik
8a0cfc5665 UI: Use OBS dock menu instead of Qt dock context menu 2020-02-16 09:37:39 -08:00
VodBox
191165c721 UI: Add advanced scene collection importer
This replaces the previous Open File dialog for importing collections
with a window for importing many collections at once, based on the remux
window, along with support for importing from OBS Classic, XSplit
Broadcaster and from Streamlabs' fork. This also translates sources
between OSes that Studio supports.
2020-02-16 17:56:06 +13:00
jp9000
7c9d227f1e UI: Watch for refresh signal in source list 2020-02-07 16:44:48 -08:00
jp9000
9f1c442d35 UI: Add option to toggle source icons to View menu 2020-01-20 23:19:32 -08:00
Clayton Groeneveld
f7d39c12c0 UI: Fix studio mode transition bugs
-If the user were in the middle of a transition and clicked
the cut transition, the transitions would become borked.

-This actually disables the transition widgets, so the
user doesn't click them. Before, the disabling of the
widgets didn't work as expected. The code for enabling/disabling
them was also simplified.

-This loading of studio mode was moved in OBSInit because
the loading of transitions needs to happen first. This fixes
a bug when enabling/disabling the t-bar when the program
is first loaded. The t-bar would be disabled even if a
cut or stinger transition was not used.

-When the user would click the quick transitions, the
t-bar would be enabled even when it was not supposed
to.
2020-01-14 01:29:23 -06:00
jp9000
5f830522a2 UI: Add drag and drop for URLs
Co-authored-by: Matt Gajownik <matt@wizardcm.com>
2020-01-13 03:09:30 -08:00
Lqlsoftware
046464884a UI: Properly inform user if recording path is invalid 2019-12-30 14:18:32 -08:00
Clayton Groeneveld
68d88fa4c6 UI: Add t-bar to studio mode
Co-authored-by: Jim <obs.jim@gmail.com>
2019-12-27 16:41:28 -08:00
jp9000
e2fa510436 UI: Add save button next to replay buffer button
Allows the ability to save replays with a button rather than with the
keyboard if desired.

Closes obsproject/obs-studio#1954
2019-12-12 17:59:20 -08:00
JohannMG
c4396e03a7 UI: Create UI Validation Helper Class
Pull UI validation and its helpers to their own class. This class will
be used to validate forms and perform UI-action checks such as
checking stream keys aren't empty and in this diff now holds the logic
to ensure there is a source before the person starts a stream.
2019-12-11 01:23:36 -08:00
VodBox
c0e2e7f12e UI: Add Grid Mode to Scenes Widget
Adds an option to the right click menu in the scenes widget to switch
modes. When in regular list mode, it'll let you select grid mode, and in
grid mode, it'll let you select list mode. Grid mode changes the scenes
widget to have a grid of buttons for scenes rather than a list, much
like XSplit.
2019-12-02 08:42:10 +13:00
Chris Angelico
412a75601e UI: Break out the opening of a projector into a slot function 2019-11-24 22:23:16 -08:00
Clayton Groeneveld
82ffcdc827 UI: Add source icons 2019-11-24 20:50:42 -08:00
Jim
87b02924d5
Merge pull request #2102 from cg2121/toggle-projector-mode
UI: Add ability to change projector type
2019-11-24 02:39:49 -08:00
Jim
c290e81a1a
Merge pull request #2094 from torresam/copy_sources
UI: Add copy/paste of multiple selected sources
2019-11-22 23:48:51 -08:00
Clayton Groeneveld
54e7b2c769 UI: Fix swap scene issue with double click mode 2019-11-19 22:10:22 -08:00
Clayton Groeneveld
0676c385ba UI: Fix main transition being set to the quick one
This fixes an issue where using a quick transition, it would change
the main transition as well.
2019-11-05 23:47:28 -06:00