UI: Replace/simplify device toolbar

The old version of the device toolbar was a complex situation.  Because
of the fact that device properties can take significant time to query,
this put an unpleasant burden on the UI thread; so to fix this problem,
the device toolbar was made to be threaded.  However, threading is a
complex and dangerous thing, and there is a fear that this could cause
complications down the line whenever users are simply selecting devices.

So for the time being, as a safety precaution, simplify the device
toolbar down to just the "activate" button, and make it so that if users
really need to query and change the devices, that they need to
explicitly open the properties.  That way the devices aren't being
queried constantly every time a device source is selected.

Alternatively in the future, device enumeration could be cached, but
seeing as that's a significant amount of work and needs to take in to
account whether a user adds/removes a device while the process is
active, that's not going to happen any time soon.
This commit is contained in:
jp9000
2020-09-07 16:14:30 -07:00
parent 072a886453
commit 50d3130b64
6 changed files with 64 additions and 186 deletions

View File

@@ -238,7 +238,6 @@ set(obs_SOURCES
item-widget-helpers.cpp
context-bar-controls.cpp
horizontal-scroll-area.cpp
context-bar-controls-devices.cpp
vertical-scroll-area.cpp
visibility-item-widget.cpp
slider-absoluteset-style.cpp
@@ -306,7 +305,6 @@ set(obs_HEADERS
item-widget-helpers.hpp
visibility-checkbox.hpp
context-bar-controls.hpp
context-bar-controls-devices.hpp
locked-checkbox.hpp
horizontal-scroll-area.hpp
expand-checkbox.hpp