Falkon Develop
Cross-platform Qt-based web browser
settings.cpp
Go to the documentation of this file.
1/* ============================================================
2* Falkon - Qt web browser
3* Copyright (C) 2010-2018 David Rosca <nowrep@gmail.com>
4*
5* This program is free software: you can redistribute it and/or modify
6* it under the terms of the GNU General Public License as published by
7* the Free Software Foundation, either version 3 of the License, or
8* (at your option) any later version.
9*
10* This program is distributed in the hope that it will be useful,
11* but WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13* GNU General Public License for more details.
14*
15* You should have received a copy of the GNU General Public License
16* along with this program. If not, see <http://www.gnu.org/licenses/>.
17* ============================================================ */
18#include "settings.h"
19#include "qzsettings.h"
20
21#include <QSettings>
22
23QSettings* Settings::s_settings = nullptr;
24QzSettings* Settings::s_qzSettings = nullptr;
25
27{
28 // Save currently opened group
29 if (!s_settings->group().isEmpty()) {
30 m_openedGroup = s_settings->group();
31 s_settings->endGroup();
32 }
33}
34
35void Settings::createSettings(const QString &fileName)
36{
37 s_settings = new QSettings(fileName, QSettings::IniFormat);
38 s_qzSettings = new QzSettings();
39}
40
42{
43 if (!s_settings)
44 return;
45
46 s_settings->sync();
47}
48
49QStringList Settings::childKeys() const
50{
51 return s_settings->childKeys();
52}
53
54QStringList Settings::childGroups() const
55{
56 return s_settings->childGroups();
57}
58
59bool Settings::contains(const QString &key) const
60{
61 return s_settings->contains(key);
62}
63
64void Settings::remove(const QString &key)
65{
66 s_settings->remove(key);
67}
68
69void Settings::setValue(const QString &key, const QVariant &defaultValue)
70{
71 s_settings->setValue(key, defaultValue);
72}
73
74QVariant Settings::value(const QString &key, const QVariant &defaultValue)
75{
76 return s_settings->value(key, defaultValue);
77}
78
79void Settings::beginGroup(const QString &prefix)
80{
81 s_settings->beginGroup(prefix);
82}
83
85{
86 s_settings->endGroup();
87}
88
90{
91 s_settings->sync();
92}
93
95{
96 return s_settings;
97}
98
100{
101 return s_qzSettings;
102}
103
105{
106 if (!s_settings->group().isEmpty()) {
107 qDebug() << "Settings: Deleting object with opened group!";
108 s_settings->endGroup();
109 }
110
111 // Restore opened group
112 if (!m_openedGroup.isEmpty())
113 s_settings->beginGroup(m_openedGroup);
114}
QStringList childGroups() const
Definition: settings.cpp:54
void beginGroup(const QString &prefix)
Definition: settings.cpp:79
static QSettings * globalSettings()
Definition: settings.cpp:94
void endGroup()
Definition: settings.cpp:84
void remove(const QString &key)
Definition: settings.cpp:64
static QzSettings * staticSettings()
Definition: settings.cpp:99
QStringList childKeys() const
Definition: settings.cpp:49
bool contains(const QString &key) const
Definition: settings.cpp:59
Settings()
Definition: settings.cpp:26
QVariant value(const QString &key, const QVariant &defaultValue=QVariant())
Definition: settings.cpp:74
void setValue(const QString &key, const QVariant &defaultValue=QVariant())
Definition: settings.cpp:69
void sync()
Definition: settings.cpp:89
static void createSettings(const QString &fileName)
Definition: settings.cpp:35
static void syncSettings()
Definition: settings.cpp:41