/* * Copyright (C) 2020 KeePassXC Team * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 or (at your option) * version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "LightStyle.h" #include "gui/ApplicationSettingsWidget.h" #include "gui/osutils/OSUtils.h" #include #include #include #include void LightStyle::polish(QPalette& palette) { palette.setColor(QPalette::Active, QPalette::Window, QStringLiteral("#F7F7F7")); palette.setColor(QPalette::Inactive, QPalette::Window, QStringLiteral("#FCFCFC")); palette.setColor(QPalette::Disabled, QPalette::Window, QStringLiteral("#EDEDED")); palette.setColor(QPalette::Active, QPalette::WindowText, QStringLiteral("#1D1D20")); palette.setColor(QPalette::Inactive, QPalette::WindowText, QStringLiteral("#252528")); palette.setColor(QPalette::Disabled, QPalette::WindowText, QStringLiteral("#8C8C92")); palette.setColor(QPalette::Active, QPalette::Text, QStringLiteral("#1D1D20")); palette.setColor(QPalette::Inactive, QPalette::Text, QStringLiteral("#252528")); palette.setColor(QPalette::Disabled, QPalette::Text, QStringLiteral("#8C8C92")); #if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)) palette.setColor(QPalette::Active, QPalette::PlaceholderText, QStringLiteral("#71727D")); palette.setColor(QPalette::Inactive, QPalette::PlaceholderText, QStringLiteral("#878893")); palette.setColor(QPalette::Disabled, QPalette::PlaceholderText, QStringLiteral("#A3A4AC")); #endif palette.setColor(QPalette::Active, QPalette::BrightText, QStringLiteral("#F3F3F4")); palette.setColor(QPalette::Inactive, QPalette::BrightText, QStringLiteral("#EAEAEB")); palette.setColor(QPalette::Disabled, QPalette::BrightText, QStringLiteral("#E4E5E7")); palette.setColor(QPalette::Active, QPalette::Base, QStringLiteral("#F9F9F9")); palette.setColor(QPalette::Inactive, QPalette::Base, QStringLiteral("#FCFCFC")); palette.setColor(QPalette::Disabled, QPalette::Base, QStringLiteral("#EFEFF2")); palette.setColor(QPalette::Active, QPalette::AlternateBase, QStringLiteral("#ECF3E8")); palette.setColor(QPalette::Inactive, QPalette::AlternateBase, QStringLiteral("#F1F6EE")); palette.setColor(QPalette::Disabled, QPalette::AlternateBase, QStringLiteral("#E1E9DD")); palette.setColor(QPalette::All, QPalette::ToolTipBase, QStringLiteral("#4D7F1A")); palette.setColor(QPalette::All, QPalette::ToolTipText, QStringLiteral("#F9F9F9")); palette.setColor(QPalette::Active, QPalette::Button, QStringLiteral("#D4D5DD")); palette.setColor(QPalette::Inactive, QPalette::Button, QStringLiteral("#DCDCE0")); palette.setColor(QPalette::Disabled, QPalette::Button, QStringLiteral("#E5E5E6")); palette.setColor(QPalette::Active, QPalette::ButtonText, QStringLiteral("#181A18")); palette.setColor(QPalette::Inactive, QPalette::ButtonText, QStringLiteral("#454A54")); palette.setColor(QPalette::Disabled, QPalette::ButtonText, QStringLiteral("#97979B")); palette.setColor(QPalette::Active, QPalette::Highlight, QStringLiteral("#507F1F")); palette.setColor(QPalette::Inactive, QPalette::Highlight, QStringLiteral("#A6BE8E")); palette.setColor(QPalette::Disabled, QPalette::Highlight, QStringLiteral("#C3D5B4")); palette.setColor(QPalette::Active, QPalette::HighlightedText, QStringLiteral("#FFFFFF")); palette.setColor(QPalette::Inactive, QPalette::HighlightedText, QStringLiteral("#252528")); palette.setColor(QPalette::Disabled, QPalette::HighlightedText, QStringLiteral("#8C8C92")); palette.setColor(QPalette::All, QPalette::Light, QStringLiteral("#F9F9F9")); palette.setColor(QPalette::All, QPalette::Midlight, QStringLiteral("#E9E9EB")); palette.setColor(QPalette::All, QPalette::Mid, QStringLiteral("#C9C9CF")); palette.setColor(QPalette::All, QPalette::Dark, QStringLiteral("#BBBBC2")); palette.setColor(QPalette::All, QPalette::Shadow, QStringLiteral("#6C6D79")); palette.setColor(QPalette::All, QPalette::Link, QStringLiteral("#4B7B19")); palette.setColor(QPalette::Disabled, QPalette::Link, QStringLiteral("#4F6935")); palette.setColor(QPalette::All, QPalette::LinkVisited, QStringLiteral("#507826")); palette.setColor(QPalette::Disabled, QPalette::LinkVisited, QStringLiteral("#506935")); } QString LightStyle::getAppStyleSheet() const { QFile extStylesheetFile(QStringLiteral(":/styles/light/lightstyle.qss")); if (extStylesheetFile.open(QIODevice::ReadOnly | QIODevice::Text)) { return extStylesheetFile.readAll(); } qWarning("Failed to load light theme stylesheet."); return {}; } void LightStyle::polish(QWidget* widget) { if (qobject_cast(widget) || qobject_cast(widget) || qobject_cast(widget) || qobject_cast(widget)) { auto palette = widget->palette(); #if defined(Q_OS_MACOS) if (!osUtils->isDarkMode()) { // Let the Cocoa platform plugin draw its own background palette.setColor(QPalette::All, QPalette::Window, Qt::transparent); } else { palette.setColor(QPalette::Active, QPalette::Window, QStringLiteral("#D6D6D6")); palette.setColor(QPalette::Inactive, QPalette::Window, QStringLiteral("#F6F6F6")); palette.setColor(QPalette::Disabled, QPalette::Window, QStringLiteral("#D4D4D4")); } #elif defined(Q_OS_WIN) palette.setColor(QPalette::All, QPalette::Window, QStringLiteral("#FFFFFF")); #else palette.setColor(QPalette::Active, QPalette::Window, QStringLiteral("#EFF0F1")); palette.setColor(QPalette::Inactive, QPalette::Window, QStringLiteral("#EFF0F1")); palette.setColor(QPalette::Disabled, QPalette::Window, QStringLiteral("#E1E2E4")); #endif widget->setPalette(palette); } }