@@ -62,6 +62,7 @@ static const char* SettingName(OptionsModel::OptionID option)
6262 case OptionsModel::Language: return " lang" ;
6363 // ! Dash
6464 case OptionsModel::CoinJoinAmount: return " coinjoinamount" ;
65+ case OptionsModel::CoinJoinMultiSession: return " coinjoinmultisession" ;
6566 case OptionsModel::CoinJoinRounds: return " coinjoinrounds" ;
6667 case OptionsModel::CoinJoinSessions: return " coinjoinsessions" ;
6768 default : throw std::logic_error (strprintf (" GUI option %i has no corresponding node setting." , option));
@@ -356,7 +357,7 @@ bool OptionsModel::Init(bilingual_str& error)
356357 // and we want command-line parameters to overwrite the GUI settings.
357358 for (OptionID option : {DatabaseCache, ThreadsScriptVerif, SpendZeroConfChange, ExternalSignerPath, MapPortUPnP,
358359 MapPortNatpmp, Listen, Server, Prune, ProxyUse, ProxyUseTor, Language, CoinJoinAmount,
359- CoinJoinRounds, CoinJoinSessions}) {
360+ CoinJoinMultiSession, CoinJoinRounds, CoinJoinSessions}) {
360361 std::string setting = SettingName (option);
361362 if (node ().isSettingIgnored (setting)) addOverriddenOption (" -" + setting);
362363 try {
@@ -384,11 +385,6 @@ bool OptionsModel::Init(bilingual_str& error)
384385 m_sub_fee_from_amount = settings.value (" SubFeeFromAmount" , false ).toBool ();
385386
386387 // CoinJoin
387- if (!settings.contains (" fCoinJoinMultiSession" ))
388- settings.setValue (" fCoinJoinMultiSession" , DEFAULT_COINJOIN_MULTISESSION);
389- if (!gArgs .SoftSetBoolArg (" -coinjoinmultisession" , settings.value (" fCoinJoinMultiSession" ).toBool ()))
390- addOverriddenOption (" -coinjoinmultisession" );
391-
392388 if (!settings.contains (" nCoinJoinDenomsGoal" ))
393389 settings.setValue (" nCoinJoinDenomsGoal" , DEFAULT_COINJOIN_DENOMS_GOAL);
394390 if (!gArgs .SoftSetArg (" -coinjoindenomsgoal" , settings.value (" nCoinJoinDenomsGoal" ).toString ().toStdString ()))
@@ -652,7 +648,7 @@ QVariant OptionsModel::getOption(OptionID option) const
652648 case CoinJoinDenomsHardCap:
653649 return settings.value (" nCoinJoinDenomsHardCap" );
654650 case CoinJoinMultiSession:
655- return settings. value ( " fCoinJoinMultiSession " );
651+ return SettingToBool ( setting (), DEFAULT_COINJOIN_MULTISESSION );
656652#endif
657653 case DisplayUnit:
658654 return QVariant::fromValue (m_display_bitcoin_unit);
@@ -888,10 +884,9 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value)
888884 }
889885 break ;
890886 case CoinJoinMultiSession:
891- if (settings.value (" fCoinJoinMultiSession" ) != value)
892- {
887+ if (changed ()) {
893888 node ().coinJoinOptions ().setMultiSessionEnabled (value.toBool ());
894- settings. setValue ( " fCoinJoinMultiSession " , node (). coinJoinOptions (). isMultiSessionEnabled ());
889+ update (value. toBool ());
895890 }
896891 break ;
897892#endif
@@ -1136,6 +1131,7 @@ void OptionsModel::checkAndMigrate()
11361131 // ! Dash
11371132#ifdef ENABLE_WALLET
11381133 migrate_setting (CoinJoinAmount, " nCoinJoinAmount" );
1134+ migrate_setting (CoinJoinMultiSession, " fCoinJoinMultiSession" );
11391135 migrate_setting (CoinJoinRounds, " nCoinJoinRounds" );
11401136 migrate_setting (CoinJoinSessions, " nCoinJoinSessions" );
11411137#endif
0 commit comments