mirror of
https://github.com/feather-wallet/feather.git
synced 2025-01-10 21:05:00 +00:00
40 lines
No EOL
1.5 KiB
C++
40 lines
No EOL
1.5 KiB
C++
// SPDX-License-Identifier: BSD-3-Clause
|
|
// Copyright (c) 2020-2021, The Monero Project.
|
|
// Copyright (c) 2012 thomasv@gitorious
|
|
|
|
#include "ColorScheme.h"
|
|
#include <QDebug>
|
|
|
|
bool ColorScheme::darkScheme = false;
|
|
ColorSchemeItem ColorScheme::GREEN = ColorSchemeItem("#117c11", "#8af296");
|
|
ColorSchemeItem ColorScheme::YELLOW = ColorSchemeItem("#897b2a", "#ffff00");
|
|
ColorSchemeItem ColorScheme::RED = ColorSchemeItem("#7c1111", "#f18c8c");
|
|
ColorSchemeItem ColorScheme::BLUE = ColorSchemeItem("#123b7c", "#8cb3f2");
|
|
ColorSchemeItem ColorScheme::DEFAULT = ColorSchemeItem("black", "white");
|
|
ColorSchemeItem ColorScheme::GRAY = ColorSchemeItem("gray", "gray");
|
|
|
|
bool ColorScheme::hasDarkBackground(QWidget *widget) {
|
|
int r, g, b;
|
|
widget->palette().color(QPalette::Background).getRgb(&r, &g, &b);
|
|
auto brightness = r + g + b;
|
|
return brightness < (255*3/2);
|
|
}
|
|
|
|
void ColorScheme::updateFromWidget(QWidget *widget, bool forceDark) {
|
|
darkScheme = forceDark || ColorScheme::hasDarkBackground(widget);
|
|
}
|
|
|
|
QString ColorSchemeItem::asStylesheet(bool background) {
|
|
auto cssPrefix = background ? "background-" : "";
|
|
auto color = this->getColor(background);
|
|
return QString("QWidget { %1color : %2; }").arg(cssPrefix, color);
|
|
}
|
|
|
|
QColor ColorSchemeItem::asColor(bool background) {
|
|
auto color = this->getColor(background);
|
|
return QColor(color);
|
|
}
|
|
|
|
QString ColorSchemeItem::getColor(bool background) {
|
|
return m_colors[(int(background) + int(ColorScheme::darkScheme)) % 2];
|
|
} |