24
24
#include < QDir>
25
25
#include < QSettings>
26
26
27
- OptionsQmlModel::OptionsQmlModel (interfaces::Node& node)
27
+ OptionsQmlModel::OptionsQmlModel (interfaces::Node& node, bool is_onboarded )
28
28
: m_node{node}
29
+ , m_onboarded{is_onboarded}
29
30
{
30
31
m_dbcache_size_mib = SettingToInt (m_node.getPersistentSetting (" dbcache" ), nDefaultDbCache);
31
32
@@ -48,7 +49,9 @@ void OptionsQmlModel::setDbcacheSizeMiB(int new_dbcache_size_mib)
48
49
{
49
50
if (new_dbcache_size_mib != m_dbcache_size_mib) {
50
51
m_dbcache_size_mib = new_dbcache_size_mib;
51
- m_node.updateRwSetting (" dbcache" , new_dbcache_size_mib);
52
+ if (m_onboarded) {
53
+ m_node.updateRwSetting (" dbcache" , new_dbcache_size_mib);
54
+ }
52
55
Q_EMIT dbcacheSizeMiBChanged (new_dbcache_size_mib);
53
56
}
54
57
}
@@ -57,7 +60,9 @@ void OptionsQmlModel::setListen(bool new_listen)
57
60
{
58
61
if (new_listen != m_listen) {
59
62
m_listen = new_listen;
60
- m_node.updateRwSetting (" listen" , new_listen);
63
+ if (m_onboarded) {
64
+ m_node.updateRwSetting (" listen" , new_listen);
65
+ }
61
66
Q_EMIT listenChanged (new_listen);
62
67
}
63
68
}
@@ -66,7 +71,9 @@ void OptionsQmlModel::setNatpmp(bool new_natpmp)
66
71
{
67
72
if (new_natpmp != m_natpmp) {
68
73
m_natpmp = new_natpmp;
69
- m_node.updateRwSetting (" natpmp" , new_natpmp);
74
+ if (m_onboarded) {
75
+ m_node.updateRwSetting (" natpmp" , new_natpmp);
76
+ }
70
77
Q_EMIT natpmpChanged (new_natpmp);
71
78
}
72
79
}
@@ -75,7 +82,9 @@ void OptionsQmlModel::setPrune(bool new_prune)
75
82
{
76
83
if (new_prune != m_prune) {
77
84
m_prune = new_prune;
78
- m_node.updateRwSetting (" prune" , pruneSetting ());
85
+ if (m_onboarded) {
86
+ m_node.updateRwSetting (" prune" , pruneSetting ());
87
+ }
79
88
Q_EMIT pruneChanged (new_prune);
80
89
}
81
90
}
@@ -84,7 +93,9 @@ void OptionsQmlModel::setPruneSizeGB(int new_prune_size_gb)
84
93
{
85
94
if (new_prune_size_gb != m_prune_size_gb) {
86
95
m_prune_size_gb = new_prune_size_gb;
87
- m_node.updateRwSetting (" prune" , pruneSetting ());
96
+ if (m_onboarded) {
97
+ m_node.updateRwSetting (" prune" , pruneSetting ());
98
+ }
88
99
Q_EMIT pruneSizeGBChanged (new_prune_size_gb);
89
100
}
90
101
}
@@ -93,7 +104,9 @@ void OptionsQmlModel::setScriptThreads(int new_script_threads)
93
104
{
94
105
if (new_script_threads != m_script_threads) {
95
106
m_script_threads = new_script_threads;
96
- m_node.updateRwSetting (" par" , new_script_threads);
107
+ if (m_onboarded) {
108
+ m_node.updateRwSetting (" par" , new_script_threads);
109
+ }
97
110
Q_EMIT scriptThreadsChanged (new_script_threads);
98
111
}
99
112
}
@@ -102,7 +115,9 @@ void OptionsQmlModel::setServer(bool new_server)
102
115
{
103
116
if (new_server != m_server) {
104
117
m_server = new_server;
105
- m_node.updateRwSetting (" server" , new_server);
118
+ if (m_onboarded) {
119
+ m_node.updateRwSetting (" server" , new_server);
120
+ }
106
121
Q_EMIT serverChanged (new_server);
107
122
}
108
123
}
@@ -111,7 +126,9 @@ void OptionsQmlModel::setUpnp(bool new_upnp)
111
126
{
112
127
if (new_upnp != m_upnp) {
113
128
m_upnp = new_upnp;
114
- m_node.updateRwSetting (" upnp" , new_upnp);
129
+ if (m_onboarded) {
130
+ m_node.updateRwSetting (" upnp" , new_upnp);
131
+ }
115
132
Q_EMIT upnpChanged (new_upnp);
116
133
}
117
134
}
@@ -145,4 +162,31 @@ void OptionsQmlModel::setCustomDataDirArgs(QString path)
145
162
// TODO: add actual custom data wiring
146
163
qDebug () << " PlaceHolder: Created data directory: " << path;
147
164
}
148
- }
165
+ }
166
+
167
+ void OptionsQmlModel::onboard ()
168
+ {
169
+ m_node.resetSettings ();
170
+ if (m_dbcache_size_mib != nDefaultDbCache) {
171
+ m_node.updateRwSetting (" dbcache" , m_dbcache_size_mib);
172
+ }
173
+ if (m_listen) {
174
+ m_node.updateRwSetting (" listen" , m_listen);
175
+ }
176
+ if (m_natpmp) {
177
+ m_node.updateRwSetting (" natpmp" , m_natpmp);
178
+ }
179
+ if (m_prune) {
180
+ m_node.updateRwSetting (" prune" , pruneSetting ());
181
+ }
182
+ if (m_script_threads != DEFAULT_SCRIPTCHECK_THREADS) {
183
+ m_node.updateRwSetting (" par" , m_script_threads);
184
+ }
185
+ if (m_server) {
186
+ m_node.updateRwSetting (" server" , m_server);
187
+ }
188
+ if (m_upnp) {
189
+ m_node.updateRwSetting (" upnp" , m_upnp);
190
+ }
191
+ m_onboarded = true ;
192
+ }
0 commit comments