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