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