Commit Graph

592 Commits

Author SHA1 Message Date
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
Jim
324fcbcd92 Merge pull request #1386 from RytoEX/qt-511
CI: Update to Qt 5.11.1
2018-07-27 21:21:24 -07:00
Ryan Foster
2129d12143 frontend-tools: Add QAction explicitly for Qt 5.11 compatibility 2018-07-25 11:59:58 -04: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
jp9000
8dc2e6b5fb UI: Add signal for when theme has changed 2018-07-21 19:14:36 -07:00
jp9000
e1ab9a0fc4 UI: Add ability to parse OBSStyle from qss
Adds the ability to set the current palette for the program via adding
"OBSTheme" objects to the qss files.  The values for the OBSTheme object
are the values used by QPalette::ColorRole.

Modifying the global palette allows the ability to easily/quickly look
up application theme colors (especially if you would like to use them
for QML), as well as the ability to fix the hyperlink color issue.  (On
dark themes, links would still be dark blue, causing them to be
difficult to see)
2018-07-21 19:14:36 -07:00
jp9000
310c98e641 UI: Fix bug with advanced output service settings
When the user had advanced output mode selected and they created a new
profile, enforced service settings for advanced output mode would not be
applied because GetDataFromJsonFile would return a nullptr (because the
settings file did not yet exist).  Instead of returning nullptr, always
return a valid data object, and in addition, apply the defaults of the
encoder to pass to obs_service_apply_encoder_settings just to be safe.
2018-07-20 01:57:57 -07:00
jp9000
01ac60c760 UI: Allow alt-cropping on bounding box scene items
Allows the use of alt-cropping on scene items that have bounding box
enabled.  The crop will simply apply to the source within the bounding
box rather than try to do anything fancy.  A simple solution to an
annoying problem.
2018-07-18 22:04:32 -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
Jim
955bc849e0 Merge pull request #1349 from Fenrirthviti/acri-fix
UI: Update Acri theme for disabled buttons
2018-07-18 01:26:51 -07:00
Jim
af596592db Merge pull request #1326 from admshao/transition_rename_fire_event
UI: Add missing OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED
2018-07-18 00:54:46 -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
256b7b793d UI: Add OBSBasic::SavingDisabled() function 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
Shaolin
0c43448ca2 UI: Fix OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED
This event is fired during Add/Delete operations but was missing on
renaming a transition.
2018-07-09 19:08:42 -03: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
Joel Bethke
5f3464f9cc UI: Update Acri theme for disabled buttons 2018-06-27 19:04:49 -05:00
Colin Edwards
618a1c5faf UI: Add frontend event for when OBS finishes loading 2018-06-26 22:14:05 -05:00
jp9000
b760b24ff0 UI: Fix cramped source tree sub-widgets on macOS 2018-06-20 20:06:36 -07:00
jp9000
78d566916b UI: Fix bug where color property shows transparency
Technically, setting the transparency value via a color property isn't
currently supported.  However, some sources/filters will set their alpha
portion of their color value to 0, which would cause the color property
to have a transparent background.  Set the alpha value to 255 for now,
at least until we properly implement support for setting transparency
via the color property (if we ever do).
2018-06-20 19:21:52 -07:00
jp9000
085af8bb72 UI: Fix display bug with color property
With the recent change to fix showing color in the color property widget
when using different themes (b8f03791ea), a bug was introduced:  when
opening filters with a filter that has a color property, it would sort
of "bug out" and recreate over and over.  This is likely due to
something internally with Qt and the stacked layout.  The stacked layout
really is not necessary, so remove the stacked layout and just use the
color label directly.
2018-06-20 19:21:47 -07:00
Jim
d818377ccb Merge pull request #1333 from SuslikV/patch-8
UI: If group's name exist, start it from 2
2018-06-19 18:06:38 -07:00
Jim
b8f03791ea Merge pull request #1305 from JustinLove/use-selected-color-in-color-property-label
Use selected color in color property label
2018-06-17 23:01:25 -07:00
Jim
cd70c2e037 Merge pull request #1292 from pkviet/leaks
Fix several mem leaks
2018-06-17 20:54:10 -07:00
Jim
446dc9fd4b Merge pull request #1310 from vokama/updated-hotkey-names
libobs, UI: reset hotkey description on target rename
2018-06-16 23:09:06 -07:00
SuslikV
488c087d69 UI: If group's name exist, start it from 2
Currently if you making a new group it named "Group 1" by default
instead of just "Group". This fixes it. The second group will be
named "Group 2".
2018-06-15 12:53:47 +02: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
craftwar
b378261bdf UI: Fix mem leak in VolControl 2018-06-07 00:44:59 +02:00
pkviet
15a642291e UI: Fix mem leak with QCompleter 2018-06-07 00:44:29 +02: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
pkviet
732617251c UI: Fix mem leak with volume meter 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
vokama
54ab27bda6 UI: Update hotkey label on quick transition rename 2018-06-05 01:38:19 +03:00
jp9000
88b6c63964 UI: Add grouping 2018-06-04 04:01:39 -07:00
jp9000
46cce067f0 UI: Fix missing newline at the end of a file 2018-06-03 15:04:40 -07:00
jp9000
196eed8e8f UI: Refactor DrawCircleAtPos 2018-06-03 15:04:40 -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
Justin Love
a4b2b6f3bf Make alpha visible in property color
Show a light/dark pattern so alpha in the selected color is evident.
2018-05-26 09:23:05 -05:00
Justin Love
86b69b7d24 Use selected color in color property label
Originally wanted to do a separate color swatch, but was stymied by the
single widget reference in WidgetInfo. Using QPalette values achives
basic white/black text for contrast, though it is still possible to
select a color with poor contrast.
2018-05-23 11:50:41 -05:00
Shaolin
c145b129f3 UI: Add new Multiview Layout for up to 24 scenes
The variable name changes were done with the intent to ease the
abstraction of the scene, preview and program width/height size
so its not related with the canvas size but directly related with
our concept of scenes.
2018-05-20 23:20:52 -03:00
Shaolin
b3a4051530 UI: Move more fixed values to multiview update 2018-05-20 23:20:52 -03:00
Shaolin
5921558548 UI: Adjust the multiview num sources by the layout
The variable name changes were done with the intent to ease the
abstraction of the scene, preview and program width/height size
so its not related with the canvas size but directly related with
our concept of scenes.
2018-05-20 23:20:52 -03:00
Shaolin
abb929c0d1 UI: Calculate fixed values of the Multiview once 2018-05-20 23:20:52 -03:00