UI: Add list item widget w/ visibility checkbox

This is used to allow the user to temporarily disable sources/filters.

For each item in the list box, it displays a visibility checkbox (with
eye icon) that the user can click to disable/re-enable sources or
filters.

I did not end up using the Qt::ItemIsUserCheckable flag with the list
items for a few reasons:

- We could not style the checkbox indicator without qss screwing up
  other parts of the list widget style on certain operating systems

- We could not get the icon to properly invert on active selection like
  the text does on mac/linux, which made it look strange

- Clicking the checkbox too fast would cause it to signal a double-click
  on the icon, opening the properties for a source in the source list
This commit is contained in:
jp9000
2015-03-17 19:00:10 -07:00
parent 2e053c849b
commit 642aa7454f
3 changed files with 325 additions and 0 deletions

View File

@@ -109,6 +109,7 @@ set(obs_SOURCES
adv-audio-control.cpp
visibility-checkbox.cpp
vertical-scroll-area.cpp
visibility-item-widget.cpp
source-list-widget.cpp
crash-report.cpp
qt-wrappers.cpp)
@@ -139,6 +140,7 @@ set(obs_HEADERS
adv-audio-control.hpp
visibility-checkbox.hpp
vertical-scroll-area.hpp
visibility-item-widget.hpp
source-list-widget.hpp
qt-display.hpp
crash-report.hpp