c7J|ku3PWu9(0+9lh4NDw)j+fjiI%99B)4+P-%y#DK%;^l?+{Y!;)A{VWPM%?JIM00D<;b*2k;f+PX81f|
z=I``pTMtA%h>7_#IYIS<_<>_*VnVIX?AXZAHf82-rg+AC!B*X3PfQP7H~ReMlH;*X
zR)amO8-l&tFT~yC|B;loPDeH+CW68F#F@#B{L{`YbdzDJ*;CR{n8?WUTu8yIJs|nq
zsWYNWoqL$M6ZmG{WIm@g*SVMLKr&+l!(j_Pi#;VArthA6u}iRv9k|n{BkQoXBKIZ3
z;{!}HZZBNQyh5~nDxU$LPQ%Whwy)Ic*ZuIFunLr{NC+(~iE=Z;vu&G87`7(4Lv0cU
z*)-c5;s`mGI6YaX-rE6I2P`%)JQEP~XD*+9ZsD=JVPJu_&qpsYURiOx!P=`GjnqGLjD5(mohVdiah?k
zutNQTMp
zKVD)?``CPm(ZrfN;nUqfs{=e`O!swUoi=Y~P`j_Yl=;j9X~B;*F9kqaA1XbHdvJPb
z@f*cPdo5X~;>`@Z9(pB2zZ3|LkruqK2NtnXQ2HmngQH?&iP(ea1MObz7YcM5`Z_wK
z8-g3%xm-OSyl=cJxN&g++u6yi7Ze3IibXK~kt@*u>w0rrdSgA4Usnge%aL<}XI8f9
zXvsR9mC`w|x?#1^XO0IF4;F|mtD5-l(SCa+o5%T1kqok8g0maXE-lWe!4sYv<<8F2
zO_ULE89tO}o%Su=mKJ-F1?
z9(&)7QHOEeIiLH26Qm3xystBKOUqT+&a8CW_E>nPBrp54Rg-2;oH;)yvv=Jc+k?rv
zz6G&q+X{`jR(>}6{NT)%
z-UB;zeT%Ifc+_lUe^hx3zungTulAK(+MfC8<|ilp`~ICVLH6%%#@zl6@u-Qh7RH6Pe0c+oycUU2t|
z`yx$x_|qx`|!
z7#NH`Gd!sK#jd1MdRpzl+Ti(jzH}+~3T~9$k#l9GO7D^P?|$Cc7QXkYfS@_!^_Jb*k9R)$GrpD_?)bs~AnC!)i+P-H+Ve
zyfKJg7Q8>_b*po1fq-B+)AEb^;~XyixWzKZ?#!e1%9uhC
z!S77@%>ODI52|c^E#D~2e*Ar#(Ryz__T>We*lQa8rL`^jG>_pPcZ`7G=Ur$2H|5`)
zID`ZHwXjD~7jU%AdXO@qgRja;9?AtuK~Kz0BQhTx?jNA=YRzSN4Fh@!W0NDBX(7
bzv^eszIo=ppPexS0|SGntDnm{r-UW|wLkz{
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 4a9709623476fcf4070c4e3da2bb17375222082e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1098
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
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 16cc8b4f44d52009d4a3f4c9d46f5bb0e20babcf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 339
zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F|1*Xx
zz6A)vjMIQmSyCcx-VxVnUA4RJ-|$|RqVdSm_HF3zd+(pr@|6e{#@X9+R(rktwCh8C
zxq?!j{rg3Cs`7IRI<+JA9GTa7RmR~g;}ryv#VWydeP5XNfvp9(^DTbmhizuAWO#f+
WQ)xlqB7X)31_n=8KbLh*2~7ap#e&TM
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 0291c6542d05a40a350bb5bdbd99a15c01467161..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 676
zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?FcxAsLNtXYJ1xag=DAe_m$JJg21Oh0~g5ga~qLOMjG-_DxUBF0I`lyk<+t
ze`e{8o~mMuj%$N5E^#$gv^x4OJjng8W1raehiaR5?<_1W7n;e=S9bsQ?b>^DcgF6p
zUD2>)-IC{%%tGX6PrB!|OZ{bp=y|1&)0RX}s=KNYcVyO*&Gp*%r){~gVaMrJOFZwN
zW_oIUfayZ%qx1v6b1Io;FxxS9pEEN)V6uVb%iJ2iA8a;7n}iSOY~a~b_Nm)JJ$jz`
z=G%(rZa-1A)wNI--;=BIa_RS*(vfvXPqR<@6?g6Qwzrj)_bs0#-_O4<@zdYAOJH`0g4s%koS?=V
zOPDr#vL;RDI-(}p;R~1ecbh5eiqf1p;gOB~rrjZ`-wT$mIWT#a>#9kgwSMP*QQ2_l
z!^=~7iJ}&%Y43vPJ`yz89DX45K{j)e;u^;3wLdp{%$imbf63bPKmSx;&wQ1;6HB(7
b`Dm{Gecr!S9Ho*B3=9mOu6{1-oD!M<82&8j
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 90d423a1d4c1e05ccec0a01fa34abca9fe99676d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 725
zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F*yi}}0p)tauU5tllaBo)Q>MX1|2Fs}G8UF*X1?d#4kh)10I
zxu-Oht>X5f1JwtftX->o;H20i={YB&jE_!G6Pxqy#|=flX;IuD>Yt
z%zS;vW0%y9G>Hb?12Lywn6F@58c^zd?trLgC>WzJ@
zrk=r*v?ke|Hk$rtp3$+IENR{zOP%IDJ2JEL>N@N_qBtxT8P4$8%RPs&?uqRg-5{&DZ>&f9`V?jK*A{>|1;
z-1hOM8Ro|xNIl7Zup&K1%Dtv(&T<|NuUS*CJPtN!jh}Q)I{8^lQ%%}}H6I?St_;7V
zcwIrBIWAaMyZpLC!XqgLDcv-&Rg?6*cBy1qC7;oAl2^=W*eq$bWc~r!gt?;OEN(03
zzqT&4TGr@i`&l@l-0RQ1C-#{=$4ovf^1WF2V2bm+#|Ms^?VNW^D1Sw{yP5F;(*u?9
z3{{hF+!V7sT<`9&Z2v)<0`Ba&`pWs76%0BNKii!$^7OU{Rygn7cvD#Mf8wjT_gM_@
hyTtDLlm3TM;M?I@r(Pae&%nUI;OXk;vd$@?2>^orLy!Of
diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc b/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc
index 142dd3288d..dc3d7fecbd 100644
--- a/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc
+++ b/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc
@@ -1,15 +1,16 @@
icons/index.theme
- icons/16x16/lock.png
- icons/16x16/view-refresh.png
- icons/48x48/bad_folder.png
- icons/48x48/chip.png
- icons/48x48/folder.png
- icons/48x48/plus.png
- icons/48x48/sd_card.png
- icons/48x48/star.png
- icons/256x256/plus_folder.png
+ ../qdarkstyle/icons/16x16/lock.png
+ ../qdarkstyle/icons/16x16/view-refresh.png
+ ../qdarkstyle/icons/48x48/bad_folder.png
+ ../qdarkstyle/icons/48x48/chip.png
+ ../qdarkstyle/icons/48x48/folder.png
+ ../qdarkstyle/icons/48x48/no_avatar.png
+ ../qdarkstyle/icons/48x48/list-add.png
+ ../qdarkstyle/icons/48x48/sd_card.png
+ ../qdarkstyle/icons/48x48/star.png
+ ../qdarkstyle/icons/256x256/plus_folder.png
rc/arrow_down.png
diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp
index 041e6ac116..c4b1f65bdf 100644
--- a/src/yuzu/game_list.cpp
+++ b/src/yuzu/game_list.cpp
@@ -286,7 +286,7 @@ void GameList::OnUpdateThemedIcons() {
}
case GameListItemType::AddDir:
child->setData(
- QIcon::fromTheme(QStringLiteral("plus"))
+ QIcon::fromTheme(QStringLiteral("list-add"))
.pixmap(icon_size)
.scaled(icon_size, icon_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation),
Qt::DecorationRole);
diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h
index e7667cf602..0e19be22d0 100644
--- a/src/yuzu/game_list_p.h
+++ b/src/yuzu/game_list_p.h
@@ -294,7 +294,7 @@ public:
const int icon_size = UISettings::values.folder_icon_size.GetValue();
- setData(QIcon::fromTheme(QStringLiteral("plus"))
+ setData(QIcon::fromTheme(QStringLiteral("list-add"))
.pixmap(icon_size)
.scaled(icon_size, icon_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation),
Qt::DecorationRole);
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index f8c2340828..e473ac6da9 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -257,6 +257,18 @@ static QString PrettyProductName() {
return QSysInfo::prettyProductName();
}
+bool GMainWindow::check_dark_mode() {
+#ifdef __linux__
+ const QPalette test_palette(qApp->palette());
+ const QColor text_color = test_palette.color(QPalette::Active, QPalette::Text);
+ const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
+ return (text_color.value() > window_color.value());
+#else
+ // TODO: Windows
+ return false;
+#endif // __linux__
+}
+
GMainWindow::GMainWindow(bool has_broken_vulkan)
: ui{std::make_unique()}, system{std::make_unique()},
input_subsystem{std::make_shared()},
@@ -274,6 +286,13 @@ GMainWindow::GMainWindow(bool has_broken_vulkan)
ui->setupUi(this);
statusBar()->hide();
+ // Check dark mode before a theme is loaded
+ os_dark_mode = check_dark_mode();
+ startup_icon_theme = QIcon::themeName();
+ // fallback can only be set once, colorful theme icons are okay on both light/dark
+ QIcon::setFallbackThemeName(QStringLiteral("colorful"));
+ QIcon::setFallbackSearchPaths(QStringList(QStringLiteral(":/icons")));
+
default_theme_paths = QIcon::themeSearchPaths();
UpdateUITheme();
@@ -3930,8 +3949,21 @@ void GMainWindow::filterBarSetChecked(bool state) {
emit(OnToggleFilterBar());
}
+static void AdjustLinkColor() {
+ QPalette new_pal(qApp->palette());
+ if (UISettings::IsDarkTheme()) {
+ new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
+ } else {
+ new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
+ }
+ if (qApp->palette().color(QPalette::Link) != new_pal.color(QPalette::Link)) {
+ qApp->setPalette(new_pal);
+ }
+}
+
void GMainWindow::UpdateUITheme() {
- const QString default_theme = QStringLiteral("default");
+ const QString default_theme =
+ QString::fromUtf8(UISettings::themes[static_cast(Config::default_theme)].second);
QString current_theme = UISettings::values.theme;
QStringList theme_paths(default_theme_paths);
@@ -3939,6 +3971,23 @@ void GMainWindow::UpdateUITheme() {
current_theme = default_theme;
}
+#ifdef _WIN32
+ QIcon::setThemeName(current_theme);
+ AdjustLinkColor();
+#else
+ if (current_theme == QStringLiteral("default") || current_theme == QStringLiteral("colorful")) {
+ QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme
+ : startup_icon_theme);
+ QIcon::setThemeSearchPaths(theme_paths);
+ if (check_dark_mode()) {
+ current_theme = QStringLiteral("default_dark");
+ }
+ } else {
+ QIcon::setThemeName(current_theme);
+ QIcon::setThemeSearchPaths(QStringList(QStringLiteral(":/icons")));
+ AdjustLinkColor();
+ }
+#endif
if (current_theme != default_theme) {
QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)};
QFile f(theme_uri);
@@ -3961,17 +4010,6 @@ void GMainWindow::UpdateUITheme() {
qApp->setStyleSheet({});
setStyleSheet({});
}
-
- QPalette new_pal(qApp->palette());
- if (UISettings::IsDarkTheme()) {
- new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255));
- } else {
- new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255));
- }
- qApp->setPalette(new_pal);
-
- QIcon::setThemeName(current_theme);
- QIcon::setThemeSearchPaths(theme_paths);
}
void GMainWindow::LoadTranslation() {
@@ -4022,6 +4060,26 @@ void GMainWindow::SetDiscordEnabled([[maybe_unused]] bool state) {
discord_rpc->Update();
}
+void GMainWindow::changeEvent(QEvent* event) {
+#ifdef __linux__
+ // PaletteChange event appears to only reach so far into the GUI, explicitly asking to
+ // UpdateUITheme is a decent work around
+ if (event->type() == QEvent::PaletteChange) {
+ const QPalette test_palette(qApp->palette());
+ const QString current_theme = UISettings::values.theme;
+ // Keeping eye on QPalette::Window to avoid looping. QPalette::Text might be useful too
+ static QColor last_window_color;
+ const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
+ if (last_window_color != window_color && (current_theme == QStringLiteral("default") ||
+ current_theme == QStringLiteral("colorful"))) {
+ UpdateUITheme();
+ }
+ last_window_color = window_color;
+ }
+#endif // __linux__
+ QWidget::changeEvent(event);
+}
+
#ifdef main
#undef main
#endif
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 23b67a14ed..2d1c8857b4 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -251,6 +251,7 @@ private:
bool ConfirmForceLockedExit();
void RequestGameExit();
void RequestGameResume();
+ void changeEvent(QEvent* event) override;
void closeEvent(QCloseEvent* event) override;
#ifdef __linux__
@@ -392,6 +393,10 @@ private:
QTimer mouse_hide_timer;
QTimer mouse_center_timer;
+ QString startup_icon_theme;
+ bool os_dark_mode = false;
+ bool check_dark_mode();
+
// FS
std::shared_ptr vfs;
std::unique_ptr provider;
From cfbd70d03bebb34b09fef6508e4dc09f2edba38f Mon Sep 17 00:00:00 2001
From: Kyle K <190571+Docteh@users.noreply.github.com>
Date: Fri, 5 Aug 2022 06:57:15 -0700
Subject: [PATCH 2/3] assign colors to default_dark theme
separate commit might be useful later on
---
dist/qt_themes/default_dark/style.qss | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/dist/qt_themes/default_dark/style.qss b/dist/qt_themes/default_dark/style.qss
index 356996357c..ca6daa2d52 100644
--- a/dist/qt_themes/default_dark/style.qss
+++ b/dist/qt_themes/default_dark/style.qss
@@ -14,11 +14,9 @@ QPushButton#TogglableStatusBarButton {
text-align: center;
}
-/*
QPushButton#TogglableStatusBarButton:checked {
- color: #000000;
+ color: palette(text);
}
-*/
QPushButton#TogglableStatusBarButton:hover {
border: 1px solid #76797C;
@@ -41,7 +39,7 @@ QPushButton#RendererStatusBarButton:checked {
}
QPushButton#RendererStatusBarButton:!checked {
- color: #0066ff;
+ color: #00ccdd;
}
QPushButton#GPUStatusBarButton {
@@ -57,16 +55,16 @@ QPushButton#GPUStatusBarButton:hover {
}
QPushButton#GPUStatusBarButton:checked {
- color: #b06020;
+ color: #ff8040;
}
QPushButton#GPUStatusBarButton:!checked {
- color: #109010;
+ color: #40dd40;
}
QPushButton#DockingStatusBarButton {
min-width: 0px;
- /*color: #000000;*/
+ color: palette(text);
border: 1px solid transparent;
background-color: transparent;
padding: 0px 3px 0px 3px;
From d4b1095173cf32dbd9a890b066d991ca795abd80 Mon Sep 17 00:00:00 2001
From: Kyle Kienapfel
Date: Fri, 12 Aug 2022 06:10:18 -0700
Subject: [PATCH 3/3] review pass on CheckDarkMode function
---
src/yuzu/main.cpp | 6 +++---
src/yuzu/main.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index e473ac6da9..5111b0ebaa 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -257,7 +257,7 @@ static QString PrettyProductName() {
return QSysInfo::prettyProductName();
}
-bool GMainWindow::check_dark_mode() {
+bool GMainWindow::CheckDarkMode() {
#ifdef __linux__
const QPalette test_palette(qApp->palette());
const QColor text_color = test_palette.color(QPalette::Active, QPalette::Text);
@@ -287,7 +287,7 @@ GMainWindow::GMainWindow(bool has_broken_vulkan)
statusBar()->hide();
// Check dark mode before a theme is loaded
- os_dark_mode = check_dark_mode();
+ os_dark_mode = CheckDarkMode();
startup_icon_theme = QIcon::themeName();
// fallback can only be set once, colorful theme icons are okay on both light/dark
QIcon::setFallbackThemeName(QStringLiteral("colorful"));
@@ -3979,7 +3979,7 @@ void GMainWindow::UpdateUITheme() {
QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme
: startup_icon_theme);
QIcon::setThemeSearchPaths(theme_paths);
- if (check_dark_mode()) {
+ if (CheckDarkMode()) {
current_theme = QStringLiteral("default_dark");
}
} else {
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 2d1c8857b4..0b25ebe6cc 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -348,6 +348,7 @@ private:
void OpenURL(const QUrl& url);
void LoadTranslation();
void OpenPerGameConfiguration(u64 title_id, const std::string& file_name);
+ bool CheckDarkMode();
QString GetTasStateDescription() const;
@@ -395,7 +396,6 @@ private:
QString startup_icon_theme;
bool os_dark_mode = false;
- bool check_dark_mode();
// FS
std::shared_ptr vfs;