QuasarAppLib
1.0.530.c9fba11
Toggle main menu visibility
settings.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2021-2026 QuasarApp.
3
* Distributed under the lgplv3 software license, see the accompanying
4
* Everyone is permitted to copy and distribute verbatim copies
5
* of this license document, but changing it is not allowed.
6
*/
7
8
9
#include "
settings.h
"
10
#include <QSettings>
11
#include <QCoreApplication>
12
#include <QDebug>
13
14
namespace
QuasarAppUtils
{
15
16
Settings::Settings
(QSettings::Format format) {
17
auto
name = QCoreApplication::applicationName();
18
auto
company = QCoreApplication::organizationName();
19
if
(name.isEmpty()) {
20
name =
"QuasarAppUtils"
;
21
}
22
23
if
(company.isEmpty()) {
24
company =
"QuasarApp"
;
25
}
26
27
_settings =
new
QSettings(format, QSettings::Scope::UserScope, company, name);
28
}
29
30
void
Settings::syncImplementation
() {
31
return
_settings->sync();
32
}
33
34
QVariant
Settings::getValueImplementation
(
const
QString &key,
const
QVariant &def) {
35
if
(
isBool
(key)) {
36
return
_settings->value(key, def).toBool();
37
}
38
39
return
_settings->value(key, def);
40
}
41
42
void
Settings::setValueImplementation
(
const
QString key,
const
QVariant &value) {
43
return
_settings->setValue(key, value);
44
}
45
46
bool
Settings::ignoreToRest
(
const
QString &)
const
{
47
return
false
;
48
}
49
50
QHash<QString, QVariant>
Settings::defaultSettings
() {
51
return
{};
52
}
53
54
bool
Settings::isBool
(
const
QString &)
const
{
55
return
false
;
56
}
57
58
const
QSet<QString> &
Settings::boolOptions
()
const
59
{
60
return
_boolOptions;
61
}
62
63
void
Settings::setBoolOptions
(
const
QSet<QString> &newBoolOptions)
64
{
65
_boolOptions = newBoolOptions;
66
}
67
68
bool
Settings::initService
() {
69
return
ISettings::initService
(std::make_unique<Settings>());
70
}
71
72
ISettings
*
Settings::autoInstance
() {
73
if
(
auto
result =
instance
()) {
74
return
result;
75
}
76
77
Settings::initService
();
78
return
ISettings::instance
();
79
}
80
81
}
QuasarAppUtils::ISettings::instance
static ISettings * instance()
instance This method returns pointer to current settings object.
Definition
isettings.cpp:43
QuasarAppUtils::ISettings::ISettings
ISettings(SettingsSaveMode mode=SettingsSaveMode::Auto)
Definition
isettings.cpp:15
QuasarAppUtils::Service< ISettings >::initService
static std::unique_ptr< ISettings > & initService()
Definition
qaservice.h:85
QuasarAppUtils::Settings::ignoreToRest
bool ignoreToRest(const QString &) const override
ignoreToRest This method checks if the key is a boolean option.
Definition
settings.cpp:46
QuasarAppUtils::Settings::boolOptions
const QSet< QString > & boolOptions() const
boolOptions returns current map with keys that has a bool type.
Definition
settings.cpp:58
QuasarAppUtils::Settings::Settings
Settings(QSettings::Format format=QSettings::IniFormat)
Settings This is the main constructor of the Settings object.
Definition
settings.cpp:16
QuasarAppUtils::Settings::initService
static bool initService()
initService This method initialize default object of the QuasarAppUtils::Settings type.
Definition
settings.cpp:68
QuasarAppUtils::Settings::getValueImplementation
QVariant getValueImplementation(const QString &key, const QVariant &def) override
getValueImplementation This method returns the value of the key setting from the QSettings backend.
Definition
settings.cpp:34
QuasarAppUtils::Settings::isBool
virtual bool isBool(const QString &key) const
isBool This method should be return true if the key's type is bool. This is needed because QVariant w...
Definition
settings.cpp:54
QuasarAppUtils::Settings::defaultSettings
QHash< QString, QVariant > defaultSettings() override
defaultSettings This method returns the default map of the settings and their values....
Definition
settings.cpp:50
QuasarAppUtils::Settings::setBoolOptions
void setBoolOptions(const QSet< QString > &newBoolOptions)
setBoolOptions This method sets new map of the boolean options.
Definition
settings.cpp:63
QuasarAppUtils::Settings::autoInstance
static ISettings * autoInstance()
autoInstance This method returns the default object of the QuasarAppUtils::Settings type and if it wa...
Definition
settings.cpp:72
QuasarAppUtils::Settings::setValueImplementation
void setValueImplementation(const QString key, const QVariant &value) override
setValueImplementation This method sets a new value for the key setting in the QSettings backend.
Definition
settings.cpp:42
QuasarAppUtils::Settings::syncImplementation
void syncImplementation() override
syncImplementation This method saves all settings data to the hard disk. This is the QSettings based ...
Definition
settings.cpp:30
QuasarAppUtils
The QuasarAppUtils namespace contains the base functions for all applications of the QuasarApp group....
Definition
crc32constexper.h:16
settings.h
settings.cpp
Generated by
1.18.0