-
Notifications
You must be signed in to change notification settings - Fork 0
/
preferences.cpp
53 lines (46 loc) · 1.86 KB
/
preferences.cpp
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
#include "preferences.h"
#include <QSettings>
#include <QDebug>
#include "Attributes/colorattribute.h"
#include "Attributes/doubleattribute.h"
QMap<QString, Attribute*> Preferences::_attributes;
void Preferences::init()
{
Q_ASSERT(_attributes.isEmpty());
// PreferenceDialog creates a tab widget out of the _attributes.
// _attribute's keys have form Tab.GroupBox.Name where name is replaced with the attributes label.
_attributes.insert("colors.point.active.selected",
new ColorAttribute("Selected: " , QColor(232, 121, 0)));
_attributes.insert("colors.point.active.deselected",
new ColorAttribute("Deselected: ", QColor(80, 60, 45)));
_attributes.insert("colors.point.inactive",
new ColorAttribute("Inactive: ", QColor(100, 90, 80)));
_attributes.insert("colors.spline.active.start",
new ColorAttribute("Start: ", QColor(0, 255, 0)));
_attributes.insert("colors.spline.active.end",
new ColorAttribute("End: ", QColor(0, 255, 255)));
_attributes.insert("colors.spline.inactive",
new ColorAttribute("Inactive: ", QColor(128, 128, 128)));
_attributes.insert("colors.background",
new ColorAttribute("Background: ", QColor(255, 255, 255)));
_attributes.insert("grabber.tolerance.tolerance",
new DoubleAttribute("Tolerance:", 4.0));
}
void Preferences::readSettings()
{
QSettings s;
for (QString key : _attributes.keys()) {
Attribute* a = _attributes[key];
QString code = s.value(key, QVariant()).toString();
if (!code.isEmpty()) {
a->fromString(code);
}
}
}
void Preferences::writeSettings()
{
QSettings s;
for (QString key : _attributes.keys()) {
s.setValue(key, _attributes[key]->toString());
}
}