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