diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 0711c69a4..8270baba7 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -238,8 +238,6 @@ set(obs_SOURCES volume-control.cpp adv-audio-control.cpp item-widget-helpers.cpp - visibility-checkbox.cpp - locked-checkbox.cpp horizontal-scroll-area.cpp vertical-scroll-area.cpp visibility-item-widget.cpp diff --git a/UI/data/themes/Acri.qss b/UI/data/themes/Acri.qss index 62cbac30d..ab452ec78 100644 --- a/UI/data/themes/Acri.qss +++ b/UI/data/themes/Acri.qss @@ -330,27 +330,27 @@ QToolButton:pressed { } * [themeID="addIconSmall"] { - qproperty-icon: url(./Acri/plus.png); + qproperty-icon: url(./Dark/plus.svg); } * [themeID="removeIconSmall"] { - qproperty-icon: url(./Acri/minus.png); + qproperty-icon: url(./Dark/minus.svg); } * [themeID="propertiesIconSmall"] { - qproperty-icon: url(./Acri/cogwheel.png); + qproperty-icon: url(./Dark/settings/general.svg); } * [themeID="configIconSmall"] { - qproperty-icon: url(./Acri/cogwheel.png); + qproperty-icon: url(./Dark/settings/general.svg); } * [themeID="upArrowIconSmall"] { - qproperty-icon: url(./Acri/up_arrow.png); + qproperty-icon: url(./Dark/up.svg); } * [themeID="downArrowIconSmall"] { - qproperty-icon: url(./Acri/down_arrow.png); + qproperty-icon: url(./Dark/down.svg); } /* Tab Widget */ @@ -409,7 +409,7 @@ QComboBox::drop-down { QComboBox::down-arrow { qproperty-alignment: AlignTop; - image: url(./Acri/updown.png); + image: url(./Dark/updown.svg); width: 100%; } @@ -429,7 +429,7 @@ QComboBox::drop-down:editable { QComboBox::down-arrow:editable { qproperty-alignment: AlignTop; - image: url(./Acri/down_arrow.png); + image: url(./Dark/down.svg); width: 8%; } @@ -495,12 +495,12 @@ QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBo } QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(./Acri/up_arrow.png); + image: url(./Dark/up.svg); width: 100%; } QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(./Acri/down_arrow.png); + image: url(./Dark/down.svg); width: 100%; } @@ -772,34 +772,34 @@ MuteCheckBox { } MuteCheckBox::indicator:checked { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:unchecked { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } MuteCheckBox::indicator:unchecked:hover { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } MuteCheckBox::indicator:unchecked:focus { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } MuteCheckBox::indicator:checked:hover { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:checked:focus { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:checked:disabled { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:unchecked:disabled { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } OBSHotkeyLabel[hotkeyPairHover=true] { @@ -822,12 +822,12 @@ SourceTreeSubItemCheckBox::indicator { SourceTreeSubItemCheckBox::indicator:checked, SourceTreeSubItemCheckBox::indicator:checked:hover { - image: url(./Dark/expand.png); + image: url(./Dark/expand.svg); } SourceTreeSubItemCheckBox::indicator:unchecked, SourceTreeSubItemCheckBox::indicator:unchecked:hover { - image: url(./Dark/collapse.png); + image: url(./Dark/down.svg); } @@ -927,3 +927,47 @@ OBSBasicSettings { qproperty-hotkeysIcon: url(./Dark/settings/hotkeys.svg); qproperty-advancedIcon: url(./Dark/settings/advanced.svg); } + +/* Locked CheckBox */ + +LockedCheckBox { + outline: none; +} + +LockedCheckBox::indicator:checked { + image: url(./Dark/locked.svg); +} + +LockedCheckBox::indicator:unchecked { + image: url(:res/images/unlocked.svg); +} + +LockedCheckBox::indicator:checked:hover { + image: url(./Dark/locked.svg); +} + +LockedCheckBox::indicator:unchecked:hover { + image: url(:res/images/unlocked.svg); +} + +/* Visibilty CheckBox */ + +VisibilityCheckBox { + outline: none; +} + +VisibilityCheckBox::indicator:checked { + image: url(./Dark/visible.svg); +} + +VisibilityCheckBox::indicator:unchecked { + image: url(:res/images/invisible.svg); +} + +VisibilityCheckBox::indicator:checked:hover { + image: url(./Dark/visible.svg); +} + +VisibilityCheckBox::indicator:unchecked:hover { + image: url(:res/images/invisible.svg); +} diff --git a/UI/data/themes/Acri/cogwheel.png b/UI/data/themes/Acri/cogwheel.png deleted file mode 100644 index e0456ceea..000000000 Binary files a/UI/data/themes/Acri/cogwheel.png and /dev/null differ diff --git a/UI/data/themes/Acri/cogwheel_2x.png b/UI/data/themes/Acri/cogwheel_2x.png deleted file mode 100644 index 49c4070a7..000000000 Binary files a/UI/data/themes/Acri/cogwheel_2x.png and /dev/null differ diff --git a/UI/data/themes/Acri/down_arrow.png b/UI/data/themes/Acri/down_arrow.png deleted file mode 100644 index 39d31da89..000000000 Binary files a/UI/data/themes/Acri/down_arrow.png and /dev/null differ diff --git a/UI/data/themes/Acri/minus.png b/UI/data/themes/Acri/minus.png deleted file mode 100644 index 26e35b4e4..000000000 Binary files a/UI/data/themes/Acri/minus.png and /dev/null differ diff --git a/UI/data/themes/Acri/mute.png b/UI/data/themes/Acri/mute.png deleted file mode 100644 index 682f91edf..000000000 Binary files a/UI/data/themes/Acri/mute.png and /dev/null differ diff --git a/UI/data/themes/Acri/plus.png b/UI/data/themes/Acri/plus.png deleted file mode 100644 index 69325d1d8..000000000 Binary files a/UI/data/themes/Acri/plus.png and /dev/null differ diff --git a/UI/data/themes/Acri/unmute.png b/UI/data/themes/Acri/unmute.png deleted file mode 100644 index c50c263fd..000000000 Binary files a/UI/data/themes/Acri/unmute.png and /dev/null differ diff --git a/UI/data/themes/Acri/up_arrow.png b/UI/data/themes/Acri/up_arrow.png deleted file mode 100644 index 89a5d4707..000000000 Binary files a/UI/data/themes/Acri/up_arrow.png and /dev/null differ diff --git a/UI/data/themes/Acri/updown.png b/UI/data/themes/Acri/updown.png deleted file mode 100644 index 69cadbbb5..000000000 Binary files a/UI/data/themes/Acri/updown.png and /dev/null differ diff --git a/UI/data/themes/Dark.qss b/UI/data/themes/Dark.qss index 34fa8d73c..f7089c8cf 100644 --- a/UI/data/themes/Dark.qss +++ b/UI/data/themes/Dark.qss @@ -236,31 +236,31 @@ QToolButton:pressed { } * [themeID="addIconSmall"] { - qproperty-icon: url(./Dark/plus.png); + qproperty-icon: url(./Dark/plus.svg); } * [themeID="removeIconSmall"] { - qproperty-icon: url(./Dark/minus.png); + qproperty-icon: url(./Dark/minus.svg); } * [themeID="propertiesIconSmall"] { - qproperty-icon: url(./Dark/cogwheel.png); + qproperty-icon: url(./Dark/settings/general.svg); } * [themeID="configIconSmall"] { - qproperty-icon: url(./Dark/cogwheel.png); + qproperty-icon: url(./Dark/settings/general.svg); } * [themeID="refreshIconSmall"] { - qproperty-icon: url(./Dark/refresh.png); + qproperty-icon: url(./Dark/refresh.svg); } * [themeID="upArrowIconSmall"] { - qproperty-icon: url(./Dark/up_arrow.png); + qproperty-icon: url(./Dark/up.svg); } * [themeID="downArrowIconSmall"] { - qproperty-icon: url(./Dark/down_arrow.png); + qproperty-icon: url(./Dark/down.svg); } @@ -342,7 +342,7 @@ QComboBox::drop-down { QComboBox::down-arrow { qproperty-alignment: AlignTop; - image: url(./Dark/updown.png); + image: url(./Dark/updown.svg); width: 100%; } @@ -362,7 +362,7 @@ QComboBox::drop-down:editable { QComboBox::down-arrow:editable { qproperty-alignment: AlignTop; - image: url(./Dark/down_arrow.png); + image: url(./Dark/down.svg); width: 8%; } @@ -433,12 +433,12 @@ QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBo } QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(./Dark/up_arrow.png); + image: url(./Dark/up.svg); width: 100%; } QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(./Dark/down_arrow.png); + image: url(./Dark/down.svg); width: 100%; } @@ -472,7 +472,7 @@ QPushButton:checked { } QPushButton::menu-indicator { - image: url(./Dark/down_arrow.png); + image: url(./Dark/down.svg); subcontrol-position: right; subcontrol-origin: padding; width: 25px; @@ -613,18 +613,17 @@ MuteCheckBox { } MuteCheckBox::indicator:checked { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:unchecked { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } OBSHotkeyLabel[hotkeyPairHover=true] { color: red; } - /* Group Collapse Checkbox */ SourceTreeSubItemCheckBox { @@ -718,3 +717,31 @@ OBSBasicSettings { qproperty-hotkeysIcon: url(./Dark/settings/hotkeys.svg); qproperty-advancedIcon: url(./Dark/settings/advanced.svg); } + +/* Locked CheckBox */ + +LockedCheckBox { + outline: none; +} + +LockedCheckBox::indicator:checked { + image: url(./Dark/locked.svg); +} + +LockedCheckBox::indicator:unchecked { + image: url(:res/images/unlocked.svg); +} + +/* Visibilty CheckBox */ + +VisibilityCheckBox { + outline: none; +} + +VisibilityCheckBox::indicator:checked { + image: url(./Dark/visible.svg); +} + +VisibilityCheckBox::indicator:unchecked { + image: url(:res/images/invisible.svg); +} diff --git a/UI/data/themes/Dark/cogwheel.png b/UI/data/themes/Dark/cogwheel.png deleted file mode 100644 index 62ecce944..000000000 Binary files a/UI/data/themes/Dark/cogwheel.png and /dev/null differ diff --git a/UI/data/themes/Dark/cogwheel_2x.png b/UI/data/themes/Dark/cogwheel_2x.png deleted file mode 100644 index 49c4070a7..000000000 Binary files a/UI/data/themes/Dark/cogwheel_2x.png and /dev/null differ diff --git a/UI/data/themes/Dark/collapse.png b/UI/data/themes/Dark/collapse.png deleted file mode 100644 index 1fd72a116..000000000 Binary files a/UI/data/themes/Dark/collapse.png and /dev/null differ diff --git a/UI/data/themes/Dark/down.svg b/UI/data/themes/Dark/down.svg new file mode 100644 index 000000000..e3920cffa --- /dev/null +++ b/UI/data/themes/Dark/down.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/down_arrow.png b/UI/data/themes/Dark/down_arrow.png deleted file mode 100644 index 39d31da89..000000000 Binary files a/UI/data/themes/Dark/down_arrow.png and /dev/null differ diff --git a/UI/data/themes/Dark/expand.png b/UI/data/themes/Dark/expand.png deleted file mode 100644 index dd5d2b5ec..000000000 Binary files a/UI/data/themes/Dark/expand.png and /dev/null differ diff --git a/UI/data/themes/Dark/expand.svg b/UI/data/themes/Dark/expand.svg new file mode 100644 index 000000000..b87cc7bc1 --- /dev/null +++ b/UI/data/themes/Dark/expand.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/locked.svg b/UI/data/themes/Dark/locked.svg new file mode 100644 index 000000000..58239eb6c --- /dev/null +++ b/UI/data/themes/Dark/locked.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/UI/data/themes/Dark/minus.png b/UI/data/themes/Dark/minus.png deleted file mode 100644 index 26e35b4e4..000000000 Binary files a/UI/data/themes/Dark/minus.png and /dev/null differ diff --git a/UI/data/themes/Dark/minus.svg b/UI/data/themes/Dark/minus.svg new file mode 100644 index 000000000..8fdc03774 --- /dev/null +++ b/UI/data/themes/Dark/minus.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/mute.png b/UI/data/themes/Dark/mute.png deleted file mode 100644 index 682f91edf..000000000 Binary files a/UI/data/themes/Dark/mute.png and /dev/null differ diff --git a/UI/data/themes/Dark/mute.svg b/UI/data/themes/Dark/mute.svg new file mode 100644 index 000000000..d6c9c5de8 --- /dev/null +++ b/UI/data/themes/Dark/mute.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/no_sources.svg b/UI/data/themes/Dark/no_sources.svg index 1710db96b..be6ad559a 100644 --- a/UI/data/themes/Dark/no_sources.svg +++ b/UI/data/themes/Dark/no_sources.svg @@ -3,16 +3,16 @@ - + - + - + - + diff --git a/UI/data/themes/Dark/plus.png b/UI/data/themes/Dark/plus.png deleted file mode 100644 index 69325d1d8..000000000 Binary files a/UI/data/themes/Dark/plus.png and /dev/null differ diff --git a/UI/data/themes/Dark/plus.svg b/UI/data/themes/Dark/plus.svg new file mode 100644 index 000000000..c441b0fa7 --- /dev/null +++ b/UI/data/themes/Dark/plus.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/refresh.png b/UI/data/themes/Dark/refresh.png deleted file mode 100644 index 7a6f6e6dc..000000000 Binary files a/UI/data/themes/Dark/refresh.png and /dev/null differ diff --git a/UI/data/themes/Dark/refresh.svg b/UI/data/themes/Dark/refresh.svg new file mode 100644 index 000000000..4d64bd680 --- /dev/null +++ b/UI/data/themes/Dark/refresh.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/settings/advanced.svg b/UI/data/themes/Dark/settings/advanced.svg index b05b7c5f1..9ee4de7d0 100644 --- a/UI/data/themes/Dark/settings/advanced.svg +++ b/UI/data/themes/Dark/settings/advanced.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/data/themes/Dark/settings/audio.svg b/UI/data/themes/Dark/settings/audio.svg index 1fbef7613..5a5a78a5f 100644 --- a/UI/data/themes/Dark/settings/audio.svg +++ b/UI/data/themes/Dark/settings/audio.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/data/themes/Dark/settings/general.svg b/UI/data/themes/Dark/settings/general.svg index 62e11fa23..a2b0c422d 100644 --- a/UI/data/themes/Dark/settings/general.svg +++ b/UI/data/themes/Dark/settings/general.svg @@ -1,61 +1 @@ - - - - - - image/svg+xml - - - - - - - - - - - + diff --git a/UI/data/themes/Dark/settings/hotkeys.svg b/UI/data/themes/Dark/settings/hotkeys.svg index 1ae542d1b..6fdd69539 100644 --- a/UI/data/themes/Dark/settings/hotkeys.svg +++ b/UI/data/themes/Dark/settings/hotkeys.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/data/themes/Dark/settings/output.svg b/UI/data/themes/Dark/settings/output.svg index 75bbe2dc5..83e4c5d73 100644 --- a/UI/data/themes/Dark/settings/output.svg +++ b/UI/data/themes/Dark/settings/output.svg @@ -1,5 +1,5 @@ - + diff --git a/UI/data/themes/Dark/settings/stream.svg b/UI/data/themes/Dark/settings/stream.svg index 1c8ea824b..982fd1a57 100644 --- a/UI/data/themes/Dark/settings/stream.svg +++ b/UI/data/themes/Dark/settings/stream.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/data/themes/Dark/settings/video.svg b/UI/data/themes/Dark/settings/video.svg index d3a8002a6..2aca1f306 100644 --- a/UI/data/themes/Dark/settings/video.svg +++ b/UI/data/themes/Dark/settings/video.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/data/themes/Dark/unmute.png b/UI/data/themes/Dark/unmute.png deleted file mode 100644 index ae73cd2ff..000000000 Binary files a/UI/data/themes/Dark/unmute.png and /dev/null differ diff --git a/UI/data/themes/Dark/up.svg b/UI/data/themes/Dark/up.svg new file mode 100644 index 000000000..370b8f8e3 --- /dev/null +++ b/UI/data/themes/Dark/up.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/up_arrow.png b/UI/data/themes/Dark/up_arrow.png deleted file mode 100644 index 89a5d4707..000000000 Binary files a/UI/data/themes/Dark/up_arrow.png and /dev/null differ diff --git a/UI/data/themes/Dark/updown.png b/UI/data/themes/Dark/updown.png deleted file mode 100644 index 69cadbbb5..000000000 Binary files a/UI/data/themes/Dark/updown.png and /dev/null differ diff --git a/UI/data/themes/Dark/updown.svg b/UI/data/themes/Dark/updown.svg new file mode 100644 index 000000000..a91e74021 --- /dev/null +++ b/UI/data/themes/Dark/updown.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Dark/visible.svg b/UI/data/themes/Dark/visible.svg new file mode 100644 index 000000000..ffe51ec87 --- /dev/null +++ b/UI/data/themes/Dark/visible.svg @@ -0,0 +1 @@ + diff --git a/UI/data/themes/Rachni.qss b/UI/data/themes/Rachni.qss index 6855aa7b6..5ccd1e9c6 100644 --- a/UI/data/themes/Rachni.qss +++ b/UI/data/themes/Rachni.qss @@ -480,31 +480,31 @@ QToolButton:pressed { } * [themeID="addIconSmall"] { - qproperty-icon: url(./Dark/plus.png); + qproperty-icon: url(./Dark/plus.svg); } * [themeID="removeIconSmall"] { - qproperty-icon: url(./Dark/minus.png); + qproperty-icon: url(./Dark/minus.svg); } * [themeID="propertiesIconSmall"] { - qproperty-icon: url(./Dark/cogwheel.png); + qproperty-icon: url(./Dark/settings/general.svg); } * [themeID="configIconSmall"] { - qproperty-icon: url(./Dark/cogwheel.png); + qproperty-icon: url(./Dark/settings/general.svg); } * [themeID="refreshIconSmall"] { - qproperty-icon: url(./Dark/refresh.png); + qproperty-icon: url(./Dark/refresh.svg); } * [themeID="upArrowIconSmall"] { - qproperty-icon: url(./Dark/up_arrow.png); + qproperty-icon: url(./Dark/up.svg); } * [themeID="downArrowIconSmall"] { - qproperty-icon: url(./Dark/down_arrow.png); + qproperty-icon: url(./Dark/down.svg); } /***********************/ @@ -738,36 +738,36 @@ MuteCheckBox { } MuteCheckBox::indicator:checked { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:unchecked { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } MuteCheckBox::indicator:unchecked:hover { background-color: rgba(240, 98, 146, 0.5); /* Pink (Secondary) */ - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } MuteCheckBox::indicator:unchecked:focus { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } MuteCheckBox::indicator:checked:hover { background-color: rgba(240, 98, 146, 0.5); /* Pink (Secondary) */ - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:checked:focus { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:checked:disabled { - image: url(./Dark/mute.png); + image: url(./Dark/mute.svg); } MuteCheckBox::indicator:unchecked:disabled { - image: url(./Dark/unmute.png); + image: url(./Dark/settings/audio.svg); } /****************************/ @@ -786,12 +786,12 @@ SourceTreeSubItemCheckBox::indicator { SourceTreeSubItemCheckBox::indicator:checked, SourceTreeSubItemCheckBox::indicator:checked:hover { - image: url(./Dark/expand.png); + image: url(./Dark/expand.svg); } SourceTreeSubItemCheckBox::indicator:unchecked, SourceTreeSubItemCheckBox::indicator:unchecked:hover { - image: url(./Dark/collapse.png); + image: url(./Dark/down.svg); } /*************************/ @@ -1283,3 +1283,47 @@ OBSBasicSettings { qproperty-hotkeysIcon: url(./Dark/settings/hotkeys.svg); qproperty-advancedIcon: url(./Dark/settings/advanced.svg); } + +/* Locked CheckBox */ + +LockedCheckBox { + outline: none; +} + +LockedCheckBox::indicator:checked { + image: url(./Dark/locked.svg); +} + +LockedCheckBox::indicator:unchecked { + image: url(:res/images/unlocked.svg); +} + +LockedCheckBox::indicator:checked:hover { + image: url(./Dark/locked.svg); +} + +LockedCheckBox::indicator:unchecked:hover { + image: url(:res/images/unlocked.svg); +} + +/* Visibilty CheckBox */ + +VisibilityCheckBox { + outline: none; +} + +VisibilityCheckBox::indicator:checked { + image: url(./Dark/visible.svg); +} + +VisibilityCheckBox::indicator:unchecked { + image: url(:res/images/invisible.svg); +} + +VisibilityCheckBox::indicator:checked:hover { + image: url(./Dark/visible.svg); +} + +VisibilityCheckBox::indicator:unchecked:hover { + image: url(:res/images/invisible.svg); +} diff --git a/UI/data/themes/System.qss b/UI/data/themes/System.qss index 543618924..192c7ce09 100644 --- a/UI/data/themes/System.qss +++ b/UI/data/themes/System.qss @@ -12,31 +12,31 @@ /* We need to set back the icons, or the preview wont stick. */ * [themeID="addIconSmall"] { - qproperty-icon: url(:/res/images/add.png); + qproperty-icon: url(:/res/images/plus.svg); } * [themeID="removeIconSmall"] { - qproperty-icon: url(:/res/images/list_remove.png); + qproperty-icon: url(:/res/images/minus.svg); } * [themeID="propertiesIconSmall"] { - qproperty-icon: url(:/res/images/properties.png); + qproperty-icon: url(:/settings/images/settings/general.svg); } * [themeID="configIconSmall"] { - qproperty-icon: url(:/res/images/configuration21_16.png); + qproperty-icon: url(:/settings/images/settings/general.svg); } * [themeID="upArrowIconSmall"] { - qproperty-icon: url(:/res/images/up.png); + qproperty-icon: url(:/res/images/up.svg); } * [themeID="refreshIconSmall"] { - qproperty-icon: url(:/res/images/refresh.png); + qproperty-icon: url(:/res/images/refresh.svg); } * [themeID="downArrowIconSmall"] { - qproperty-icon: url(:/res/images/down.png); + qproperty-icon: url(:/res/images/down.svg); } MuteCheckBox { @@ -44,11 +44,11 @@ MuteCheckBox { } MuteCheckBox::indicator:checked { - image: url(:/res/images/mute.png); + image: url(:/res/images/mute.svg); } MuteCheckBox::indicator:unchecked { - image: url(:/res/images/unmute.png); + image: url(:/settings/images/settings/audio.svg); } SourceTreeSubItemCheckBox { @@ -62,11 +62,11 @@ SourceTreeSubItemCheckBox::indicator { } SourceTreeSubItemCheckBox::indicator:checked { - image: url(:/res/images/expand.png); + image: url(:/res/images/expand.svg); } SourceTreeSubItemCheckBox::indicator:unchecked { - image: url(:/res/images/collapse.png); + image: url(:/res/images/down.svg); } OBSHotkeyLabel[hotkeyPairHover=true] { @@ -161,3 +161,31 @@ OBSBasicSettings { qproperty-hotkeysIcon: url(:settings/images/settings/hotkeys.svg); qproperty-advancedIcon: url(:settings/images/settings/advanced.svg); } + +/* Locked CheckBox */ + +LockedCheckBox { + outline: none; +} + +LockedCheckBox::indicator:checked { + image: url(:res/images/locked.svg); +} + +LockedCheckBox::indicator:unchecked { + image: url(:res/images/unlocked.svg); +} + +/* Visibilty CheckBox */ + +VisibilityCheckBox { + outline: none; +} + +VisibilityCheckBox::indicator:checked { + image: url(:res/images/visible.svg); +} + +VisibilityCheckBox::indicator:unchecked { + image: url(:res/images/invisible.svg); +} diff --git a/UI/forms/OBSAbout.ui b/UI/forms/OBSAbout.ui index 4679f1799..edac7bef5 100644 --- a/UI/forms/OBSAbout.ui +++ b/UI/forms/OBSAbout.ui @@ -18,16 +18,31 @@ 30 30 - 261 - 261 + 256 + 256 + + + 256 + 256 + + + + + 256 + 256 + + :res/images/obs.png + + true + diff --git a/UI/forms/images/add.png b/UI/forms/images/add.png deleted file mode 100644 index 5413c1edf..000000000 Binary files a/UI/forms/images/add.png and /dev/null differ diff --git a/UI/forms/images/collapse.png b/UI/forms/images/collapse.png deleted file mode 100644 index 04707a44d..000000000 Binary files a/UI/forms/images/collapse.png and /dev/null differ diff --git a/UI/forms/images/configuration21_16.png b/UI/forms/images/configuration21_16.png deleted file mode 100644 index 3ddd7178b..000000000 Binary files a/UI/forms/images/configuration21_16.png and /dev/null differ diff --git a/UI/forms/images/configuration21_16_2x.png b/UI/forms/images/configuration21_16_2x.png deleted file mode 100644 index fb5656036..000000000 Binary files a/UI/forms/images/configuration21_16_2x.png and /dev/null differ diff --git a/UI/forms/images/down.png b/UI/forms/images/down.png deleted file mode 100644 index 35a8c4b2f..000000000 Binary files a/UI/forms/images/down.png and /dev/null differ diff --git a/UI/forms/images/down.svg b/UI/forms/images/down.svg new file mode 100644 index 000000000..c827bbd41 --- /dev/null +++ b/UI/forms/images/down.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/editscene.png b/UI/forms/images/editscene.png deleted file mode 100644 index 65b96e8cc..000000000 Binary files a/UI/forms/images/editscene.png and /dev/null differ diff --git a/UI/forms/images/expand.png b/UI/forms/images/expand.png deleted file mode 100644 index 1222bcdc1..000000000 Binary files a/UI/forms/images/expand.png and /dev/null differ diff --git a/UI/forms/images/expand.svg b/UI/forms/images/expand.svg new file mode 100644 index 000000000..6f87ea98f --- /dev/null +++ b/UI/forms/images/expand.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/invisible.svg b/UI/forms/images/invisible.svg new file mode 100644 index 000000000..0d1484d61 --- /dev/null +++ b/UI/forms/images/invisible.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/invisible_mask.png b/UI/forms/images/invisible_mask.png deleted file mode 100644 index 479e13ee1..000000000 Binary files a/UI/forms/images/invisible_mask.png and /dev/null differ diff --git a/UI/forms/images/invisible_mask_2x.png b/UI/forms/images/invisible_mask_2x.png deleted file mode 100644 index dffe83aa6..000000000 Binary files a/UI/forms/images/invisible_mask_2x.png and /dev/null differ diff --git a/UI/forms/images/list_remove.png b/UI/forms/images/list_remove.png deleted file mode 100644 index 58586626d..000000000 Binary files a/UI/forms/images/list_remove.png and /dev/null differ diff --git a/UI/forms/images/live.png b/UI/forms/images/live.png deleted file mode 100644 index 804f72c07..000000000 Binary files a/UI/forms/images/live.png and /dev/null differ diff --git a/UI/forms/images/locked.svg b/UI/forms/images/locked.svg new file mode 100644 index 000000000..bcb2cb755 --- /dev/null +++ b/UI/forms/images/locked.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/UI/forms/images/locked_mask.png b/UI/forms/images/locked_mask.png deleted file mode 100644 index 4f05b1a56..000000000 Binary files a/UI/forms/images/locked_mask.png and /dev/null differ diff --git a/UI/forms/images/locked_mask_2x.png b/UI/forms/images/locked_mask_2x.png deleted file mode 100644 index 9cad6a4ac..000000000 Binary files a/UI/forms/images/locked_mask_2x.png and /dev/null differ diff --git a/UI/forms/images/minus.svg b/UI/forms/images/minus.svg new file mode 100644 index 000000000..8a2e2f971 --- /dev/null +++ b/UI/forms/images/minus.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/mute.png b/UI/forms/images/mute.png deleted file mode 100644 index 97cb10a1c..000000000 Binary files a/UI/forms/images/mute.png and /dev/null differ diff --git a/UI/forms/images/mute.svg b/UI/forms/images/mute.svg new file mode 100644 index 000000000..d6c9c5de8 --- /dev/null +++ b/UI/forms/images/mute.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/no_sources.svg b/UI/forms/images/no_sources.svg index 84b87c5eb..55eb49203 100644 --- a/UI/forms/images/no_sources.svg +++ b/UI/forms/images/no_sources.svg @@ -3,16 +3,16 @@ - + - + - + - + diff --git a/UI/forms/images/plus.svg b/UI/forms/images/plus.svg new file mode 100644 index 000000000..de42f6b42 --- /dev/null +++ b/UI/forms/images/plus.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/properties.png b/UI/forms/images/properties.png deleted file mode 100644 index 3ddd7178b..000000000 Binary files a/UI/forms/images/properties.png and /dev/null differ diff --git a/UI/forms/images/properties_2x.png b/UI/forms/images/properties_2x.png deleted file mode 100644 index fb5656036..000000000 Binary files a/UI/forms/images/properties_2x.png and /dev/null differ diff --git a/UI/forms/images/refresh.png b/UI/forms/images/refresh.png deleted file mode 100644 index e3e4c5b8b..000000000 Binary files a/UI/forms/images/refresh.png and /dev/null differ diff --git a/UI/forms/images/refresh.svg b/UI/forms/images/refresh.svg new file mode 100644 index 000000000..2da126ac0 --- /dev/null +++ b/UI/forms/images/refresh.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/settings/advanced.svg b/UI/forms/images/settings/advanced.svg index 67a598405..27fdfc84f 100644 --- a/UI/forms/images/settings/advanced.svg +++ b/UI/forms/images/settings/advanced.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/forms/images/settings/audio.svg b/UI/forms/images/settings/audio.svg index 19b375fb0..2cbca0005 100644 --- a/UI/forms/images/settings/audio.svg +++ b/UI/forms/images/settings/audio.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/forms/images/settings/general.svg b/UI/forms/images/settings/general.svg index d3877dcef..35212805c 100644 --- a/UI/forms/images/settings/general.svg +++ b/UI/forms/images/settings/general.svg @@ -1,61 +1 @@ - - - - - - image/svg+xml - - - - - - - - - - - + diff --git a/UI/forms/images/settings/hotkeys.svg b/UI/forms/images/settings/hotkeys.svg index 89712ade5..9a406bb85 100644 --- a/UI/forms/images/settings/hotkeys.svg +++ b/UI/forms/images/settings/hotkeys.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/forms/images/settings/output.svg b/UI/forms/images/settings/output.svg index e8a1f1c8a..a26cd0c56 100644 --- a/UI/forms/images/settings/output.svg +++ b/UI/forms/images/settings/output.svg @@ -1,5 +1,5 @@ - - + + diff --git a/UI/forms/images/settings/stream.svg b/UI/forms/images/settings/stream.svg index f89a7052a..6474c0686 100644 --- a/UI/forms/images/settings/stream.svg +++ b/UI/forms/images/settings/stream.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/forms/images/settings/video.svg b/UI/forms/images/settings/video.svg index 3671fd041..f278de5cc 100644 --- a/UI/forms/images/settings/video.svg +++ b/UI/forms/images/settings/video.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/UI/forms/images/sound.ico b/UI/forms/images/sound.ico deleted file mode 100644 index c7b86de5d..000000000 Binary files a/UI/forms/images/sound.ico and /dev/null differ diff --git a/UI/forms/images/sound_muted.ico b/UI/forms/images/sound_muted.ico deleted file mode 100644 index e68529b68..000000000 Binary files a/UI/forms/images/sound_muted.ico and /dev/null differ diff --git a/UI/forms/images/unlocked.svg b/UI/forms/images/unlocked.svg new file mode 100644 index 000000000..33641a31c --- /dev/null +++ b/UI/forms/images/unlocked.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/UI/forms/images/unlocked_mask.png b/UI/forms/images/unlocked_mask.png deleted file mode 100644 index 192be789c..000000000 Binary files a/UI/forms/images/unlocked_mask.png and /dev/null differ diff --git a/UI/forms/images/unlocked_mask_2x.png b/UI/forms/images/unlocked_mask_2x.png deleted file mode 100644 index de5a6ad08..000000000 Binary files a/UI/forms/images/unlocked_mask_2x.png and /dev/null differ diff --git a/UI/forms/images/unmute.png b/UI/forms/images/unmute.png deleted file mode 100644 index e849e3e8b..000000000 Binary files a/UI/forms/images/unmute.png and /dev/null differ diff --git a/UI/forms/images/up.png b/UI/forms/images/up.png deleted file mode 100644 index d881a9162..000000000 Binary files a/UI/forms/images/up.png and /dev/null differ diff --git a/UI/forms/images/up.svg b/UI/forms/images/up.svg new file mode 100644 index 000000000..758bb33de --- /dev/null +++ b/UI/forms/images/up.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/visible.svg b/UI/forms/images/visible.svg new file mode 100644 index 000000000..26b604e02 --- /dev/null +++ b/UI/forms/images/visible.svg @@ -0,0 +1 @@ + diff --git a/UI/forms/images/visible_mask.png b/UI/forms/images/visible_mask.png deleted file mode 100644 index 67e832672..000000000 Binary files a/UI/forms/images/visible_mask.png and /dev/null differ diff --git a/UI/forms/images/visible_mask_2x.png b/UI/forms/images/visible_mask_2x.png deleted file mode 100644 index 540180fdd..000000000 Binary files a/UI/forms/images/visible_mask_2x.png and /dev/null differ diff --git a/UI/forms/obs.qrc b/UI/forms/obs.qrc index 8d7b9f3be..fb5fb6557 100644 --- a/UI/forms/obs.qrc +++ b/UI/forms/obs.qrc @@ -1,31 +1,19 @@ - images/mute.png - images/unmute.png - images/refresh.png + images/mute.svg + images/refresh.svg images/no_sources.svg - images/configuration21_16.png - images/configuration21_16_2x.png - images/invisible_mask.png - images/invisible_mask_2x.png - images/visible_mask.png - images/visible_mask_2x.png - images/list_remove.png - images/add.png - images/down.png - images/editscene.png - images/live.png - images/properties.png - images/properties_2x.png - images/up.png + images/minus.svg + images/plus.svg + images/down.svg + images/up.svg images/obs.png images/tray_active.png - images/locked_mask.png - images/locked_mask_2x.png - images/unlocked_mask.png - images/unlocked_mask_2x.png - images/collapse.png - images/expand.png + images/expand.svg + images/unlocked.svg + images/locked.svg + images/invisible.svg + images/visible.svg images/settings/output.svg diff --git a/UI/locked-checkbox.cpp b/UI/locked-checkbox.cpp deleted file mode 100644 index 2d0d688ed..000000000 --- a/UI/locked-checkbox.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include -#include -#include "locked-checkbox.hpp" - -#include - -LockedCheckBox::LockedCheckBox() : QCheckBox() -{ - QString lockedFile; - QString unlockedFile; - if (devicePixelRatio() >= 2) { - lockedFile = ":/res/images/locked_mask_2x.png"; - unlockedFile = ":/res/images/unlocked_mask_2x.png"; - } else { - lockedFile = ":/res/images/locked_mask.png"; - unlockedFile = ":/res/images/unlocked_mask.png"; - } - lockedImage = QPixmap::fromImage(QImage(lockedFile)); - unlockedImage = QPixmap::fromImage(QImage(unlockedFile)); - setMinimumSize(16, 16); - - setStyleSheet("outline: none;"); -} - -void LockedCheckBox::paintEvent(QPaintEvent *event) -{ - UNUSED_PARAMETER(event); - - QPixmap &pixmap = isChecked() ? lockedImage : unlockedImage; - QImage image(pixmap.size(), QImage::Format_ARGB32); - - QPainter draw(&image); - draw.setCompositionMode(QPainter::CompositionMode_Source); - draw.drawPixmap(0, 0, pixmap.width(), pixmap.height(), pixmap); - draw.setCompositionMode(QPainter::CompositionMode_SourceIn); - draw.fillRect(QRectF(QPointF(0.0f, 0.0f), pixmap.size()), - palette().color(foregroundRole())); - - QPainter p(this); - p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image)); -} diff --git a/UI/locked-checkbox.hpp b/UI/locked-checkbox.hpp index 8510f4668..0eb2d82ab 100644 --- a/UI/locked-checkbox.hpp +++ b/UI/locked-checkbox.hpp @@ -1,19 +1,7 @@ #pragma once #include -#include - -class QPaintEvernt; class LockedCheckBox : public QCheckBox { Q_OBJECT - - QPixmap lockedImage; - QPixmap unlockedImage; - -public: - LockedCheckBox(); - -protected: - void paintEvent(QPaintEvent *event) override; }; diff --git a/UI/source-tree.cpp b/UI/source-tree.cpp index 95e774fb7..9750df479 100644 --- a/UI/source-tree.cpp +++ b/UI/source-tree.cpp @@ -60,12 +60,12 @@ SourceTreeItem::SourceTreeItem(SourceTree *tree_, OBSSceneItem sceneitem_) vis = new VisibilityCheckBox(); vis->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - vis->setMaximumSize(16, 16); + vis->setFixedSize(16, 16); vis->setChecked(obs_sceneitem_visible(sceneitem)); lock = new LockedCheckBox(); lock->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - lock->setMaximumSize(16, 16); + lock->setFixedSize(16, 16); lock->setChecked(obs_sceneitem_locked(sceneitem)); label = new QLabel(QT_UTF8(name)); @@ -79,10 +79,11 @@ SourceTreeItem::SourceTreeItem(SourceTree *tree_, OBSSceneItem sceneitem_) #endif boxLayout = new QHBoxLayout(); - boxLayout->setContentsMargins(1, 1, 2, 1); + boxLayout->setContentsMargins(1, 1, 1, 1); boxLayout->setSpacing(1); boxLayout->addWidget(label); boxLayout->addWidget(vis); + boxLayout->setSpacing(2); boxLayout->addWidget(lock); #ifdef __APPLE__ /* Hack: Fixes a bug where scrollbars would be above the lock icon */ diff --git a/UI/visibility-checkbox.cpp b/UI/visibility-checkbox.cpp deleted file mode 100644 index d80cab2d4..000000000 --- a/UI/visibility-checkbox.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include -#include -#include "visibility-checkbox.hpp" - -#include - -VisibilityCheckBox::VisibilityCheckBox() : QCheckBox() -{ - QString checkedFile; - QString uncheckedFile; - if (devicePixelRatio() >= 2) { - checkedFile = ":/res/images/visible_mask_2x.png"; - uncheckedFile = ":/res/images/invisible_mask_2x.png"; - } else { - checkedFile = ":/res/images/visible_mask.png"; - uncheckedFile = ":/res/images/invisible_mask.png"; - } - checkedImage = QPixmap::fromImage(QImage(checkedFile)); - uncheckedImage = QPixmap::fromImage(QImage(uncheckedFile)); - setMinimumSize(16, 16); - - setStyleSheet("outline: none;"); -} - -void VisibilityCheckBox::paintEvent(QPaintEvent *event) -{ - UNUSED_PARAMETER(event); - - QPixmap &pixmap = isChecked() ? checkedImage : uncheckedImage; - QImage image(pixmap.size(), QImage::Format_ARGB32); - - QPainter draw(&image); - draw.setCompositionMode(QPainter::CompositionMode_Source); - draw.drawPixmap(0, 0, pixmap.width(), pixmap.height(), pixmap); - draw.setCompositionMode(QPainter::CompositionMode_SourceIn); - draw.fillRect(QRectF(QPointF(0.0f, 0.0f), pixmap.size()), - palette().color(foregroundRole())); - - QPainter p(this); - p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image)); -} diff --git a/UI/visibility-checkbox.hpp b/UI/visibility-checkbox.hpp index 3112c5db1..ff21df2c4 100644 --- a/UI/visibility-checkbox.hpp +++ b/UI/visibility-checkbox.hpp @@ -1,19 +1,7 @@ #pragma once #include -#include - -class QPaintEvernt; class VisibilityCheckBox : public QCheckBox { Q_OBJECT - - QPixmap checkedImage; - QPixmap uncheckedImage; - -public: - VisibilityCheckBox(); - -protected: - void paintEvent(QPaintEvent *event) override; };