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