2016-12-30 19:16:48 +01:00
|
|
|
#include "colorscheme.h"
|
2017-01-11 18:52:09 +01:00
|
|
|
#include "QColor"
|
2016-12-30 19:16:48 +01:00
|
|
|
|
2016-12-30 19:20:04 +01:00
|
|
|
// hue: theme color (0 - 1)
|
|
|
|
// multiplyer: 1 = white, 0.8 = light, -0.8 dark, -1 black
|
2017-01-11 18:52:09 +01:00
|
|
|
void
|
|
|
|
ColorScheme::setColors(float hue, float multiplyer)
|
2016-12-30 19:16:48 +01:00
|
|
|
{
|
2016-12-30 19:20:04 +01:00
|
|
|
IsLightTheme = multiplyer > 0;
|
2016-12-30 19:16:48 +01:00
|
|
|
|
2017-01-05 16:07:20 +01:00
|
|
|
SystemMessageColor = QColor(140, 127, 127);
|
|
|
|
|
2016-12-30 20:41:24 +01:00
|
|
|
auto isLightTheme = IsLightTheme;
|
|
|
|
|
2017-01-11 18:52:09 +01:00
|
|
|
auto getColor = [isLightTheme, multiplyer](qreal h, qreal s, qreal l,
|
|
|
|
qreal a = 1.0) {
|
2017-01-01 02:30:42 +01:00
|
|
|
return QColor::fromHslF(h, s, (((l - 0.5) * multiplyer) + 0.5), a);
|
2016-12-30 19:20:04 +01:00
|
|
|
};
|
|
|
|
|
2017-01-01 02:30:42 +01:00
|
|
|
DropPreviewBackground = getColor(hue, 0.5, 0.5, 0.3);
|
|
|
|
|
2017-01-01 13:07:36 +01:00
|
|
|
Text = TextCaret = IsLightTheme ? QColor(0, 0, 0) : QColor(255, 255, 255);
|
2016-12-30 19:20:04 +01:00
|
|
|
|
2017-01-01 02:30:42 +01:00
|
|
|
// tab
|
|
|
|
TabPanelBackground = QColor(255, 255, 255);
|
|
|
|
TabBackground = QColor(255, 255, 255);
|
|
|
|
TabHoverBackground = getColor(hue, 0, 0.05);
|
|
|
|
TabSelectedBackground = getColor(hue, 0.5, 0.5);
|
|
|
|
TabHighlightedBackground = getColor(hue, 0.5, 0.2);
|
2017-01-11 18:52:09 +01:00
|
|
|
TabNewMessageBackground =
|
|
|
|
QBrush(getColor(hue, 0.5, 0.2), Qt::DiagCrossPattern);
|
2017-01-01 02:30:42 +01:00
|
|
|
TabText = QColor(0, 0, 0);
|
|
|
|
TabHoverText = QColor(0, 0, 0);
|
|
|
|
TabSelectedText = QColor(255, 255, 255);
|
|
|
|
TabHighlightedText = QColor(0, 0, 0);
|
|
|
|
|
|
|
|
// Chat
|
|
|
|
ChatBackground = getColor(0, 0.1, 1);
|
|
|
|
ChatHeaderBackground = getColor(0, 0.1, 0.9);
|
|
|
|
ChatHeaderBorder = getColor(0, 0.1, 0.85);
|
|
|
|
ChatInputBackground = getColor(0, 0.1, 0.95);
|
|
|
|
ChatInputBorder = getColor(0, 0.1, 0.9);
|
2016-12-30 19:16:48 +01:00
|
|
|
}
|