|
| 1 | +#pragma once |
| 2 | +#include <QPalette> |
| 3 | +#include <QSettings> |
| 4 | + |
| 5 | +bool isWindowsDarkThemeEnabled() { |
| 6 | + QSettings settings( |
| 7 | + "HKEY_CURRENT_" |
| 8 | + "USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", |
| 9 | + QSettings::NativeFormat); |
| 10 | + |
| 11 | + return settings.value("AppsUseLightTheme") == 0; |
| 12 | +} |
| 13 | + |
| 14 | +QPalette createDarkModePalette() { |
| 15 | + |
| 16 | + QColor base = QColor(30, 30, 30); |
| 17 | + QColor alt = QColor(50, 50, 50); |
| 18 | + QColor text = QColor(223, 223, 223); |
| 19 | + QColor disabledColor = QColor(127, 127, 127); |
| 20 | + |
| 21 | + QPalette p(alt, base); |
| 22 | + |
| 23 | + p.setColor(QPalette::Light, QColor(76,76,76)); |
| 24 | + p.setColor(QPalette::Midlight, QColor(76,76,76)); |
| 25 | + p.setColor(QPalette::Mid, QColor(66,66,66)); |
| 26 | + p.setColor(QPalette::Window, base); |
| 27 | + p.setColor(QPalette::WindowText, text); |
| 28 | + p.setColor(QPalette::Base, base); |
| 29 | + p.setColor(QPalette::AlternateBase, alt); |
| 30 | + p.setColor(QPalette::ToolTipBase, alt); |
| 31 | + p.setColor(QPalette::ToolTipText, Qt::white); |
| 32 | + p.setColor(QPalette::Text, text); |
| 33 | + p.setColor(QPalette::Disabled, QPalette::Text, disabledColor); |
| 34 | + p.setColor(QPalette::Button, alt); |
| 35 | + p.setColor(QPalette::ButtonText, text); |
| 36 | + p.setColor(QPalette::Disabled, QPalette::ButtonText, disabledColor); |
| 37 | + p.setColor(QPalette::BrightText, text.lighter(80)); |
| 38 | + p.setColor(QPalette::Link, QColor(42, 130, 218)); |
| 39 | + p.setColor(QPalette::Highlight, QColor(42, 130, 218)); |
| 40 | + p.setColor(QPalette::HighlightedText, Qt::black); |
| 41 | + p.setColor(QPalette::Disabled, QPalette::HighlightedText, disabledColor); |
| 42 | + |
| 43 | + p.setBrush(QPalette::Active, QPalette::Highlight, QColor(42, 130, 218)); |
| 44 | + p.setBrush(QPalette::Inactive, QPalette::Highlight, QColor(42, 130, 218)); |
| 45 | + |
| 46 | + return p; |
| 47 | +} |
0 commit comments