15
15
16
16
#include < cassert>
17
17
18
- OptionsQmlModel::OptionsQmlModel (interfaces::Node& node)
18
+ OptionsQmlModel::OptionsQmlModel (interfaces::Node& node, bool is_onboarded )
19
19
: m_node{node}
20
+ , m_onboarded{is_onboarded}
20
21
{
21
22
m_dbcache_size_mib = SettingToInt (m_node.getPersistentSetting (" dbcache" ), nDefaultDbCache);
22
23
@@ -31,7 +32,9 @@ void OptionsQmlModel::setDbcacheSizeMiB(int new_dbcache_size_mib)
31
32
{
32
33
if (new_dbcache_size_mib != m_dbcache_size_mib) {
33
34
m_dbcache_size_mib = new_dbcache_size_mib;
34
- m_node.updateRwSetting (" dbcache" , new_dbcache_size_mib);
35
+ if (m_onboarded) {
36
+ m_node.updateRwSetting (" dbcache" , new_dbcache_size_mib);
37
+ }
35
38
Q_EMIT dbcacheSizeMiBChanged (new_dbcache_size_mib);
36
39
}
37
40
}
@@ -40,7 +43,9 @@ void OptionsQmlModel::setListen(bool new_listen)
40
43
{
41
44
if (new_listen != m_listen) {
42
45
m_listen = new_listen;
43
- m_node.updateRwSetting (" listen" , new_listen);
46
+ if (m_onboarded) {
47
+ m_node.updateRwSetting (" listen" , new_listen);
48
+ }
44
49
Q_EMIT listenChanged (new_listen);
45
50
}
46
51
}
@@ -49,7 +54,9 @@ void OptionsQmlModel::setNatpmp(bool new_natpmp)
49
54
{
50
55
if (new_natpmp != m_natpmp) {
51
56
m_natpmp = new_natpmp;
52
- m_node.updateRwSetting (" natpmp" , new_natpmp);
57
+ if (m_onboarded) {
58
+ m_node.updateRwSetting (" natpmp" , new_natpmp);
59
+ }
53
60
Q_EMIT natpmpChanged (new_natpmp);
54
61
}
55
62
}
@@ -58,7 +65,9 @@ void OptionsQmlModel::setPrune(bool new_prune)
58
65
{
59
66
if (new_prune != m_prune) {
60
67
m_prune = new_prune;
61
- m_node.updateRwSetting (" prune" , pruneSetting ());
68
+ if (m_onboarded) {
69
+ m_node.updateRwSetting (" prune" , pruneSetting ());
70
+ }
62
71
Q_EMIT pruneChanged (new_prune);
63
72
}
64
73
}
@@ -67,7 +76,9 @@ void OptionsQmlModel::setPruneSizeGB(int new_prune_size_gb)
67
76
{
68
77
if (new_prune_size_gb != m_prune_size_gb) {
69
78
m_prune_size_gb = new_prune_size_gb;
70
- m_node.updateRwSetting (" prune" , pruneSetting ());
79
+ if (m_onboarded) {
80
+ m_node.updateRwSetting (" prune" , pruneSetting ());
81
+ }
71
82
Q_EMIT pruneSizeGBChanged (new_prune_size_gb);
72
83
}
73
84
}
@@ -76,7 +87,9 @@ void OptionsQmlModel::setScriptThreads(int new_script_threads)
76
87
{
77
88
if (new_script_threads != m_script_threads) {
78
89
m_script_threads = new_script_threads;
79
- m_node.updateRwSetting (" par" , new_script_threads);
90
+ if (m_onboarded) {
91
+ m_node.updateRwSetting (" par" , new_script_threads);
92
+ }
80
93
Q_EMIT scriptThreadsChanged (new_script_threads);
81
94
}
82
95
}
@@ -85,7 +98,9 @@ void OptionsQmlModel::setServer(bool new_server)
85
98
{
86
99
if (new_server != m_server) {
87
100
m_server = new_server;
88
- m_node.updateRwSetting (" server" , new_server);
101
+ if (m_onboarded) {
102
+ m_node.updateRwSetting (" server" , new_server);
103
+ }
89
104
Q_EMIT serverChanged (new_server);
90
105
}
91
106
}
@@ -94,7 +109,9 @@ void OptionsQmlModel::setUpnp(bool new_upnp)
94
109
{
95
110
if (new_upnp != m_upnp) {
96
111
m_upnp = new_upnp;
97
- m_node.updateRwSetting (" upnp" , new_upnp);
112
+ if (m_onboarded) {
113
+ m_node.updateRwSetting (" upnp" , new_upnp);
114
+ }
98
115
Q_EMIT upnpChanged (new_upnp);
99
116
}
100
117
}
@@ -104,3 +121,30 @@ util::SettingsValue OptionsQmlModel::pruneSetting() const
104
121
assert (!m_prune || m_prune_size_gb >= 1 );
105
122
return m_prune ? PruneGBtoMiB (m_prune_size_gb) : 0 ;
106
123
}
124
+
125
+ void OptionsQmlModel::onboard ()
126
+ {
127
+ m_node.resetSettings ();
128
+ if (m_dbcache_size_mib != nDefaultDbCache) {
129
+ m_node.updateRwSetting (" dbcache" , m_dbcache_size_mib);
130
+ }
131
+ if (m_listen) {
132
+ m_node.updateRwSetting (" listen" , m_listen);
133
+ }
134
+ if (m_natpmp) {
135
+ m_node.updateRwSetting (" natpmp" , m_natpmp);
136
+ }
137
+ if (m_prune) {
138
+ m_node.updateRwSetting (" prune" , pruneSetting ());
139
+ }
140
+ if (m_script_threads != DEFAULT_SCRIPTCHECK_THREADS) {
141
+ m_node.updateRwSetting (" par" , m_script_threads);
142
+ }
143
+ if (m_server) {
144
+ m_node.updateRwSetting (" server" , m_server);
145
+ }
146
+ if (m_upnp) {
147
+ m_node.updateRwSetting (" upnp" , m_upnp);
148
+ }
149
+ m_onboarded = true ;
150
+ }
0 commit comments