208 Commits

Author SHA1 Message Date
jp9000
fba2ff8b2c UI: Reset sources list manually on first load 2018-08-29 13:06:12 -07:00
jp9000
2ce4696541 UI: Do not fire load events until program loaded 2018-08-29 09:36:19 -07:00
jp9000
1f1120f4a4 UI: Remove beta warning from auto-config wizard 2018-08-28 12:31:57 -07:00
jp9000
02bdccc6ad UI: Select item that user adds
When a user adds an item (either by adding or copying an item), select
it.  Fixes a bug with copying and pasting sources where the pasted
source will not have the copied transform applied to it.
2018-08-26 22:02:11 -07:00
pkviet
fdb622a069 UI: Fix path for File > Show Recordings
In main menu, File > Show Recordings does not show the path for ffmpeg
custom output when it is selected in Settings.
This fixes the issue.
2018-08-20 01:36:23 +02:00
Shaolin
f452c09f82 UI: Fix mixer context menu toggling layout on kde
This is a weird one. On KDE just clicking in the options or right
clicking the empty space areas of the mixer dock would trigger a layout
change.

This fixes mantis #1256
2018-08-19 04:57:16 -03:00
DungFu
5cbc78b0a9 UI: Hide Dock Icon on Mac OSX when minimizing to tray
This hides the dock icon when minimizing OBS to the tray on OSX. This
also fixes the bugs with minimizing on startup (and hides the dock icon
correctly in that case as well).

Closes obsproject/obs-studio#1430
2018-08-17 10:34:11 -07:00
jp9000
90327563e8 UI: Allow centering/stretching for groups items 2018-08-16 12:42:23 -07:00
jp9000
62d08fe38f UI: Fix flip/rotate transform menu with group items
Fixes an issue where the user could not perform a horizontal/vertical
flip, or rotate group sub-items via the transform context menu.
2018-08-16 08:44:42 -07:00
Jim
2541be5b11
Merge pull request #1352 from cg2121/replay-buffer-button-checkable
UI: Set replay buffer button as checkable
2018-08-15 11:35:33 -07:00
cg2121
b0b6f1f0e2 UI: Set replay buffer button as checkable 2018-08-15 12:27:32 -05:00
jp9000
07813e2bd0 UI: Allow resetting transform of group sub-items 2018-08-15 10:01:48 -07:00
jp9000
e189082439 UI: Make the information dialog a big wider
Fixes an issue where the web page could have both horizontal and
vertical scrollbars, making the information dialog page look a bit
unsightly.
2018-08-13 01:19:23 -07:00
jp9000
fc9393324c UI: Add release candidate checking to info dialog
Allows the ability to specify release candidate versions in the
whatsnew.json in order to allow startup information dialogs to be
displayed to the user which are specific to release candidates.
2018-08-13 01:19:23 -07:00
jp9000
5b091ce06d UI: Use obsproject.com URL for discord invite 2018-08-03 00:33:06 -07:00
jp9000
16ead25dd3 UI: Add ability to join discord server from help menu 2018-08-01 18:41:57 -07:00
VodBox
0dca4318b2 UI: Add Color Coding to Source Tree Widget
This commit adds the ability to select a background color for a
scene-item, whether it's a custom color or one of eight presets.

As this is an initial implementation, it lacks theme customizability,
and it also lacks the ability for the user to set their own preset
colors, so only the hard-coded 8 are available.
2018-08-02 08:23:12 +12:00
cg2121
2e18745c37 UI: Uncheck record/replay buffer buttons if fail
Closes obsproject/obs-studio#1375
2018-07-31 21:35:06 -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
cg2121
8f4edede4a UI: Add confirmation dialog if there are no sources
This adds a confirmation dialog for streaming or recording if
there are no sources.

Closes obsproject/obs-studio#1344
2018-07-31 04:28:43 -07:00
jp9000
a032bcc798 UI: Add intro startup page (windows)
Allows the ability to show a web page via CEF to the users on startup to
present and announce new features.
2018-07-29 23:32:23 -07:00
Richard Stanway
2d60c89a02
UI: Only allow stream/record hotkeys if the UI buttons are enabled
Currently the only thing preventing a user from trying to start multiple
streams or recordings is the UI buttons being disabled. The hotkey code
allowed the user to bypass that, which for streaming resulted in lots of
rtmp output connect threads spawning, which stomped all over each
other's data structures and resulted in crashes.
2018-07-28 15:27:49 +02:00
Shaolin
be8189b0f8 UI: Fix start up crash with saved projectors
This fixes a crash in case the user selected the option to save
projectors on exit and had multiple monitors at that time. Later on,
when obs is started again if the monitor list is lower now the open
projector code will return null when trying to create the saved
projector.

Just check if the returned projector pointer is valid before trying
to restore the saved geometry.
2018-07-24 17:43:58 -03:00
jp9000
7ef3350d50 UI: Do not open properties dialog for groups
On initial creation of an empty group, do not open a properties dialog
for groups.
2018-07-24 02:41:31 -07:00
Jim
75d460b2e8
Merge pull request #1353 from cg2121/fix-checkable-buttons
UI: Fix stream button checkable state
2018-07-18 01:28:49 -07:00
jp9000
573d5719d8 UI: Fix signals for sub-items of groups
Because sub-items of groups can no longer reroute their signals to the
parent scenes of groups, delegates removal handling to SourceTreeItem
instead of OBSBasic.
2018-07-16 19:03:34 -07:00
jp9000
b4f345680f UI: Allow copying/pasting of groups
Allows copying and pasting of groups.  The user can fully duplicate the
group, or create a reference of the group.  The user cannot paste a
reference of the group if it already exists within the same scene
however.
2018-07-16 19:03:34 -07:00
jp9000
5993834815 libobs: Change groups to actual public types
(This commit also modifies UI)

