-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathXAppConfiguration.cpp
More file actions
81 lines (61 loc) · 2.49 KB
/
Copy pathXAppConfiguration.cpp
File metadata and controls
81 lines (61 loc) · 2.49 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "XAppConfiguration.h"
//std::unique_ptr<XAppConfiguration> m_config(new XAppConfiguration);
std::unique_ptr<XAppConfiguration> m_config;
XAppConfiguration::XAppConfiguration(QObject *parent) : QObject(parent)
{
}
void XAppConfiguration::initializing()
{
QVariantMap configuration;
configuration.insert("______TORALINA______", "");
configuration.insert("____DONT_EDIT_IT____", "");
// ### Account Profile Info...
configuration.insert("LOGIN/m_username", "");
configuration.insert("LOGIN/m_announcement_interval", 4000);
// ### Network Info...
configuration.insert("NETWORK/m_url", "");
configuration.insert("NETWORK/m_timeout", "");
configuration.insert("NETWORK/m_useragent", "");
// ### App UI Info...
configuration.insert("UI/m_fontFamily", "IRANSANS");
configuration.insert("UI/m_notificationVolume", 20);
//==============================================================================
std::function<void()> func_create_configuraion = [&]()
{
QSettings m_config(m_file->app_data("Configuration.ini"), QSettings::Format::IniFormat);
for(int index = 0; index < configuration.keys().size(); index++)
m_config.setValue(configuration.keys().at(index), configuration[configuration.keys().at(index)]);
};
if(!QFile::exists(m_file->app_data("Configuration.ini")))
{
LOG("making Configuration.ini...");
func_create_configuraion();
initializing();
LOG("Configuration.ini created.");
return;
}
// ### checking config file is our last updating file or no
QSettings m_config(m_file->app_data("Configuration.ini"), QSettings::Format::IniFormat);
for(int index = 0; index < configuration.keys().size(); index++)
if(!m_config.allKeys().contains(configuration.keys().at(index))) {
qDebug() << QString("cant find '%1' into m_config").arg(configuration.keys().at(index));
func_create_configuraion();
}
return;
}
QVariant XAppConfiguration::get(QString m_key)
{
QSettings m_config(m_file->app_data("Configuration.ini"), QSettings::Format::IniFormat);
return m_config.value(m_key);
}
QString XAppConfiguration::getFont(QString m_famylyFontName)
{
return QString("%1 %2").arg(get("UI/m_fontFamily").toString()).arg(m_famylyFontName);;
}
void XAppConfiguration::update(QString m_key, QVariant m_value)
{
LOG(QString("key: %1 value: %2 Value Changed to: %3").arg(m_key).arg(get(m_key).toString()).arg(m_value.toString()));
QSettings m_config(m_file->app_data("Configuration.ini"), QSettings::Format::IniFormat);
m_config.setValue(m_key, m_value);
emit changed();
}