0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 21:13:04 +02:00
Commit Graph

1051 Commits

Author SHA1 Message Date
Tristan Matthews
92853f2c7b UI: fix crash due to NULL dereference 2019-05-03 02:54:55 -04:00
jp9000
6b2f3d0604 UI: Fix theme showing incorrect theme when on Dark 2019-05-02 15:47:35 -07:00
Clayton Groeneveld
31b73f8025 UI: Add ability to set properties spinbox suffix 2019-05-02 08:54:14 -07:00
Clayton Groeneveld
b2e0d93990 UI: Use icons for hotkey buttons 2019-05-02 08:54:13 -07:00
Clayton Groeneveld
d17e261d23 UI: Truncate text in hotkeys interface 2019-05-02 08:54:13 -07:00
Clayton Groeneveld
64aa211d46 UI: Remove icons from settings button box 2019-05-02 08:54:13 -07:00
Clayton Groeneveld
e284289c56 UI: Improve look of Dark theme 2019-05-02 08:54:10 -07:00
Clayton Groeneveld
4b6a1bf971 UI: Remove settings horizontal lines 2019-05-02 08:18:07 -07:00
Jim
003f00923e
Merge pull request #1860 from cg2121/kbps-singlestep
UI: Increment bitrates by 50
2019-05-02 07:32:49 -07:00
jp9000
f21a48ff36 UI: Remove mac browser workarounds, improve stability
The workarounds were made because of conflicts with running multiple UI
threads at once on macOS, which macOS can't do very well, and would be
susceptible to crashes.  This would cause crashes not only on startup
but seemingly at random when using the browser source on macOS.  The
original "fix" was a hack to try to minimize UI code and browser UI code
from executing at the same time.  The macOS initial scene loading was
deferred until all Qt-related and main window initialization was
completed.  Although this worked to some extent to prevent conflicts, it
made it so that there was an initial period on startup where the entire
UI seemed "blank" for users, and it was still possible for the main UI
thread and the browser UI thread to clash, causing crashes seemingly at
random for users.

