diff --git a/CI/install-dependencies-linux-ubuntu16.sh b/CI/install-dependencies-linux-ubuntu16.sh index 470dc2cbb..e6652e5d6 100755 --- a/CI/install-dependencies-linux-ubuntu16.sh +++ b/CI/install-dependencies-linux-ubuntu16.sh @@ -37,6 +37,7 @@ sudo apt-get install -y \ pkg-config \ python3-dev \ qtbase5-dev \ + libqt5svg5-dev \ swig diff --git a/CI/install-dependencies-linux.sh b/CI/install-dependencies-linux.sh index 699afc737..f7749201c 100755 --- a/CI/install-dependencies-linux.sh +++ b/CI/install-dependencies-linux.sh @@ -40,4 +40,5 @@ sudo apt-get install -y \ pkg-config \ python3-dev \ qtbase5-dev \ + libqt5svg5-dev \ swig diff --git a/README.rst b/README.rst index 05e745c2e..c3e5c393b 100644 --- a/README.rst +++ b/README.rst @@ -63,9 +63,3 @@ Contributing you fully understand -- bad advice is worse than no advice. When it comes to something that you don't fully know or understand, please defer to the official help or official channels. - -Credits -------- - - Icons made by `Freepik `_ from - `Flaticon `_ are licensed under - `CC 3.0 BY `_. diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 0f64fb3b5..ad81324d4 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -46,6 +46,8 @@ configure_file( set(CMAKE_INCLUDE_CURRENT_DIR TRUE) set(CMAKE_AUTOMOC TRUE) +find_package(Qt5Svg ${FIND_MODE}) + find_package(FFmpeg REQUIRED COMPONENTS avcodec avutil avformat) if(APPLE) @@ -330,6 +332,7 @@ endif() target_link_libraries(obs libobs Qt5::Widgets + Qt5::Svg obs-frontend-api ${FFMPEG_LIBRARIES} ${LIBCURL_LIBRARIES} diff --git a/UI/data/themes/Acri.qss b/UI/data/themes/Acri.qss index d29cb97dc..1417da15d 100644 --- a/UI/data/themes/Acri.qss +++ b/UI/data/themes/Acri.qss @@ -915,3 +915,15 @@ FocusList::item { font-weight: bold; color: rgb(122,121,122); } + +/* Settings Icons */ + +OBSBasicSettings { + qproperty-generalIcon: url(./Dark/settings/general.svg); + qproperty-streamIcon: url(./Dark/settings/stream.svg); + qproperty-outputIcon: url(./Dark/settings/output.svg); + qproperty-audioIcon: url(./Dark/settings/audio.svg); + qproperty-videoIcon: url(./Dark/settings/video.svg); + qproperty-hotkeysIcon: url(./Dark/settings/hotkeys.svg); + qproperty-advancedIcon: url(./Dark/settings/advanced.svg); +} diff --git a/UI/data/themes/Dark.qss b/UI/data/themes/Dark.qss index b260aa054..8b50f7f65 100644 --- a/UI/data/themes/Dark.qss +++ b/UI/data/themes/Dark.qss @@ -706,3 +706,15 @@ QLabel#errorLabel { font-weight: bold; color: rgb(122,121,122); } + +/* Settings Icons */ + +OBSBasicSettings { + qproperty-generalIcon: url(./Dark/settings/general.svg); + qproperty-streamIcon: url(./Dark/settings/stream.svg); + qproperty-outputIcon: url(./Dark/settings/output.svg); + qproperty-audioIcon: url(./Dark/settings/audio.svg); + qproperty-videoIcon: url(./Dark/settings/video.svg); + qproperty-hotkeysIcon: url(./Dark/settings/hotkeys.svg); + qproperty-advancedIcon: url(./Dark/settings/advanced.svg); +} diff --git a/UI/data/themes/Dark/settings/advanced.svg b/UI/data/themes/Dark/settings/advanced.svg new file mode 100644 index 000000000..b05b7c5f1 --- /dev/null +++ b/UI/data/themes/Dark/settings/advanced.svg @@ -0,0 +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 new file mode 100644 index 000000000..1fbef7613 --- /dev/null +++ b/UI/data/themes/Dark/settings/audio.svg @@ -0,0 +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 new file mode 100644 index 000000000..62e11fa23 --- /dev/null +++ b/UI/data/themes/Dark/settings/general.svg @@ -0,0 +1,61 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/UI/data/themes/Dark/settings/hotkeys.svg b/UI/data/themes/Dark/settings/hotkeys.svg new file mode 100644 index 000000000..1ae542d1b --- /dev/null +++ b/UI/data/themes/Dark/settings/hotkeys.svg @@ -0,0 +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 new file mode 100644 index 000000000..75bbe2dc5 --- /dev/null +++ b/UI/data/themes/Dark/settings/output.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/UI/data/themes/Dark/settings/stream.svg b/UI/data/themes/Dark/settings/stream.svg new file mode 100644 index 000000000..1c8ea824b --- /dev/null +++ b/UI/data/themes/Dark/settings/stream.svg @@ -0,0 +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 new file mode 100644 index 000000000..d3a8002a6 --- /dev/null +++ b/UI/data/themes/Dark/settings/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/UI/data/themes/Default.qss b/UI/data/themes/Default.qss index 13cafc224..2ea5c4ad4 100644 --- a/UI/data/themes/Default.qss +++ b/UI/data/themes/Default.qss @@ -149,3 +149,15 @@ QLabel#errorLabel { font-weight: bold; color: rgb(122,121,122); } + +/* Settings Icons */ + +OBSBasicSettings { + qproperty-generalIcon: url(:settings/images/settings/general.svg); + qproperty-streamIcon: url(:settings/images/settings/stream.svg); + qproperty-outputIcon: url(:settings/images/settings/output.svg); + qproperty-audioIcon: url(:settings/images/settings/audio.svg); + qproperty-videoIcon: url(:settings/images/settings/video.svg); + qproperty-hotkeysIcon: url(:settings/images/settings/hotkeys.svg); + qproperty-advancedIcon: url(:settings/images/settings/advanced.svg); +} diff --git a/UI/data/themes/Rachni.qss b/UI/data/themes/Rachni.qss index 51550eb55..2bfad073f 100644 --- a/UI/data/themes/Rachni.qss +++ b/UI/data/themes/Rachni.qss @@ -1271,3 +1271,15 @@ QToolTip { font-weight: bold; color: rgb(122,121,122); } + +/* Settings Icons */ + +OBSBasicSettings { + qproperty-generalIcon: url(./Dark/settings/general.svg); + qproperty-streamIcon: url(./Dark/settings/stream.svg); + qproperty-outputIcon: url(./Dark/settings/output.svg); + qproperty-audioIcon: url(./Dark/settings/audio.svg); + qproperty-videoIcon: url(./Dark/settings/video.svg); + qproperty-hotkeysIcon: url(./Dark/settings/hotkeys.svg); + qproperty-advancedIcon: url(./Dark/settings/advanced.svg); +} diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui index a6b087147..0aaa6a20f 100644 --- a/UI/forms/OBSBasicSettings.ui +++ b/UI/forms/OBSBasicSettings.ui @@ -44,8 +44,8 @@ - 48 - 48 + 32 + 32 @@ -57,7 +57,7 @@ - :/settings/images/settings/system-settings-3.png:/settings/images/settings/system-settings-3.png + :/settings/images/settings/general.svg:/settings/images/settings/general.svg @@ -66,7 +66,7 @@ - :/settings/images/settings/network.png:/settings/images/settings/network.png + :/settings/images/settings/stream.svg:/settings/images/settings/stream.svg @@ -75,7 +75,7 @@ - :/settings/images/settings/network-bluetooth.png:/settings/images/settings/network-bluetooth.png + :/settings/images/settings/output.svg:/settings/images/settings/output.svg @@ -84,7 +84,7 @@ - :/settings/images/settings/decibel_audio_player.png:/settings/images/settings/decibel_audio_player.png + :/settings/images/settings/audio.svg:/settings/images/settings/audio.svg @@ -93,7 +93,7 @@ - :/settings/images/settings/video-display-3.png:/settings/images/settings/video-display-3.png + :/settings/images/settings/video.svg:/settings/images/settings/video.svg @@ -102,7 +102,7 @@ - :/settings/images/settings/preferences-desktop-keyboard-shortcuts.png:/settings/images/settings/preferences-desktop-keyboard-shortcuts.png + :/settings/images/settings/hotkeys.svg:/settings/images/settings/hotkeys.svg @@ -111,7 +111,7 @@ - :/settings/images/settings/advanced.png:/settings/images/settings/advanced.png + :/settings/images/settings/advanced.svg:/settings/images/settings/advanced.svg @@ -144,9 +144,9 @@ 0 - -540 - 804 - 1264 + 0 + 808 + 989 @@ -1154,8 +1154,8 @@ 0 0 - 890 - 791 + 747 + 808 @@ -4269,8 +4269,8 @@ 0 0 - 867 - 1061 + 765 + 993 diff --git a/UI/forms/images/settings/advanced.png b/UI/forms/images/settings/advanced.png deleted file mode 100644 index 91593e0ff..000000000 Binary files a/UI/forms/images/settings/advanced.png and /dev/null differ diff --git a/UI/forms/images/settings/advanced.svg b/UI/forms/images/settings/advanced.svg new file mode 100644 index 000000000..67a598405 --- /dev/null +++ b/UI/forms/images/settings/advanced.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/UI/forms/images/settings/advanced_2x.png b/UI/forms/images/settings/advanced_2x.png deleted file mode 100644 index f4e19cbb0..000000000 Binary files a/UI/forms/images/settings/advanced_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/applications-system-2.png b/UI/forms/images/settings/applications-system-2.png deleted file mode 100644 index 30f418daa..000000000 Binary files a/UI/forms/images/settings/applications-system-2.png and /dev/null differ diff --git a/UI/forms/images/settings/applications-system-2_2x.png b/UI/forms/images/settings/applications-system-2_2x.png deleted file mode 100644 index b99e3d0d1..000000000 Binary files a/UI/forms/images/settings/applications-system-2_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/audio.svg b/UI/forms/images/settings/audio.svg new file mode 100644 index 000000000..19b375fb0 --- /dev/null +++ b/UI/forms/images/settings/audio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/UI/forms/images/settings/decibel_audio_player.png b/UI/forms/images/settings/decibel_audio_player.png deleted file mode 100644 index 21d685808..000000000 Binary files a/UI/forms/images/settings/decibel_audio_player.png and /dev/null differ diff --git a/UI/forms/images/settings/decibel_audio_player_2x.png b/UI/forms/images/settings/decibel_audio_player_2x.png deleted file mode 100644 index d55529004..000000000 Binary files a/UI/forms/images/settings/decibel_audio_player_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/general.svg b/UI/forms/images/settings/general.svg new file mode 100644 index 000000000..d3877dcef --- /dev/null +++ b/UI/forms/images/settings/general.svg @@ -0,0 +1,61 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/UI/forms/images/settings/hotkeys.svg b/UI/forms/images/settings/hotkeys.svg new file mode 100644 index 000000000..89712ade5 --- /dev/null +++ b/UI/forms/images/settings/hotkeys.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/UI/forms/images/settings/network-bluetooth.png b/UI/forms/images/settings/network-bluetooth.png deleted file mode 100644 index 764e76699..000000000 Binary files a/UI/forms/images/settings/network-bluetooth.png and /dev/null differ diff --git a/UI/forms/images/settings/network-bluetooth_2x.png b/UI/forms/images/settings/network-bluetooth_2x.png deleted file mode 100644 index 98cbd0374..000000000 Binary files a/UI/forms/images/settings/network-bluetooth_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/network.png b/UI/forms/images/settings/network.png deleted file mode 100644 index ada03d7ce..000000000 Binary files a/UI/forms/images/settings/network.png and /dev/null differ diff --git a/UI/forms/images/settings/network_2x.png b/UI/forms/images/settings/network_2x.png deleted file mode 100644 index ded3efd6c..000000000 Binary files a/UI/forms/images/settings/network_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/output.svg b/UI/forms/images/settings/output.svg new file mode 100644 index 000000000..e7c61b36c --- /dev/null +++ b/UI/forms/images/settings/output.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts.png b/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts.png deleted file mode 100644 index 2abb1b5d8..000000000 Binary files a/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts.png and /dev/null differ diff --git a/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts_2x.png b/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts_2x.png deleted file mode 100644 index 37d5c5c4c..000000000 Binary files a/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/preferences-system-network-3.png b/UI/forms/images/settings/preferences-system-network-3.png deleted file mode 100644 index 3cfc3cb38..000000000 Binary files a/UI/forms/images/settings/preferences-system-network-3.png and /dev/null differ diff --git a/UI/forms/images/settings/preferences-system-network-3_2x.png b/UI/forms/images/settings/preferences-system-network-3_2x.png deleted file mode 100644 index 75090280a..000000000 Binary files a/UI/forms/images/settings/preferences-system-network-3_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/stream.svg b/UI/forms/images/settings/stream.svg new file mode 100644 index 000000000..f89a7052a --- /dev/null +++ b/UI/forms/images/settings/stream.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/UI/forms/images/settings/system-settings-3.png b/UI/forms/images/settings/system-settings-3.png deleted file mode 100644 index afc55ffd6..000000000 Binary files a/UI/forms/images/settings/system-settings-3.png and /dev/null differ diff --git a/UI/forms/images/settings/system-settings-3_2x.png b/UI/forms/images/settings/system-settings-3_2x.png deleted file mode 100644 index 6baeb0ae2..000000000 Binary files a/UI/forms/images/settings/system-settings-3_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/video-display-3.png b/UI/forms/images/settings/video-display-3.png deleted file mode 100644 index 71e8379e1..000000000 Binary files a/UI/forms/images/settings/video-display-3.png and /dev/null differ diff --git a/UI/forms/images/settings/video-display-3_2x.png b/UI/forms/images/settings/video-display-3_2x.png deleted file mode 100644 index fbe85632c..000000000 Binary files a/UI/forms/images/settings/video-display-3_2x.png and /dev/null differ diff --git a/UI/forms/images/settings/video.svg b/UI/forms/images/settings/video.svg new file mode 100644 index 000000000..3671fd041 --- /dev/null +++ b/UI/forms/images/settings/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/UI/forms/obs.qrc b/UI/forms/obs.qrc index 8e05612ce..6e41d3c8f 100644 --- a/UI/forms/obs.qrc +++ b/UI/forms/obs.qrc @@ -27,21 +27,12 @@ images/expand.png - images/settings/advanced.png - images/settings/advanced_2x.png - images/settings/network.png - images/settings/network_2x.png - images/settings/video-display-3.png - images/settings/video-display-3_2x.png - images/settings/decibel_audio_player.png - images/settings/decibel_audio_player_2x.png - images/settings/applications-system-2.png - images/settings/applications-system-2_2x.png - images/settings/system-settings-3.png - images/settings/system-settings-3_2x.png - images/settings/network-bluetooth.png - images/settings/network-bluetooth_2x.png - images/settings/preferences-desktop-keyboard-shortcuts.png - images/settings/preferences-desktop-keyboard-shortcuts_2x.png + images/settings/output.svg + images/settings/stream.svg + images/settings/advanced.svg + images/settings/video.svg + images/settings/audio.svg + images/settings/general.svg + images/settings/hotkeys.svg diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 37f13c09e..a9d75c50e 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -4469,3 +4469,38 @@ void OBSBasicSettings::on_disableOSXVSync_clicked() } #endif } + +void OBSBasicSettings::SetGeneralIcon(const QIcon &icon) +{ + ui->listWidget->item(0)->setIcon(icon); +} + +void OBSBasicSettings::SetStreamIcon(const QIcon &icon) +{ + ui->listWidget->item(1)->setIcon(icon); +} + +void OBSBasicSettings::SetOutputIcon(const QIcon &icon) +{ + ui->listWidget->item(2)->setIcon(icon); +} + +void OBSBasicSettings::SetAudioIcon(const QIcon &icon) +{ + ui->listWidget->item(3)->setIcon(icon); +} + +void OBSBasicSettings::SetVideoIcon(const QIcon &icon) +{ + ui->listWidget->item(4)->setIcon(icon); +} + +void OBSBasicSettings::SetHotkeysIcon(const QIcon &icon) +{ + ui->listWidget->item(5)->setIcon(icon); +} + +void OBSBasicSettings::SetAdvancedIcon(const QIcon &icon) +{ + ui->listWidget->item(6)->setIcon(icon); +} diff --git a/UI/window-basic-settings.hpp b/UI/window-basic-settings.hpp index 53d2f4ba1..f899da0fb 100644 --- a/UI/window-basic-settings.hpp +++ b/UI/window-basic-settings.hpp @@ -87,6 +87,20 @@ using OBSFFFormatDesc = std::unique_ptr