Compare commits
4 Commits
5624391445
...
68e9d73955
Author | SHA1 | Date |
---|---|---|
flodavid | 68e9d73955 | |
flodavid | 83cdf56079 | |
flodavid | 9e87a256d6 | |
flodavid | 4574b187bf |
49
.reuse/dep5
|
@ -9,6 +9,8 @@ Files: dist/english_plurals/*
|
|||
dist/qt_themes/*/icons/48x48/sd_card.png
|
||||
dist/qt_themes/*/icons/index.theme
|
||||
dist/qt_themes/default/style.qss
|
||||
dist/qt_themes/*/icons.qrc
|
||||
dist/qt_themes/*/style.qrc
|
||||
Copyright: yuzu Emulator Project
|
||||
suyu Emulator Project
|
||||
License: GPL-2.0-or-later
|
||||
|
@ -22,7 +24,6 @@ Copyright: suyu Emulator Project
|
|||
License: GPL-2.0-or-later
|
||||
|
||||
Files: dist/qt_themes/qdarkstyle*/LICENSE.*
|
||||
dist/qt_themes/qdarkstyle*/style.qrc
|
||||
dist/qt_themes/qdarkstyle*/style.qss
|
||||
Copyright: 2013 Colin Duquesnoy
|
||||
2019 Daniel Cosmo Pizetta
|
||||
|
@ -33,28 +34,28 @@ Copyright: 2013 Colin Duquesnoy
|
|||
2019 Daniel Cosmo Pizetta
|
||||
License: CC-BY-4.0
|
||||
|
||||
Files: dist/qt_themes/default/icons/256x256/plus_folder.png
|
||||
dist/qt_themes/default/icons/48x48/bad_folder.png
|
||||
dist/qt_themes/default/icons/48x48/chip.png
|
||||
dist/qt_themes/default/icons/48x48/folder.png
|
||||
dist/qt_themes/default/icons/48x48/star.png
|
||||
dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png
|
||||
dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png
|
||||
dist/qt_themes/qdarkstyle/icons/48x48/chip.png
|
||||
dist/qt_themes/qdarkstyle/icons/48x48/folder.png
|
||||
dist/qt_themes/qdarkstyle/icons/48x48/star.png
|
||||
Files: dist/qt_themes/monochrome/icons/256x256/plus_folder.png
|
||||
dist/qt_themes/monochrome/icons/48x48/bad_folder.png
|
||||
dist/qt_themes/monochrome/icons/48x48/chip.png
|
||||
dist/qt_themes/monochrome/icons/48x48/folder.png
|
||||
dist/qt_themes/monochrome/icons/48x48/star.png
|
||||
dist/qt_themes/monochrome_dark/icons/48x48/bad_folder.png
|
||||
dist/qt_themes/monochrome_dark/icons/48x48/chip.png
|
||||
dist/qt_themes/monochrome_dark/icons/48x48/folder.png
|
||||
dist/qt_themes/monochrome_dark/icons/48x48/star.png
|
||||
dist/qt_themes/monochrome_dark/icons/256x256/plus_folder.png
|
||||
Copyright: Refactoring UI Inc.
|
||||
License: MIT
|
||||
Comment: https://github.com/tailwindlabs/heroicons
|
||||
|
||||
Files: dist/qt_themes/colorful/icons/16x16/lock.png
|
||||
dist/qt_themes/colorful/icons/256x256/plus_folder.png
|
||||
dist/qt_themes/colorful/icons/48x48/bad_folder.png
|
||||
dist/qt_themes/colorful/icons/48x48/chip.png
|
||||
dist/qt_themes/colorful/icons/48x48/folder.png
|
||||
dist/qt_themes/colorful_dark/icons/16x16/lock.png
|
||||
dist/qt_themes/colorful/icons/16x16/info.png
|
||||
dist/qt_themes/colorful/icons/16x16/sync.png
|
||||
Files: dist/qt_themes/default/icons/16x16/lock.png
|
||||
dist/qt_themes/default/icons/256x256/plus_folder.png
|
||||
dist/qt_themes/default/icons/48x48/bad_folder.png
|
||||
dist/qt_themes/default/icons/48x48/chip.png
|
||||
dist/qt_themes/default/icons/48x48/folder.png
|
||||
dist/qt_themes/default_dark/icons/16x16/lock.png
|
||||
dist/qt_themes/default/icons/16x16/info.png
|
||||
dist/qt_themes/default/icons/16x16/sync.png
|
||||
Copyright: Icons8
|
||||
License: MIT
|
||||
Comment: https://github.com/icons8/flat-color-icons
|
||||
|
@ -70,15 +71,15 @@ Files: dist/qt_themes/*/icons/48x48/no_avatar.png
|
|||
Copyright: Ionic (http://ionic.io/)
|
||||
License: MIT
|
||||
|
||||
Files: dist/qt_themes/colorful/icons/48x48/star.png
|
||||
dist/qt_themes/colorful/icons/16x16/checked.png
|
||||
dist/qt_themes/colorful/icons/16x16/failed.png
|
||||
Files: dist/qt_themes/default/icons/48x48/star.png
|
||||
dist/qt_themes/default/icons/16x16/checked.png
|
||||
dist/qt_themes/default/icons/16x16/failed.png
|
||||
Copyright: SVG Repo
|
||||
License: CC0-1.0
|
||||
|
||||
Files: dist/qt_themes/*/icons/16x16/view-refresh.png
|
||||
dist/qt_themes/default/icons/16x16/lock.png
|
||||
dist/qt_themes/qdarkstyle/icons/16x16/lock.png
|
||||
dist/qt_themes/monochrome/icons/16x16/lock.png
|
||||
dist/qt_themes/monochrome_dark/icons/16x16/lock.png
|
||||
Copyright: Google, Inc.
|
||||
License: Apache-2.0
|
||||
|
||||
|
|
Before Width: | Height: | Size: 575 B |
Before Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 648 B |
Before Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 528 B |
Before Width: | Height: | Size: 582 B |
Before Width: | Height: | Size: 460 B |
Before Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 228 B |
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,30 +0,0 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<qresource prefix="icons/colorful">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/checked.png">icons/16x16/checked.png</file>
|
||||
<file alias="16x16/connected.png">icons/16x16/connected.png</file>
|
||||
<file alias="16x16/connected_notification.png">icons/16x16/connected_notification.png</file>
|
||||
<file alias="16x16/disconnected.png">icons/16x16/disconnected.png</file>
|
||||
<file alias="16x16/failed.png">icons/16x16/failed.png</file>
|
||||
<file alias="16x16/info.png">icons/16x16/info.png</file>
|
||||
<file alias="16x16/lock.png">icons/16x16/lock.png</file>
|
||||
<file alias="16x16/sync.png">icons/16x16/sync.png</file>
|
||||
<file alias="16x16/view-refresh.png">icons/16x16/view-refresh.png</file>
|
||||
<file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="colorful">
|
||||
<file alias="style.qss">../default/style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -1,8 +0,0 @@
|
|||
[Icon Theme]
|
||||
Name=colorful_dark
|
||||
Comment=Colorful theme (Dark style)
|
||||
Inherits=colorful
|
||||
Directories=16x16
|
||||
|
||||
[16x16]
|
||||
Size=16
|
|
@ -1,57 +0,0 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<qresource prefix="icons/colorful_dark">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">icons/16x16/lock.png</file>
|
||||
<file alias="16x16/view-refresh.png">icons/16x16/view-refresh.png</file>
|
||||
</qresource>
|
||||
|
||||
<qresource prefix="qss_icons">
|
||||
<file alias="rc/up_arrow_disabled.png">../qdarkstyle/rc/up_arrow_disabled.png</file>
|
||||
<file alias="rc/Hmovetoolbar.png">../qdarkstyle/rc/Hmovetoolbar.png</file>
|
||||
<file alias="rc/stylesheet-branch-end.png">../qdarkstyle/rc/stylesheet-branch-end.png</file>
|
||||
<file alias="rc/branch_closed-on.png">../qdarkstyle/rc/branch_closed-on.png</file>
|
||||
<file alias="rc/stylesheet-vline.png">../qdarkstyle/rc/stylesheet-vline.png</file>
|
||||
<file alias="rc/branch_closed.png">../qdarkstyle/rc/branch_closed.png</file>
|
||||
<file alias="rc/branch_open-on.png">../qdarkstyle/rc/branch_open-on.png</file>
|
||||
<file alias="rc/transparent.png">../qdarkstyle/rc/transparent.png</file>
|
||||
<file alias="rc/right_arrow_disabled.png">../qdarkstyle/rc/right_arrow_disabled.png</file>
|
||||
<file alias="rc/sizegrip.png">../qdarkstyle/rc/sizegrip.png</file>
|
||||
<file alias="rc/close.png">../qdarkstyle/rc/close.png</file>
|
||||
<file alias="rc/close-hover.png">../qdarkstyle/rc/close-hover.png</file>
|
||||
<file alias="rc/close-pressed.png">../qdarkstyle/rc/close-pressed.png</file>
|
||||
<file alias="rc/down_arrow.png">../qdarkstyle/rc/down_arrow.png</file>
|
||||
<file alias="rc/Vmovetoolbar.png">../qdarkstyle/rc/Vmovetoolbar.png</file>
|
||||
<file alias="rc/left_arrow.png">../qdarkstyle/rc/left_arrow.png</file>
|
||||
<file alias="rc/stylesheet-branch-more.png">../qdarkstyle/rc/stylesheet-branch-more.png</file>
|
||||
<file alias="rc/up_arrow.png">../qdarkstyle/rc/up_arrow.png</file>
|
||||
<file alias="rc/right_arrow.png">../qdarkstyle/rc/right_arrow.png</file>
|
||||
<file alias="rc/left_arrow_disabled.png">../qdarkstyle/rc/left_arrow_disabled.png</file>
|
||||
<file alias="rc/Hsepartoolbar.png">../qdarkstyle/rc/Hsepartoolbar.png</file>
|
||||
<file alias="rc/branch_open.png">../qdarkstyle/rc/branch_open.png</file>
|
||||
<file alias="rc/Vsepartoolbar.png">../qdarkstyle/rc/Vsepartoolbar.png</file>
|
||||
<file alias="rc/down_arrow_disabled.png">../qdarkstyle/rc/down_arrow_disabled.png</file>
|
||||
<file alias="rc/undock.png">../qdarkstyle/rc/undock.png</file>
|
||||
<file alias="rc/checkbox_checked_disabled.png">../qdarkstyle/rc/checkbox_checked_disabled.png</file>
|
||||
<file alias="rc/checkbox_checked_focus.png">../qdarkstyle/rc/checkbox_checked_focus.png</file>
|
||||
<file alias="rc/checkbox_checked.png">../qdarkstyle/rc/checkbox_checked.png</file>
|
||||
<file alias="rc/checkbox_indeterminate.png">../qdarkstyle/rc/checkbox_indeterminate.png</file>
|
||||
<file alias="rc/checkbox_indeterminate_focus.png">../qdarkstyle/rc/checkbox_indeterminate_focus.png</file>
|
||||
<file alias="rc/checkbox_unchecked_disabled.png">../qdarkstyle/rc/checkbox_unchecked_disabled.png</file>
|
||||
<file alias="rc/checkbox_unchecked_focus.png">../qdarkstyle/rc/checkbox_unchecked_focus.png</file>
|
||||
<file alias="rc/checkbox_unchecked.png">../qdarkstyle/rc/checkbox_unchecked.png</file>
|
||||
<file alias="rc/radio_checked_disabled.png">../qdarkstyle/rc/radio_checked_disabled.png</file>
|
||||
<file alias="rc/radio_checked_focus.png">../qdarkstyle/rc/radio_checked_focus.png</file>
|
||||
<file alias="rc/radio_checked.png">../qdarkstyle/rc/radio_checked.png</file>
|
||||
<file alias="rc/radio_unchecked_disabled.png">../qdarkstyle/rc/radio_unchecked_disabled.png</file>
|
||||
<file alias="rc/radio_unchecked_focus.png">../qdarkstyle/rc/radio_unchecked_focus.png</file>
|
||||
<file alias="rc/radio_unchecked.png">../qdarkstyle/rc/radio_unchecked.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="colorful_dark">
|
||||
<file alias="style.qss">../qdarkstyle/style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -1,8 +0,0 @@
|
|||
[Icon Theme]
|
||||
Name=colorful_midnight_blue
|
||||
Comment=Colorful theme (Midnight Blue style)
|
||||
Inherits=colorful
|
||||
Directories=16x16
|
||||
|
||||
[16x16]
|
||||
Size=16
|
|
@ -1,63 +0,0 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2020 yuzu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<qresource prefix="icons/colorful_midnight_blue">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../colorful_dark/icons/16x16/lock.png</file>
|
||||
<file alias="16x16/view-refresh.png">../qdarkstyle/icons/16x16/view-refresh.png</file>
|
||||
<file alias="48x48/bad_folder.png">../colorful/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">../colorful/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file>
|
||||
<file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
|
||||
<qresource prefix="qss_icons">
|
||||
<file alias="rc/up_arrow_disabled.png">../qdarkstyle_midnight_blue/rc/up_arrow_disabled.png</file>
|
||||
<file alias="rc/Hmovetoolbar.png">../qdarkstyle_midnight_blue/rc/Hmovetoolbar.png</file>
|
||||
<file alias="rc/stylesheet-branch-end.png">../qdarkstyle_midnight_blue/rc/stylesheet-branch-end.png</file>
|
||||
<file alias="rc/branch_closed-on.png">../qdarkstyle_midnight_blue/rc/branch_closed-on.png</file>
|
||||
<file alias="rc/stylesheet-vline.png">../qdarkstyle_midnight_blue/rc/stylesheet-vline.png</file>
|
||||
<file alias="rc/branch_closed.png">../qdarkstyle_midnight_blue/rc/branch_closed.png</file>
|
||||
<file alias="rc/branch_open-on.png">../qdarkstyle_midnight_blue/rc/branch_open-on.png</file>
|
||||
<file alias="rc/transparent.png">../qdarkstyle_midnight_blue/rc/transparent.png</file>
|
||||
<file alias="rc/right_arrow_disabled.png">../qdarkstyle_midnight_blue/rc/right_arrow_disabled.png</file>
|
||||
<file alias="rc/sizegrip.png">../qdarkstyle_midnight_blue/rc/sizegrip.png</file>
|
||||
<file alias="rc/close.png">../qdarkstyle_midnight_blue/rc/close.png</file>
|
||||
<file alias="rc/close-hover.png">../qdarkstyle_midnight_blue/rc/close-hover.png</file>
|
||||
<file alias="rc/close-pressed.png">../qdarkstyle_midnight_blue/rc/close-pressed.png</file>
|
||||
<file alias="rc/down_arrow.png">../qdarkstyle_midnight_blue/rc/down_arrow.png</file>
|
||||
<file alias="rc/Vmovetoolbar.png">../qdarkstyle_midnight_blue/rc/Vmovetoolbar.png</file>
|
||||
<file alias="rc/left_arrow.png">../qdarkstyle_midnight_blue/rc/left_arrow.png</file>
|
||||
<file alias="rc/stylesheet-branch-more.png">../qdarkstyle_midnight_blue/rc/stylesheet-branch-more.png</file>
|
||||
<file alias="rc/up_arrow.png">../qdarkstyle_midnight_blue/rc/up_arrow.png</file>
|
||||
<file alias="rc/right_arrow.png">../qdarkstyle_midnight_blue/rc/right_arrow.png</file>
|
||||
<file alias="rc/left_arrow_disabled.png">../qdarkstyle_midnight_blue/rc/left_arrow_disabled.png</file>
|
||||
<file alias="rc/Hsepartoolbar.png">../qdarkstyle_midnight_blue/rc/Hsepartoolbar.png</file>
|
||||
<file alias="rc/branch_open.png">../qdarkstyle_midnight_blue/rc/branch_open.png</file>
|
||||
<file alias="rc/Vsepartoolbar.png">../qdarkstyle_midnight_blue/rc/Vsepartoolbar.png</file>
|
||||
<file alias="rc/down_arrow_disabled.png">../qdarkstyle_midnight_blue/rc/down_arrow_disabled.png</file>
|
||||
<file alias="rc/undock.png">../qdarkstyle_midnight_blue/rc/undock.png</file>
|
||||
<file alias="rc/checkbox_checked_disabled.png">../qdarkstyle_midnight_blue/rc/checkbox_checked_disabled.png</file>
|
||||
<file alias="rc/checkbox_checked_focus.png">../qdarkstyle_midnight_blue/rc/checkbox_checked_focus.png</file>
|
||||
<file alias="rc/checkbox_checked.png">../qdarkstyle_midnight_blue/rc/checkbox_checked.png</file>
|
||||
<file alias="rc/checkbox_indeterminate.png">../qdarkstyle_midnight_blue/rc/checkbox_indeterminate.png</file>
|
||||
<file alias="rc/checkbox_indeterminate_focus.png">../qdarkstyle_midnight_blue/rc/checkbox_indeterminate_focus.png</file>
|
||||
<file alias="rc/checkbox_unchecked_disabled.png">../qdarkstyle_midnight_blue/rc/checkbox_unchecked_disabled.png</file>
|
||||
<file alias="rc/checkbox_unchecked_focus.png">../qdarkstyle_midnight_blue/rc/checkbox_unchecked_focus.png</file>
|
||||
<file alias="rc/checkbox_unchecked.png">../qdarkstyle_midnight_blue/rc/checkbox_unchecked.png</file>
|
||||
<file alias="rc/radio_checked_disabled.png">../qdarkstyle_midnight_blue/rc/radio_checked_disabled.png</file>
|
||||
<file alias="rc/radio_checked_focus.png">../qdarkstyle_midnight_blue/rc/radio_checked_focus.png</file>
|
||||
<file alias="rc/radio_checked.png">../qdarkstyle_midnight_blue/rc/radio_checked.png</file>
|
||||
<file alias="rc/radio_unchecked_disabled.png">../qdarkstyle_midnight_blue/rc/radio_unchecked_disabled.png</file>
|
||||
<file alias="rc/radio_unchecked_focus.png">../qdarkstyle_midnight_blue/rc/radio_unchecked_focus.png</file>
|
||||
<file alias="rc/radio_unchecked.png">../qdarkstyle_midnight_blue/rc/radio_unchecked.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="colorful_midnight_blue">
|
||||
<file alias="style.qss">../qdarkstyle_midnight_blue/style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -4,23 +4,37 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
|||
-->
|
||||
|
||||
<RCC>
|
||||
<!-- Default style -->
|
||||
<qresource prefix="default">
|
||||
<file>style.qss</file>
|
||||
</qresource>
|
||||
|
||||
<!-- Default icons -->
|
||||
<qresource prefix="icons/default">
|
||||
<!-- "colorful" is now the default theme, add new icons there -->
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/connected.png">icons/16x16/connected.png</file>
|
||||
<file alias="16x16/connected_notification.png">icons/16x16/connected_notification.png</file>
|
||||
<file alias="16x16/disconnected.png">icons/16x16/disconnected.png</file>
|
||||
<file alias="16x16/failed.png">icons/16x16/failed.png</file>
|
||||
<file alias="16x16/info.png">icons/16x16/info.png</file>
|
||||
<file alias="16x16/lock.png">icons/16x16/lock.png</file>
|
||||
<file alias="16x16/sync.png">icons/16x16/sync.png</file>
|
||||
<file alias="16x16/view-refresh.png">icons/16x16/view-refresh.png</file>
|
||||
<file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
<file alias="256x256/suyu.png">icons/256x256/suyu.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="default">
|
||||
<file>style.qss</file>
|
||||
|
||||
<!-- Dark variant icons -->
|
||||
<qresource prefix="icons/default_dark">
|
||||
<file alias="index.theme">../default_dark/icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../default_dark/icons/16x16/lock.png</file>
|
||||
<file alias="16x16/view-refresh.png">../default_dark/icons/16x16/view-refresh.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 414 B |
Before Width: | Height: | Size: 431 B After Width: | Height: | Size: 431 B |
Before Width: | Height: | Size: 428 B After Width: | Height: | Size: 428 B |
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 548 B After Width: | Height: | Size: 548 B |
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 349 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 1007 B After Width: | Height: | Size: 528 B |
Before Width: | Height: | Size: 511 B After Width: | Height: | Size: 582 B |
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 460 B |
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 678 B After Width: | Height: | Size: 678 B |
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 228 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -1,7 +1,6 @@
|
|||
[Icon Theme]
|
||||
Name=default
|
||||
Comment=default theme
|
||||
Inherits=colorful
|
||||
Comment=Colorful theme
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
[16x16]
|
||||
|
@ -9,6 +8,6 @@ Size=16
|
|||
|
||||
[48x48]
|
||||
Size=48
|
||||
|
||||
|
||||
[256x256]
|
||||
Size=256
|
||||
|
|
|
@ -1,3 +1,17 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
QWidget:item:hover {
|
||||
background-color: #18465d;
|
||||
color: #eff0f1;
|
||||
}
|
||||
|
||||
QWidget:item:selected {
|
||||
background-color: #18465d;
|
||||
}
|
||||
|
||||
QAbstractSpinBox {
|
||||
min-height: 19px;
|
||||
}
|
||||
|
@ -11,7 +25,7 @@ QPushButton#TogglableStatusBarButton {
|
|||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton:checked {
|
||||
color: #000000;
|
||||
color: palette(text);
|
||||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton:hover {
|
||||
|
@ -38,6 +52,10 @@ QPushButton#RendererStatusBarButton:!checked {
|
|||
color: #0066ff;
|
||||
}
|
||||
|
||||
QPushButton#RendererStatusBarButton:!checked[dark=true] {
|
||||
color: #00ccdd;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton {
|
||||
color: #656565;
|
||||
border: 1px solid transparent;
|
||||
|
@ -54,13 +72,21 @@ QPushButton#GPUStatusBarButton:checked {
|
|||
color: #b06020;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton:checked[dark=true] {
|
||||
color: #ff8040;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton:!checked {
|
||||
color: #109010;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton:!checked[dark=true] {
|
||||
color: #40dd40;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton {
|
||||
min-width: 0px;
|
||||
color: #000000;
|
||||
color: palette(text);
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
|
@ -120,10 +146,6 @@ QWidget#connectedControllers {
|
|||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#closeButtons {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#playersSupported,
|
||||
QWidget#controllersSupported,
|
||||
QWidget#controllerSupported1,
|
||||
|
@ -372,7 +394,7 @@ QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical {
|
|||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal {
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizontal {
|
||||
background: #cdcdcd;
|
||||
height: 15px;
|
||||
margin: 3px 15px 3px 15px;
|
||||
|
|
Before Width: | Height: | Size: 401 B After Width: | Height: | Size: 401 B |
Before Width: | Height: | Size: 362 B After Width: | Height: | Size: 362 B |
|
@ -1,7 +1,7 @@
|
|||
[Icon Theme]
|
||||
Name=default_dark
|
||||
Comment=Colorful theme (Dark style)
|
||||
Inherits=colorful
|
||||
Inherits=default
|
||||
Directories=16x16
|
||||
|
||||
[16x16]
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2022 yuzu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
<RCC>
|
||||
<qresource prefix="icons/default_dark">
|
||||
<file alias="16x16/connected.png">../colorful/icons/16x16/connected.png</file>
|
||||
<file alias="16x16/connected_notification.png">../colorful/icons/16x16/connected_notification.png</file>
|
||||
<file alias="16x16/disconnected.png">../colorful/icons/16x16/disconnected.png</file>
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../colorful_dark/icons/16x16/lock.png</file>
|
||||
<file alias="16x16/view-refresh.png">../colorful_dark/icons/16x16/view-refresh.png</file>
|
||||
<file alias="48x48/bad_folder.png">../colorful/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/no_avatar.png">../qdarkstyle/icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/list-add.png">../colorful/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file>
|
||||
<file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
|
||||
<qresource prefix="default_dark">
|
||||
<file>style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -1,687 +0,0 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
QAbstractSpinBox {
|
||||
min-height: 19px;
|
||||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton {
|
||||
color: #959595;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton:checked {
|
||||
color: palette(text);
|
||||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#RendererStatusBarButton {
|
||||
color: #656565;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#RendererStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#RendererStatusBarButton:checked {
|
||||
color: #e85c00;
|
||||
}
|
||||
|
||||
QPushButton#RendererStatusBarButton:!checked {
|
||||
color: #00ccdd;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton {
|
||||
color: #656565;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton:checked {
|
||||
color: #ff8040;
|
||||
}
|
||||
|
||||
QPushButton#GPUStatusBarButton:!checked {
|
||||
color: #40dd40;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton {
|
||||
min-width: 0px;
|
||||
color: palette(text);
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#buttonRefreshDevices {
|
||||
min-width: 21px;
|
||||
min-height: 21px;
|
||||
max-width: 21px;
|
||||
max-height: 21px;
|
||||
}
|
||||
|
||||
QWidget#bottomPerGameInput,
|
||||
QWidget#topControllerApplet,
|
||||
QWidget#bottomControllerApplet,
|
||||
QGroupBox#groupPlayer1Connected:checked,
|
||||
QGroupBox#groupPlayer2Connected:checked,
|
||||
QGroupBox#groupPlayer3Connected:checked,
|
||||
QGroupBox#groupPlayer4Connected:checked,
|
||||
QGroupBox#groupPlayer5Connected:checked,
|
||||
QGroupBox#groupPlayer6Connected:checked,
|
||||
QGroupBox#groupPlayer7Connected:checked,
|
||||
QGroupBox#groupPlayer8Connected:checked {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
QWidget#topControllerApplet {
|
||||
border-bottom: 1px solid #828790
|
||||
}
|
||||
|
||||
QWidget#bottomPerGameInput,
|
||||
QWidget#bottomControllerApplet {
|
||||
border-top: 1px solid #828790
|
||||
}
|
||||
|
||||
QWidget#topPerGameInput,
|
||||
QWidget#middleControllerApplet {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
QWidget#topPerGameInput QComboBox,
|
||||
QWidget#middleControllerApplet QComboBox {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
QWidget#connectedControllers {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#playersSupported,
|
||||
QWidget#controllersSupported,
|
||||
QWidget#controllerSupported1,
|
||||
QWidget#controllerSupported2,
|
||||
QWidget#controllerSupported3,
|
||||
QWidget#controllerSupported4,
|
||||
QWidget#controllerSupported5,
|
||||
QWidget#controllerSupported6 {
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QGroupBox#groupPlayer1Connected,
|
||||
QGroupBox#groupPlayer2Connected,
|
||||
QGroupBox#groupPlayer3Connected,
|
||||
QGroupBox#groupPlayer4Connected,
|
||||
QGroupBox#groupPlayer5Connected,
|
||||
QGroupBox#groupPlayer6Connected,
|
||||
QGroupBox#groupPlayer7Connected,
|
||||
QGroupBox#groupPlayer8Connected {
|
||||
border: 1px solid #828790;
|
||||
border-radius: 3px;
|
||||
padding: 0px;
|
||||
min-height: 98px;
|
||||
max-height: 98px;
|
||||
}
|
||||
|
||||
QGroupBox#groupPlayer1Connected:unchecked,
|
||||
QGroupBox#groupPlayer2Connected:unchecked,
|
||||
QGroupBox#groupPlayer3Connected:unchecked,
|
||||
QGroupBox#groupPlayer4Connected:unchecked,
|
||||
QGroupBox#groupPlayer5Connected:unchecked,
|
||||
QGroupBox#groupPlayer6Connected:unchecked,
|
||||
QGroupBox#groupPlayer7Connected:unchecked,
|
||||
QGroupBox#groupPlayer8Connected:unchecked {
|
||||
border: 1px solid #d9d9d9;
|
||||
}
|
||||
|
||||
QGroupBox#groupPlayer1Connected::title,
|
||||
QGroupBox#groupPlayer2Connected::title,
|
||||
QGroupBox#groupPlayer3Connected::title,
|
||||
QGroupBox#groupPlayer4Connected::title,
|
||||
QGroupBox#groupPlayer5Connected::title,
|
||||
QGroupBox#groupPlayer6Connected::title,
|
||||
QGroupBox#groupPlayer7Connected::title,
|
||||
QGroupBox#groupPlayer8Connected::title {
|
||||
subcontrol-origin: margin;
|
||||
subcontrol-position: top left;
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
padding-top: 1px;
|
||||
margin-left: 0px;
|
||||
margin-right: -4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
QCheckBox#checkboxPlayer1Connected,
|
||||
QCheckBox#checkboxPlayer2Connected,
|
||||
QCheckBox#checkboxPlayer3Connected,
|
||||
QCheckBox#checkboxPlayer4Connected,
|
||||
QCheckBox#checkboxPlayer5Connected,
|
||||
QCheckBox#checkboxPlayer6Connected,
|
||||
QCheckBox#checkboxPlayer7Connected,
|
||||
QCheckBox#checkboxPlayer8Connected {
|
||||
spacing: 0px;
|
||||
}
|
||||
|
||||
QWidget#Player1LEDs QCheckBox,
|
||||
QWidget#Player2LEDs QCheckBox,
|
||||
QWidget#Player3LEDs QCheckBox,
|
||||
QWidget#Player4LEDs QCheckBox,
|
||||
QWidget#Player5LEDs QCheckBox,
|
||||
QWidget#Player6LEDs QCheckBox,
|
||||
QWidget#Player7LEDs QCheckBox,
|
||||
QWidget#Player8LEDs QCheckBox {
|
||||
spacing: 0px;
|
||||
}
|
||||
|
||||
QWidget#Player1LEDs QCheckBox::indicator,
|
||||
QWidget#Player2LEDs QCheckBox::indicator,
|
||||
QWidget#Player3LEDs QCheckBox::indicator,
|
||||
QWidget#Player4LEDs QCheckBox::indicator,
|
||||
QWidget#Player5LEDs QCheckBox::indicator,
|
||||
QWidget#Player6LEDs QCheckBox::indicator,
|
||||
QWidget#Player7LEDs QCheckBox::indicator,
|
||||
QWidget#Player8LEDs QCheckBox::indicator {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer1Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer2Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer3Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer4Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer5Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer6Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer7Connected::indicator,
|
||||
QWidget#bottomPerGameInput QCheckBox#checkboxPlayer8Connected::indicator {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
QCheckBox#checkboxPlayer1Connected::indicator,
|
||||
QCheckBox#checkboxPlayer2Connected::indicator,
|
||||
QCheckBox#checkboxPlayer3Connected::indicator,
|
||||
QCheckBox#checkboxPlayer4Connected::indicator,
|
||||
QCheckBox#checkboxPlayer5Connected::indicator,
|
||||
QCheckBox#checkboxPlayer6Connected::indicator,
|
||||
QCheckBox#checkboxPlayer7Connected::indicator,
|
||||
QCheckBox#checkboxPlayer8Connected::indicator {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
QGroupBox#groupPlayer1Connected::indicator,
|
||||
QGroupBox#groupPlayer2Connected::indicator,
|
||||
QGroupBox#groupPlayer3Connected::indicator,
|
||||
QGroupBox#groupPlayer4Connected::indicator,
|
||||
QGroupBox#groupPlayer5Connected::indicator,
|
||||
QGroupBox#groupPlayer6Connected::indicator,
|
||||
QGroupBox#groupPlayer7Connected::indicator,
|
||||
QGroupBox#groupPlayer8Connected::indicator {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
QWidget#Player1LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player2LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player3LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player4LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player5LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player6LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player7LEDs QCheckBox::indicator:checked,
|
||||
QWidget#Player8LEDs QCheckBox::indicator:checked,
|
||||
QGroupBox#groupPlayer1Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer2Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer3Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer4Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer5Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer6Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer7Connected::indicator:checked,
|
||||
QGroupBox#groupPlayer8Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer1Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer2Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer3Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer4Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer5Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer6Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer7Connected::indicator:checked,
|
||||
QCheckBox#checkboxPlayer8Connected::indicator:checked,
|
||||
QGroupBox#groupConnectedController::indicator:checked {
|
||||
border-radius: 2px;
|
||||
border: 1px solid #929192;
|
||||
background: #39ff14;
|
||||
image: none;
|
||||
}
|
||||
|
||||
QWidget#Player1LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player2LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player3LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player4LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player5LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player6LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player7LEDs QCheckBox::indicator:unchecked,
|
||||
QWidget#Player8LEDs QCheckBox::indicator:unchecked,
|
||||
QGroupBox#groupPlayer1Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer2Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer3Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer4Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer5Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer6Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer7Connected::indicator:unchecked,
|
||||
QGroupBox#groupPlayer8Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer1Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer2Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer3Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer4Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer5Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer6Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer7Connected::indicator:unchecked,
|
||||
QCheckBox#checkboxPlayer8Connected::indicator:unchecked,
|
||||
QGroupBox#groupConnectedController::indicator:unchecked {
|
||||
border-radius: 2px;
|
||||
border: 1px solid #929192;
|
||||
background: transparent;
|
||||
image: none;
|
||||
}
|
||||
|
||||
QWidget#controllerPlayer1,
|
||||
QWidget#controllerPlayer2,
|
||||
QWidget#controllerPlayer3,
|
||||
QWidget#controllerPlayer4,
|
||||
QWidget#controllerPlayer5,
|
||||
QWidget#controllerPlayer6,
|
||||
QWidget#controllerPlayer7,
|
||||
QWidget#controllerPlayer8 {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog,
|
||||
QStackedWidget#topOSK {
|
||||
background: rgba(51, 51, 51, .9);
|
||||
}
|
||||
|
||||
|
||||
QDialog#OverlayDialog,
|
||||
QStackedWidget#stackedDialog {
|
||||
background: rgba(51, 51, 51, .7);
|
||||
}
|
||||
|
||||
QWidget#boxOSK,
|
||||
QWidget#lineOSK,
|
||||
QWidget#richDialog,
|
||||
QWidget#lineDialog {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QStackedWidget#bottomOSK,
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
background: rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
margin: 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QWidget#buttonsDialog,
|
||||
QWidget#buttonsRichDialog {
|
||||
margin: 5px;
|
||||
border-top: 2px solid rgba(44, 44, 44, 1);
|
||||
}
|
||||
|
||||
QWidget#legendOSKnum {
|
||||
border-top: 1px solid rgba(44, 44, 44, 1);
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical {
|
||||
background: #cdcdcd;
|
||||
width: 15px;
|
||||
margin: 15px 3px 15px 3px;
|
||||
border: 1px transparent;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal {
|
||||
background: #cdcdcd;
|
||||
height: 15px;
|
||||
margin: 3px 15px 3px 15px;
|
||||
border: 1px transparent;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::handle {
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
min-height: 5px;
|
||||
min-width: 5px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-page,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-page {
|
||||
background: none;
|
||||
}
|
||||
|
||||
QWidget#inputOSK {
|
||||
border-bottom: 3px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputOSK QLineEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK {
|
||||
border: 2px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK QTextEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#richDialog QTextBrowser {
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 35px 65px;
|
||||
}
|
||||
|
||||
|
||||
QWidget#lineOSK QLabel#label_header {
|
||||
color: #f0f0f0;
|
||||
}
|
||||
|
||||
QWidget#lineOSK QLabel#label_sub,
|
||||
QWidget#lineOSK QLabel#label_characters,
|
||||
QWidget#boxOSK QLabel#label_characters_box {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_dialog {
|
||||
padding: 20px 65px;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich {
|
||||
padding: 0px 65px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton {
|
||||
color: rgba(49, 79, 239, 1);
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:focus,
|
||||
QDialog#OverlayDialog QPushButton:hover {
|
||||
color: rgba(49, 79, 239, 1);
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(150, 150, 150, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton {
|
||||
background: rgba(232, 232, 232, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
background: rgba(218, 218, 218, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(44, 44, 44, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(49, 79, 239, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus,
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(150, 150, 150, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
image: url(:/overlay/osk_button_B.png);
|
||||
image-position: right;
|
||||
qproperty-icon: url(:/overlay/osk_button_backspace.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
image: url(:/overlay/osk_button_Y.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
image: url(:/overlay/osk_button_plus.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift_on.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis {
|
||||
padding-bottom: 7px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel {
|
||||
background: transparent;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num {
|
||||
image: url(:/overlay/button_L.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num {
|
||||
image: url(:/overlay/arrow_left.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num {
|
||||
image: url(:/overlay/button_R.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num {
|
||||
image: url(:/overlay/arrow_right.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift {
|
||||
image: url(:/overlay/button_press_stick.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num {
|
||||
image: url(:/overlay/button_X.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num {
|
||||
image: url(:/overlay/button_A.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
color: rgba(164, 164, 164, 1);
|
||||
background-color: rgba(218, 218, 218, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled {
|
||||
color: rgba(164, 164, 164, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled {
|
||||
image: url(:/overlay/osk_button_plus_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
image: url(:/overlay/osk_button_B_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled {
|
||||
image: url(:/overlay/osk_button_Y_disabled.png);
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<qresource prefix="icons/monochrome">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">icons/16x16/lock.png</file>
|
||||
<file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
|
||||
<!-- Dark variant icons -->
|
||||
<qresource prefix="icons/monochrome_dark">
|
||||
<file alias="index.theme">../monochrome_dark/icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../monochrome_dark/icons/16x16/lock.png</file>
|
||||
<file alias="48x48/bad_folder.png">../monochrome_dark/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../monochrome_dark/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../monochrome_dark/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">../monochrome_dark/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/no_avatar.png">../monochrome_dark/icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/sd_card.png">../monochrome_dark/icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">../monochrome_dark/icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">../monochrome_dark/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
After Width: | Height: | Size: 318 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1007 B |
After Width: | Height: | Size: 511 B |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 198 B |
After Width: | Height: | Size: 1.0 KiB |
|
@ -1,8 +1,9 @@
|
|||
[Icon Theme]
|
||||
Name=colorful
|
||||
Comment=Colorful theme
|
||||
Name=monochrome
|
||||
Comment=Monochrome light icons
|
||||
Inherits=default
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
|
||||
[16x16]
|
||||
Size=16
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="monochrome">
|
||||
<file alias="style.qss">../default/style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 343 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 594 B |
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 763 B After Width: | Height: | Size: 763 B |
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1,14 @@
|
|||
[Icon Theme]
|
||||
Name=monochrome_dark
|
||||
Comment=Monochrome dark icons
|
||||
Inherits=default_dark
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
[16x16]
|
||||
Size=16
|
||||
|
||||
[48x48]
|
||||
Size=48
|
||||
|
||||
[256x256]
|
||||
Size=256
|
|
@ -0,0 +1,51 @@
|
|||
<RCC>
|
||||
<qresource prefix="icons/qdarkstyle">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../default_dark/icons/16x16/lock.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="icons/qdarkstyle_dark">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../default_dark/icons/16x16/lock.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qss_icons">
|
||||
<file>rc/branch_closed-on.png</file>
|
||||
<file>rc/branch_closed.png</file>
|
||||
<file>rc/branch_open-on.png</file>
|
||||
<file>rc/branch_open.png</file>
|
||||
<file>rc/checkbox_checked.png</file>
|
||||
<file>rc/checkbox_checked_disabled.png</file>
|
||||
<file>rc/checkbox_checked_focus.png</file>
|
||||
<file>rc/checkbox_indeterminate.png</file>
|
||||
<file>rc/checkbox_indeterminate_focus.png</file>
|
||||
<file>rc/checkbox_unchecked.png</file>
|
||||
<file>rc/checkbox_unchecked_disabled.png</file>
|
||||
<file>rc/checkbox_unchecked_focus.png</file>
|
||||
<file>rc/close-hover.png</file>
|
||||
<file>rc/close-pressed.png</file>
|
||||
<file>rc/close.png</file>
|
||||
<file>rc/down_arrow.png</file>
|
||||
<file>rc/down_arrow_disabled.png</file>
|
||||
<file>rc/Hmovetoolbar.png</file>
|
||||
<file>rc/Hsepartoolbar.png</file>
|
||||
<file>rc/left_arrow.png</file>
|
||||
<file>rc/left_arrow_disabled.png</file>
|
||||
<file>rc/radio_checked.png</file>
|
||||
<file>rc/radio_checked_disabled.png</file>
|
||||
<file>rc/radio_checked_focus.png</file>
|
||||
<file>rc/radio_unchecked.png</file>
|
||||
<file>rc/radio_unchecked_disabled.png</file>
|
||||
<file>rc/radio_unchecked_focus.png</file>
|
||||
<file>rc/right_arrow.png</file>
|
||||
<file>rc/right_arrow_disabled.png</file>
|
||||
<file>rc/sizegrip.png</file>
|
||||
<file>rc/stylesheet-branch-end.png</file>
|
||||
<file>rc/stylesheet-branch-more.png</file>
|
||||
<file>rc/stylesheet-vline.png</file>
|
||||
<file>rc/transparent.png</file>
|
||||
<file>rc/undock.png</file>
|
||||
<file>rc/up_arrow.png</file>
|
||||
<file>rc/up_arrow_disabled.png</file>
|
||||
<file>rc/Vmovetoolbar.png</file>
|
||||
<file>rc/Vsepartoolbar.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
Before Width: | Height: | Size: 575 B |
Before Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 648 B |
Before Width: | Height: | Size: 362 B |
|
@ -1,14 +1,4 @@
|
|||
[Icon Theme]
|
||||
Name=qdarkstyle
|
||||
Comment=dark theme
|
||||
Inherits=colorful
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
[16x16]
|
||||
Size=16
|
||||
|
||||
[48x48]
|
||||
Size=48
|
||||
|
||||
[256x256]
|
||||
Size=256
|
||||
Comment=Dark theme (Mine Shaft style)
|
||||
Inherits=default_dark
|
||||
|
|
|
@ -1,62 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="icons/qdarkstyle">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/connected.png">icons/16x16/connected.png</file>
|
||||
<file alias="16x16/disconnected.png">icons/16x16/disconnected.png</file>
|
||||
<file alias="16x16/connected_notification.png">icons/16x16/connected_notification.png</file>
|
||||
<file alias="16x16/lock.png">icons/16x16/lock.png</file>
|
||||
<file alias="16x16/view-refresh.png">icons/16x16/view-refresh.png</file>
|
||||
<file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qss_icons">
|
||||
<file>rc/up_arrow_disabled.png</file>
|
||||
<file>rc/Hmovetoolbar.png</file>
|
||||
<file>rc/stylesheet-branch-end.png</file>
|
||||
<file>rc/branch_closed-on.png</file>
|
||||
<file>rc/stylesheet-vline.png</file>
|
||||
<file>rc/branch_closed.png</file>
|
||||
<file>rc/branch_open-on.png</file>
|
||||
<file>rc/transparent.png</file>
|
||||
<file>rc/right_arrow_disabled.png</file>
|
||||
<file>rc/sizegrip.png</file>
|
||||
<file>rc/close.png</file>
|
||||
<file>rc/close-hover.png</file>
|
||||
<file>rc/close-pressed.png</file>
|
||||
<file>rc/down_arrow.png</file>
|
||||
<file>rc/Vmovetoolbar.png</file>
|
||||
<file>rc/left_arrow.png</file>
|
||||
<file>rc/stylesheet-branch-more.png</file>
|
||||
<file>rc/up_arrow.png</file>
|
||||
<file>rc/right_arrow.png</file>
|
||||
<file>rc/left_arrow_disabled.png</file>
|
||||
<file>rc/Hsepartoolbar.png</file>
|
||||
<file>rc/branch_open.png</file>
|
||||
<file>rc/Vsepartoolbar.png</file>
|
||||
<file>rc/down_arrow_disabled.png</file>
|
||||
<file>rc/undock.png</file>
|
||||
<file>rc/checkbox_checked_disabled.png</file>
|
||||
<file>rc/checkbox_checked_focus.png</file>
|
||||
<file>rc/checkbox_checked.png</file>
|
||||
<file>rc/checkbox_indeterminate.png</file>
|
||||
<file>rc/checkbox_indeterminate_focus.png</file>
|
||||
<file>rc/checkbox_unchecked_disabled.png</file>
|
||||
<file>rc/checkbox_unchecked_focus.png</file>
|
||||
<file>rc/checkbox_unchecked.png</file>
|
||||
<file>rc/radio_checked_disabled.png</file>
|
||||
<file>rc/radio_checked_focus.png</file>
|
||||
<file>rc/radio_checked.png</file>
|
||||
<file>rc/radio_unchecked_disabled.png</file>
|
||||
<file>rc/radio_unchecked_focus.png</file>
|
||||
<file>rc/radio_unchecked.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qdarkstyle">
|
||||
<file>style.qss</file>
|
||||
</qresource>
|
||||
<qresource prefix="qdarkstyle">
|
||||
<file>style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -944,6 +944,10 @@ QListView::indicator:indeterminate:pressed {
|
|||
image: url(:/qss_icons/rc/checkbox_indeterminate_focus.png);
|
||||
}
|
||||
|
||||
QSlider:horizontal {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
QSlider::groove:horizontal {
|
||||
border: 1px solid #565a5e;
|
||||
height: 4px;
|
||||
|
@ -1380,10 +1384,6 @@ QWidget#connectedControllers {
|
|||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#closeButtons {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#playersSupported,
|
||||
QWidget#controllersSupported,
|
||||
QWidget#controllerSupported1,
|
||||
|
|
|
@ -0,0 +1,224 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2020 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<qresource prefix="icons/qdarkstyle_midnight_blue">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
</qresource>
|
||||
<qresource prefix="icons/qdarkstyle_midnight_blue_dark">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
</qresource>
|
||||
|
||||
<qresource prefix="qss_icons">
|
||||
<file>rc/arrow_down.png</file>
|
||||
<file>rc/arrow_down@2x.png</file>
|
||||
<file>rc/arrow_down_disabled.png</file>
|
||||
<file>rc/arrow_down_disabled@2x.png</file>
|
||||
<file>rc/arrow_down_focus.png</file>
|
||||
<file>rc/arrow_down_focus@2x.png</file>
|
||||
<file>rc/arrow_down_pressed.png</file>
|
||||
<file>rc/arrow_down_pressed@2x.png</file>
|
||||
<file>rc/arrow_left.png</file>
|
||||
<file>rc/arrow_left@2x.png</file>
|
||||
<file>rc/arrow_left_disabled.png</file>
|
||||
<file>rc/arrow_left_disabled@2x.png</file>
|
||||
<file>rc/arrow_left_focus.png</file>
|
||||
<file>rc/arrow_left_focus@2x.png</file>
|
||||
<file>rc/arrow_left_pressed.png</file>
|
||||
<file>rc/arrow_left_pressed@2x.png</file>
|
||||
<file>rc/arrow_right.png</file>
|
||||
<file>rc/arrow_right@2x.png</file>
|
||||
<file>rc/arrow_right_disabled.png</file>
|
||||
<file>rc/arrow_right_disabled@2x.png</file>
|
||||
<file>rc/arrow_right_focus.png</file>
|
||||
<file>rc/arrow_right_focus@2x.png</file>
|
||||
<file>rc/arrow_right_pressed.png</file>
|
||||
<file>rc/arrow_right_pressed@2x.png</file>
|
||||
<file>rc/arrow_up.png</file>
|
||||
<file>rc/arrow_up@2x.png</file>
|
||||
<file>rc/arrow_up_disabled.png</file>
|
||||
<file>rc/arrow_up_disabled@2x.png</file>
|
||||
<file>rc/arrow_up_focus.png</file>
|
||||
<file>rc/arrow_up_focus@2x.png</file>
|
||||
<file>rc/arrow_up_pressed.png</file>
|
||||
<file>rc/arrow_up_pressed@2x.png</file>
|
||||
<file>rc/base_icon.png</file>
|
||||
<file>rc/base_icon@2x.png</file>
|
||||
<file>rc/base_icon_disabled.png</file>
|
||||
<file>rc/base_icon_disabled@2x.png</file>
|
||||
<file>rc/base_icon_focus.png</file>
|
||||
<file>rc/base_icon_focus@2x.png</file>
|
||||
<file>rc/base_icon_pressed.png</file>
|
||||
<file>rc/base_icon_pressed@2x.png</file>
|
||||
<file>rc/branch_closed.png</file>
|
||||
<file>rc/branch_closed@2x.png</file>
|
||||
<file>rc/branch_closed_disabled.png</file>
|
||||
<file>rc/branch_closed_disabled@2x.png</file>
|
||||
<file>rc/branch_closed_focus.png</file>
|
||||
<file>rc/branch_closed_focus@2x.png</file>
|
||||
<file>rc/branch_closed_pressed.png</file>
|
||||
<file>rc/branch_closed_pressed@2x.png</file>
|
||||
<file>rc/branch_end.png</file>
|
||||
<file>rc/branch_end@2x.png</file>
|
||||
<file>rc/branch_end_disabled.png</file>
|
||||
<file>rc/branch_end_disabled@2x.png</file>
|
||||
<file>rc/branch_end_focus.png</file>
|
||||
<file>rc/branch_end_focus@2x.png</file>
|
||||
<file>rc/branch_end_pressed.png</file>
|
||||
<file>rc/branch_end_pressed@2x.png</file>
|
||||
<file>rc/branch_line.png</file>
|
||||
<file>rc/branch_line@2x.png</file>
|
||||
<file>rc/branch_line_disabled.png</file>
|
||||
<file>rc/branch_line_disabled@2x.png</file>
|
||||
<file>rc/branch_line_focus.png</file>
|
||||
<file>rc/branch_line_focus@2x.png</file>
|
||||
<file>rc/branch_line_pressed.png</file>
|
||||
<file>rc/branch_line_pressed@2x.png</file>
|
||||
<file>rc/branch_more.png</file>
|
||||
<file>rc/branch_more@2x.png</file>
|
||||
<file>rc/branch_more_disabled.png</file>
|
||||
<file>rc/branch_more_disabled@2x.png</file>
|
||||
<file>rc/branch_more_focus.png</file>
|
||||
<file>rc/branch_more_focus@2x.png</file>
|
||||
<file>rc/branch_more_pressed.png</file>
|
||||
<file>rc/branch_more_pressed@2x.png</file>
|
||||
<file>rc/branch_open.png</file>
|
||||
<file>rc/branch_open@2x.png</file>
|
||||
<file>rc/branch_open_disabled.png</file>
|
||||
<file>rc/branch_open_disabled@2x.png</file>
|
||||
<file>rc/branch_open_focus.png</file>
|
||||
<file>rc/branch_open_focus@2x.png</file>
|
||||
<file>rc/branch_open_pressed.png</file>
|
||||
<file>rc/branch_open_pressed@2x.png</file>
|
||||
<file>rc/checkbox_checked.png</file>
|
||||
<file>rc/checkbox_checked@2x.png</file>
|
||||
<file>rc/checkbox_checked_disabled.png</file>
|
||||
<file>rc/checkbox_checked_disabled@2x.png</file>
|
||||
<file>rc/checkbox_checked_focus.png</file>
|
||||
<file>rc/checkbox_checked_focus@2x.png</file>
|
||||
<file>rc/checkbox_checked_pressed.png</file>
|
||||
<file>rc/checkbox_checked_pressed@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate.png</file>
|
||||
<file>rc/checkbox_indeterminate@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate_disabled.png</file>
|
||||
<file>rc/checkbox_indeterminate_disabled@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate_focus.png</file>
|
||||
<file>rc/checkbox_indeterminate_focus@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate_pressed.png</file>
|
||||
<file>rc/checkbox_indeterminate_pressed@2x.png</file>
|
||||
<file>rc/checkbox_unchecked.png</file>
|
||||
<file>rc/checkbox_unchecked@2x.png</file>
|
||||
<file>rc/checkbox_unchecked_disabled.png</file>
|
||||
<file>rc/checkbox_unchecked_disabled@2x.png</file>
|
||||
<file>rc/checkbox_unchecked_focus.png</file>
|
||||
<file>rc/checkbox_unchecked_focus@2x.png</file>
|
||||
<file>rc/checkbox_unchecked_pressed.png</file>
|
||||
<file>rc/checkbox_unchecked_pressed@2x.png</file>
|
||||
<file>rc/line_horizontal.png</file>
|
||||
<file>rc/line_horizontal@2x.png</file>
|
||||
<file>rc/line_horizontal_disabled.png</file>
|
||||
<file>rc/line_horizontal_disabled@2x.png</file>
|
||||
<file>rc/line_horizontal_focus.png</file>
|
||||
<file>rc/line_horizontal_focus@2x.png</file>
|
||||
<file>rc/line_horizontal_pressed.png</file>
|
||||
<file>rc/line_horizontal_pressed@2x.png</file>
|
||||
<file>rc/line_vertical.png</file>
|
||||
<file>rc/line_vertical@2x.png</file>
|
||||
<file>rc/line_vertical_disabled.png</file>
|
||||
<file>rc/line_vertical_disabled@2x.png</file>
|
||||
<file>rc/line_vertical_focus.png</file>
|
||||
<file>rc/line_vertical_focus@2x.png</file>
|
||||
<file>rc/line_vertical_pressed.png</file>
|
||||
<file>rc/line_vertical_pressed@2x.png</file>
|
||||
<file>rc/radio_checked.png</file>
|
||||
<file>rc/radio_checked@2x.png</file>
|
||||
<file>rc/radio_checked_disabled.png</file>
|
||||
<file>rc/radio_checked_disabled@2x.png</file>
|
||||
<file>rc/radio_checked_focus.png</file>
|
||||
<file>rc/radio_checked_focus@2x.png</file>
|
||||
<file>rc/radio_checked_pressed.png</file>
|
||||
<file>rc/radio_checked_pressed@2x.png</file>
|
||||
<file>rc/radio_unchecked.png</file>
|
||||
<file>rc/radio_unchecked@2x.png</file>
|
||||
<file>rc/radio_unchecked_disabled.png</file>
|
||||
<file>rc/radio_unchecked_disabled@2x.png</file>
|
||||
<file>rc/radio_unchecked_focus.png</file>
|
||||
<file>rc/radio_unchecked_focus@2x.png</file>
|
||||
<file>rc/radio_unchecked_pressed.png</file>
|
||||
<file>rc/radio_unchecked_pressed@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal.png</file>
|
||||
<file>rc/toolbar_move_horizontal@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal_disabled.png</file>
|
||||
<file>rc/toolbar_move_horizontal_disabled@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal_focus.png</file>
|
||||
<file>rc/toolbar_move_horizontal_focus@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal_pressed.png</file>
|
||||
<file>rc/toolbar_move_horizontal_pressed@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical.png</file>
|
||||
<file>rc/toolbar_move_vertical@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical_disabled.png</file>
|
||||
<file>rc/toolbar_move_vertical_disabled@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical_focus.png</file>
|
||||
<file>rc/toolbar_move_vertical_focus@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical_pressed.png</file>
|
||||
<file>rc/toolbar_move_vertical_pressed@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal.png</file>
|
||||
<file>rc/toolbar_separator_horizontal@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_disabled.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_disabled@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_focus.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_focus@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_pressed.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_pressed@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical.png</file>
|
||||
<file>rc/toolbar_separator_vertical@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical_disabled.png</file>
|
||||
<file>rc/toolbar_separator_vertical_disabled@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical_focus.png</file>
|
||||
<file>rc/toolbar_separator_vertical_focus@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical_pressed.png</file>
|
||||
<file>rc/toolbar_separator_vertical_pressed@2x.png</file>
|
||||
<file>rc/transparent.png</file>
|
||||
<file>rc/transparent@2x.png</file>
|
||||
<file>rc/transparent_disabled.png</file>
|
||||
<file>rc/transparent_disabled@2x.png</file>
|
||||
<file>rc/transparent_focus.png</file>
|
||||
<file>rc/transparent_focus@2x.png</file>
|
||||
<file>rc/transparent_pressed.png</file>
|
||||
<file>rc/transparent_pressed@2x.png</file>
|
||||
<file>rc/window_close.png</file>
|
||||
<file>rc/window_close@2x.png</file>
|
||||
<file>rc/window_close_disabled.png</file>
|
||||
<file>rc/window_close_disabled@2x.png</file>
|
||||
<file>rc/window_close_focus.png</file>
|
||||
<file>rc/window_close_focus@2x.png</file>
|
||||
<file>rc/window_close_pressed.png</file>
|
||||
<file>rc/window_close_pressed@2x.png</file>
|
||||
<file>rc/window_grip.png</file>
|
||||
<file>rc/window_grip@2x.png</file>
|
||||
<file>rc/window_grip_disabled.png</file>
|
||||
<file>rc/window_grip_disabled@2x.png</file>
|
||||
<file>rc/window_grip_focus.png</file>
|
||||
<file>rc/window_grip_focus@2x.png</file>
|
||||
<file>rc/window_grip_pressed.png</file>
|
||||
<file>rc/window_grip_pressed@2x.png</file>
|
||||
<file>rc/window_minimize.png</file>
|
||||
<file>rc/window_minimize@2x.png</file>
|
||||
<file>rc/window_minimize_disabled.png</file>
|
||||
<file>rc/window_minimize_disabled@2x.png</file>
|
||||
<file>rc/window_minimize_focus.png</file>
|
||||
<file>rc/window_minimize_focus@2x.png</file>
|
||||
<file>rc/window_minimize_pressed.png</file>
|
||||
<file>rc/window_minimize_pressed@2x.png</file>
|
||||
<file>rc/window_undock.png</file>
|
||||
<file>rc/window_undock@2x.png</file>
|
||||
<file>rc/window_undock_disabled.png</file>
|
||||
<file>rc/window_undock_disabled@2x.png</file>
|
||||
<file>rc/window_undock_focus.png</file>
|
||||
<file>rc/window_undock_focus@2x.png</file>
|
||||
<file>rc/window_undock_pressed.png</file>
|
||||
<file>rc/window_undock_pressed@2x.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -1,14 +1,4 @@
|
|||
[Icon Theme]
|
||||
Name=qdarkstyle_midnight_blue
|
||||
Comment=dark theme
|
||||
Inherits=colorful
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
[16x16]
|
||||
Size=16
|
||||
|
||||
[48x48]
|
||||
Size=48
|
||||
|
||||
[256x256]
|
||||
Size=256
|
||||
Comment=Dark theme (Midnight Blue style)
|
||||
Inherits=default_dark
|
||||
|
|
|
@ -1,228 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="icons/qdarkstyle_midnight_blue">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../qdarkstyle/icons/16x16/lock.png</file>
|
||||
<file alias="16x16/view-refresh.png">../qdarkstyle/icons/16x16/view-refresh.png</file>
|
||||
<file alias="48x48/bad_folder.png">../qdarkstyle/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../qdarkstyle/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../qdarkstyle/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/no_avatar.png">../qdarkstyle/icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/list-add.png">../qdarkstyle/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">../qdarkstyle/icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">../qdarkstyle/icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">../qdarkstyle/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qss_icons">
|
||||
<file>rc/arrow_down.png</file>
|
||||
<file>rc/arrow_down@2x.png</file>
|
||||
<file>rc/arrow_down_disabled.png</file>
|
||||
<file>rc/arrow_down_disabled@2x.png</file>
|
||||
<file>rc/arrow_down_focus.png</file>
|
||||
<file>rc/arrow_down_focus@2x.png</file>
|
||||
<file>rc/arrow_down_pressed.png</file>
|
||||
<file>rc/arrow_down_pressed@2x.png</file>
|
||||
<file>rc/arrow_left.png</file>
|
||||
<file>rc/arrow_left@2x.png</file>
|
||||
<file>rc/arrow_left_disabled.png</file>
|
||||
<file>rc/arrow_left_disabled@2x.png</file>
|
||||
<file>rc/arrow_left_focus.png</file>
|
||||
<file>rc/arrow_left_focus@2x.png</file>
|
||||
<file>rc/arrow_left_pressed.png</file>
|
||||
<file>rc/arrow_left_pressed@2x.png</file>
|
||||
<file>rc/arrow_right.png</file>
|
||||
<file>rc/arrow_right@2x.png</file>
|
||||
<file>rc/arrow_right_disabled.png</file>
|
||||
<file>rc/arrow_right_disabled@2x.png</file>
|
||||
<file>rc/arrow_right_focus.png</file>
|
||||
<file>rc/arrow_right_focus@2x.png</file>
|
||||
<file>rc/arrow_right_pressed.png</file>
|
||||
<file>rc/arrow_right_pressed@2x.png</file>
|
||||
<file>rc/arrow_up.png</file>
|
||||
<file>rc/arrow_up@2x.png</file>
|
||||
<file>rc/arrow_up_disabled.png</file>
|
||||
<file>rc/arrow_up_disabled@2x.png</file>
|
||||
<file>rc/arrow_up_focus.png</file>
|
||||
<file>rc/arrow_up_focus@2x.png</file>
|
||||
<file>rc/arrow_up_pressed.png</file>
|
||||
<file>rc/arrow_up_pressed@2x.png</file>
|
||||
<file>rc/base_icon.png</file>
|
||||
<file>rc/base_icon@2x.png</file>
|
||||
<file>rc/base_icon_disabled.png</file>
|
||||
<file>rc/base_icon_disabled@2x.png</file>
|
||||
<file>rc/base_icon_focus.png</file>
|
||||
<file>rc/base_icon_focus@2x.png</file>
|
||||
<file>rc/base_icon_pressed.png</file>
|
||||
<file>rc/base_icon_pressed@2x.png</file>
|
||||
<file>rc/branch_closed.png</file>
|
||||
<file>rc/branch_closed@2x.png</file>
|
||||
<file>rc/branch_closed_disabled.png</file>
|
||||
<file>rc/branch_closed_disabled@2x.png</file>
|
||||
<file>rc/branch_closed_focus.png</file>
|
||||
<file>rc/branch_closed_focus@2x.png</file>
|
||||
<file>rc/branch_closed_pressed.png</file>
|
||||
<file>rc/branch_closed_pressed@2x.png</file>
|
||||
<file>rc/branch_end.png</file>
|
||||
<file>rc/branch_end@2x.png</file>
|
||||
<file>rc/branch_end_disabled.png</file>
|
||||
<file>rc/branch_end_disabled@2x.png</file>
|
||||
<file>rc/branch_end_focus.png</file>
|
||||
<file>rc/branch_end_focus@2x.png</file>
|
||||
<file>rc/branch_end_pressed.png</file>
|
||||
<file>rc/branch_end_pressed@2x.png</file>
|
||||
<file>rc/branch_line.png</file>
|
||||
<file>rc/branch_line@2x.png</file>
|
||||
<file>rc/branch_line_disabled.png</file>
|
||||
<file>rc/branch_line_disabled@2x.png</file>
|
||||
<file>rc/branch_line_focus.png</file>
|
||||
<file>rc/branch_line_focus@2x.png</file>
|
||||
<file>rc/branch_line_pressed.png</file>
|
||||
<file>rc/branch_line_pressed@2x.png</file>
|
||||
<file>rc/branch_more.png</file>
|
||||
<file>rc/branch_more@2x.png</file>
|
||||
<file>rc/branch_more_disabled.png</file>
|
||||
<file>rc/branch_more_disabled@2x.png</file>
|
||||
<file>rc/branch_more_focus.png</file>
|
||||
<file>rc/branch_more_focus@2x.png</file>
|
||||
<file>rc/branch_more_pressed.png</file>
|
||||
<file>rc/branch_more_pressed@2x.png</file>
|
||||
<file>rc/branch_open.png</file>
|
||||
<file>rc/branch_open@2x.png</file>
|
||||
<file>rc/branch_open_disabled.png</file>
|
||||
<file>rc/branch_open_disabled@2x.png</file>
|
||||
<file>rc/branch_open_focus.png</file>
|
||||
<file>rc/branch_open_focus@2x.png</file>
|
||||
<file>rc/branch_open_pressed.png</file>
|
||||
<file>rc/branch_open_pressed@2x.png</file>
|
||||
<file>rc/checkbox_checked.png</file>
|
||||
<file>rc/checkbox_checked@2x.png</file>
|
||||
<file>rc/checkbox_checked_disabled.png</file>
|
||||
<file>rc/checkbox_checked_disabled@2x.png</file>
|
||||
<file>rc/checkbox_checked_focus.png</file>
|
||||
<file>rc/checkbox_checked_focus@2x.png</file>
|
||||
<file>rc/checkbox_checked_pressed.png</file>
|
||||
<file>rc/checkbox_checked_pressed@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate.png</file>
|
||||
<file>rc/checkbox_indeterminate@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate_disabled.png</file>
|
||||
<file>rc/checkbox_indeterminate_disabled@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate_focus.png</file>
|
||||
<file>rc/checkbox_indeterminate_focus@2x.png</file>
|
||||
<file>rc/checkbox_indeterminate_pressed.png</file>
|
||||
<file>rc/checkbox_indeterminate_pressed@2x.png</file>
|
||||
<file>rc/checkbox_unchecked.png</file>
|
||||
<file>rc/checkbox_unchecked@2x.png</file>
|
||||
<file>rc/checkbox_unchecked_disabled.png</file>
|
||||
<file>rc/checkbox_unchecked_disabled@2x.png</file>
|
||||
<file>rc/checkbox_unchecked_focus.png</file>
|
||||
<file>rc/checkbox_unchecked_focus@2x.png</file>
|
||||
<file>rc/checkbox_unchecked_pressed.png</file>
|
||||
<file>rc/checkbox_unchecked_pressed@2x.png</file>
|
||||
<file>rc/line_horizontal.png</file>
|
||||
<file>rc/line_horizontal@2x.png</file>
|
||||
<file>rc/line_horizontal_disabled.png</file>
|
||||
<file>rc/line_horizontal_disabled@2x.png</file>
|
||||
<file>rc/line_horizontal_focus.png</file>
|
||||
<file>rc/line_horizontal_focus@2x.png</file>
|
||||
<file>rc/line_horizontal_pressed.png</file>
|
||||
<file>rc/line_horizontal_pressed@2x.png</file>
|
||||
<file>rc/line_vertical.png</file>
|
||||
<file>rc/line_vertical@2x.png</file>
|
||||
<file>rc/line_vertical_disabled.png</file>
|
||||
<file>rc/line_vertical_disabled@2x.png</file>
|
||||
<file>rc/line_vertical_focus.png</file>
|
||||
<file>rc/line_vertical_focus@2x.png</file>
|
||||
<file>rc/line_vertical_pressed.png</file>
|
||||
<file>rc/line_vertical_pressed@2x.png</file>
|
||||
<file>rc/radio_checked.png</file>
|
||||
<file>rc/radio_checked@2x.png</file>
|
||||
<file>rc/radio_checked_disabled.png</file>
|
||||
<file>rc/radio_checked_disabled@2x.png</file>
|
||||
<file>rc/radio_checked_focus.png</file>
|
||||
<file>rc/radio_checked_focus@2x.png</file>
|
||||
<file>rc/radio_checked_pressed.png</file>
|
||||
<file>rc/radio_checked_pressed@2x.png</file>
|
||||
<file>rc/radio_unchecked.png</file>
|
||||
<file>rc/radio_unchecked@2x.png</file>
|
||||
<file>rc/radio_unchecked_disabled.png</file>
|
||||
<file>rc/radio_unchecked_disabled@2x.png</file>
|
||||
<file>rc/radio_unchecked_focus.png</file>
|
||||
<file>rc/radio_unchecked_focus@2x.png</file>
|
||||
<file>rc/radio_unchecked_pressed.png</file>
|
||||
<file>rc/radio_unchecked_pressed@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal.png</file>
|
||||
<file>rc/toolbar_move_horizontal@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal_disabled.png</file>
|
||||
<file>rc/toolbar_move_horizontal_disabled@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal_focus.png</file>
|
||||
<file>rc/toolbar_move_horizontal_focus@2x.png</file>
|
||||
<file>rc/toolbar_move_horizontal_pressed.png</file>
|
||||
<file>rc/toolbar_move_horizontal_pressed@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical.png</file>
|
||||
<file>rc/toolbar_move_vertical@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical_disabled.png</file>
|
||||
<file>rc/toolbar_move_vertical_disabled@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical_focus.png</file>
|
||||
<file>rc/toolbar_move_vertical_focus@2x.png</file>
|
||||
<file>rc/toolbar_move_vertical_pressed.png</file>
|
||||
<file>rc/toolbar_move_vertical_pressed@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal.png</file>
|
||||
<file>rc/toolbar_separator_horizontal@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_disabled.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_disabled@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_focus.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_focus@2x.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_pressed.png</file>
|
||||
<file>rc/toolbar_separator_horizontal_pressed@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical.png</file>
|
||||
<file>rc/toolbar_separator_vertical@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical_disabled.png</file>
|
||||
<file>rc/toolbar_separator_vertical_disabled@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical_focus.png</file>
|
||||
<file>rc/toolbar_separator_vertical_focus@2x.png</file>
|
||||
<file>rc/toolbar_separator_vertical_pressed.png</file>
|
||||
<file>rc/toolbar_separator_vertical_pressed@2x.png</file>
|
||||
<file>rc/transparent.png</file>
|
||||
<file>rc/transparent@2x.png</file>
|
||||
<file>rc/transparent_disabled.png</file>
|
||||
<file>rc/transparent_disabled@2x.png</file>
|
||||
<file>rc/transparent_focus.png</file>
|
||||
<file>rc/transparent_focus@2x.png</file>
|
||||
<file>rc/transparent_pressed.png</file>
|
||||
<file>rc/transparent_pressed@2x.png</file>
|
||||
<file>rc/window_close.png</file>
|
||||
<file>rc/window_close@2x.png</file>
|
||||
<file>rc/window_close_disabled.png</file>
|
||||
<file>rc/window_close_disabled@2x.png</file>
|
||||
<file>rc/window_close_focus.png</file>
|
||||
<file>rc/window_close_focus@2x.png</file>
|
||||
<file>rc/window_close_pressed.png</file>
|
||||
<file>rc/window_close_pressed@2x.png</file>
|
||||
<file>rc/window_grip.png</file>
|
||||
<file>rc/window_grip@2x.png</file>
|
||||
<file>rc/window_grip_disabled.png</file>
|
||||
<file>rc/window_grip_disabled@2x.png</file>
|
||||
<file>rc/window_grip_focus.png</file>
|
||||
<file>rc/window_grip_focus@2x.png</file>
|
||||
<file>rc/window_grip_pressed.png</file>
|
||||
<file>rc/window_grip_pressed@2x.png</file>
|
||||
<file>rc/window_minimize.png</file>
|
||||
<file>rc/window_minimize@2x.png</file>
|
||||
<file>rc/window_minimize_disabled.png</file>
|
||||
<file>rc/window_minimize_disabled@2x.png</file>
|
||||
<file>rc/window_minimize_focus.png</file>
|
||||
<file>rc/window_minimize_focus@2x.png</file>
|
||||
<file>rc/window_minimize_pressed.png</file>
|
||||
<file>rc/window_minimize_pressed@2x.png</file>
|
||||
<file>rc/window_undock.png</file>
|
||||
<file>rc/window_undock@2x.png</file>
|
||||
<file>rc/window_undock_disabled.png</file>
|
||||
<file>rc/window_undock_disabled@2x.png</file>
|
||||
<file>rc/window_undock_focus.png</file>
|
||||
<file>rc/window_undock_focus@2x.png</file>
|
||||
<file>rc/window_undock_pressed.png</file>
|
||||
<file>rc/window_undock_pressed@2x.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qdarkstyle_midnight_blue">
|
||||
<file>style.qss</file>
|
||||
</qresource>
|
||||
<qresource prefix="qdarkstyle_midnight_blue">
|
||||
<file>style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1296,6 +1296,10 @@ QSlider:focus {
|
|||
border: none;
|
||||
}
|
||||
|
||||
QSlider:horizontal {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
QSlider::groove:horizontal {
|
||||
background: #32414B;
|
||||
border: 1px solid #32414B;
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<!-- Theme is always dark, so we always use the same icons -->
|
||||
|
||||
<qresource prefix="icons/qdarkstyle_midnight_blue_monochrome">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../monochrome_dark/icons/16x16/lock.png</file>
|
||||
<file alias="48x48/bad_folder.png">../monochrome_dark/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../monochrome_dark/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../monochrome_dark/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">../monochrome_dark/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">../monochrome_dark/icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">../monochrome_dark/icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">../monochrome_dark/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
|
||||
<qresource prefix="icons/qdarkstyle_midnight_blue_monochrome_dark">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../monochrome_dark/icons/16x16/lock.png</file>
|
||||
<file alias="48x48/bad_folder.png">../monochrome_dark/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../monochrome_dark/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../monochrome_dark/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">../monochrome_dark/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/no_avatar.png">../monochrome_dark/icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/sd_card.png">../monochrome_dark/icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">../monochrome_dark/icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">../monochrome_dark/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -0,0 +1,14 @@
|
|||
[Icon Theme]
|
||||
Name=qdarkstyle_midnight_blue_monochrome
|
||||
Comment=Monochrome dark theme (Midnight Blue style)
|
||||
Inherits=qdarkstyle_midnight_blue
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
[16x16]
|
||||
Size=16
|
||||
|
||||
[48x48]
|
||||
Size=48
|
||||
|
||||
[256x256]
|
||||
Size=256
|
|
@ -0,0 +1,8 @@
|
|||
<RCC>
|
||||
<qresource prefix="qdarkstyle_midnight_blue_monochrome">
|
||||
<file alias="style.qss">../qdarkstyle_midnight_blue/style.qss</file>
|
||||
</qresource>
|
||||
<qresource prefix="qdarkstyle_midnight_blue_monochrome_dark">
|
||||
<file alias="style.qss">../qdarkstyle/style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -0,0 +1,33 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<!-- Theme is always dark, so we always use the same icons -->
|
||||
|
||||
<qresource prefix="icons/qdarkstyle_monochrome">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../monochrome_dark/icons/16x16/lock.png</file>
|
||||
<file alias="48x48/bad_folder.png">../monochrome_dark/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../monochrome_dark/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../monochrome_dark/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">../monochrome_dark/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/sd_card.png">../monochrome_dark/icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">../monochrome_dark/icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">../monochrome_dark/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
|
||||
<qresource prefix="icons/qdarkstyle_monochrome_dark">
|
||||
<file alias="index.theme">icons/index.theme</file>
|
||||
<file alias="16x16/lock.png">../monochrome_dark/icons/16x16/lock.png</file>
|
||||
<file alias="48x48/bad_folder.png">../monochrome_dark/icons/48x48/bad_folder.png</file>
|
||||
<file alias="48x48/chip.png">../monochrome_dark/icons/48x48/chip.png</file>
|
||||
<file alias="48x48/folder.png">../monochrome_dark/icons/48x48/folder.png</file>
|
||||
<file alias="48x48/list-add.png">../monochrome_dark/icons/48x48/list-add.png</file>
|
||||
<file alias="48x48/no_avatar.png">../monochrome_dark/icons/48x48/no_avatar.png</file>
|
||||
<file alias="48x48/sd_card.png">../monochrome_dark/icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">../monochrome_dark/icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">../monochrome_dark/icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -0,0 +1,14 @@
|
|||
[Icon Theme]
|
||||
Name=qdarkstyle_monochrome
|
||||
Comment=Monochrome dark theme (Mine Shaft style)
|
||||
Inherits=qdarkstyle
|
||||
Directories=16x16,48x48,256x256
|
||||
|
||||
[16x16]
|
||||
Size=16
|
||||
|
||||
[48x48]
|
||||
Size=48
|
||||
|
||||
[256x256]
|
||||
Size=256
|
|
@ -0,0 +1,8 @@
|
|||
<RCC>
|
||||
<qresource prefix="qdarkstyle_monochrome">
|
||||
<file alias="style.qss">../qdarkstyle/style.qss</file>
|
||||
</qresource>
|
||||
<qresource prefix="qdarkstyle_monochrome_dark">
|
||||
<file alias="style.qss">../qdarkstyle/style.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -67,6 +67,7 @@ SWITCHABLE(u8, true);
|
|||
// Used in UISettings
|
||||
// TODO see if we can move this to uisettings.cpp
|
||||
SWITCHABLE(ConfirmStop, true);
|
||||
SWITCHABLE(DarkModeState, true);
|
||||
|
||||
#undef SETTING
|
||||
#undef SWITCHABLE
|
||||
|
|
|
@ -90,6 +90,7 @@ SWITCHABLE(u8, true);
|
|||
// Used in UISettings
|
||||
// TODO see if we can move this to uisettings.h
|
||||
SWITCHABLE(ConfirmStop, true);
|
||||
SWITCHABLE(DarkModeState, true);
|
||||
|
||||
#undef SETTING
|
||||
#undef SWITCHABLE
|
||||
|
|
|
@ -155,6 +155,8 @@ ENUM(ConsoleMode, Handheld, Docked);
|
|||
|
||||
ENUM(AppletMode, HLE, LLE);
|
||||
|
||||
ENUM(DarkModeState, Off, On, Auto);
|
||||
|
||||
template <typename Type>
|
||||
inline std::string CanonicalizeEnum(Type id) {
|
||||
const auto group = EnumMetadata<Type>::Canonicalizations();
|
||||
|
|
|
@ -384,10 +384,12 @@ bool QtControllerSelectorDialog::CheckIfParametersMet() {
|
|||
|
||||
void QtControllerSelectorDialog::SetSupportedControllers() {
|
||||
const QString theme = [] {
|
||||
if (QIcon::themeName().contains(QStringLiteral("dark"))) {
|
||||
return QStringLiteral("_dark");
|
||||
} else if (QIcon::themeName().contains(QStringLiteral("midnight"))) {
|
||||
if (QIcon::themeName().contains(QStringLiteral("midnight"))) {
|
||||
return QStringLiteral("_midnight");
|
||||
} else if (GMainWindow::CheckDarkMode() ||
|
||||
QIcon::themeName().contains(QStringLiteral("dark"))) {
|
||||
// Use dark icons if current OS mode is dark, or the theme contains "dark" in its name
|
||||
return QStringLiteral("_dark");
|
||||
} else {
|
||||
return QString{};
|
||||
}
|
||||
|
@ -572,10 +574,12 @@ void QtControllerSelectorDialog::UpdateControllerIcon(std::size_t player_index)
|
|||
}
|
||||
|
||||
const QString theme = [] {
|
||||
if (QIcon::themeName().contains(QStringLiteral("dark"))) {
|
||||
return QStringLiteral("_dark");
|
||||
} else if (QIcon::themeName().contains(QStringLiteral("midnight"))) {
|
||||
if (QIcon::themeName().contains(QStringLiteral("midnight"))) {
|
||||
return QStringLiteral("_midnight");
|
||||
} else if (GMainWindow::CheckDarkMode() ||
|
||||
QIcon::themeName().contains(QStringLiteral("dark"))) {
|
||||
// Use dark icons if current OS mode is dark, or the theme contains "dark" in its name
|
||||
return QStringLiteral("_dark");
|
||||
} else {
|
||||
return QString{};
|
||||
}
|
||||
|
|
|
@ -823,7 +823,9 @@ void QtSoftwareKeyboardDialog::SetControllerImage() {
|
|||
handheld->IsConnected() ? handheld->GetNpadStyleIndex() : player_1->GetNpadStyleIndex();
|
||||
|
||||
const QString theme = [] {
|
||||
if (QIcon::themeName().contains(QStringLiteral("dark")) ||
|
||||
// Use dark icons if current OS mode is dark, or the theme contains "dark", or "midnight" in
|
||||
// its name
|
||||
if (GMainWindow::CheckDarkMode() || QIcon::themeName().contains(QStringLiteral("dark")) ||
|
||||
QIcon::themeName().contains(QStringLiteral("midnight"))) {
|
||||
return QStringLiteral("_dark");
|
||||
} else {
|
||||
|
|
|
@ -1430,12 +1430,12 @@
|
|||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="buttonShoulderButtonsButtonZLGroup">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>ZL</string>
|
||||
</property>
|
||||
|
@ -1481,20 +1481,20 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="sliderZLThreshold">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="sliderZLThreshold">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -1927,22 +1927,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="sliderZRThreshold">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="sliderZRThreshold">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <QString>
|
||||
#include <QToolButton>
|
||||
#include <QVariant>
|
||||
#include <QtGlobal>
|
||||
|
||||
#include "common/common_types.h"
|
||||
#include "common/fs/path_util.h"
|
||||
|
@ -29,6 +30,8 @@
|
|||
#include "suyu/uisettings.h"
|
||||
#include "ui_configure_ui.h"
|
||||
|
||||
using Settings::DarkModeState;
|
||||
|
||||
namespace {
|
||||
constexpr std::array default_game_icon_sizes{
|
||||
std::make_pair(0, QT_TRANSLATE_NOOP("ConfigureUI", "None")),
|
||||
|
@ -133,6 +136,7 @@ ConfigureUi::ConfigureUi(Core::System& system_, QWidget* parent)
|
|||
|
||||
InitializeIconSizeComboBox();
|
||||
InitializeRowComboBoxes();
|
||||
UpdateDarkModeOptions();
|
||||
|
||||
PopulateResolutionComboBox(ui->screenshot_height, this);
|
||||
|
||||
|
@ -153,6 +157,9 @@ ConfigureUi::ConfigureUi(Core::System& system_, QWidget* parent)
|
|||
&ConfigureUi::RequestGameListUpdate);
|
||||
connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
||||
&ConfigureUi::RequestGameListUpdate);
|
||||
// Update available dark mode options depending on selected style
|
||||
connect(ui->theme_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
||||
&ConfigureUi::UpdateDarkModeOptions);
|
||||
|
||||
// Update text ComboBoxes after user interaction.
|
||||
connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::activated),
|
||||
|
@ -185,6 +192,8 @@ ConfigureUi::~ConfigureUi() = default;
|
|||
void ConfigureUi::ApplyConfiguration() {
|
||||
UISettings::values.theme =
|
||||
ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
|
||||
UISettings::values.dark_mode_state =
|
||||
static_cast<DarkModeState>(ui->dark_mode_combobox->currentData().toUInt());
|
||||
UISettings::values.show_add_ons = ui->show_add_ons->isChecked();
|
||||
UISettings::values.show_compat = ui->show_compat->isChecked();
|
||||
UISettings::values.show_size = ui->show_size->isChecked();
|
||||
|
@ -206,12 +215,64 @@ void ConfigureUi::ApplyConfiguration() {
|
|||
system.ApplySettings();
|
||||
}
|
||||
|
||||
void ConfigureUi::UpdateDarkModeOptions() {
|
||||
ui->dark_mode_combobox->clear();
|
||||
|
||||
QString selected_theme = ui->theme_combobox->currentData().toString();
|
||||
|
||||
/* Dark mode option are added according to the modes the current style supports */
|
||||
bool has_common_style = QFile::exists(selected_theme + QStringLiteral("style.qss"));
|
||||
bool has_light_style = QFile::exists(selected_theme + QStringLiteral("light.qss"));
|
||||
bool has_dark_style = QFile::exists(selected_theme + QStringLiteral("dark.qss"));
|
||||
#ifdef _WIN32
|
||||
// Indicate which option needs a restart to be applied, depending on current environment
|
||||
// variable
|
||||
QByteArray current_qt_qpa = qgetenv("QT_QPA_PLATFORM");
|
||||
if (current_qt_qpa.contains("darkmode=2")) {
|
||||
if (has_common_style || (has_dark_style && has_light_style)) {
|
||||
ui->dark_mode_combobox->addItem(tr("Auto"), QVariant::fromValue(DarkModeState::Auto));
|
||||
}
|
||||
if (has_common_style || has_dark_style) {
|
||||
ui->dark_mode_combobox->addItem(tr("Always On") + QStringLiteral(" (%1)").arg(tr("Needs restart")),
|
||||
QVariant::fromValue(DarkModeState::On));
|
||||
}
|
||||
if (has_common_style || has_light_style) {
|
||||
ui->dark_mode_combobox->addItem(tr("Always Off") + QStringLiteral(" (%1)").arg(tr("Needs restart")),
|
||||
QVariant::fromValue(DarkModeState::Off));
|
||||
}
|
||||
} else {
|
||||
if (has_common_style || (has_dark_style && has_light_style)) {
|
||||
ui->dark_mode_combobox->addItem(tr("Auto") + QStringLiteral(" (%1)").arg(tr("Needs restart")),
|
||||
QVariant::fromValue(DarkModeState::Auto));
|
||||
}
|
||||
if (has_common_style || has_dark_style) {
|
||||
ui->dark_mode_combobox->addItem(tr("Always On"), QVariant::fromValue(DarkModeState::On));
|
||||
}
|
||||
if (has_common_style || has_light_style) {
|
||||
ui->dark_mode_combobox->addItem(tr("Always Off"), QVariant::fromValue(DarkModeState::Off));
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (has_common_style || (has_dark_style && has_light_style)) {
|
||||
ui->dark_mode_combobox->addItem(tr("Auto"), QVariant::fromValue(DarkModeState::Auto));
|
||||
}
|
||||
if (has_common_style || has_dark_style) {
|
||||
ui->dark_mode_combobox->addItem(tr("Always On"), QVariant::fromValue(DarkModeState::On));
|
||||
}
|
||||
if (has_common_style || has_light_style) {
|
||||
ui->dark_mode_combobox->addItem(tr("Always Off"), QVariant::fromValue(DarkModeState::Off));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void ConfigureUi::RequestGameListUpdate() {
|
||||
UISettings::values.is_game_list_reload_pending.exchange(true);
|
||||
}
|
||||
|
||||
void ConfigureUi::SetConfiguration() {
|
||||
ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
|
||||
ui->dark_mode_combobox->setCurrentIndex(
|
||||
ui->dark_mode_combobox->findData(QVariant::fromValue(UISettings::values.dark_mode_state)));
|
||||
ui->language_combobox->setCurrentIndex(ui->language_combobox->findData(
|
||||
QString::fromStdString(UISettings::values.language.GetValue())));
|
||||
ui->show_add_ons->setChecked(UISettings::values.show_add_ons.GetValue());
|
||||
|
|
|
@ -34,6 +34,7 @@ signals:
|
|||
void LanguageChanged(const QString& locale);
|
||||
|
||||
private:
|
||||
void UpdateDarkModeOptions();
|
||||
void RequestGameListUpdate();
|
||||
|
||||
void SetConfiguration();
|
||||
|
|
|
@ -63,6 +63,20 @@
|
|||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
<widget class="QLabel" name="dark_mode_label">
|
||||
<property name="text">
|
||||
<string>Dark Mode:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="dark_mode_combobox"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
|
|
@ -260,8 +260,10 @@ void QtConfig::ReadShortcutValues() {
|
|||
void QtConfig::ReadUIValues() {
|
||||
BeginGroup(Settings::TranslateCategory(Settings::Category::Ui));
|
||||
|
||||
UISettings::values.theme = QString::fromStdString(
|
||||
ReadStringSetting(std::string("theme"), std::string(UISettings::default_theme)));
|
||||
UISettings::values.theme =
|
||||
QString::fromStdString(ReadStringSetting("theme", std::string(UISettings::default_theme)));
|
||||
UISettings::values.dark_mode_state = static_cast<DarkModeState>(
|
||||
ReadIntegerSetting("dark_mode_state", static_cast<int>(DarkModeState::Auto)));
|
||||
|
||||
ReadUIGamelistValues();
|
||||
ReadUILayoutValues();
|
||||
|
@ -467,8 +469,10 @@ void QtConfig::SaveUIValues() {
|
|||
WriteCategory(Settings::Category::Ui);
|
||||
WriteCategory(Settings::Category::UiGeneral);
|
||||
|
||||
WriteStringSetting(std::string("theme"), UISettings::values.theme.toStdString(),
|
||||
WriteStringSetting("theme", UISettings::values.theme.toStdString(),
|
||||
std::make_optional(std::string(UISettings::default_theme)));
|
||||
WriteIntegerSetting("dark_mode_state", static_cast<int>(UISettings::values.dark_mode_state),
|
||||
std::make_optional(static_cast<int>(DarkModeState::Auto)));
|
||||
|
||||
SaveUIGamelistValues();
|
||||
SaveUILayoutValues();
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <thread>
|
||||
|
||||
#include "core/hle/service/am/applet_manager.h"
|
||||
#include "core/loader/nca.h"
|
||||
#include "core/loader/nro.h"
|
||||
|
@ -20,6 +21,9 @@
|
|||
#endif
|
||||
#ifdef __unix__
|
||||
#include <csignal>
|
||||
#include <QtDBus/QDBusInterface>
|
||||
#include <QtDBus/QDBusMessage>
|
||||
#include <QtDBus/QtDBus>
|
||||
#include <sys/socket.h>
|
||||
#include "common/linux/gamemode.h"
|
||||
#endif
|
||||
|
@ -271,18 +275,6 @@ static void OverrideWindowsFont() {
|
|||
}
|
||||
#endif
|
||||
|
||||
bool GMainWindow::CheckDarkMode() {
|
||||
#ifdef __unix__
|
||||
const QPalette test_palette(qApp->palette());
|
||||
const QColor text_color = test_palette.color(QPalette::Active, QPalette::Text);
|
||||
const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
|
||||
return (text_color.value() > window_color.value());
|
||||
#else
|
||||
// TODO: Windows
|
||||
return false;
|
||||
#endif // __unix__
|
||||
}
|
||||
|
||||
GMainWindow::GMainWindow(std::unique_ptr<QtConfig> config_, bool has_broken_vulkan)
|
||||
: ui{std::make_unique<Ui::MainWindow>()}, system{std::make_unique<Core::System>()},
|
||||
input_subsystem{std::make_shared<InputCommon::InputSubsystem>()}, config{std::move(config_)},
|
||||
|
@ -303,15 +295,12 @@ GMainWindow::GMainWindow(std::unique_ptr<QtConfig> config_, bool has_broken_vulk
|
|||
ui->setupUi(this);
|
||||
statusBar()->hide();
|
||||
|
||||
// Check dark mode before a theme is loaded
|
||||
os_dark_mode = CheckDarkMode();
|
||||
startup_icon_theme = QIcon::themeName();
|
||||
// fallback can only be set once, colorful theme icons are okay on both light/dark
|
||||
QIcon::setFallbackThemeName(QStringLiteral("colorful"));
|
||||
// fallback can only be set once, default theme icons are okay on both light/dark
|
||||
QIcon::setFallbackThemeName(QStringLiteral("default"));
|
||||
QIcon::setFallbackSearchPaths(QStringList(QStringLiteral(":/icons")));
|
||||
|
||||
default_theme_paths = QIcon::themeSearchPaths();
|
||||
UpdateUITheme();
|
||||
|
||||
SetDiscordEnabled(UISettings::values.enable_discord_presence.GetValue());
|
||||
discord_rpc->Update();
|
||||
|
@ -329,6 +318,7 @@ GMainWindow::GMainWindow(std::unique_ptr<QtConfig> config_, bool has_broken_vulk
|
|||
|
||||
SetDefaultUIGeometry();
|
||||
RestoreUIState();
|
||||
UpdateUITheme();
|
||||
|
||||
ConnectMenuEvents();
|
||||
ConnectWidgetEvents();
|
||||
|
@ -449,7 +439,10 @@ GMainWindow::GMainWindow(std::unique_ptr<QtConfig> config_, bool has_broken_vulk
|
|||
SDL_EnableScreenSaver();
|
||||
#endif
|
||||
|
||||
#ifdef __unix__
|
||||
SetupPrepareForSleep();
|
||||
ListenColorSchemeChange();
|
||||
#endif
|
||||
|
||||
QStringList args = QApplication::arguments();
|
||||
|
||||
|
@ -1647,8 +1640,8 @@ void GMainWindow::OnDisplayTitleBars(bool show) {
|
|||
}
|
||||
}
|
||||
|
||||
void GMainWindow::SetupPrepareForSleep() {
|
||||
#ifdef __unix__
|
||||
void GMainWindow::SetupPrepareForSleep() {
|
||||
auto bus = QDBusConnection::systemBus();
|
||||
if (bus.isConnected()) {
|
||||
const bool success = bus.connect(
|
||||
|
@ -1662,8 +1655,8 @@ void GMainWindow::SetupPrepareForSleep() {
|
|||
} else {
|
||||
LOG_WARNING(Frontend, "QDBusConnection system bus is not connected");
|
||||
}
|
||||
#endif // __unix__
|
||||
}
|
||||
#endif // __unix__
|
||||
|
||||
void GMainWindow::OnPrepareForSleep(bool prepare_sleep) {
|
||||
if (emu_thread == nullptr) {
|
||||
|
@ -3543,6 +3536,7 @@ void GMainWindow::ResetWindowSize1080() {
|
|||
|
||||
void GMainWindow::OnConfigure() {
|
||||
const QString old_theme = UISettings::values.theme;
|
||||
DarkModeState old_dark_mode_state = UISettings::values.dark_mode_state;
|
||||
const bool old_discord_presence = UISettings::values.enable_discord_presence.GetValue();
|
||||
const auto old_language_index = Settings::values.language_index.GetValue();
|
||||
#ifdef __unix__
|
||||
|
@ -3601,7 +3595,8 @@ void GMainWindow::OnConfigure() {
|
|||
}
|
||||
InitializeHotkeys();
|
||||
|
||||
if (UISettings::values.theme != old_theme) {
|
||||
if (UISettings::values.theme != old_theme ||
|
||||
UISettings::values.dark_mode_state != old_dark_mode_state) {
|
||||
UpdateUITheme();
|
||||
}
|
||||
if (UISettings::values.enable_discord_presence.GetValue() != old_discord_presence) {
|
||||
|
@ -3617,8 +3612,6 @@ void GMainWindow::OnConfigure() {
|
|||
multiplayer_state->UpdateCredentials();
|
||||
}
|
||||
|
||||
emit UpdateThemedIcons();
|
||||
|
||||
const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false);
|
||||
if (reload || Settings::values.language_index.GetValue() != old_language_index) {
|
||||
game_list->PopulateAsync(UISettings::values.game_dirs);
|
||||
|
@ -4799,9 +4792,100 @@ void GMainWindow::filterBarSetChecked(bool state) {
|
|||
emit(OnToggleFilterBar());
|
||||
}
|
||||
|
||||
void GMainWindow::UpdateUITheme() {
|
||||
const QString default_theme = QString::fromStdString(UISettings::default_theme.data());
|
||||
QString current_theme = UISettings::values.theme;
|
||||
if (current_theme.isEmpty()) {
|
||||
current_theme = default_theme;
|
||||
}
|
||||
|
||||
UpdateIcons(current_theme);
|
||||
|
||||
/* Find the stylesheet to load */
|
||||
if (TryLoadStylesheet(current_theme)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Reading new theme failed, loading default stylesheet
|
||||
LOG_ERROR(Frontend, "Unable to open style \"{}\", fallback to the default theme",
|
||||
current_theme.toStdString());
|
||||
|
||||
if (TryLoadStylesheet(QStringLiteral(":/%1/").arg(default_theme))) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Reading default failed, loading empty stylesheet
|
||||
LOG_ERROR(Frontend, "Unable to set default style, stylesheet file not found");
|
||||
|
||||
qApp->setStyleSheet({});
|
||||
setStyleSheet({});
|
||||
}
|
||||
|
||||
void GMainWindow::UpdateIcons(const QString& theme_used) {
|
||||
// Append _dark to the theme name to use dark variant icons
|
||||
if (CheckDarkMode()) {
|
||||
LOG_DEBUG(Frontend, "Using icons from: {}", theme_used.toStdString() + "_dark");
|
||||
QIcon::setThemeName(theme_used + QStringLiteral("_dark"));
|
||||
} else {
|
||||
LOG_DEBUG(Frontend, "Using icons from: {}", theme_used.toStdString());
|
||||
QIcon::setThemeName(theme_used);
|
||||
}
|
||||
|
||||
const QString theme_directory{
|
||||
QString::fromStdString(Common::FS::GetSuyuPathString(Common::FS::SuyuPath::ThemesDir))};
|
||||
|
||||
// Set path for default icons
|
||||
// Use icon resources from application binary and current theme local subdirectory, if it exists
|
||||
QStringList theme_paths;
|
||||
theme_paths << QString::fromStdString(":/icons") << QStringLiteral("%1").arg(theme_directory);
|
||||
QIcon::setThemeSearchPaths(theme_paths);
|
||||
|
||||
// Change current directory, to allow user themes to use their own icons
|
||||
QDir::setCurrent(QStringLiteral("%1/%2").arg(theme_directory, UISettings::values.theme));
|
||||
|
||||
emit UpdateThemedIcons();
|
||||
}
|
||||
|
||||
bool GMainWindow::TryLoadStylesheet(const QString& theme_uri) {
|
||||
QString style_path;
|
||||
|
||||
// Use themed stylesheet if it exists
|
||||
if (CheckDarkMode()) {
|
||||
style_path = theme_uri + QStringLiteral("dark.qss");
|
||||
} else {
|
||||
style_path = theme_uri + QStringLiteral("light.qss");
|
||||
}
|
||||
if (!QFile::exists(style_path)) {
|
||||
LOG_DEBUG(Frontend, "No themed (light/dark) stylesheet, using default one");
|
||||
// Use common stylesheet if themed one does not exist
|
||||
style_path = theme_uri + QStringLiteral("style.qss");
|
||||
}
|
||||
|
||||
// Loading stylesheet
|
||||
QFile style_file(style_path);
|
||||
if (style_file.open(QFile::ReadOnly | QFile::Text)) {
|
||||
// Update the color palette before applying the stylesheet
|
||||
UpdateThemePalette();
|
||||
|
||||
LOG_DEBUG(Frontend, "Loading stylesheet in: {}", theme_uri.toStdString());
|
||||
QTextStream ts_theme(&style_file);
|
||||
qApp->setStyleSheet(ts_theme.readAll());
|
||||
setStyleSheet(ts_theme.readAll());
|
||||
SetCustomStylesheet();
|
||||
|
||||
return true;
|
||||
}
|
||||
// Opening the file failed
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GMainWindow::TryLoadStylesheet(const std::filesystem::path& theme_path) {
|
||||
return TryLoadStylesheet(QString::fromStdString(theme_path.string() + "/"));
|
||||
}
|
||||
|
||||
static void AdjustLinkColor() {
|
||||
QPalette new_pal(qApp->palette());
|
||||
if (UISettings::IsDarkTheme()) {
|
||||
if (GMainWindow::CheckDarkMode()) {
|
||||
new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
|
||||
} else {
|
||||
new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
|
||||
|
@ -4811,76 +4895,233 @@ static void AdjustLinkColor() {
|
|||
}
|
||||
}
|
||||
|
||||
void GMainWindow::UpdateUITheme() {
|
||||
QString default_theme = QString::fromStdString(UISettings::default_theme.data());
|
||||
QString current_theme = UISettings::values.theme;
|
||||
|
||||
if (current_theme.isEmpty()) {
|
||||
current_theme = default_theme;
|
||||
}
|
||||
|
||||
void GMainWindow::UpdateThemePalette() {
|
||||
QPalette themePalette(qApp->palette());
|
||||
#ifdef _WIN32
|
||||
QIcon::setThemeName(current_theme);
|
||||
AdjustLinkColor();
|
||||
#else
|
||||
if (current_theme == QStringLiteral("default") || current_theme == QStringLiteral("colorful")) {
|
||||
LOG_INFO(Frontend, "Theme is default or colorful: {}", current_theme.toStdString());
|
||||
QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme
|
||||
: startup_icon_theme);
|
||||
QIcon::setThemeSearchPaths(QStringList(default_theme_paths));
|
||||
if (CheckDarkMode()) {
|
||||
current_theme = QStringLiteral("default_dark");
|
||||
QColor dark(25, 25, 25);
|
||||
QString style_name;
|
||||
if (CheckDarkMode()) {
|
||||
// We check that the dark mode state is "On" and force a dark palette
|
||||
if (UISettings::values.dark_mode_state == DarkModeState::On) {
|
||||
// Set Default Windows Dark palette on Windows platforms to force Dark mode
|
||||
themePalette.setColor(QPalette::Window, Qt::black);
|
||||
themePalette.setColor(QPalette::WindowText, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(127, 127, 127));
|
||||
themePalette.setColor(QPalette::Base, Qt::black);
|
||||
themePalette.setColor(QPalette::AlternateBase, dark);
|
||||
themePalette.setColor(QPalette::ToolTipBase, Qt::white);
|
||||
themePalette.setColor(QPalette::ToolTipText, Qt::black);
|
||||
themePalette.setColor(QPalette::Text, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::Text, QColor(127, 127, 127));
|
||||
themePalette.setColor(QPalette::Dark, QColor(128, 128, 128));
|
||||
themePalette.setColor(QPalette::Shadow, Qt::white);
|
||||
themePalette.setColor(QPalette::Button, Qt::black);
|
||||
themePalette.setColor(QPalette::ButtonText, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(127, 127, 127));
|
||||
themePalette.setColor(QPalette::BrightText, QColor(192, 192, 192));
|
||||
themePalette.setColor(QPalette::Link, QColor(0, 140, 200));
|
||||
themePalette.setColor(QPalette::Highlight, QColor(0, 85, 255));
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(0, 85, 255));
|
||||
themePalette.setColor(QPalette::HighlightedText, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::HighlightedText, Qt::white);
|
||||
}
|
||||
|
||||
// AlternateBase is kept at rgb(233, 231, 227) or rgb(245, 245, 245) on Windows dark
|
||||
// palette, fix this. Sometimes, it even is rgb(0, 0, 0), but uses a very light gray for
|
||||
// alternate rows, do not know why
|
||||
if (themePalette.alternateBase().color() == QColor(233, 231, 227) ||
|
||||
themePalette.alternateBase().color() == QColor(245, 245, 245) ||
|
||||
themePalette.alternateBase().color() == QColor(0, 0, 0)) {
|
||||
themePalette.setColor(QPalette::AlternateBase, dark);
|
||||
alternate_base_modified = true;
|
||||
}
|
||||
// Use fusion theme, since its close to windowsvista, but works well with a dark palette
|
||||
style_name = QStringLiteral("fusion");
|
||||
} else {
|
||||
LOG_INFO(Frontend, "Theme is NOT default or colorful: {}", current_theme.toStdString());
|
||||
QIcon::setThemeName(current_theme);
|
||||
// Use icon resources from application binary and current theme subdirectory if it exists
|
||||
QStringList theme_paths;
|
||||
theme_paths << QString::fromStdString(":/icons")
|
||||
<< QStringLiteral("%1/%2/icons")
|
||||
.arg(QString::fromStdString(
|
||||
Common::FS::GetYuzuPathString(Common::FS::YuzuPath::ThemesDir)),
|
||||
current_theme);
|
||||
QIcon::setThemeSearchPaths(theme_paths);
|
||||
AdjustLinkColor();
|
||||
// Reset AlternateBase if it has been modified
|
||||
if (alternate_base_modified) {
|
||||
themePalette.setColor(QPalette::AlternateBase, QColor(245, 245, 245));
|
||||
alternate_base_modified = false;
|
||||
}
|
||||
// Reset light palette
|
||||
themePalette = this->style()->standardPalette();
|
||||
// Reset Windows theme to the default
|
||||
style_name = QStringLiteral("windowsvista");
|
||||
}
|
||||
LOG_DEBUG(Frontend, "Using style: {}", style_name.toStdString());
|
||||
qApp->setStyle(style_name);
|
||||
#else
|
||||
if (CheckDarkMode()) {
|
||||
// Set Dark palette on non Windows platforms (that may not have a dark palette)
|
||||
themePalette.setColor(QPalette::Window, QColor(53, 53, 53));
|
||||
themePalette.setColor(QPalette::WindowText, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(127, 127, 127));
|
||||
themePalette.setColor(QPalette::Base, QColor(42, 42, 42));
|
||||
themePalette.setColor(QPalette::AlternateBase, QColor(66, 66, 66));
|
||||
themePalette.setColor(QPalette::ToolTipBase, Qt::white);
|
||||
themePalette.setColor(QPalette::ToolTipText, QColor(53, 53, 53));
|
||||
themePalette.setColor(QPalette::Text, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::Text, QColor(127, 127, 127));
|
||||
themePalette.setColor(QPalette::Dark, QColor(35, 35, 35));
|
||||
themePalette.setColor(QPalette::Shadow, QColor(20, 20, 20));
|
||||
themePalette.setColor(QPalette::Button, QColor(53, 53, 53));
|
||||
themePalette.setColor(QPalette::ButtonText, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(127, 127, 127));
|
||||
themePalette.setColor(QPalette::BrightText, Qt::red);
|
||||
themePalette.setColor(QPalette::Link, QColor(42, 130, 218));
|
||||
themePalette.setColor(QPalette::Highlight, QColor(42, 130, 218));
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(80, 80, 80));
|
||||
themePalette.setColor(QPalette::HighlightedText, Qt::white);
|
||||
themePalette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(127, 127, 127));
|
||||
} else {
|
||||
// Reset light palette
|
||||
themePalette = this->style()->standardPalette();
|
||||
}
|
||||
#endif
|
||||
if (current_theme != default_theme) {
|
||||
QString theme_uri{current_theme + QStringLiteral("style.qss")};
|
||||
if (tryLoadStylesheet(theme_uri)) {
|
||||
return;
|
||||
qApp->setPalette(themePalette);
|
||||
AdjustLinkColor();
|
||||
}
|
||||
|
||||
void GMainWindow::SetCustomStylesheet() {
|
||||
setStyleSheet(QStringLiteral("QStatusBar::item { border: none; }"));
|
||||
|
||||
// Set "dark" qss property value, that may be used in stylesheets
|
||||
bool is_dark_mode = CheckDarkMode();
|
||||
if (renderer_status_button) {
|
||||
renderer_status_button->setProperty("dark", is_dark_mode);
|
||||
}
|
||||
if (gpu_accuracy_button) {
|
||||
gpu_accuracy_button->setProperty("dark", is_dark_mode);
|
||||
}
|
||||
#ifdef _WIN32
|
||||
// Windows dark mode uses "fusion" style. Make it look like more "windowsvista" light style
|
||||
if (is_dark_mode) {
|
||||
/* the groove expands to the size of the slider by default. by giving it a height, it has a
|
||||
fixed size */
|
||||
/* handle is placed by default on the contents rect of the groove. Negative margin expands
|
||||
it outside the groove */
|
||||
setStyleSheet(QStringLiteral("QSlider:horizontal{ height:30px; }\
|
||||
QSlider::sub-page:horizontal { background-color: palette(highlight); }\
|
||||
QSlider::add-page:horizontal { background-color: palette(midlight);}\
|
||||
QSlider::groove:horizontal { border-width: 1px; margin: 1px 0; height: 2px;}\
|
||||
QSlider::handle:horizontal { border-width: 1px; border-style: solid; border-color: palette(dark);\
|
||||
width: 10px; margin: -10px 0px; }\
|
||||
QSlider::handle { background-color: palette(button); }\
|
||||
QSlider::handle:hover { background-color: palette(highlight); }"));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __unix__
|
||||
bool GMainWindow::ListenColorSchemeChange() {
|
||||
auto bus = QDBusConnection::sessionBus();
|
||||
if (bus.isConnected()) {
|
||||
const QString dbus_service = QStringLiteral("org.freedesktop.portal.Desktop");
|
||||
const QString dbus_path = QStringLiteral("/org/freedesktop/portal/desktop");
|
||||
const QString dbus_interface = QStringLiteral("org.freedesktop.portal.Settings");
|
||||
const QString dbus_method = QStringLiteral("SettingChanged");
|
||||
QStringList dbus_arguments;
|
||||
dbus_arguments << QStringLiteral("org.freedesktop.appearance")
|
||||
<< QStringLiteral("color-scheme");
|
||||
const QString dbus_signature = QStringLiteral("ssv");
|
||||
|
||||
LOG_INFO(Frontend, "Connected to DBus, listening for OS theme changes");
|
||||
return bus.connect(dbus_service, dbus_path, dbus_interface, dbus_method, dbus_arguments,
|
||||
dbus_signature, this, SLOT(UpdateUITheme()));
|
||||
}
|
||||
LOG_WARNING(Frontend, "Unable to connect to DBus to listen for OS theme changes");
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool GMainWindow::CheckDarkMode() {
|
||||
bool is_dark_mode_auto;
|
||||
#ifdef _WIN32
|
||||
// Dark mode cannot be changed after the app started on Windows
|
||||
is_dark_mode_auto = qgetenv("QT_QPA_PLATFORM").contains("darkmode=2");
|
||||
#else
|
||||
is_dark_mode_auto = UISettings::values.dark_mode_state == DarkModeState::Auto;
|
||||
#endif
|
||||
if (!is_dark_mode_auto) {
|
||||
return UISettings::values.dark_mode_state == DarkModeState::On;
|
||||
} else {
|
||||
const QPalette current_palette(qApp->palette());
|
||||
#ifdef __unix__
|
||||
QProcess process;
|
||||
|
||||
// Using the freedesktop specifications for checking dark mode
|
||||
LOG_DEBUG(Frontend, "Retrieving theme from freedesktop color-scheme...");
|
||||
QStringList gdbus_arguments;
|
||||
gdbus_arguments << QStringLiteral("--dest=org.freedesktop.portal.Desktop")
|
||||
<< QStringLiteral("--object-path /org/freedesktop/portal/desktop")
|
||||
<< QStringLiteral("--method org.freedesktop.portal.Settings.Read")
|
||||
<< QStringLiteral("org.freedesktop.appearance color-scheme");
|
||||
process.start(QStringLiteral("gdbus call --session"), gdbus_arguments);
|
||||
process.waitForFinished(1000);
|
||||
QByteArray dbus_output = process.readAllStandardOutput();
|
||||
|
||||
if (!dbus_output.isEmpty()) {
|
||||
const int systemColorSchema = QString::fromUtf8(dbus_output).trimmed().right(1).toInt();
|
||||
return systemColorSchema == 1;
|
||||
}
|
||||
|
||||
// Reading new theme failed, loading default stylesheet
|
||||
LOG_ERROR(Frontend, "Unable to open style \"{}\", fallback to the default theme",
|
||||
current_theme.toStdString());
|
||||
// Try alternative for Gnome if the previous one failed
|
||||
QStringList gsettings_arguments;
|
||||
gsettings_arguments << QStringLiteral("get")
|
||||
<< QStringLiteral("org.gnome.desktop.interface")
|
||||
<< QStringLiteral("color-scheme");
|
||||
|
||||
current_theme = default_theme;
|
||||
theme_uri = QStringLiteral(":%1/style.qss").arg(default_theme);
|
||||
if (tryLoadStylesheet(theme_uri)) {
|
||||
return;
|
||||
LOG_DEBUG(Frontend, "failed, retrieving theme from gsettings color-scheme...");
|
||||
process.start(QStringLiteral("gsettings"), gsettings_arguments);
|
||||
process.waitForFinished(1000);
|
||||
QByteArray gsettings_output = process.readAllStandardOutput();
|
||||
|
||||
// Try older gtk-theme method if the previous one failed
|
||||
if (gsettings_output.isEmpty()) {
|
||||
LOG_DEBUG(Frontend, "failed, retrieving theme from gtk-theme...");
|
||||
gsettings_arguments.takeLast();
|
||||
gsettings_arguments << QStringLiteral("gtk-theme");
|
||||
|
||||
process.start(QStringLiteral("gsettings"), gsettings_arguments);
|
||||
process.waitForFinished(1000);
|
||||
gsettings_output = process.readAllStandardOutput();
|
||||
}
|
||||
|
||||
// Reading default failed, loading empty stylesheet
|
||||
LOG_ERROR(Frontend, "Unable to set style \"{}\", stylesheet file not found",
|
||||
current_theme.toStdString());
|
||||
|
||||
qApp->setStyleSheet({});
|
||||
setStyleSheet({});
|
||||
// Interpret gsettings value if it succeeded
|
||||
if (!gsettings_output.isEmpty()) {
|
||||
QString systeme_theme = QString::fromUtf8(gsettings_output);
|
||||
LOG_DEBUG(Frontend, "Gsettings output: {}", systeme_theme.toStdString());
|
||||
return systeme_theme.contains(QStringLiteral("dark"), Qt::CaseInsensitive);
|
||||
}
|
||||
LOG_DEBUG(Frontend, "failed, retrieving theme from palette");
|
||||
#endif
|
||||
// Use default method based on palette swap by OS. It is the only method on Windows with
|
||||
// Qt 5. Windows needs QT_QPA_PLATFORM env variable set to windows:darkmode=2 to force
|
||||
// palette change
|
||||
return (current_palette.color(QPalette::WindowText).lightness() >
|
||||
current_palette.color(QPalette::Window).lightness());
|
||||
}
|
||||
}
|
||||
|
||||
bool GMainWindow::tryLoadStylesheet(const QString& theme_path) {
|
||||
QFile theme_file(theme_path);
|
||||
if (theme_file.open(QFile::ReadOnly | QFile::Text)) {
|
||||
LOG_INFO(Frontend, "Loading style in: {}", theme_path.toStdString());
|
||||
QTextStream ts(&theme_file);
|
||||
qApp->setStyleSheet(ts.readAll());
|
||||
setStyleSheet(ts.readAll());
|
||||
return true;
|
||||
void GMainWindow::changeEvent(QEvent* event) {
|
||||
// PaletteChange event appears to only reach so far into the GUI, explicitly asking to
|
||||
// UpdateUITheme is a decent work around
|
||||
if (event->type() == QEvent::PaletteChange ||
|
||||
event->type() == QEvent::ApplicationPaletteChange) {
|
||||
LOG_DEBUG(Frontend,
|
||||
"Window color palette changed by event: {} (QEvent::PaletteChange is: {})",
|
||||
event->type(), QEvent::PaletteChange);
|
||||
const QPalette test_palette(qApp->palette());
|
||||
// Keeping eye on QPalette::Window to avoid looping. QPalette::Text might be useful too
|
||||
const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
|
||||
|
||||
if (last_window_color != window_color) {
|
||||
last_window_color = window_color;
|
||||
|
||||
UpdateUITheme();
|
||||
}
|
||||
}
|
||||
// Opening the file failed
|
||||
return false;
|
||||
QWidget::changeEvent(event);
|
||||
}
|
||||
|
||||
void GMainWindow::LoadTranslation() {
|
||||
|
@ -4935,26 +5176,6 @@ void GMainWindow::SetGamemodeEnabled(bool state) {
|
|||
}
|
||||
#endif
|
||||
|
||||
void GMainWindow::changeEvent(QEvent* event) {
|
||||
#ifdef __unix__
|
||||
// PaletteChange event appears to only reach so far into the GUI, explicitly asking to
|
||||
// UpdateUITheme is a decent work around
|
||||
if (event->type() == QEvent::PaletteChange) {
|
||||
const QPalette test_palette(qApp->palette());
|
||||
const QString& current_theme = UISettings::values.theme;
|
||||
// Keeping eye on QPalette::Window to avoid looping. QPalette::Text might be useful too
|
||||
static QColor last_window_color;
|
||||
const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
|
||||
if (last_window_color != window_color && (current_theme == QStringLiteral("default") ||
|
||||
current_theme == QStringLiteral("colorful"))) {
|
||||
UpdateUITheme();
|
||||
}
|
||||
last_window_color = window_color;
|
||||
}
|
||||
#endif // __unix__
|
||||
QWidget::changeEvent(event);
|
||||
}
|
||||
|
||||
Service::AM::FrontendAppletParameters GMainWindow::ApplicationAppletParameters() {
|
||||
return Service::AM::FrontendAppletParameters{
|
||||
.applet_id = Service::AM::AppletId::Application,
|
||||
|
@ -5081,6 +5302,31 @@ int main(int argc, char* argv[]) {
|
|||
QCoreApplication::setApplicationName(QStringLiteral("suyu"));
|
||||
|
||||
#ifdef _WIN32
|
||||
QByteArray current_qt_qpa = qgetenv("QT_QPA_PLATFORM");
|
||||
// Follow dark mode setting, if the "-platform" launch option is not set.
|
||||
// Otherwise, just follow dark mode for the window decoration (title bar).
|
||||
if (!current_qt_qpa.contains(":darkmode=")) {
|
||||
if (UISettings::values.dark_mode_state == DarkModeState::Auto) {
|
||||
// When setting is Auto, force adapting window decoration and stylesheet palette to use
|
||||
// Windows theme. Default is darkmode:0, which always uses light palette
|
||||
if (current_qt_qpa.isEmpty()) {
|
||||
// Set the value
|
||||
qputenv("QT_QPA_PLATFORM", QByteArray("windows:darkmode=2"));
|
||||
} else {
|
||||
// Concatenate to the existing value
|
||||
qputenv("QT_QPA_PLATFORM", current_qt_qpa + ",darkmode=2");
|
||||
}
|
||||
} else {
|
||||
// When setting is no Auto, adapt window decoration to the palette used
|
||||
if (current_qt_qpa.isEmpty()) {
|
||||
// Set the value
|
||||
qputenv("QT_QPA_PLATFORM", QByteArray("windows:darkmode=1"));
|
||||
} else {
|
||||
// Concatenate to the existing value
|
||||
qputenv("QT_QPA_PLATFORM", current_qt_qpa + ",darkmode=1");
|
||||
}
|
||||
}
|
||||
}
|
||||
// Increases the maximum open file limit to 8192
|
||||
_setmaxstdio(8192);
|
||||
#endif
|
||||
|
|
|
@ -25,9 +25,8 @@
|
|||
#include "suyu/util/controller_navigation.h"
|
||||
|
||||
#ifdef __unix__
|
||||
#include <QSocketNotifier>
|
||||
#include <QVariant>
|
||||
#include <QtDBus/QDBusInterface>
|
||||
#include <QtDBus/QtDBus>
|
||||
#endif
|
||||
|
||||
class QtConfig;
|
||||
|
@ -165,15 +164,9 @@ class GMainWindow : public QMainWindow {
|
|||
CREATE_SHORTCUT_MSGBOX_APPVOLATILE_WARNING,
|
||||
};
|
||||
|
||||
/**
|
||||
* Try to load a stylesheet from its path. If the path starts with ":/", its embedded in the app
|
||||
* @returns true if the text file could be opened as read-only
|
||||
*/
|
||||
bool tryLoadStylesheet(const QString& theme_path);
|
||||
|
||||
public:
|
||||
void filterBarSetChecked(bool state);
|
||||
void UpdateUITheme();
|
||||
static bool CheckDarkMode();
|
||||
explicit GMainWindow(std::unique_ptr<QtConfig> config_, bool has_broken_vulkan);
|
||||
~GMainWindow() override;
|
||||
|
||||
|
@ -265,12 +258,44 @@ private:
|
|||
|
||||
void SetDefaultUIGeometry();
|
||||
void RestoreUIState();
|
||||
/**
|
||||
* Load the icons used by the current theme. Use dark icons if the current mode is dark
|
||||
*/
|
||||
void UpdateIcons(const QString& theme_used);
|
||||
/**
|
||||
* Set the palette used by the stylsheet for the dark/light mode selected, according to the OS
|
||||
*/
|
||||
void UpdateThemePalette();
|
||||
/**
|
||||
* Try to load a stylesheet from its URI.
|
||||
* If the path starts with ":/", its embedded in the app, otherwise its in a local directory
|
||||
* @returns true if the text file could be opened as read-only
|
||||
*/
|
||||
bool TryLoadStylesheet(const QString& theme_uri);
|
||||
/**
|
||||
* Try to load a stylesheet from filesystem path
|
||||
* @returns true if the text file could be opened as read-only
|
||||
*/
|
||||
bool TryLoadStylesheet(const std::filesystem::path& theme_path);
|
||||
/**
|
||||
* Default customizations to the stylesheets
|
||||
*/
|
||||
void SetCustomStylesheet();
|
||||
#ifdef __unix__
|
||||
/**
|
||||
* Create a signal to update the UI theme when the OS color scheme is changed
|
||||
* @returns true if we could connect to dbus
|
||||
*/
|
||||
bool ListenColorSchemeChange();
|
||||
#endif
|
||||
|
||||
void ConnectWidgetEvents();
|
||||
void ConnectMenuEvents();
|
||||
void UpdateMenuState();
|
||||
|
||||
#ifdef __unix__
|
||||
void SetupPrepareForSleep();
|
||||
#endif
|
||||
|
||||
void PreventOSSleep();
|
||||
void AllowOSSleep();
|
||||
|
@ -401,6 +426,7 @@ private slots:
|
|||
void ResetWindowSize720();
|
||||
void ResetWindowSize900();
|
||||
void ResetWindowSize1080();
|
||||
void UpdateUITheme();
|
||||
void OnAlbum();
|
||||
void OnCabinet(Service::NFP::CabinetMode mode);
|
||||
void OnMiiEdit();
|
||||
|
@ -447,7 +473,7 @@ private:
|
|||
void OpenURL(const QUrl& url);
|
||||
void LoadTranslation();
|
||||
void OpenPerGameConfiguration(u64 title_id, const std::string& file_name);
|
||||
bool CheckDarkMode();
|
||||
bool CheckSystemArchiveDecryption();
|
||||
bool CheckFirmwarePresence();
|
||||
void SetFirmwareVersion();
|
||||
void ConfigureFilesystemProvider(const std::string& filepath);
|
||||
|
@ -531,7 +557,8 @@ private:
|
|||
QTimer update_input_timer;
|
||||
|
||||
QString startup_icon_theme;
|
||||
bool os_dark_mode = false;
|
||||
bool alternate_base_modified = false;
|
||||
QColor last_window_color;
|
||||
|
||||
// FS
|
||||
std::shared_ptr<FileSys::VfsFilesystem> vfs;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#ifdef _WIN32
|
||||
#include <cstring>
|
||||
#include <QByteArray>
|
||||
#include <processthreadsapi.h>
|
||||
#include <windows.h>
|
||||
#elif defined(SUYU_UNIX)
|
||||
|
|
|
@ -24,18 +24,13 @@ namespace UISettings {
|
|||
|
||||
const Themes included_themes{{
|
||||
{"Default", ":/default/"},
|
||||
{"Default Colorful", ":/colorful/"},
|
||||
{"Dark", ":/qdarkstyle/"},
|
||||
{"Dark Colorful", ":/colorful_dark/"},
|
||||
{"Default monochrome", ":/monochrome/"},
|
||||
{"Mine Shaft", ":/qdarkstyle/"},
|
||||
{"Mine Shaft monochrome", ":/qdarkstyle_monochrome/"},
|
||||
{"Midnight Blue", ":/qdarkstyle_midnight_blue/"},
|
||||
{"Midnight Blue Colorful", ":/colorful_midnight_blue/"},
|
||||
{"Midnight Blue monochrome", ":/qdarkstyle_midnight_blue_monochrome/"},
|
||||
}};
|
||||
|
||||
bool IsDarkTheme() {
|
||||
return UISettings::values.theme.contains(QStringLiteral("dark")) ||
|
||||
UISettings::values.theme.contains(QStringLiteral("midnight"));
|
||||
}
|
||||
|
||||
Values values = {};
|
||||
|
||||
u32 CalculateWidth(u32 height, Settings::AspectRatio ratio) {
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
using Settings::Category;
|
||||
using Settings::ConfirmStop;
|
||||
using Settings::DarkModeState;
|
||||
using Settings::Setting;
|
||||
using Settings::SwitchableSetting;
|
||||
|
||||
|
@ -35,12 +36,6 @@ extern template class Setting<unsigned long long>;
|
|||
|
||||
namespace UISettings {
|
||||
|
||||
/**
|
||||
* Check if the theme is dark
|
||||
* @returns true if the current theme contains the string "dark" in its name
|
||||
*/
|
||||
bool IsDarkTheme();
|
||||
|
||||
struct ContextualShortcut {
|
||||
std::string keyseq;
|
||||
std::string controller_keyseq;
|
||||
|
@ -54,13 +49,7 @@ struct Shortcut {
|
|||
ContextualShortcut shortcut;
|
||||
};
|
||||
|
||||
static constexpr std::string_view default_theme{
|
||||
#ifdef _WIN32
|
||||
"colorful_dark"
|
||||
#else
|
||||
"colorful"
|
||||
#endif
|
||||
};
|
||||
static constexpr std::string_view default_theme{"default"};
|
||||
|
||||
using Themes = std::array<std::pair<const char*, const char*>, 6>;
|
||||
extern const Themes included_themes;
|
||||
|
@ -156,6 +145,7 @@ struct Values {
|
|||
Setting<std::string> language{linkage, {}, "language", Category::Paths};
|
||||
|
||||
QString theme;
|
||||
DarkModeState dark_mode_state;
|
||||
|
||||
// Shortcut name <Shortcut, context>
|
||||
std::vector<Shortcut> shortcuts;
|
||||
|
@ -273,3 +263,4 @@ Q_DECLARE_METATYPE(Settings::RendererBackend);
|
|||
Q_DECLARE_METATYPE(Settings::ShaderBackend);
|
||||
Q_DECLARE_METATYPE(Settings::AstcRecompression);
|
||||
Q_DECLARE_METATYPE(Settings::AstcDecodeMode);
|
||||
Q_DECLARE_METATYPE(Settings::DarkModeState);
|
||||
|
|