The external message pump method of CEF is the solution to the problem,
which is the method which allows the main UI thread to share events with
CEF.  To do this, all CEF operations need to be performed in the UI
thread (Qt's main thread), and CefDoMessageLoopWork() needs to be called
when CefApp::OnScheduleMessagePumpWork callback is triggered.  A number
of other issues had to be solved as well, such as CefBrowser references
getting "stuck" in the Qt event queue.

With this, macOS no longer needs to do the "deferred load" hack, and
browsers are now much more stable and no longer as susceptible to
seemingly random crashes, improving overall program stability when
browsers are used.
2019-05-01 12:13:35 -07:00
jp9000
7efcb6989d UI: Only execute "What's New" code on win32
The "What's New" dialog currently is only functional on windows.
2019-05-01 12:12:03 -07:00
jp9000
767d534409 UI: Check for valid systen tray pointer
Fixes a potential crash that can happen if the system tray is not
initialized for whatever reason.
2019-05-01 12:11:29 -07:00
Clayton Groeneveld
1160ee767a UI: Increment bitrates by 50 2019-04-30 06:54:02 -05:00
Clayton Groeneveld
507cfe3ea0 UI: Fix theme issues with vis/lock checkboxes 2019-04-27 01:06:41 -05:00
James Park
a86710ec5b libobs: Support limited color range for RGB/Y800 sources
libobs: Add support for limited to full color range conversions when
using RGB or Y800 formats, and move RGB converison for Y800 formats to
the GPU.

decklink: Stop hiding color space/range properties for RGB formats, and
remove "YUV" from "YUV Color Space" and "YUV Color Range".

win-dshow: Remove "YUV" from "YUV Color Space" and "YUV Color Range".

UI: Remove "YUV" from "YUV Color Space" and "YUV Color Range".
2019-04-25 15:13:05 -07:00
Clayton Groeneveld
52c3f81f0e UI: Fix theme bug when updating from older versions
Fixes: https://obsproject.com/mantis/view.php?id=1446
2019-04-23 23:38:03 -05:00
Jim
5781605289
Merge pull request #1847 from cg2121/scene-copy-paste-filters
UI: Add ability to copy/paste scene filters
2019-04-23 18:18:10 -07:00
Clayton Groeneveld
2940c80f49 UI: Add ability to copy/paste scene filters 2019-04-23 06:46:04 -05:00
guangong7628
16cc60587f UI: Fix unable to escape when renaming scene
Fixes https://obsproject.com/mantis/view.php?id=1443
2019-04-23 04:20:49 -07:00
Clayton Groeneveld
2ca71fc9d6 UI: Fix group checkbox icons not working in Dark theme 2019-04-22 06:21:28 -05:00
Jim
cdcd45fe11
Merge pull request #1842 from cg2121/prev-prog-label-alignment
UI: Fix preview/program label alignment
2019-04-22 03:25:06 -07:00
Clayton Groeneveld
21a32def35 UI: Simplify locked/visibility checkboxes 2019-04-22 01:50:10 -07:00
Clayton Groeneveld
189e48835d UI: Change icons to svg
This changes all of the icons from png to svg. With svgs, scaling is
unlimited. With the svgs, the issue of the @ symbols with the Windows
updater is no longer an issue.

I changed the colors of the icons to a light gray (#d2d2d2), in the
dark themes, because I thought they looked better with this color.

The mute, unmute, plus, minus, up, down and expand icons are from the
Feather Icons set. https://feathericons.com/

The visibility icon is from the Octicons set. https://octicons.github.com/

The locked and unlocked icons are from the Open Iconic set.
https://github.com/iconic/open-iconic
2019-04-22 01:50:03 -07:00
Clayton Groeneveld
ed5fdde059 UI: Fix preview/program label alignment 2019-04-22 03:08:35 -05:00
Jim
7925ac1402
Merge pull request #1747 from cg2121/recording-time-left
UI: Estimate recording time left until disk is full
2019-04-21 06:55:33 -07:00
jp9000
72ccefff5f UI: Rename UI files for consistency
Changes comboBox-* and spinBox-* files to lowercase to be more
consistent with the rest of the files in the UI directory.
2019-04-21 04:10:46 -07:00
jp9000
140f927f4f UI: Fix whitespace issues with "ignore wheel" widgets 2019-04-21 04:07:00 -07:00
jp9000
c3c740d36f UI: Do not remove focus on mouse leave events
For the "ignore wheel" widgets, do not leave focus on mouse leave
events.  This causes unintended side effects such as not being able to
type in edit boxes, and is very annoying.
2019-04-21 04:03:37 -07:00
Jim
1856f40e2a
Merge pull request #1836 from jpark37/rotated-line-fix
libobs: UI: Fix rotated line scale
2019-04-20 02:34:45 -07:00
Jim
043963c5e8
Merge pull request #1828 from DDRBoxman/removewidget
UI: Remove SourceListWidget
2019-04-20 02:27:36 -07:00
jp9000
d2b107bc9d decklink-output-ui: Fix memory leak 2019-04-20 01:43:01 -07:00
Jim
3562113f4b
Merge pull request #1831 from Chiitoo/aaa-build-fix
UI: Fix Linux build without PulseAudio
2019-04-19 08:21:57 -07:00
Jim
ae10420953
Merge pull request #1793 from notr1ch/ffmpeg-errors
Improve ffmpeg output error handling
2019-04-19 07:26:56 -07:00
Jim
e16bd94965
Merge pull request #1837 from akapar2016/UI_VolumeWheelEvents
UI: Volume scrollEvents
2019-04-19 07:26:06 -07:00
akapar
dbd30a8131 UI: Do not allow mouse wheel for volume slider
This commit fixes the issue of being able to scroll through the mixer
with the mouse wheel without modifying the volume slider.  This
functionality can be temporarily restored by holding a click on the
volume meter.
2019-04-19 06:56:55 -07:00
James Park
e01fcae133 libobs: UI: Fix rotated line scale
The line drawing functions previously assumed the upper-left 3x3 for
box_transform only held scale. The matrix can also hold rotation, so
pass in scale separately.

Fixes https://obsproject.com/mantis/view.php?id=1442
2019-04-19 06:35:42 -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
4be88c7f2a UI: Add warning / critical QMessageBox wrappers 2019-04-19 05:45:19 -07:00
Jim
42e76f6c34
Merge pull request #1577 from DDRBoxman/previewout
Decklink: preview out support
2019-04-19 04:03:34 -07:00
Gol-D-Ace
3a01fefe1e Use proper capitalization for string
Windows is a product name in this case.
2019-04-19 05:38:21 +02:00
Michael Fabian 'Xaymar' Dirks
5c0c512fc2 UI: Add support for property groups
Property groups are implemented in the UI using QGroupBox, which support
both the normal and checkable version of them.
2019-04-18 06:37:54 -07:00
Colin Edwards
6d07885b08 Decklink: inital preview out work 2019-04-17 21:21:39 -05:00
SuslikV
8a22889e3d UI: Use theme colors setting for Projectors too
Don't override the theme color settings for the Projector.
If required, the background color of the projector can be changed via

OBSProjector {qproperty-...}

record placed after "OBSQTDisplay {qproperty-...}" section in the theme
file (qss).
2019-04-17 07:10:12 -07:00
SuslikV
e2be33956b UI: Correct custom property implementation
- Fixes Q_PROPERTY macro syntax
- Removes excessive notification declaration and slot
- Removes unneeded dynamic property
- Improves Themes versatility
2019-04-17 07:10:12 -07:00
SuslikV
975431a7c7 UI: Add default color for the preview background
If custom theme for obs UI has no record about background custom
property in the qss file, then application can set random color per
display initialization. This fixes this issue.
2019-04-17 06:32:27 -07:00
Jimi Huotari
2b1641ee5e
UI: Fix Linux build without PulseAudio
Commit 31d36691 missed updating a couple of lines while moving
settings around.

- https://github.com/obsproject/obs-studio/commit/31d36691
2019-04-15 18:31:59 +03:00
Clayton Groeneveld
171f811669 UI: Estimate recording time left until disk is full 2019-04-14 22:45:31 -05:00
Jim
88391b818d
Merge pull request #1811 from akapar2016/UI_scrollWheelEvents
Ui scroll wheel events
2019-04-14 13:58:54 -07:00
Peter Eszlari
6b9da9b912 UI: Add Linux AppStream metadata 2019-04-14 05:10:10 -07:00
Jim
3a05466baf
Merge pull request #1760 from Vainock/master
Improve locales
2019-04-14 05:00:31 -07:00
Clayton Groeneveld
e89283d172 UI: Add hotkey to toggle preview 2019-04-14 04:51:34 -07:00
Jim
9480cc4fd2
Merge pull request #1675 from admshao/clear-linux-compiling-warnings
Clear linux compiling warnings
2019-04-14 04:21:21 -07:00
Jim
d14fa715e8
Merge pull request #1641 from WizardCM/move-settings
UI: Refactor Audio Settings UI and move Monitoring Device from Advanced
2019-04-14 04:10:15 -07:00
Jim
b2bc1e159b
Merge pull request #1589 from caffeinetv/minor-improvements
Minor improvements
2019-04-14 03:43:05 -07:00
Colin Edwards
efb09d4f24 UI: Remove SourceListWidget 2019-04-13 14:07:17 -05:00
akapar
9249403c96 UI: Ignore wheelEvent for properties
Ignore wheelEvent using subclass
slider,spinbox,combobox with eventhandlers:
wheelEvent - ignore if widget is not focused,
leaveEvent - clear focus when mouse leaves event.

Use these new subclass widgets in properties
to ignore wheelEvent when scrolling.
2019-04-13 12:09:11 -04:00
Jim
975aed836c
Merge pull request #1755 from Xaymar/patch-generate-obs-rc
obs-studio: Create obs.rc out-of-tree using the build path
2019-04-13 04:14:05 -07:00
Jim
c68f847562
Merge pull request #1821 from cg2121/multiview-cursor
UI: Don't hide cursor over multiview
2019-04-13 03:46:27 -07:00
Jim
23ed5ea7b4
Merge pull request #1816 from SCG82/patch-1
UI: Fix size of output icon
2019-04-13 03:40:12 -07:00
Anthony Torres
7ddab80d80 UI: Fix remux dialog ignoring filename changes 2019-04-12 22:25:28 -07:00
Anthony Torres
0e2fe10595 UI: Separate delegate class into header file 2019-04-12 22:25:23 -07:00
Colin Edwards
ff72e9efc3 UI: Show a message in the empty source list 2019-04-12 04:17:39 -07:00
stump
bc99ec4d7c UI: Add null check for rename of default theme
Without this, we strcmp a null pointer if no theme is set in the
configuration file.
2019-04-10 22:09:37 -04:00
Clayton Groeneveld
4d908e31d3 UI: Don't hide cursor over multiview
I considered making this an option, but I decided against it because
I felt it wasn't necessary and would make the settings more complex.
Opinions are welcome.
2019-04-09 11:51:41 -05:00
Jim
820385cf6a
Merge pull request #1817 from Gol-D-Ace/remove-double-spaces
Remove double spaces from localization
2019-04-08 23:50:09 -07:00
Clayton Groeneveld
977dea4ff0 UI: Add ability to center items vertically/horizontally 2019-04-08 22:52:39 -07:00
Jim
ff63e0c050
Merge pull request #1787 from cg2121/about-dialog-version
UI: Show correct version in about dialog
2019-04-08 21:37:22 -07:00
Clayton Groeneveld
94b3f80305 UI: Rename Default theme to System
The system theme was named Default even though the default theme is Dark.
This addresses that by renaming Default.qss to System.qss. I've made it
backwards compatible so users already using this theme are not affected.

The theme list now shows up as:
-System
-Dark (Default)
-Acri
-Rachni

I have also made it so that you can specify the default theme in the
UI config file.
2019-04-08 19:56:56 -05:00
Jim
b5cc26a918
Merge pull request #1814 from torresam/rename-autoselect
UI: Autoselect text on scene/source rename
2019-04-08 13:14:22 -07:00
Gol-D-Ace
9fc1069e9b Remove double spaces from localization 2019-04-08 16:02:32 +02:00
SCG82
a848565a62
UI: Fix size of output icon 2019-04-08 05:46:43 -07:00
Jim
298901d710
Merge pull request #1797 from WizardCM/log-groupitems
UI: Log group items on startup
2019-04-08 02:29:14 -07:00
Anthony Torres
fdae1bbc0f UI: Add text autoselect for source rename 2019-04-08 02:14:06 -07:00
Anthony Torres
bd71839259 UI: Add text autoselect on scene rename 2019-04-08 02:14:06 -07:00
James Park
21f4dd63d4 libobs: UI: Use graphics debug markers
Add D3D/GL debug markers to make RenderDoc captures easier to tranverse.

Also add obs_source_get_name_no_null() to avoid boilerplate for safe
string formatting.

Closes obsproject/obs-studio#1799
2019-04-08 02:05:37 -07:00
Jim
a0ead6f974
Merge pull request #1800 from cg2121/add-pragma-once
UI, libobs, text-freetype2: Add missing pragma once in header files
2019-04-06 23:40:43 -07:00
Jim
34a06caf50
Merge pull request #1805 from sputnick1124/frontend-api-access-systray
obs-frontend-api: Access system tray icon from API
2019-04-06 23:35:46 -07:00
Jim
411b6f1064
Merge pull request #1809 from cg2121/do-not-update-stats-hidden
UI: Don't update stats dock if hidden
2019-04-06 17:19:10 -07:00
Jim
a345b50966
Merge pull request #1807 from SuslikV/patch-14
UI: Fix incorrect padding usage in Rachni theme
2019-04-06 16:44:11 -07:00
Clayton Groeneveld
51198058c8 UI: Don't update stats dock if hidden
When the stats dock is hidden, the QTimer is still updating it, causing
unnecessary CPU usage.
2019-04-06 16:40:02 -07:00
derrod
4a55dedadc UI: Fix bandwidth test flag being saved to stream key
Previously enabling and disabling bandwidth testing in a certain order
lead to the parameter being included in the stream key that is saved to
disk, making it impossible to disable the bandwidth test later on.

By doing this properly and using string concatenation instead of
modifying (appending to) the key_ value this will no longer happen.
2019-04-06 15:35:16 +02:00
Michael Fabian 'Xaymar' Dirks
8b346ade64 cmake: Generate obs.rc out-of-tree
Fixes the `obs.rc` file appearing in the UI source tree and moves it
into the out-of-tree build directories provided by CMake. Projects
requiring this can use it by adding `${obs-studio_BINARY_DIR}/obs.rc`
to their source list.
2019-04-06 15:35:08 +02:00
Gol-D-Ace
e78ac5ebef Update translations from Crowdin 2019-04-04 16:19:51 +02:00
Nick Stockton
54da8eca85 obs-frontend-api: Access system tray icon from API
All UI elements are accessible through the obs frontend api via
obs_frontend_api_get_main_window, except for the tray icon and its
elements. This commit adds an obs_frontend_api_get_system_tray function
which returns the pointer to the QSystemTrayIcon cast to void (much like
the QMainWindow pointer for the main window).
2019-04-04 07:55:19 -04:00
SuslikV
2990a83c09
UI: Fix incorrect padding usage in Rachni theme 2019-04-04 09:59:03 +02:00
jp9000
739072fdcb UI: Do not show [x] (close) for primary dock widgets
This solves the issue of users who close the primary dock widgets and
can't figure out how to get them back, who for whatever reason choose
not to read the message box when closing dock widgets that tells them
how to get it back.  The users can still hide the primary dock widgets
via the View menu, but they can no longer close them via the [x] button
on the dock widget.  This change does not apply to secondary dock
widgets, such as a chat window, stats, etc.

Closes obsproject/obs-studio#1804
2019-04-03 09:55:27 -07:00
Clayton Groeneveld
736ebca259 UI: Show correct version in about dialog
This fixes an issue where the wrong version would
be shown in the about dialog when it is a rc release.
2019-04-02 23:16:50 -05:00
Matt Gajownik
2feb0f0c5d UI: Log group items on startup 2019-04-01 18:51:36 +11:00
Clayton Groeneveld
d1be93ae69 UI, libobs, text-freetype2: Add missing pragma once in header files 2019-04-01 02:48:28 -05:00
Jim
98c86307aa
Merge pull request #1792 from WizardCM/restream-smaller
UI: Allow smaller Restream docks
2019-03-31 21:55:51 -07:00
Jim
2d442452b7
Merge pull request #1796 from cg2121/fix-hotkeys-not-showing
UI: Fix issue where space/esc hotkeys would be blank
2019-03-31 20:44:04 -07:00
Jim
7e634ee389
Merge pull request #1798 from cg2121/mantis-1418
UI: Fix file browser showing up when dir selected
2019-03-31 20:32:00 -07:00
Jim
62e2c955de
Merge pull request #1794 from cg2121/fix-ctrl-c-crash-linux
UI: Fix crash when using ctrl-c in Linux terminal
2019-03-31 18:50:39 -07:00
Clayton Groeneveld
659b58c8f3 UI: Fix file browser showing up when dir selected
Fixes: https://obsproject.com/mantis/view.php?id=1418
2019-03-31 06:36:13 -05:00
Clayton Groeneveld
e321005b02 UI: Fix issue where space/esc hotkeys would be blank
This also modifies libobs.

This only happened on Linux.

Fixes https://obsproject.com/mantis/view.php?id=1018
2019-03-31 05:10:02 -05:00
Matt Gajownik
ef9af0ee08 UI: Hide border for Output Settings container 2019-03-31 17:37:44 +11:00
Matt Gajownik
21aa9d1020 UI: Hide border for General Settings container
This makes the screen consistent with Advanced and Audio
2019-03-31 17:37:43 +11:00
Matt Gajownik
31d3669154 UI: Refactor Audio Settings tab structure
- Now uses a QVBoxLayout with a QScrollArea for the container
- Uses QGroupBox for each section
- Moved Monitoring and ducking settings out of the Advanced tab
- Push-to hotkeys are no longer in a child scroll area
- Renamed device labels for consistency
2019-03-31 17:37:36 +11:00
Clayton Groeneveld
cc1f239420 UI: Fix crash when using ctrl-c in Linux terminal
This fixes a seg fault that would happen when launching OBS from the
terminal and then hitting ctrl-c.
2019-03-31 00:59:51 -05:00
Matt Gajownik
69bbbe342a UI: Allow smaller Restream docks 2019-03-30 20:28:22 +11:00