-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathDarkStyle.cpp
More file actions
67 lines (59 loc) · 2.35 KB
/
DarkStyle.cpp
File metadata and controls
67 lines (59 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "DarkStyle.h"
DarkStyle::DarkStyle():
DarkStyle(styleBase())
{ }
DarkStyle::DarkStyle(QStyle *style):
QProxyStyle(style)
{ }
QStyle *DarkStyle::styleBase(QStyle *style) const {
static QStyle *base = !style ? QStyleFactory::create("Fusion") : style;
return base;
}
QStyle *DarkStyle::baseStyle() const
{
return styleBase();
}
void DarkStyle::polish(QPalette &palette)
{
// modify palette to dark
palette.setColor(QPalette::Window,QColor(53,53,53));
palette.setColor(QPalette::WindowText,Qt::white);
palette.setColor(QPalette::Disabled,QPalette::WindowText,QColor(127,127,127));
palette.setColor(QPalette::Base,QColor(42,42,42));
palette.setColor(QPalette::AlternateBase,QColor(66,66,66));
palette.setColor(QPalette::ToolTipBase,Qt::white);
palette.setColor(QPalette::ToolTipText,Qt::white);
palette.setColor(QPalette::Text,Qt::white);
palette.setColor(QPalette::Disabled,QPalette::Text,QColor(127,127,127));
palette.setColor(QPalette::Dark,QColor(35,35,35));
palette.setColor(QPalette::Shadow,QColor(20,20,20));
palette.setColor(QPalette::Button,QColor(30,30,30));
palette.setColor(QPalette::ButtonText,Qt::white);
palette.setColor(QPalette::Disabled,QPalette::ButtonText,QColor(127,127,127));
palette.setColor(QPalette::BrightText,Qt::red);
palette.setColor(QPalette::Link,QColor(42,130,218));
palette.setColor(QPalette::Highlight,QColor(42,130,218));
palette.setColor(QPalette::Disabled,QPalette::Highlight,QColor(80,80,80));
palette.setColor(QPalette::HighlightedText,Qt::white);
palette.setColor(QPalette::Disabled,QPalette::HighlightedText,QColor(127,127,127));
}
void DarkStyle::polish(QApplication *app)
{
if (!app) return;
// increase font size for better reading,
// setPointSize was reduced from +2 because when applied this way in Qt5, the font is larger than intended for some reason
#ifndef unix
QFont defaultFont = QApplication::font();
defaultFont.setPointSize(defaultFont.pointSize()+1);
app->setFont(defaultFont);
#endif
// loadstylesheet
QFile qfDarkstyle(QString(":/darkstyle/darkstyle.qss"));
if (qfDarkstyle.open(QIODevice::ReadOnly | QIODevice::Text))
{
// set stylesheet
QString qsStylesheet = QString(qfDarkstyle.readAll());
app->setStyleSheet(qsStylesheet);
qfDarkstyle.close();
}
}