1 #include "settingsmanager.h"
2 
SettingsManager(QString settingPath,QObject * parent)3 SettingsManager::SettingsManager(QString settingPath, QObject *parent)
4     : QObject(parent), settings(settingPath, QSettings::IniFormat)
5 {
6 }
7 
setValue(QVariant value,QString name,QString group,QString subGroup)8 void SettingsManager::setValue(QVariant value, QString name, QString group, QString subGroup)
9 {
10     if (!group.isEmpty()) {
11         settings.beginGroup(group);
12     }
13 
14     if (!subGroup.isEmpty()) {
15         settings.beginGroup(subGroup);
16     }
17 
18     settings.setValue(name, value);
19 
20     if (!subGroup.isEmpty()) {
21         settings.endGroup();
22     }
23 
24     if (!group.isEmpty()) {
25         settings.endGroup();
26     }
27 }
28 
deleteValue(QString name,QString group,QString subGroup)29 void SettingsManager::deleteValue(QString name, QString group, QString subGroup)
30 {
31     if (!group.isEmpty()) {
32         settings.beginGroup(group);
33     }
34 
35     if (!subGroup.isEmpty()) {
36         settings.beginGroup(subGroup);
37     }
38 
39     settings.remove(name);
40 
41     if (!subGroup.isEmpty()) {
42         settings.endGroup();
43     }
44 
45     if (!group.isEmpty()) {
46         settings.endGroup();
47     }
48 }
49 
getValue(QString name,QString group,QString subGroup)50 QVariant SettingsManager::getValue(QString name, QString group, QString subGroup)
51 {
52     if (!group.isEmpty()) {
53         settings.beginGroup(group);
54     }
55 
56     if (!subGroup.isEmpty()) {
57         settings.beginGroup(subGroup);
58     }
59 
60     QVariant value = settings.value(name);
61 
62     if (!subGroup.isEmpty()) {
63         settings.endGroup();
64     }
65 
66     if (!group.isEmpty()) {
67         settings.endGroup();
68     }
69 
70     return value;
71 }
72