From c9b90655bd85d7134654fbe0535ce14293ed850b Mon Sep 17 00:00:00 2001 From: BearOso Date: Mon, 13 May 2024 13:58:31 -0500 Subject: [PATCH] Qt/Windows: Match system color scheme. Use windowsvista style for light, dark fusion scheme for dark. --- qt/src/main.cpp | 60 ++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/qt/src/main.cpp b/qt/src/main.cpp index b3b68139..58d459c9 100644 --- a/qt/src/main.cpp +++ b/qt/src/main.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #ifndef _WIN32 #include @@ -28,35 +29,42 @@ int main(int argc, char *argv[]) if (emu.qtapp->platformName() == "windows") { - emu.qtapp->setStyle("fusion"); + if (emu.qtapp->styleHints()->colorScheme() == Qt::ColorScheme::Dark) + { + emu.qtapp->setStyle("fusion"); - const QColor darkGray(53, 53, 53); - const QColor gray(128, 128, 128); - const QColor black(25, 25, 25); - const QColor blue(198, 238, 255); - const QColor blue2(0, 88, 208); + const QColor darkGray(53, 53, 53); + const QColor gray(128, 128, 128); + const QColor black(25, 25, 25); + const QColor blue(198, 238, 255); + const QColor blue2(0, 88, 208); - QPalette darkPalette; - darkPalette.setColor(QPalette::Window, darkGray); - darkPalette.setColor(QPalette::WindowText, Qt::white); - darkPalette.setColor(QPalette::Base, black); - darkPalette.setColor(QPalette::AlternateBase, darkGray); - darkPalette.setColor(QPalette::ToolTipBase, blue2); - darkPalette.setColor(QPalette::ToolTipText, Qt::white); - darkPalette.setColor(QPalette::Text, Qt::white); - darkPalette.setColor(QPalette::Button, darkGray); - darkPalette.setColor(QPalette::ButtonText, Qt::white); - darkPalette.setColor(QPalette::Link, blue); - darkPalette.setColor(QPalette::Highlight, blue2); - darkPalette.setColor(QPalette::HighlightedText, Qt::white); - darkPalette.setColor(QPalette::PlaceholderText, QColor(Qt::white).darker()); + QPalette darkPalette; + darkPalette.setColor(QPalette::Window, darkGray); + darkPalette.setColor(QPalette::WindowText, Qt::white); + darkPalette.setColor(QPalette::Base, black); + darkPalette.setColor(QPalette::AlternateBase, darkGray); + darkPalette.setColor(QPalette::ToolTipBase, blue2); + darkPalette.setColor(QPalette::ToolTipText, Qt::white); + darkPalette.setColor(QPalette::Text, Qt::white); + darkPalette.setColor(QPalette::Button, darkGray); + darkPalette.setColor(QPalette::ButtonText, Qt::white); + darkPalette.setColor(QPalette::Link, blue); + darkPalette.setColor(QPalette::Highlight, blue2); + darkPalette.setColor(QPalette::HighlightedText, Qt::white); + darkPalette.setColor(QPalette::PlaceholderText, QColor(Qt::white).darker()); - darkPalette.setColor(QPalette::Active, QPalette::Button, darkGray); - darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, gray); - darkPalette.setColor(QPalette::Disabled, QPalette::WindowText, gray); - darkPalette.setColor(QPalette::Disabled, QPalette::Text, gray); - darkPalette.setColor(QPalette::Disabled, QPalette::Light, darkGray); - emu.qtapp->setPalette(darkPalette); + darkPalette.setColor(QPalette::Active, QPalette::Button, darkGray); + darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, gray); + darkPalette.setColor(QPalette::Disabled, QPalette::WindowText, gray); + darkPalette.setColor(QPalette::Disabled, QPalette::Text, gray); + darkPalette.setColor(QPalette::Disabled, QPalette::Light, darkGray); + emu.qtapp->setPalette(darkPalette); + } + else + { + emu.qtapp->setStyle("windowsvista"); + } } #ifndef _WIN32