DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SchemaStyle.cpp
Go to the documentation of this file.
1#include "dbe/SchemaStyle.hpp"
2
3#include <QColor>
4#include <QColorDialog>
5#include <QFontDialog>
6#include <QSettings>
7
8namespace dbse {
9
10void
12{
13 QSettings settings;
14
15 settings.beginGroup("default");
16 if (!settings.contains("background")) {
17 QColor color = Qt::white;
18 settings.setValue("background", color);
19 }
20 if (!settings.contains("foreground")) {
21 QColor color = Qt::black;
22 settings.setValue("foreground", color);
23 }
24 settings.endGroup();
25
26 settings.beginGroup("active_file");
27 if (!settings.contains("background")) {
28 QColor color = Qt::white;
29 settings.setValue("background", color);
30 }
31 if (!settings.contains("foreground")) {
32 QColor color = Qt::blue;
33 settings.setValue("foreground", color);
34 }
35 settings.endGroup();
36
37 settings.beginGroup("highlight");
38 if (!settings.contains("background")) {
39 QColor color = Qt::white;
40 settings.setValue("background", color);
41 }
42 if (!settings.contains("foreground")) {
43 QColor color = Qt::magenta;
44 settings.setValue("foreground", color);
45 }
46 settings.endGroup();
47
48 settings.beginGroup("inherited");
49 if (!settings.contains("background")) {
50 QColor color = Qt::white;
51 settings.setValue("background", color);
52 }
53 if (!settings.contains("foreground")) {
54 QColor color{ 0x804040 };
55 settings.setValue("foreground", color);
56 }
57 settings.endGroup();
58
59 settings.beginGroup("readonly");
60 if (!settings.contains("background")) {
61 QColor color = Qt::gray;
62 settings.setValue("background", color);
63 }
64 if (!settings.contains("foreground")) {
65 QColor color = Qt::darkRed;
66 settings.setValue("foreground", color);
67 }
68 settings.endGroup();
69
70 settings.beginGroup("error");
71 if (!settings.contains("background")) {
72 QColor color = Qt::white;
73 settings.setValue("background", color);
74 }
75 if (!settings.contains("foreground")) {
76 QColor color = Qt::red;
77 settings.setValue("foreground", color);
78 }
79 settings.endGroup();
80
81 settings.beginGroup("note");
82 if (!settings.contains("background")) {
83 QColor color{ 0xfff0ff };
84 settings.setValue("background", color);
85 }
86 if (!settings.contains("foreground")) {
87 QColor color = Qt::black;
88 settings.setValue("foreground", color);
89 }
90 settings.endGroup();
91
92 settings.beginGroup("line");
93 if (!settings.contains("background")) {
94 QColor color = Qt::black;
95 settings.setValue("background", color);
96 }
97 if (!settings.contains("foreground")) {
98 QColor color = Qt::black;
99 settings.setValue("foreground", color);
100 }
101 settings.endGroup();
102}
103
104QColor
105SchemaStyle::get_color(const QString& item, const QString& group)
106{
107 QSettings settings;
108 return settings.value(group + "/" + item).value<QColor>();
109}
110
111QColor
112SchemaStyle::set_color(const QString& item, const QString& group)
113{
114 QSettings settings;
115 settings.beginGroup(group);
116 auto color = settings.value(item).value<QColor>();
117
118 color = QColorDialog::getColor(color, nullptr, QString("Set " + item + " color for " + group));
119
120 if (color.isValid()) {
121 settings.setValue(item, color);
122 }
123 return color;
124}
125
126QFont
127SchemaStyle::get_font(const QString& group)
128{
129 QSettings settings;
130 QString key{ group + "/font" };
131 if (settings.contains(key)) {
132 return settings.value(key).value<QFont>();
133 }
134 return QFont("Helvetica [Cronyx]", 9);
135}
136
137QFont
138SchemaStyle::set_font(const QString& group)
139{
140 QFont font = QFontDialog::getFont(nullptr, get_font(group), nullptr, QString("Select " + group + " font"));
141 QSettings settings;
142 settings.beginGroup(group);
143 settings.setValue("font", font);
144 return font;
145}
146
147} // namespace dbse
Including QT Headers.
static QColor set_color(const QString &item, const QString &group)
static QColor get_color(const QString &item, const QString &group)
static QFont get_font(const QString &group)
static QFont set_font(const QString &group)
static void load()