Changes groups to their own independent type, "group".  This allows them
to be used like other regular types, and allows the ability to reference
groups in multiple scenes.  Before, a group would always be linked to
the scene it was in.  This made it cumbersome for users to modify groups
if they had a similar group in multiple scenes (they would have to
modify each group in each scene).  Making groups like other source types
makes more sense to solve this issue so they can be referenced in
multiple scenes at once.  This also removes a significant amount of
group-specific handling code required for implementing groups in the
front-end.

One limitation however: due to the way sub-items of groups are
seamlessly modifiable and sortable as part of the whole scene, the user
cannot have multiple references to the same group within one scene.
2018-07-16 19:01:51 -07:00
jp9000
35704c4c04 libobs: Remove group_sceneitem from obs_scene struct
(This commit also modifies UI)

Removes obs_scene::group_sceneitem and replaces it with
obs_scene::is_group.  Changes a number of other functions related to
groups so that a group is not inherently tied to a specific scene, and
helps allow a single group to be referenced in multiple scenes if
desired.
2018-07-15 19:01:14 -07:00
cg2121
cfa427c44f UI: Fix stream button checkable state
This fixes an issue where the stream button would still be
checked when clicking no on the stream confirmation dialog.
2018-06-27 23:11:10 -05:00
Colin Edwards
618a1c5faf UI: Add frontend event for when OBS finishes loading 2018-06-26 22:14:05 -05:00
Jim
cd70c2e037
Merge pull request #1292 from pkviet/leaks
Fix several mem leaks
2018-06-17 20:54:10 -07:00
Shaolin
d7fd29351f UI: Fix mixer dock widget minSize being too big
When the vertical volume meter was introduced it set in the OBSBasic.ui
mixer dock definition a min width/height that was valid for both
widgets. QStackedWidget hints the minimum size as the higher w/h
of its children so this workaround is necessary.
2018-06-12 23:25:38 -03:00
pkviet
7f3464c8ce UI: Fix mem leak with multiview projector menu 2018-06-07 00:44:28 +02:00
pkviet
340c2e5fb7 UI: Fix mem leak with tray menu 2018-06-07 00:44:28 +02:00
craftwar
36d893db03 UI: Compact ClearVolumeControls()
Closes obsproject/obs-studio#1296
2018-06-05 14:46:02 -07:00
jp9000
88b6c63964 UI: Add grouping 2018-06-04 04:01:39 -07:00
jp9000
c7897acddf UI: Use vector value for nudge callback 2018-06-03 15:04:39 -07:00
jp9000
4fd22f1316 UI: Move frontend API initialization to constructor 2018-06-03 15:04:39 -07:00
jp9000
b46fab87b2 UI: Fix a few unused lambda closure captures 2018-06-03 07:24:59 -07:00
Shaolin
177ce13655 UI: Update multiview on scene list reorder 2018-05-20 23:20:52 -03:00
Shaolin
09135d6917 UI: Update multiview on resolution change 2018-05-20 23:20:52 -03:00
Shaolin
32ee7ee4e2 UI: Clean up Projector Creation
The Init function were only called on projector creation so this isn't
needed to be on a separate function. Its clearer to read the code.
2018-05-20 23:20:52 -03:00
Shaolin
c7c328dc83 UI: Add Vertical Mixer option 2018-05-19 00:17:58 -03:00
Richard Stanway
b0bb067ba8
Use obsproject.com for log file uploads 2018-05-18 15:33:53 +02:00
Jim
f1c1abce55
Merge pull request #1297 from Palakis/preview-scene-event-fix
UI: Fix OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED
2018-05-15 00:14:34 -07:00
jp9000
f81d106b2a UI: Fix OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED
OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED is supposed to be called
whenever the user changes the current preview scene -- it was almost
never being triggered.
2018-05-15 00:49:12 +02:00
jp9000
d0cc0cc60e UI: Always enable auto-updater for windows
Makes it so the auto-updater does not have to rely on a cmake variable
being set.  Fixes a bug where deployment could accidentally be built
without the auto-updater being enabled.
2018-05-12 17:02:34 -07:00
Ilya Melamed
3eec139b2e UI: Use WaitConnection() when adding scenes
Instead of queuing AddScene to add the new scene to the list box,
ensures that the UI has added the new scene to the list box when the new
scene is added.  This ensures synchronization between the calling thread
and the UI thread in this particular case.

(Jim: Added detailed commit message description)

Closes obsproject/obs-studio#1226
2018-05-04 15:38:59 -07:00
Ilya Melamed
2d9691fc23 UI: Use "source_create" to add scenes to listbox
Instead of manually having to call AddScene each time a scene needs to
be added, use the "source_create" global OBS signal to detect when a
scene has been created, and add the scene to the list automatically.
Allows the ability to add scenes to the main user interface via libobs
API.

Closes obsproject/obs-studio#1226
2018-05-04 11:47:54 -07:00