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.qss687
-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, 817 insertions, 35 deletions
diff --git a/.reuse/dep5 b/.reuse/dep5
index d72233e8c..5f31a4f55 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -42,20 +42,18 @@ Files: dist/qt_themes/*/icons/16x16/connected.png
42 dist/qt_themes/*/icons/48x48/sd_card.png 42 dist/qt_themes/*/icons/48x48/sd_card.png
43 dist/qt_themes/*/icons/48x48/star.png 43 dist/qt_themes/*/icons/48x48/star.png
44 dist/qt_themes/*/icons/256x256/plus_folder.png 44 dist/qt_themes/*/icons/256x256/plus_folder.png
45 dist/qt_themes/colorful/icons/48x48/plus.png 45 dist/qt_themes/colorful/icons/48x48/list-add.png
46 dist/qt_themes/default/icons/16x16/checked.png 46 dist/qt_themes/default/icons/16x16/checked.png
47 dist/qt_themes/default/icons/16x16/failed.png 47 dist/qt_themes/default/icons/16x16/failed.png
48Copyright: https://icons8.com 48Copyright: https://icons8.com
49License: CC-BY-ND-3.0 49License: CC-BY-ND-3.0
50 50
51Files: dist/qt_themes/*/icons/16x16/refresh.png 51Files: dist/qt_themes/*/icons/16x16/view-refresh.png
52 dist/qt_themes/*/icons/16x16/view-refresh.png
53Copyright: Google, Inc. 52Copyright: Google, Inc.
54License: Apache-2.0 53License: Apache-2.0
55 54
56Files: dist/qt_themes/default/icons/48x48/plus.png 55Files: dist/qt_themes/default/icons/48x48/list-add.png
57 dist/qt_themes/qdarkstyle/icons/48x48/plus.png 56 dist/qt_themes/qdarkstyle/icons/48x48/list-add.png
58 dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
59Copyright: BreadFish64 57Copyright: BreadFish64
60License: CC0-1.0 58License: CC0-1.0
61 59
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..ca6daa2d5
--- /dev/null
+++ b/dist/qt_themes/default_dark/style.qss
@@ -0,0 +1,687 @@
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
17QPushButton#TogglableStatusBarButton:checked {
18 color: palette(text);
19}
20
21QPushButton#TogglableStatusBarButton:hover {
22 border: 1px solid #76797C;
23}
24
25QPushButton#RendererStatusBarButton {
26 color: #656565;
27 border: 1px solid transparent;
28 background-color: transparent;
29 padding: 0px 3px 0px 3px;
30 text-align: center;
31}
32
33QPushButton#RendererStatusBarButton:hover {
34 border: 1px solid #76797C;
35}
36
37QPushButton#RendererStatusBarButton:checked {
38 color: #e85c00;
39}
40
41QPushButton#RendererStatusBarButton:!checked {
42 color: #00ccdd;
43}
44
45QPushButton#GPUStatusBarButton {
46 color: #656565;
47 border: 1px solid transparent;
48 background-color: transparent;
49 padding: 0px 3px 0px 3px;
50 text-align: center;
51}
52
53QPushButton#GPUStatusBarButton:hover {
54 border: 1px solid #76797C;
55}
56
57QPushButton#GPUStatusBarButton:checked {
58 color: #ff8040;
59}
60
61QPushButton#GPUStatusBarButton:!checked {
62 color: #40dd40;
63}
64
65QPushButton#DockingStatusBarButton {
66 min-width: 0px;
67 color: palette(text);
68 border: 1px solid transparent;
69 background-color: transparent;
70 padding: 0px 3px 0px 3px;
71 text-align: center;
72}
73
74QPushButton#DockingStatusBarButton:hover {
75 border: 1px solid #76797C;
76}
77
78QPushButton#buttonRefreshDevices {
79 min-width: 21px;
80 min-height: 21px;
81 max-width: 21px;
82 max-height: 21px;
83}
84
85QWidget#bottomPerGameInput,
86QWidget#topControllerApplet,
87QWidget#bottomControllerApplet,
88QGroupBox#groupPlayer1Connected:checked,
89QGroupBox#groupPlayer2Connected:checked,
90QGroupBox#groupPlayer3Connected:checked,
91QGroupBox#groupPlayer4Connected:checked,
92QGroupBox#groupPlayer5Connected:checked,
93QGroupBox#groupPlayer6Connected:checked,
94QGroupBox#groupPlayer7Connected:checked,
95QGroupBox#groupPlayer8Connected:checked {
96 background-color: #f5f5f5;
97}
98
99QWidget#topControllerApplet {
100 border-bottom: 1px solid #828790
101}
102
103QWidget#bottomPerGameInput,
104QWidget#bottomControllerApplet {
105 border-top: 1px solid #828790
106}
107
108QWidget#topPerGameInput,
109QWidget#middleControllerApplet {
110 background-color: #fff;
111}
112
113QWidget#topPerGameInput QComboBox,
114QWidget#middleControllerApplet QComboBox {
115 width: 120px;
116}
117
118QWidget#connectedControllers {
119 background: transparent;
120}
121
122QWidget#playersSupported,
123QWidget#controllersSupported,
124QWidget#controllerSupported1,
125QWidget#controllerSupported2,
126QWidget#controllerSupported3,
127QWidget#controllerSupported4,
128QWidget#controllerSupported5,
129QWidget#controllerSupported6 {
130 border: none;
131 background: transparent;
132}
133
134QGroupBox#groupPlayer1Connected,
135QGroupBox#groupPlayer2Connected,
136QGroupBox#groupPlayer3Connected,
137QGroupBox#groupPlayer4Connected,
138QGroupBox#groupPlayer5Connected,
139QGroupBox#groupPlayer6Connected,
140QGroupBox#groupPlayer7Connected,
141QGroupBox#groupPlayer8Connected {
142 border: 1px solid #828790;
143 border-radius: 3px;
144 padding: 0px;
145 min-height: 98px;
146 max-height: 98px;
147}
148
149QGroupBox#groupPlayer1Connected:unchecked,
150QGroupBox#groupPlayer2Connected:unchecked,
151QGroupBox#groupPlayer3Connected:unchecked,
152QGroupBox#groupPlayer4Connected:unchecked,
153QGroupBox#groupPlayer5Connected:unchecked,
154QGroupBox#groupPlayer6Connected:unchecked,
155QGroupBox#groupPlayer7Connected:unchecked,
156QGroupBox#groupPlayer8Connected:unchecked {
157 border: 1px solid #d9d9d9;
158}
159
160QGroupBox#groupPlayer1Connected::title,
161QGroupBox#groupPlayer2Connected::title,
162QGroupBox#groupPlayer3Connected::title,
163QGroupBox#groupPlayer4Connected::title,
164QGroupBox#groupPlayer5Connected::title,
165QGroupBox#groupPlayer6Connected::title,
166QGroupBox#groupPlayer7Connected::title,
167QGroupBox#groupPlayer8Connected::title {
168 subcontrol-origin: margin;
169 subcontrol-position: top left;
170 padding-left: 0px;
171 padding-right: 0px;
172 padding-top: 1px;
173 margin-left: 0px;
174 margin-right: -4px;
175 margin-bottom: 4px;
176}
177
178QCheckBox#checkboxPlayer1Connected,
179QCheckBox#checkboxPlayer2Connected,
180QCheckBox#checkboxPlayer3Connected,
181QCheckBox#checkboxPlayer4Connected,
182QCheckBox#checkboxPlayer5Connected,
183QCheckBox#checkboxPlayer6Connected,
184QCheckBox#checkboxPlayer7Connected,
185QCheckBox#checkboxPlayer8Connected {
186 spacing: 0px;
187}
188
189QWidget#Player1LEDs QCheckBox,
190QWidget#Player2LEDs QCheckBox,
191QWidget#Player3LEDs QCheckBox,
192QWidget#Player4LEDs QCheckBox,
193QWidget#Player5LEDs QCheckBox,
194QWidget#Player6LEDs QCheckBox,
195QWidget#Player7LEDs QCheckBox,
196QWidget#Player8LEDs QCheckBox {
197 spacing: 0px;
198}
199
200QWidget#Player1LEDs QCheckBox::indicator,
201QWidget#Player2LEDs QCheckBox::indicator,
202QWidget#Player3LEDs QCheckBox::indicator,
203QWidget#Player4LEDs QCheckBox::indicator,
204QWidget#Player5LEDs QCheckBox::indicator,
205QWidget#Player6LEDs QCheckBox::indicator,
206QWidget#Player7LEDs QCheckBox::indicator,
207QWidget#Player8LEDs QCheckBox::indicator {
208 width: 6px;
209 height: 6px;
210 margin-left: 0px;
211}
212
213QWidget#bottomPerGameInput QCheckBox#checkboxPlayer1Connected::indicator,
214QWidget#bottomPerGameInput QCheckBox#checkboxPlayer2Connected::indicator,
215QWidget#bottomPerGameInput QCheckBox#checkboxPlayer3Connected::indicator,
216QWidget#bottomPerGameInput QCheckBox#checkboxPlayer4Connected::indicator,
217QWidget#bottomPerGameInput QCheckBox#checkboxPlayer5Connected::indicator,
218QWidget#bottomPerGameInput QCheckBox#checkboxPlayer6Connected::indicator,
219QWidget#bottomPerGameInput QCheckBox#checkboxPlayer7Connected::indicator,
220QWidget#bottomPerGameInput QCheckBox#checkboxPlayer8Connected::indicator {
221 width: 12px;
222 height: 12px;
223}
224
225QCheckBox#checkboxPlayer1Connected::indicator,
226QCheckBox#checkboxPlayer2Connected::indicator,
227QCheckBox#checkboxPlayer3Connected::indicator,
228QCheckBox#checkboxPlayer4Connected::indicator,
229QCheckBox#checkboxPlayer5Connected::indicator,
230QCheckBox#checkboxPlayer6Connected::indicator,
231QCheckBox#checkboxPlayer7Connected::indicator,
232QCheckBox#checkboxPlayer8Connected::indicator {
233 width: 14px;
234 height: 14px;
235}
236
237QGroupBox#groupPlayer1Connected::indicator,
238QGroupBox#groupPlayer2Connected::indicator,
239QGroupBox#groupPlayer3Connected::indicator,
240QGroupBox#groupPlayer4Connected::indicator,
241QGroupBox#groupPlayer5Connected::indicator,
242QGroupBox#groupPlayer6Connected::indicator,
243QGroupBox#groupPlayer7Connected::indicator,
244QGroupBox#groupPlayer8Connected::indicator {
245 width: 16px;
246 height: 16px;
247}
248
249QWidget#Player1LEDs QCheckBox::indicator:checked,
250QWidget#Player2LEDs QCheckBox::indicator:checked,
251QWidget#Player3LEDs QCheckBox::indicator:checked,
252QWidget#Player4LEDs QCheckBox::indicator:checked,
253QWidget#Player5LEDs QCheckBox::indicator:checked,
254QWidget#Player6LEDs QCheckBox::indicator:checked,
255QWidget#Player7LEDs QCheckBox::indicator:checked,
256QWidget#Player8LEDs QCheckBox::indicator:checked,
257QGroupBox#groupPlayer1Connected::indicator:checked,
258QGroupBox#groupPlayer2Connected::indicator:checked,
259QGroupBox#groupPlayer3Connected::indicator:checked,
260QGroupBox#groupPlayer4Connected::indicator:checked,
261QGroupBox#groupPlayer5Connected::indicator:checked,
262QGroupBox#groupPlayer6Connected::indicator:checked,
263QGroupBox#groupPlayer7Connected::indicator:checked,
264QGroupBox#groupPlayer8Connected::indicator:checked,
265QCheckBox#checkboxPlayer1Connected::indicator:checked,
266QCheckBox#checkboxPlayer2Connected::indicator:checked,
267QCheckBox#checkboxPlayer3Connected::indicator:checked,
268QCheckBox#checkboxPlayer4Connected::indicator:checked,
269QCheckBox#checkboxPlayer5Connected::indicator:checked,
270QCheckBox#checkboxPlayer6Connected::indicator:checked,
271QCheckBox#checkboxPlayer7Connected::indicator:checked,
272QCheckBox#checkboxPlayer8Connected::indicator:checked,
273QGroupBox#groupConnectedController::indicator:checked {
274 border-radius: 2px;
275 border: 1px solid #929192;
276 background: #39ff14;
277 image: none;
278}
279
280QWidget#Player1LEDs QCheckBox::indicator:unchecked,
281QWidget#Player2LEDs QCheckBox::indicator:unchecked,
282QWidget#Player3LEDs QCheckBox::indicator:unchecked,
283QWidget#Player4LEDs QCheckBox::indicator:unchecked,
284QWidget#Player5LEDs QCheckBox::indicator:unchecked,
285QWidget#Player6LEDs QCheckBox::indicator:unchecked,
286QWidget#Player7LEDs QCheckBox::indicator:unchecked,
287QWidget#Player8LEDs QCheckBox::indicator:unchecked,
288QGroupBox#groupPlayer1Connected::indicator:unchecked,
289QGroupBox#groupPlayer2Connected::indicator:unchecked,
290QGroupBox#groupPlayer3Connected::indicator:unchecked,
291QGroupBox#groupPlayer4Connected::indicator:unchecked,
292QGroupBox#groupPlayer5Connected::indicator:unchecked,
293QGroupBox#groupPlayer6Connected::indicator:unchecked,
294QGroupBox#groupPlayer7Connected::indicator:unchecked,
295QGroupBox#groupPlayer8Connected::indicator:unchecked,
296QCheckBox#checkboxPlayer1Connected::indicator:unchecked,
297QCheckBox#checkboxPlayer2Connected::indicator:unchecked,
298QCheckBox#checkboxPlayer3Connected::indicator:unchecked,
299QCheckBox#checkboxPlayer4Connected::indicator:unchecked,
300QCheckBox#checkboxPlayer5Connected::indicator:unchecked,
301QCheckBox#checkboxPlayer6Connected::indicator:unchecked,
302QCheckBox#checkboxPlayer7Connected::indicator:unchecked,
303QCheckBox#checkboxPlayer8Connected::indicator:unchecked,
304QGroupBox#groupConnectedController::indicator:unchecked {
305 border-radius: 2px;
306 border: 1px solid #929192;
307 background: transparent;
308 image: none;
309}
310
311QWidget#controllerPlayer1,
312QWidget#controllerPlayer2,
313QWidget#controllerPlayer3,
314QWidget#controllerPlayer4,
315QWidget#controllerPlayer5,
316QWidget#controllerPlayer6,
317QWidget#controllerPlayer7,
318QWidget#controllerPlayer8 {
319 background: transparent;
320}
321
322QDialog#QtSoftwareKeyboardDialog,
323QStackedWidget#topOSK {
324 background: rgba(51, 51, 51, .9);
325}
326
327
328QDialog#OverlayDialog,
329QStackedWidget#stackedDialog {
330 background: rgba(51, 51, 51, .7);
331}
332
333QWidget#boxOSK,
334QWidget#lineOSK,
335QWidget#richDialog,
336QWidget#lineDialog {
337 background: transparent;
338}
339
340QStackedWidget#bottomOSK,
341QWidget#contentDialog,
342QWidget#contentRichDialog {
343 background: rgba(240, 240, 240, 1);
344}
345
346QWidget#contentDialog,
347QWidget#contentRichDialog {
348 margin: 5px;
349 border-radius: 6px;
350}
351
352QWidget#buttonsDialog,
353QWidget#buttonsRichDialog {
354 margin: 5px;
355 border-top: 2px solid rgba(44, 44, 44, 1);
356}
357
358QWidget#legendOSKnum {
359 border-top: 1px solid rgba(44, 44, 44, 1);
360}
361
362QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical {
363 background: #cdcdcd;
364 width: 15px;
365 margin: 15px 3px 15px 3px;
366 border: 1px transparent;
367 border-radius: 4px;
368}
369
370QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal {
371 background: #cdcdcd;
372 height: 15px;
373 margin: 3px 15px 3px 15px;
374 border: 1px transparent;
375 border-radius: 4px;
376}
377
378QStackedWidget#stackedDialog QTextBrowser QScrollBar::handle {
379 background: #fff;
380 border-radius: 4px;
381 min-height: 5px;
382 min-width: 5px;
383}
384
385QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line,
386QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line,
387QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-page,
388QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-page {
389 background: none;
390}
391
392QWidget#inputOSK {
393 border-bottom: 3px solid rgba(255, 255, 255, .9);
394}
395
396QWidget#inputOSK QLineEdit {
397 background: transparent;
398 border: none;
399 color: #ccc;
400}
401
402QWidget#inputBoxOSK {
403 border: 2px solid rgba(255, 255, 255, .9);
404}
405
406QWidget#inputBoxOSK QTextEdit {
407 background: transparent;
408 border: none;
409 color: #ccc;
410}
411
412QWidget#richDialog QTextBrowser {
413 background: transparent;
414 border: none;
415 padding: 35px 65px;
416}
417
418
419QWidget#lineOSK QLabel#label_header {
420 color: #f0f0f0;
421}
422
423QWidget#lineOSK QLabel#label_sub,
424QWidget#lineOSK QLabel#label_characters,
425QWidget#boxOSK QLabel#label_characters_box {
426 color: #ccc;
427}
428
429QWidget#contentDialog QLabel#label_title,
430QWidget#contentRichDialog QLabel#label_title_rich {
431 color: #888;
432}
433
434QWidget#contentDialog QLabel#label_dialog {
435 padding: 20px 65px;
436}
437
438QWidget#contentDialog QLabel#label_title,
439QWidget#contentRichDialog QLabel#label_title_rich {
440 padding: 0px 65px;
441}
442
443QDialog#OverlayDialog QPushButton {
444 color: rgba(49, 79, 239, 1);
445 background: transparent;
446 border: none;
447 padding: 0px;
448 min-width: 0px;
449}
450
451QDialog#OverlayDialog QPushButton:focus,
452QDialog#OverlayDialog QPushButton:hover {
453 color: rgba(49, 79, 239, 1);
454 background: rgba(255, 255, 255, 1);
455 border: 5px solid rgba(148, 250, 202, 1);
456 border-radius: 6px;
457 outline: none;
458}
459
460QDialog#OverlayDialog QPushButton:pressed {
461 color: rgba(240, 240, 240, 1);
462 background: rgba(150, 150, 150, 1);
463 border: 5px solid rgba(148, 250, 202, 1);
464 border-radius: 6px;
465 outline: none;
466}
467
468QDialog#QtSoftwareKeyboardDialog QPushButton {
469 background: rgba(232, 232, 232, 1);
470 border: 2px solid rgba(240, 240, 240, 1);
471}
472
473QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift,
474QDialog#QtSoftwareKeyboardDialog QPushButton#button_return,
475QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
476QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift,
477QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift,
478QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
479 background: rgba(218, 218, 218, 1);
480 border: 2px solid rgba(240, 240, 240, 1);
481}
482
483QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
484QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
485QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
486 color: rgba(240, 240, 240, 1);
487 background: rgba(44, 44, 44, 1);
488 border: 2px solid rgba(240, 240, 240, 1);
489}
490
491QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
492QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
493QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
494 color: rgba(240, 240, 240, 1);
495 background: rgba(49, 79, 239, 1);
496 border: 2px solid rgba(240, 240, 240, 1);
497}
498
499QDialog#QtSoftwareKeyboardDialog QPushButton:focus,
500QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus,
501QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus,
502QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus,
503QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus,
504QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus,
505QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus,
506QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus,
507QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus,
508QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus,
509QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus,
510QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus,
511QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus,
512
513QDialog#QtSoftwareKeyboardDialog QPushButton:hover,
514QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover,
515QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover,
516QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover,
517QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover,
518QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover,
519QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover,
520QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover,
521QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover,
522QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover,
523QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover,
524QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover,
525QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover {
526 color: rgba(0, 0, 0, 1);
527 background: rgba(255, 255, 255, 1);
528 border: 5px solid rgba(148, 250, 202, 1);
529 border-radius: 6px;
530 outline: none;
531}
532
533QDialog#QtSoftwareKeyboardDialog QPushButton:pressed,
534QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed,
535QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed,
536QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed,
537QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed,
538QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed,
539QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed,
540QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed,
541QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed,
542QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed,
543QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed,
544QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed,
545QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed {
546 color: rgba(240, 240, 240, 1);
547 background: rgba(150, 150, 150, 1);
548 border: 5px solid rgba(148, 250, 202, 1);
549 border-radius: 6px;
550}
551
552QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
553QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
554QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
555 image: url(:/overlay/osk_button_B.png);
556 image-position: right;
557 qproperty-icon: url(:/overlay/osk_button_backspace.png);
558 qproperty-iconSize: 36px;
559}
560
561QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
562QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
563 image: url(:/overlay/osk_button_Y.png);
564 image-position: right;
565}
566
567QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
568QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
569QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
570 image: url(:/overlay/osk_button_plus.png);
571 image-position: right;
572}
573
574QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift {
575 image: url(:/overlay/osk_button_shift_lock_off.png);
576 image-position: left;
577 qproperty-icon: url(:/overlay/osk_button_shift.png);
578 qproperty-iconSize: 36px;
579}
580
581QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift {
582 image: url(:/overlay/osk_button_shift_lock_off.png);
583 image-position: left;
584 qproperty-icon: url(:/overlay/osk_button_shift_on.png);
585 qproperty-iconSize: 36px;
586}
587
588QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket,
589QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket,
590QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis,
591QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis {
592 padding-bottom: 7px;
593}
594
595QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel {
596 background: transparent;
597 color: #ccc;
598}
599
600QDialog#QtSoftwareKeyboardDialog QWidget#button_L,
601QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift,
602QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num {
603 image: url(:/overlay/button_L.png);
604}
605
606QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left,
607QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift,
608QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num {
609 image: url(:/overlay/arrow_left.png);
610}
611
612QDialog#QtSoftwareKeyboardDialog QWidget#button_R,
613QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift,
614QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num {
615 image: url(:/overlay/button_R.png);
616}
617
618QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right,
619QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift,
620QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num {
621 image: url(:/overlay/arrow_right.png);
622}
623
624QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick,
625QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift {
626 image: url(:/overlay/button_press_stick.png);
627}
628
629QDialog#QtSoftwareKeyboardDialog QWidget#button_X,
630QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift,
631QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num {
632 image: url(:/overlay/button_X.png);
633}
634
635QDialog#QtSoftwareKeyboardDialog QWidget#button_A,
636QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift,
637QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num {
638 image: url(:/overlay/button_A.png);
639}
640
641QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
642QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
643QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled,
644QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
645QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
646QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled,
647QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled,
648QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
649QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled,
650QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
651 color: rgba(164, 164, 164, 1);
652 background-color: rgba(218, 218, 218, 1);
653}
654
655QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled,
656QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled,
657QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled,
658QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled,
659QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled,
660QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled,
661QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled,
662QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled,
663QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled,
664QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled,
665QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled,
666QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled,
667QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled,
668QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled {
669 color: rgba(164, 164, 164, 1);
670}
671
672QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
673QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
674QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled {
675 image: url(:/overlay/osk_button_plus_disabled.png);
676}
677
678QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
679QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
680QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
681 image: url(:/overlay/osk_button_B_disabled.png);
682}
683
684QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
685QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled {
686 image: url(:/overlay/osk_button_Y_disabled.png);
687}
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 f82bec3b7..44d7feddc 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::CheckDarkMode() {
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 = CheckDarkMode();
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
@@ -3935,8 +3954,21 @@ void GMainWindow::filterBarSetChecked(bool state) {
3935 emit(OnToggleFilterBar()); 3954 emit(OnToggleFilterBar());
3936} 3955}
3937 3956
3957static void AdjustLinkColor() {
3958 QPalette new_pal(qApp->palette());
3959 if (UISettings::IsDarkTheme()) {
3960 new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
3961 } else {
3962 new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
3963 }
3964 if (qApp->palette().color(QPalette::Link) != new_pal.color(QPalette::Link)) {
3965 qApp->setPalette(new_pal);
3966 }
3967}
3968
3938void GMainWindow::UpdateUITheme() { 3969void GMainWindow::UpdateUITheme() {
3939 const QString default_theme = QStringLiteral("default"); 3970 const QString default_theme =
3971 QString::fromUtf8(UISettings::themes[static_cast<size_t>(Config::default_theme)].second);
3940 QString current_theme = UISettings::values.theme; 3972 QString current_theme = UISettings::values.theme;
3941 QStringList theme_paths(default_theme_paths); 3973 QStringList theme_paths(default_theme_paths);
3942 3974
@@ -3944,6 +3976,23 @@ void GMainWindow::UpdateUITheme() {
3944 current_theme = default_theme; 3976 current_theme = default_theme;
3945 } 3977 }
3946 3978
3979#ifdef _WIN32
3980 QIcon::setThemeName(current_theme);
3981 AdjustLinkColor();
3982#else
3983 if (current_theme == QStringLiteral("default") || current_theme == QStringLiteral("colorful")) {
3984 QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme
3985 : startup_icon_theme);
3986 QIcon::setThemeSearchPaths(theme_paths);
3987 if (CheckDarkMode()) {
3988 current_theme = QStringLiteral("default_dark");
3989 }
3990 } else {
3991 QIcon::setThemeName(current_theme);
3992 QIcon::setThemeSearchPaths(QStringList(QStringLiteral(":/icons")));
3993 AdjustLinkColor();
3994 }
3995#endif
3947 if (current_theme != default_theme) { 3996 if (current_theme != default_theme) {
3948 QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)}; 3997 QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)};
3949 QFile f(theme_uri); 3998 QFile f(theme_uri);
@@ -3966,17 +4015,6 @@ void GMainWindow::UpdateUITheme() {
3966 qApp->setStyleSheet({}); 4015 qApp->setStyleSheet({});
3967 setStyleSheet({}); 4016 setStyleSheet({});
3968 } 4017 }
3969
3970 QPalette new_pal(qApp->palette());
3971 if (UISettings::IsDarkTheme()) {
3972 new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
3973 } else {
3974 new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
3975 }
3976 qApp->setPalette(new_pal);
3977
3978 QIcon::setThemeName(current_theme);
3979 QIcon::setThemeSearchPaths(theme_paths);
3980} 4018}
3981 4019
3982void GMainWindow::LoadTranslation() { 4020void 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 e13b38b24..1ae2b93d9 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__
@@ -347,6 +348,7 @@ private:
347 void OpenURL(const QUrl& url); 348 void OpenURL(const QUrl& url);
348 void LoadTranslation(); 349 void LoadTranslation();
349 void OpenPerGameConfiguration(u64 title_id, const std::string& file_name); 350 void OpenPerGameConfiguration(u64 title_id, const std::string& file_name);
351 bool CheckDarkMode();
350 352
351 QString GetTasStateDescription() const; 353 QString GetTasStateDescription() const;
352 354
@@ -392,6 +394,9 @@ private:
392 QTimer mouse_hide_timer; 394 QTimer mouse_hide_timer;
393 QTimer mouse_center_timer; 395 QTimer mouse_center_timer;
394 396
397 QString startup_icon_theme;
398 bool os_dark_mode = false;
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;