summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.reuse/dep510
-rw-r--r--dist/qt_themes/colorful/icons/48x48/list-add.png (renamed from dist/qt_themes/colorful/icons/48x48/plus.png)bin496 -> 496 bytes
-rw-r--r--dist/qt_themes/colorful/style.qrc2
-rw-r--r--dist/qt_themes/colorful_dark/icons/16x16/refresh.pngbin362 -> 0 bytes
-rw-r--r--dist/qt_themes/colorful_dark/icons/index.theme2
-rw-r--r--dist/qt_themes/colorful_dark/style.qrc2
-rw-r--r--dist/qt_themes/colorful_midnight_blue/icons/16x16/refresh.pngbin362 -> 0 bytes
-rw-r--r--dist/qt_themes/colorful_midnight_blue/style.qrc2
-rw-r--r--dist/qt_themes/default/default.qrc2
-rw-r--r--dist/qt_themes/default/icons/16x16/refresh.pngbin349 -> 0 bytes
-rw-r--r--dist/qt_themes/default/icons/48x48/list-add.png (renamed from dist/qt_themes/default/icons/48x48/plus.png)bin316 -> 316 bytes
-rw-r--r--dist/qt_themes/default_dark/icons/index.theme8
-rw-r--r--dist/qt_themes/default_dark/style.qrc25
-rw-r--r--dist/qt_themes/default_dark/style.qss689
-rw-r--r--dist/qt_themes/qdarkstyle/icons/16x16/refresh.pngbin362 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle/icons/48x48/list-add.png (renamed from dist/qt_themes/qdarkstyle/icons/48x48/plus.png)bin339 -> 339 bytes
-rw-r--r--dist/qt_themes/qdarkstyle/style.qrc2
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.pngbin304 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/refresh.pngbin362 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/view-refresh.pngbin362 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.pngbin3438 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.pngbin1098 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.pngbin15120 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.pngbin542 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.pngbin339 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.pngbin676 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.pngbin725 -> 0 bytes
-rw-r--r--dist/qt_themes/qdarkstyle_midnight_blue/style.qrc19
-rw-r--r--src/yuzu/game_list.cpp2
-rw-r--r--src/yuzu/game_list_p.h2
-rw-r--r--src/yuzu/main.cpp82
-rw-r--r--src/yuzu/main.h5
32 files changed, 819 insertions, 35 deletions
diff --git a/.reuse/dep5 b/.reuse/dep5
index e2ee4f456..5251870fb 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -41,20 +41,18 @@ Files: dist/qt_themes/*/icons/16x16/connected.png
41 dist/qt_themes/*/icons/48x48/sd_card.png 41 dist/qt_themes/*/icons/48x48/sd_card.png
42 dist/qt_themes/*/icons/48x48/star.png 42 dist/qt_themes/*/icons/48x48/star.png
43 dist/qt_themes/*/icons/256x256/plus_folder.png 43 dist/qt_themes/*/icons/256x256/plus_folder.png
44 dist/qt_themes/colorful/icons/48x48/plus.png 44 dist/qt_themes/colorful/icons/48x48/list-add.png
45 dist/qt_themes/default/icons/16x16/checked.png 45 dist/qt_themes/default/icons/16x16/checked.png
46 dist/qt_themes/default/icons/16x16/failed.png 46 dist/qt_themes/default/icons/16x16/failed.png
47Copyright: https://icons8.com 47Copyright: https://icons8.com
48License: CC-BY-ND-3.0 48License: CC-BY-ND-3.0
49 49
50Files: dist/qt_themes/*/icons/16x16/refresh.png 50Files: dist/qt_themes/*/icons/16x16/view-refresh.png
51 dist/qt_themes/*/icons/16x16/view-refresh.png
52Copyright: Google, Inc. 51Copyright: Google, Inc.
53License: Apache-2.0 52License: Apache-2.0
54 53
55Files: dist/qt_themes/default/icons/48x48/plus.png 54Files: dist/qt_themes/default/icons/48x48/list-add.png
56 dist/qt_themes/qdarkstyle/icons/48x48/plus.png 55 dist/qt_themes/qdarkstyle/icons/48x48/list-add.png
57 dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
58Copyright: BreadFish64 56Copyright: BreadFish64
59License: CC0-1.0 57License: CC0-1.0
60 58
diff --git a/dist/qt_themes/colorful/icons/48x48/plus.png b/dist/qt_themes/colorful/icons/48x48/list-add.png
index bc2c47c91..bc2c47c91 100644
--- a/dist/qt_themes/colorful/icons/48x48/plus.png
+++ b/dist/qt_themes/colorful/icons/48x48/list-add.png
Binary files differ
diff --git a/dist/qt_themes/colorful/style.qrc b/dist/qt_themes/colorful/style.qrc
index 4b3f28d89..507e0e58b 100644
--- a/dist/qt_themes/colorful/style.qrc
+++ b/dist/qt_themes/colorful/style.qrc
@@ -13,7 +13,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
13 <file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file> 13 <file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file>
14 <file alias="48x48/chip.png">icons/48x48/chip.png</file> 14 <file alias="48x48/chip.png">icons/48x48/chip.png</file>
15 <file alias="48x48/folder.png">icons/48x48/folder.png</file> 15 <file alias="48x48/folder.png">icons/48x48/folder.png</file>
16 <file alias="48x48/plus.png">icons/48x48/plus.png</file> 16 <file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
17 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file> 17 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
18 <file alias="48x48/star.png">icons/48x48/star.png</file> 18 <file alias="48x48/star.png">icons/48x48/star.png</file>
19 <file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file> 19 <file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
diff --git a/dist/qt_themes/colorful_dark/icons/16x16/refresh.png b/dist/qt_themes/colorful_dark/icons/16x16/refresh.png
deleted file mode 100644
index d4afd76f9..000000000
--- a/dist/qt_themes/colorful_dark/icons/16x16/refresh.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/colorful_dark/icons/index.theme b/dist/qt_themes/colorful_dark/icons/index.theme
index 19dc0369a..b37a06df7 100644
--- a/dist/qt_themes/colorful_dark/icons/index.theme
+++ b/dist/qt_themes/colorful_dark/icons/index.theme
@@ -3,6 +3,6 @@ Name=colorful_dark
3Comment=Colorful theme (Dark style) 3Comment=Colorful theme (Dark style)
4Inherits=colorful 4Inherits=colorful
5Directories=16x16 5Directories=16x16
6 6
7[16x16] 7[16x16]
8Size=16 8Size=16
diff --git a/dist/qt_themes/colorful_dark/style.qrc b/dist/qt_themes/colorful_dark/style.qrc
index 50e78c37b..9853fd438 100644
--- a/dist/qt_themes/colorful_dark/style.qrc
+++ b/dist/qt_themes/colorful_dark/style.qrc
@@ -15,7 +15,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
15 <file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file> 15 <file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file>
16 <file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file> 16 <file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file>
17 <file alias="48x48/no_avatar.png">../qdarkstyle/icons/48x48/no_avatar.png</file> 17 <file alias="48x48/no_avatar.png">../qdarkstyle/icons/48x48/no_avatar.png</file>
18 <file alias="48x48/plus.png">../colorful/icons/48x48/plus.png</file> 18 <file alias="48x48/list-add.png">../colorful/icons/48x48/list-add.png</file>
19 <file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file> 19 <file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file>
20 <file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file> 20 <file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file>
21 </qresource> 21 </qresource>
diff --git a/dist/qt_themes/colorful_midnight_blue/icons/16x16/refresh.png b/dist/qt_themes/colorful_midnight_blue/icons/16x16/refresh.png
deleted file mode 100644
index d4afd76f9..000000000
--- a/dist/qt_themes/colorful_midnight_blue/icons/16x16/refresh.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/colorful_midnight_blue/style.qrc b/dist/qt_themes/colorful_midnight_blue/style.qrc
index ac8cb0d49..1081d281d 100644
--- a/dist/qt_themes/colorful_midnight_blue/style.qrc
+++ b/dist/qt_themes/colorful_midnight_blue/style.qrc
@@ -11,7 +11,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
11 <file alias="48x48/bad_folder.png">../colorful/icons/48x48/bad_folder.png</file> 11 <file alias="48x48/bad_folder.png">../colorful/icons/48x48/bad_folder.png</file>
12 <file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file> 12 <file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file>
13 <file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file> 13 <file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file>
14 <file alias="48x48/plus.png">../colorful/icons/48x48/plus.png</file> 14 <file alias="48x48/list-add.png">../colorful/icons/48x48/list-add.png</file>
15 <file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file> 15 <file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file>
16 <file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file> 16 <file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file>
17 </qresource> 17 </qresource>
diff --git a/dist/qt_themes/default/default.qrc b/dist/qt_themes/default/default.qrc
index ef080c221..a07f2a9c1 100644
--- a/dist/qt_themes/default/default.qrc
+++ b/dist/qt_themes/default/default.qrc
@@ -17,7 +17,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
17 <file alias="48x48/chip.png">icons/48x48/chip.png</file> 17 <file alias="48x48/chip.png">icons/48x48/chip.png</file>
18 <file alias="48x48/folder.png">icons/48x48/folder.png</file> 18 <file alias="48x48/folder.png">icons/48x48/folder.png</file>
19 <file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file> 19 <file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file>
20 <file alias="48x48/plus.png">icons/48x48/plus.png</file> 20 <file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
21 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file> 21 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
22 <file alias="48x48/star.png">icons/48x48/star.png</file> 22 <file alias="48x48/star.png">icons/48x48/star.png</file>
23 <file alias="256x256/yuzu.png">icons/256x256/yuzu.png</file> 23 <file alias="256x256/yuzu.png">icons/256x256/yuzu.png</file>
diff --git a/dist/qt_themes/default/icons/16x16/refresh.png b/dist/qt_themes/default/icons/16x16/refresh.png
deleted file mode 100644
index 69f9474ac..000000000
--- a/dist/qt_themes/default/icons/16x16/refresh.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/default/icons/48x48/plus.png b/dist/qt_themes/default/icons/48x48/list-add.png
index dbc74687b..dbc74687b 100644
--- a/dist/qt_themes/default/icons/48x48/plus.png
+++ b/dist/qt_themes/default/icons/48x48/list-add.png
Binary files differ
diff --git a/dist/qt_themes/default_dark/icons/index.theme b/dist/qt_themes/default_dark/icons/index.theme
new file mode 100644
index 000000000..60a072d1d
--- /dev/null
+++ b/dist/qt_themes/default_dark/icons/index.theme
@@ -0,0 +1,8 @@
1[Icon Theme]
2Name=default_dark
3Comment=Colorful theme (Dark style)
4Inherits=colorful
5Directories=16x16
6
7[16x16]
8Size=16
diff --git a/dist/qt_themes/default_dark/style.qrc b/dist/qt_themes/default_dark/style.qrc
new file mode 100644
index 000000000..7de4737c2
--- /dev/null
+++ b/dist/qt_themes/default_dark/style.qrc
@@ -0,0 +1,25 @@
1<!--
2SPDX-FileCopyrightText: 2022 yuzu Emulator Project
3SPDX-License-Identifier: GPL-2.0-or-later
4-->
5<RCC>
6 <qresource prefix="icons/default_dark">
7 <file alias="16x16/connected.png">../colorful/icons/16x16/connected.png</file>
8 <file alias="16x16/connected_notification.png">../colorful/icons/16x16/connected_notification.png</file>
9 <file alias="16x16/disconnected.png">../colorful/icons/16x16/disconnected.png</file>
10 <file alias="index.theme">icons/index.theme</file>
11 <file alias="16x16/lock.png">../colorful_dark/icons/16x16/lock.png</file>
12 <file alias="16x16/view-refresh.png">../colorful_dark/icons/16x16/view-refresh.png</file>
13 <file alias="48x48/bad_folder.png">../colorful/icons/48x48/bad_folder.png</file>
14 <file alias="48x48/chip.png">../colorful/icons/48x48/chip.png</file>
15 <file alias="48x48/folder.png">../colorful/icons/48x48/folder.png</file>
16 <file alias="48x48/no_avatar.png">../qdarkstyle/icons/48x48/no_avatar.png</file>
17 <file alias="48x48/list-add.png">../colorful/icons/48x48/list-add.png</file>
18 <file alias="48x48/sd_card.png">../colorful/icons/48x48/sd_card.png</file>
19 <file alias="256x256/plus_folder.png">../colorful/icons/256x256/plus_folder.png</file>
20 </qresource>
21
22 <qresource prefix="default_dark">
23 <file>style.qss</file>
24 </qresource>
25</RCC>
diff --git a/dist/qt_themes/default_dark/style.qss b/dist/qt_themes/default_dark/style.qss
new file mode 100644
index 000000000..356996357
--- /dev/null
+++ b/dist/qt_themes/default_dark/style.qss
@@ -0,0 +1,689 @@
1/*
2* SPDX-FileCopyrightText: 2018 yuzu Emulator Project
3* SPDX-License-Identifier: GPL-2.0-or-later
4*/
5QAbstractSpinBox {
6 min-height: 19px;
7}
8
9QPushButton#TogglableStatusBarButton {
10 color: #959595;
11 border: 1px solid transparent;
12 background-color: transparent;
13 padding: 0px 3px 0px 3px;
14 text-align: center;
15}
16
17/*
18QPushButton#TogglableStatusBarButton:checked {
19 color: #000000;
20}
21*/
22
23QPushButton#TogglableStatusBarButton:hover {
24 border: 1px solid #76797C;
25}
26
27QPushButton#RendererStatusBarButton {
28 color: #656565;
29 border: 1px solid transparent;
30 background-color: transparent;
31 padding: 0px 3px 0px 3px;
32 text-align: center;
33}
34
35QPushButton#RendererStatusBarButton:hover {
36 border: 1px solid #76797C;
37}
38
39QPushButton#RendererStatusBarButton:checked {
40 color: #e85c00;
41}
42
43QPushButton#RendererStatusBarButton:!checked {
44 color: #0066ff;
45}
46
47QPushButton#GPUStatusBarButton {
48 color: #656565;
49 border: 1px solid transparent;
50 background-color: transparent;
51 padding: 0px 3px 0px 3px;
52 text-align: center;
53}
54
55QPushButton#GPUStatusBarButton:hover {
56 border: 1px solid #76797C;
57}
58
59QPushButton#GPUStatusBarButton:checked {
60 color: #b06020;
61}
62
63QPushButton#GPUStatusBarButton:!checked {
64 color: #109010;
65}
66
67QPushButton#DockingStatusBarButton {
68 min-width: 0px;
69 /*color: #000000;*/
70 border: 1px solid transparent;
71 background-color: transparent;
72 padding: 0px 3px 0px 3px;
73 text-align: center;
74}
75
76QPushButton#DockingStatusBarButton:hover {
77 border: 1px solid #76797C;
78}
79
80QPushButton#buttonRefreshDevices {
81 min-width: 21px;
82 min-height: 21px;
83 max-width: 21px;
84 max-height: 21px;
85}
86
87QWidget#bottomPerGameInput,
88QWidget#topControllerApplet,
89QWidget#bottomControllerApplet,
90QGroupBox#groupPlayer1Connected:checked,
91QGroupBox#groupPlayer2Connected:checked,
92QGroupBox#groupPlayer3Connected:checked,
93QGroupBox#groupPlayer4Connected:checked,
94QGroupBox#groupPlayer5Connected:checked,
95QGroupBox#groupPlayer6Connected:checked,
96QGroupBox#groupPlayer7Connected:checked,
97QGroupBox#groupPlayer8Connected:checked {
98 background-color: #f5f5f5;
99}
100
101QWidget#topControllerApplet {
102 border-bottom: 1px solid #828790
103}
104
105QWidget#bottomPerGameInput,
106QWidget#bottomControllerApplet {
107 border-top: 1px solid #828790
108}
109
110QWidget#topPerGameInput,
111QWidget#middleControllerApplet {
112 background-color: #fff;
113}
114
115QWidget#topPerGameInput QComboBox,
116QWidget#middleControllerApplet QComboBox {
117 width: 120px;
118}
119
120QWidget#connectedControllers {
121 background: transparent;
122}
123
124QWidget#playersSupported,
125QWidget#controllersSupported,
126QWidget#controllerSupported1,
127QWidget#controllerSupported2,
128QWidget#controllerSupported3,
129QWidget#controllerSupported4,
130QWidget#controllerSupported5,
131QWidget#controllerSupported6 {
132 border: none;
133 background: transparent;
134}
135
136QGroupBox#groupPlayer1Connected,
137QGroupBox#groupPlayer2Connected,
138QGroupBox#groupPlayer3Connected,
139QGroupBox#groupPlayer4Connected,
140QGroupBox#groupPlayer5Connected,
141QGroupBox#groupPlayer6Connected,
142QGroupBox#groupPlayer7Connected,
143QGroupBox#groupPlayer8Connected {
144 border: 1px solid #828790;
145 border-radius: 3px;
146 padding: 0px;
147 min-height: 98px;
148 max-height: 98px;
149}
150
151QGroupBox#groupPlayer1Connected:unchecked,
152QGroupBox#groupPlayer2Connected:unchecked,
153QGroupBox#groupPlayer3Connected:unchecked,
154QGroupBox#groupPlayer4Connected:unchecked,
155QGroupBox#groupPlayer5Connected:unchecked,
156QGroupBox#groupPlayer6Connected:unchecked,
157QGroupBox#groupPlayer7Connected:unchecked,
158QGroupBox#groupPlayer8Connected:unchecked {
159 border: 1px solid #d9d9d9;
160}
161
162QGroupBox#groupPlayer1Connected::title,
163QGroupBox#groupPlayer2Connected::title,
164QGroupBox#groupPlayer3Connected::title,
165QGroupBox#groupPlayer4Connected::title,
166QGroupBox#groupPlayer5Connected::title,
167QGroupBox#groupPlayer6Connected::title,
168QGroupBox#groupPlayer7Connected::title,
169QGroupBox#groupPlayer8Connected::title {
170 subcontrol-origin: margin;
171 subcontrol-position: top left;
172 padding-left: 0px;
173 padding-right: 0px;
174 padding-top: 1px;
175 margin-left: 0px;
176 margin-right: -4px;
177 margin-bottom: 4px;
178}
179
180QCheckBox#checkboxPlayer1Connected,
181QCheckBox#checkboxPlayer2Connected,
182QCheckBox#checkboxPlayer3Connected,
183QCheckBox#checkboxPlayer4Connected,
184QCheckBox#checkboxPlayer5Connected,
185QCheckBox#checkboxPlayer6Connected,
186QCheckBox#checkboxPlayer7Connected,
187QCheckBox#checkboxPlayer8Connected {
188 spacing: 0px;
189}
190
191QWidget#Player1LEDs QCheckBox,
192QWidget#Player2LEDs QCheckBox,
193QWidget#Player3LEDs QCheckBox,
194QWidget#Player4LEDs QCheckBox,
195QWidget#Player5LEDs QCheckBox,
196QWidget#Player6LEDs QCheckBox,
197QWidget#Player7LEDs QCheckBox,
198QWidget#Player8LEDs QCheckBox {
199 spacing: 0px;
200}
201
202QWidget#Player1LEDs QCheckBox::indicator,
203QWidget#Player2LEDs QCheckBox::indicator,
204QWidget#Player3LEDs QCheckBox::indicator,
205QWidget#Player4LEDs QCheckBox::indicator,
206QWidget#Player5LEDs QCheckBox::indicator,
207QWidget#Player6LEDs QCheckBox::indicator,
208QWidget#Player7LEDs QCheckBox::indicator,
209QWidget#Player8LEDs QCheckBox::indicator {
210 width: 6px;
211 height: 6px;
212 margin-left: 0px;
213}
214
215QWidget#bottomPerGameInput QCheckBox#checkboxPlayer1Connected::indicator,
216QWidget#bottomPerGameInput QCheckBox#checkboxPlayer2Connected::indicator,
217QWidget#bottomPerGameInput QCheckBox#checkboxPlayer3Connected::indicator,
218QWidget#bottomPerGameInput QCheckBox#checkboxPlayer4Connected::indicator,
219QWidget#bottomPerGameInput QCheckBox#checkboxPlayer5Connected::indicator,
220QWidget#bottomPerGameInput QCheckBox#checkboxPlayer6Connected::indicator,
221QWidget#bottomPerGameInput QCheckBox#checkboxPlayer7Connected::indicator,
222QWidget#bottomPerGameInput QCheckBox#checkboxPlayer8Connected::indicator {
223 width: 12px;
224 height: 12px;
225}
226
227QCheckBox#checkboxPlayer1Connected::indicator,
228QCheckBox#checkboxPlayer2Connected::indicator,
229QCheckBox#checkboxPlayer3Connected::indicator,
230QCheckBox#checkboxPlayer4Connected::indicator,
231QCheckBox#checkboxPlayer5Connected::indicator,
232QCheckBox#checkboxPlayer6Connected::indicator,
233QCheckBox#checkboxPlayer7Connected::indicator,
234QCheckBox#checkboxPlayer8Connected::indicator {
235 width: 14px;
236 height: 14px;
237}
238
239QGroupBox#groupPlayer1Connected::indicator,
240QGroupBox#groupPlayer2Connected::indicator,
241QGroupBox#groupPlayer3Connected::indicator,
242QGroupBox#groupPlayer4Connected::indicator,
243QGroupBox#groupPlayer5Connected::indicator,
244QGroupBox#groupPlayer6Connected::indicator,
245QGroupBox#groupPlayer7Connected::indicator,
246QGroupBox#groupPlayer8Connected::indicator {
247 width: 16px;
248 height: 16px;
249}
250
251QWidget#Player1LEDs QCheckBox::indicator:checked,
252QWidget#Player2LEDs QCheckBox::indicator:checked,
253QWidget#Player3LEDs QCheckBox::indicator:checked,
254QWidget#Player4LEDs QCheckBox::indicator:checked,
255QWidget#Player5LEDs QCheckBox::indicator:checked,
256QWidget#Player6LEDs QCheckBox::indicator:checked,
257QWidget#Player7LEDs QCheckBox::indicator:checked,
258QWidget#Player8LEDs QCheckBox::indicator:checked,
259QGroupBox#groupPlayer1Connected::indicator:checked,
260QGroupBox#groupPlayer2Connected::indicator:checked,
261QGroupBox#groupPlayer3Connected::indicator:checked,
262QGroupBox#groupPlayer4Connected::indicator:checked,
263QGroupBox#groupPlayer5Connected::indicator:checked,
264QGroupBox#groupPlayer6Connected::indicator:checked,
265QGroupBox#groupPlayer7Connected::indicator:checked,
266QGroupBox#groupPlayer8Connected::indicator:checked,
267QCheckBox#checkboxPlayer1Connected::indicator:checked,
268QCheckBox#checkboxPlayer2Connected::indicator:checked,
269QCheckBox#checkboxPlayer3Connected::indicator:checked,
270QCheckBox#checkboxPlayer4Connected::indicator:checked,
271QCheckBox#checkboxPlayer5Connected::indicator:checked,
272QCheckBox#checkboxPlayer6Connected::indicator:checked,
273QCheckBox#checkboxPlayer7Connected::indicator:checked,
274QCheckBox#checkboxPlayer8Connected::indicator:checked,
275QGroupBox#groupConnectedController::indicator:checked {
276 border-radius: 2px;
277 border: 1px solid #929192;
278 background: #39ff14;
279 image: none;
280}
281
282QWidget#Player1LEDs QCheckBox::indicator:unchecked,
283QWidget#Player2LEDs QCheckBox::indicator:unchecked,
284QWidget#Player3LEDs QCheckBox::indicator:unchecked,
285QWidget#Player4LEDs QCheckBox::indicator:unchecked,
286QWidget#Player5LEDs QCheckBox::indicator:unchecked,
287QWidget#Player6LEDs QCheckBox::indicator:unchecked,
288QWidget#Player7LEDs QCheckBox::indicator:unchecked,
289QWidget#Player8LEDs QCheckBox::indicator:unchecked,
290QGroupBox#groupPlayer1Connected::indicator:unchecked,
291QGroupBox#groupPlayer2Connected::indicator:unchecked,
292QGroupBox#groupPlayer3Connected::indicator:unchecked,
293QGroupBox#groupPlayer4Connected::indicator:unchecked,
294QGroupBox#groupPlayer5Connected::indicator:unchecked,
295QGroupBox#groupPlayer6Connected::indicator:unchecked,
296QGroupBox#groupPlayer7Connected::indicator:unchecked,
297QGroupBox#groupPlayer8Connected::indicator:unchecked,
298QCheckBox#checkboxPlayer1Connected::indicator:unchecked,
299QCheckBox#checkboxPlayer2Connected::indicator:unchecked,
300QCheckBox#checkboxPlayer3Connected::indicator:unchecked,
301QCheckBox#checkboxPlayer4Connected::indicator:unchecked,
302QCheckBox#checkboxPlayer5Connected::indicator:unchecked,
303QCheckBox#checkboxPlayer6Connected::indicator:unchecked,
304QCheckBox#checkboxPlayer7Connected::indicator:unchecked,
305QCheckBox#checkboxPlayer8Connected::indicator:unchecked,
306QGroupBox#groupConnectedController::indicator:unchecked {
307 border-radius: 2px;
308 border: 1px solid #929192;
309 background: transparent;
310 image: none;
311}
312
313QWidget#controllerPlayer1,
314QWidget#controllerPlayer2,
315QWidget#controllerPlayer3,
316QWidget#controllerPlayer4,
317QWidget#controllerPlayer5,
318QWidget#controllerPlayer6,
319QWidget#controllerPlayer7,
320QWidget#controllerPlayer8 {
321 background: transparent;
322}
323
324QDialog#QtSoftwareKeyboardDialog,
325QStackedWidget#topOSK {
326 background: rgba(51, 51, 51, .9);
327}
328
329
330QDialog#OverlayDialog,
331QStackedWidget#stackedDialog {
332 background: rgba(51, 51, 51, .7);
333}
334
335QWidget#boxOSK,
336QWidget#lineOSK,
337QWidget#richDialog,
338QWidget#lineDialog {
339 background: transparent;
340}
341
342QStackedWidget#bottomOSK,
343QWidget#contentDialog,
344QWidget#contentRichDialog {
345 background: rgba(240, 240, 240, 1);
346}
347
348QWidget#contentDialog,
349QWidget#contentRichDialog {
350 margin: 5px;
351 border-radius: 6px;
352}
353
354QWidget#buttonsDialog,
355QWidget#buttonsRichDialog {
356 margin: 5px;
357 border-top: 2px solid rgba(44, 44, 44, 1);
358}
359
360QWidget#legendOSKnum {
361 border-top: 1px solid rgba(44, 44, 44, 1);
362}
363
364QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical {
365 background: #cdcdcd;
366 width: 15px;
367 margin: 15px 3px 15px 3px;
368 border: 1px transparent;
369 border-radius: 4px;
370}
371
372QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal {
373 background: #cdcdcd;
374 height: 15px;
375 margin: 3px 15px 3px 15px;
376 border: 1px transparent;
377 border-radius: 4px;
378}
379
380QStackedWidget#stackedDialog QTextBrowser QScrollBar::handle {
381 background: #fff;
382 border-radius: 4px;
383 min-height: 5px;
384 min-width: 5px;
385}
386
387QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line,
388QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line,
389QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-page,
390QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-page {
391 background: none;
392}
393
394QWidget#inputOSK {
395 border-bottom: 3px solid rgba(255, 255, 255, .9);
396}
397
398QWidget#inputOSK QLineEdit {
399 background: transparent;
400 border: none;
401 color: #ccc;
402}
403
404QWidget#inputBoxOSK {
405 border: 2px solid rgba(255, 255, 255, .9);
406}
407
408QWidget#inputBoxOSK QTextEdit {
409 background: transparent;
410 border: none;
411 color: #ccc;
412}
413
414QWidget#richDialog QTextBrowser {
415 background: transparent;
416 border: none;
417 padding: 35px 65px;
418}
419
420
421QWidget#lineOSK QLabel#label_header {
422 color: #f0f0f0;
423}
424
425QWidget#lineOSK QLabel#label_sub,
426QWidget#lineOSK QLabel#label_characters,
427QWidget#boxOSK QLabel#label_characters_box {
428 color: #ccc;
429}
430
431QWidget#contentDialog QLabel#label_title,
432QWidget#contentRichDialog QLabel#label_title_rich {
433 color: #888;
434}
435
436QWidget#contentDialog QLabel#label_dialog {
437 padding: 20px 65px;
438}
439
440QWidget#contentDialog QLabel#label_title,
441QWidget#contentRichDialog QLabel#label_title_rich {
442 padding: 0px 65px;
443}
444
445QDialog#OverlayDialog QPushButton {
446 color: rgba(49, 79, 239, 1);
447 background: transparent;
448 border: none;
449 padding: 0px;
450 min-width: 0px;
451}
452
453QDialog#OverlayDialog QPushButton:focus,
454QDialog#OverlayDialog QPushButton:hover {
455 color: rgba(49, 79, 239, 1);
456 background: rgba(255, 255, 255, 1);
457 border: 5px solid rgba(148, 250, 202, 1);
458 border-radius: 6px;
459 outline: none;
460}
461
462QDialog#OverlayDialog QPushButton:pressed {
463 color: rgba(240, 240, 240, 1);
464 background: rgba(150, 150, 150, 1);
465 border: 5px solid rgba(148, 250, 202, 1);
466 border-radius: 6px;
467 outline: none;
468}
469
470QDialog#QtSoftwareKeyboardDialog QPushButton {
471 background: rgba(232, 232, 232, 1);
472 border: 2px solid rgba(240, 240, 240, 1);
473}
474
475QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift,
476QDialog#QtSoftwareKeyboardDialog QPushButton#button_return,
477QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
478QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift,
479QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift,
480QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
481 background: rgba(218, 218, 218, 1);
482 border: 2px solid rgba(240, 240, 240, 1);
483}
484
485QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
486QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
487QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
488 color: rgba(240, 240, 240, 1);
489 background: rgba(44, 44, 44, 1);
490 border: 2px solid rgba(240, 240, 240, 1);
491}
492
493QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
494QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
495QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
496 color: rgba(240, 240, 240, 1);
497 background: rgba(49, 79, 239, 1);
498 border: 2px solid rgba(240, 240, 240, 1);
499}
500
501QDialog#QtSoftwareKeyboardDialog QPushButton:focus,
502QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus,
503QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus,
504QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus,
505QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus,
506QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus,
507QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus,
508QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus,
509QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus,
510QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus,
511QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus,
512QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus,
513QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus,
514
515QDialog#QtSoftwareKeyboardDialog QPushButton:hover,
516QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover,
517QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover,
518QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover,
519QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover,
520QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover,
521QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover,
522QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover,
523QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover,
524QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover,
525QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover,
526QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover,
527QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover {
528 color: rgba(0, 0, 0, 1);
529 background: rgba(255, 255, 255, 1);
530 border: 5px solid rgba(148, 250, 202, 1);
531 border-radius: 6px;
532 outline: none;
533}
534
535QDialog#QtSoftwareKeyboardDialog QPushButton:pressed,
536QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed,
537QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed,
538QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed,
539QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed,
540QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed,
541QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed,
542QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed,
543QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed,
544QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed,
545QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed,
546QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed,
547QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed {
548 color: rgba(240, 240, 240, 1);
549 background: rgba(150, 150, 150, 1);
550 border: 5px solid rgba(148, 250, 202, 1);
551 border-radius: 6px;
552}
553
554QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
555QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
556QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
557 image: url(:/overlay/osk_button_B.png);
558 image-position: right;
559 qproperty-icon: url(:/overlay/osk_button_backspace.png);
560 qproperty-iconSize: 36px;
561}
562
563QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
564QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
565 image: url(:/overlay/osk_button_Y.png);
566 image-position: right;
567}
568
569QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
570QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
571QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
572 image: url(:/overlay/osk_button_plus.png);
573 image-position: right;
574}
575
576QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift {
577 image: url(:/overlay/osk_button_shift_lock_off.png);
578 image-position: left;
579 qproperty-icon: url(:/overlay/osk_button_shift.png);
580 qproperty-iconSize: 36px;
581}
582
583QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift {
584 image: url(:/overlay/osk_button_shift_lock_off.png);
585 image-position: left;
586 qproperty-icon: url(:/overlay/osk_button_shift_on.png);
587 qproperty-iconSize: 36px;
588}
589
590QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket,
591QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket,
592QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis,
593QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis {
594 padding-bottom: 7px;
595}
596
597QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel {
598 background: transparent;
599 color: #ccc;
600}
601
602QDialog#QtSoftwareKeyboardDialog QWidget#button_L,
603QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift,
604QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num {
605 image: url(:/overlay/button_L.png);
606}
607
608QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left,
609QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift,
610QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num {
611 image: url(:/overlay/arrow_left.png);
612}
613
614QDialog#QtSoftwareKeyboardDialog QWidget#button_R,
615QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift,
616QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num {
617 image: url(:/overlay/button_R.png);
618}
619
620QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right,
621QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift,
622QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num {
623 image: url(:/overlay/arrow_right.png);
624}
625
626QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick,
627QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift {
628 image: url(:/overlay/button_press_stick.png);
629}
630
631QDialog#QtSoftwareKeyboardDialog QWidget#button_X,
632QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift,
633QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num {
634 image: url(:/overlay/button_X.png);
635}
636
637QDialog#QtSoftwareKeyboardDialog QWidget#button_A,
638QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift,
639QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num {
640 image: url(:/overlay/button_A.png);
641}
642
643QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
644QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
645QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled,
646QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
647QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
648QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled,
649QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled,
650QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
651QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled,
652QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
653 color: rgba(164, 164, 164, 1);
654 background-color: rgba(218, 218, 218, 1);
655}
656
657QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled,
658QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled,
659QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled,
660QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled,
661QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled,
662QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled,
663QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled,
664QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled,
665QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled,
666QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled,
667QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled,
668QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled,
669QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled,
670QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled {
671 color: rgba(164, 164, 164, 1);
672}
673
674QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
675QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
676QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled {
677 image: url(:/overlay/osk_button_plus_disabled.png);
678}
679
680QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
681QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
682QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
683 image: url(:/overlay/osk_button_B_disabled.png);
684}
685
686QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
687QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled {
688 image: url(:/overlay/osk_button_Y_disabled.png);
689}
diff --git a/dist/qt_themes/qdarkstyle/icons/16x16/refresh.png b/dist/qt_themes/qdarkstyle/icons/16x16/refresh.png
deleted file mode 100644
index d4afd76f9..000000000
--- a/dist/qt_themes/qdarkstyle/icons/16x16/refresh.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/plus.png b/dist/qt_themes/qdarkstyle/icons/48x48/list-add.png
index 16cc8b4f4..16cc8b4f4 100644
--- a/dist/qt_themes/qdarkstyle/icons/48x48/plus.png
+++ b/dist/qt_themes/qdarkstyle/icons/48x48/list-add.png
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle/style.qrc b/dist/qt_themes/qdarkstyle/style.qrc
index f770e09fd..a89fb26c6 100644
--- a/dist/qt_themes/qdarkstyle/style.qrc
+++ b/dist/qt_themes/qdarkstyle/style.qrc
@@ -10,7 +10,7 @@
10 <file alias="48x48/chip.png">icons/48x48/chip.png</file> 10 <file alias="48x48/chip.png">icons/48x48/chip.png</file>
11 <file alias="48x48/folder.png">icons/48x48/folder.png</file> 11 <file alias="48x48/folder.png">icons/48x48/folder.png</file>
12 <file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file> 12 <file alias="48x48/no_avatar.png">icons/48x48/no_avatar.png</file>
13 <file alias="48x48/plus.png">icons/48x48/plus.png</file> 13 <file alias="48x48/list-add.png">icons/48x48/list-add.png</file>
14 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file> 14 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
15 <file alias="48x48/star.png">icons/48x48/star.png</file> 15 <file alias="48x48/star.png">icons/48x48/star.png</file>
16 <file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file> 16 <file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png
deleted file mode 100644
index c750a39e8..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/refresh.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/refresh.png
deleted file mode 100644
index d4afd76f9..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/refresh.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/view-refresh.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/view-refresh.png
deleted file mode 100644
index d4afd76f9..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/view-refresh.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png
deleted file mode 100644
index 303f9a321..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png
deleted file mode 100644
index 4a9709623..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png
deleted file mode 100644
index 973fabd05..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png
deleted file mode 100644
index 0f1e987d6..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
deleted file mode 100644
index 16cc8b4f4..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png
deleted file mode 100644
index 0291c6542..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png
deleted file mode 100644
index 90d423a1d..000000000
--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png
+++ /dev/null
Binary files differ
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc b/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc
index 142dd3288..dc3d7fecb 100644
--- a/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc
+++ b/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc
@@ -1,15 +1,16 @@
1<RCC> 1<RCC>
2 <qresource prefix="icons/qdarkstyle_midnight_blue"> 2 <qresource prefix="icons/qdarkstyle_midnight_blue">
3 <file alias="index.theme">icons/index.theme</file> 3 <file alias="index.theme">icons/index.theme</file>
4 <file alias="16x16/lock.png">icons/16x16/lock.png</file> 4 <file alias="16x16/lock.png">../qdarkstyle/icons/16x16/lock.png</file>
5 <file alias="16x16/view-refresh.png">icons/16x16/view-refresh.png</file> 5 <file alias="16x16/view-refresh.png">../qdarkstyle/icons/16x16/view-refresh.png</file>
6 <file alias="48x48/bad_folder.png">icons/48x48/bad_folder.png</file> 6 <file alias="48x48/bad_folder.png">../qdarkstyle/icons/48x48/bad_folder.png</file>
7 <file alias="48x48/chip.png">icons/48x48/chip.png</file> 7 <file alias="48x48/chip.png">../qdarkstyle/icons/48x48/chip.png</file>
8 <file alias="48x48/folder.png">icons/48x48/folder.png</file> 8 <file alias="48x48/folder.png">../qdarkstyle/icons/48x48/folder.png</file>
9 <file alias="48x48/plus.png">icons/48x48/plus.png</file> 9 <file alias="48x48/no_avatar.png">../qdarkstyle/icons/48x48/no_avatar.png</file>
10 <file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file> 10 <file alias="48x48/list-add.png">../qdarkstyle/icons/48x48/list-add.png</file>
11 <file alias="48x48/star.png">icons/48x48/star.png</file> 11 <file alias="48x48/sd_card.png">../qdarkstyle/icons/48x48/sd_card.png</file>
12 <file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file> 12 <file alias="48x48/star.png">../qdarkstyle/icons/48x48/star.png</file>
13 <file alias="256x256/plus_folder.png">../qdarkstyle/icons/256x256/plus_folder.png</file>
13 </qresource> 14 </qresource>
14 <qresource prefix="qss_icons"> 15 <qresource prefix="qss_icons">
15 <file>rc/arrow_down.png</file> 16 <file>rc/arrow_down.png</file>
diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp
index 041e6ac11..c4b1f65bd 100644
--- a/src/yuzu/game_list.cpp
+++ b/src/yuzu/game_list.cpp
@@ -286,7 +286,7 @@ void GameList::OnUpdateThemedIcons() {
286 } 286 }
287 case GameListItemType::AddDir: 287 case GameListItemType::AddDir:
288 child->setData( 288 child->setData(
289 QIcon::fromTheme(QStringLiteral("plus")) 289 QIcon::fromTheme(QStringLiteral("list-add"))
290 .pixmap(icon_size) 290 .pixmap(icon_size)
291 .scaled(icon_size, icon_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), 291 .scaled(icon_size, icon_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation),
292 Qt::DecorationRole); 292 Qt::DecorationRole);
diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h
index e7667cf60..0e19be22d 100644
--- a/src/yuzu/game_list_p.h
+++ b/src/yuzu/game_list_p.h
@@ -294,7 +294,7 @@ public:
294 294
295 const int icon_size = UISettings::values.folder_icon_size.GetValue(); 295 const int icon_size = UISettings::values.folder_icon_size.GetValue();
296 296
297 setData(QIcon::fromTheme(QStringLiteral("plus")) 297 setData(QIcon::fromTheme(QStringLiteral("list-add"))
298 .pixmap(icon_size) 298 .pixmap(icon_size)
299 .scaled(icon_size, icon_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), 299 .scaled(icon_size, icon_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation),
300 Qt::DecorationRole); 300 Qt::DecorationRole);
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index f8c234082..e473ac6da 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -257,6 +257,18 @@ static QString PrettyProductName() {
257 return QSysInfo::prettyProductName(); 257 return QSysInfo::prettyProductName();
258} 258}
259 259
260bool GMainWindow::check_dark_mode() {
261#ifdef __linux__
262 const QPalette test_palette(qApp->palette());
263 const QColor text_color = test_palette.color(QPalette::Active, QPalette::Text);
264 const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
265 return (text_color.value() > window_color.value());
266#else
267 // TODO: Windows
268 return false;
269#endif // __linux__
270}
271
260GMainWindow::GMainWindow(bool has_broken_vulkan) 272GMainWindow::GMainWindow(bool has_broken_vulkan)
261 : ui{std::make_unique<Ui::MainWindow>()}, system{std::make_unique<Core::System>()}, 273 : ui{std::make_unique<Ui::MainWindow>()}, system{std::make_unique<Core::System>()},
262 input_subsystem{std::make_shared<InputCommon::InputSubsystem>()}, 274 input_subsystem{std::make_shared<InputCommon::InputSubsystem>()},
@@ -274,6 +286,13 @@ GMainWindow::GMainWindow(bool has_broken_vulkan)
274 ui->setupUi(this); 286 ui->setupUi(this);
275 statusBar()->hide(); 287 statusBar()->hide();
276 288
289 // Check dark mode before a theme is loaded
290 os_dark_mode = check_dark_mode();
291 startup_icon_theme = QIcon::themeName();
292 // fallback can only be set once, colorful theme icons are okay on both light/dark
293 QIcon::setFallbackThemeName(QStringLiteral("colorful"));
294 QIcon::setFallbackSearchPaths(QStringList(QStringLiteral(":/icons")));
295
277 default_theme_paths = QIcon::themeSearchPaths(); 296 default_theme_paths = QIcon::themeSearchPaths();
278 UpdateUITheme(); 297 UpdateUITheme();
279 298
@@ -3930,8 +3949,21 @@ void GMainWindow::filterBarSetChecked(bool state) {
3930 emit(OnToggleFilterBar()); 3949 emit(OnToggleFilterBar());
3931} 3950}
3932 3951
3952static void AdjustLinkColor() {
3953 QPalette new_pal(qApp->palette());
3954 if (UISettings::IsDarkTheme()) {
3955 new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
3956 } else {
3957 new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
3958 }
3959 if (qApp->palette().color(QPalette::Link) != new_pal.color(QPalette::Link)) {
3960 qApp->setPalette(new_pal);
3961 }
3962}
3963
3933void GMainWindow::UpdateUITheme() { 3964void GMainWindow::UpdateUITheme() {
3934 const QString default_theme = QStringLiteral("default"); 3965 const QString default_theme =
3966 QString::fromUtf8(UISettings::themes[static_cast<size_t>(Config::default_theme)].second);
3935 QString current_theme = UISettings::values.theme; 3967 QString current_theme = UISettings::values.theme;
3936 QStringList theme_paths(default_theme_paths); 3968 QStringList theme_paths(default_theme_paths);
3937 3969
@@ -3939,6 +3971,23 @@ void GMainWindow::UpdateUITheme() {
3939 current_theme = default_theme; 3971 current_theme = default_theme;
3940 } 3972 }
3941 3973
3974#ifdef _WIN32
3975 QIcon::setThemeName(current_theme);
3976 AdjustLinkColor();
3977#else
3978 if (current_theme == QStringLiteral("default") || current_theme == QStringLiteral("colorful")) {
3979 QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme
3980 : startup_icon_theme);
3981 QIcon::setThemeSearchPaths(theme_paths);
3982 if (check_dark_mode()) {
3983 current_theme = QStringLiteral("default_dark");
3984 }
3985 } else {
3986 QIcon::setThemeName(current_theme);
3987 QIcon::setThemeSearchPaths(QStringList(QStringLiteral(":/icons")));
3988 AdjustLinkColor();
3989 }
3990#endif
3942 if (current_theme != default_theme) { 3991 if (current_theme != default_theme) {
3943 QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)}; 3992 QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)};
3944 QFile f(theme_uri); 3993 QFile f(theme_uri);
@@ -3961,17 +4010,6 @@ void GMainWindow::UpdateUITheme() {
3961 qApp->setStyleSheet({}); 4010 qApp->setStyleSheet({});
3962 setStyleSheet({}); 4011 setStyleSheet({});
3963 } 4012 }
3964
3965 QPalette new_pal(qApp->palette());
3966 if (UISettings::IsDarkTheme()) {
3967 new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
3968 } else {
3969 new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
3970 }
3971 qApp->setPalette(new_pal);
3972
3973 QIcon::setThemeName(current_theme);
3974 QIcon::setThemeSearchPaths(theme_paths);
3975} 4013}
3976 4014
3977void GMainWindow::LoadTranslation() { 4015void GMainWindow::LoadTranslation() {
@@ -4022,6 +4060,26 @@ void GMainWindow::SetDiscordEnabled([[maybe_unused]] bool state) {
4022 discord_rpc->Update(); 4060 discord_rpc->Update();
4023} 4061}
4024 4062
4063void GMainWindow::changeEvent(QEvent* event) {
4064#ifdef __linux__
4065 // PaletteChange event appears to only reach so far into the GUI, explicitly asking to
4066 // UpdateUITheme is a decent work around
4067 if (event->type() == QEvent::PaletteChange) {
4068 const QPalette test_palette(qApp->palette());
4069 const QString current_theme = UISettings::values.theme;
4070 // Keeping eye on QPalette::Window to avoid looping. QPalette::Text might be useful too
4071 static QColor last_window_color;
4072 const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
4073 if (last_window_color != window_color && (current_theme == QStringLiteral("default") ||
4074 current_theme == QStringLiteral("colorful"))) {
4075 UpdateUITheme();
4076 }
4077 last_window_color = window_color;
4078 }
4079#endif // __linux__
4080 QWidget::changeEvent(event);
4081}
4082
4025#ifdef main 4083#ifdef main
4026#undef main 4084#undef main
4027#endif 4085#endif
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 23b67a14e..2d1c8857b 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -251,6 +251,7 @@ private:
251 bool ConfirmForceLockedExit(); 251 bool ConfirmForceLockedExit();
252 void RequestGameExit(); 252 void RequestGameExit();
253 void RequestGameResume(); 253 void RequestGameResume();
254 void changeEvent(QEvent* event) override;
254 void closeEvent(QCloseEvent* event) override; 255 void closeEvent(QCloseEvent* event) override;
255 256
256#ifdef __linux__ 257#ifdef __linux__
@@ -392,6 +393,10 @@ private:
392 QTimer mouse_hide_timer; 393 QTimer mouse_hide_timer;
393 QTimer mouse_center_timer; 394 QTimer mouse_center_timer;
394 395
396 QString startup_icon_theme;
397 bool os_dark_mode = false;
398 bool check_dark_mode();
399
395 // FS 400 // FS
396 std::shared_ptr<FileSys::VfsFilesystem> vfs; 401 std::shared_ptr<FileSys::VfsFilesystem> vfs;
397 std::unique_ptr<FileSys::ManualContentProvider> provider; 402 std::unique_ptr<FileSys::ManualContentProvider> provider;