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