@@ -92,11 +92,7 @@ void OptionsModel::Init(bool resetSettings)
9292 settings.setValue (" bPrune" , false );
9393 if (!settings.contains (" nPruneSize" ))
9494 settings.setValue (" nPruneSize" , 2 );
95- // Convert prune size from GB to MiB:
96- const uint64_t nPruneSizeMiB = (settings.value (" nPruneSize" ).toInt () * GB_BYTES) >> 20 ;
97- if (!m_node.softSetArg (" -prune" , settings.value (" bPrune" ).toBool () ? std::to_string (nPruneSizeMiB) : " 0" )) {
98- addOverriddenOption (" -prune" );
99- }
95+ SetPrune (settings.value (" bPrune" ).toBool ());
10096
10197 if (!settings.contains (" nDatabaseCache" ))
10298 settings.setValue (" nDatabaseCache" , (qint64)nDefaultDbCache);
@@ -240,6 +236,22 @@ static const QString GetDefaultProxyAddress()
240236 return QString (" %1:%2" ).arg (DEFAULT_GUI_PROXY_HOST).arg (DEFAULT_GUI_PROXY_PORT);
241237}
242238
239+ void OptionsModel::SetPrune (bool prune, bool force)
240+ {
241+ QSettings settings;
242+ settings.setValue (" bPrune" , prune);
243+ // Convert prune size from GB to MiB:
244+ const uint64_t nPruneSizeMiB = (settings.value (" nPruneSize" ).toInt () * GB_BYTES) >> 20 ;
245+ std::string prune_val = prune ? std::to_string (nPruneSizeMiB) : " 0" ;
246+ if (force) {
247+ m_node.forceSetArg (" -prune" , prune_val);
248+ return ;
249+ }
250+ if (!m_node.softSetArg (" -prune" , prune_val)) {
251+ addOverriddenOption (" -prune" );
252+ }
253+ }
254+
243255// read QSettings values and return them
244256QVariant OptionsModel::data (const QModelIndex & index, int role) const
245257{
0 commit comments