diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui index 47539a7de34f..e9f09b79203a 100644 --- a/src/qt/forms/optionsdialog.ui +++ b/src/qt/forms/optionsdialog.ui @@ -130,6 +130,19 @@ + + + + Enable automatic minting of PIV units to zPIV + + + Qt::LeftToRight + + + Enable zPIV Automint + + + diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 4f8319181047..9c7b9011ebeb 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -194,6 +194,8 @@ void OptionsDialog::setMapper() mapper->addMapping(ui->bitcoinAtStartup, OptionsModel::StartAtStartup); mapper->addMapping(ui->threadsScriptVerif, OptionsModel::ThreadsScriptVerif); mapper->addMapping(ui->databaseCache, OptionsModel::DatabaseCache); + // Zeromint Enabled + mapper->addMapping(ui->checkBoxZeromintEnable, OptionsModel::ZeromintEnable); // Zerocoin mint percentage mapper->addMapping(ui->zeromintPercentage, OptionsModel::ZeromintPercentage); // Zerocoin preferred denomination diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 48147ce44cf2..876dcea82af7 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -18,6 +18,7 @@ #include "main.h" #include "net.h" #include "txdb.h" // for -dbcache defaults +#include "util.h" #ifdef ENABLE_WALLET #include "masternodeconfig.h" @@ -72,12 +73,15 @@ void OptionsModel::Init() settings.setValue("fCoinControlFeatures", false); fCoinControlFeatures = settings.value("fCoinControlFeatures", false).toBool(); - if (!settings.contains("nPreferredDenom")) - settings.setValue("nPreferredDenom", 0); - nPreferredDenom = settings.value("nPreferredDenom", "0").toLongLong(); + if (!settings.contains("fZeromintEnable")) + settings.setValue("fZeromintEnable", true); + fEnableZeromint = settings.value("fZeromintEnable").toBool(); if (!settings.contains("nZeromintPercentage")) settings.setValue("nZeromintPercentage", 10); nZeromintPercentage = settings.value("nZeromintPercentage").toLongLong(); + if (!settings.contains("nPreferredDenom")) + settings.setValue("nPreferredDenom", 0); + nPreferredDenom = settings.value("nPreferredDenom", "0").toLongLong(); if (!settings.contains("nAnonymizePivxAmount")) settings.setValue("nAnonymizePivxAmount", 1000); @@ -147,6 +151,8 @@ void OptionsModel::Init() if (!SoftSetArg("-lang", settings.value("language").toString().toStdString())) addOverriddenOption("-lang"); + if (settings.contains("fZeromintEnable")) + SoftSetBoolArg("-enablezeromint", settings.value("fZeromintEnable").toBool()); if (settings.contains("nZeromintPercentage")) SoftSetArg("-zeromintpercentage", settings.value("nZeromintPercentage").toString().toStdString()); if (settings.contains("nPreferredDenom")) @@ -215,6 +221,7 @@ QVariant OptionsModel::data(const QModelIndex& index, int role) const return settings.value("fShowMasternodesTab"); #endif case DisplayUnit: + return nDisplayUnit; case ThirdPartyTxUrls: return strThirdPartyTxUrls; @@ -230,6 +237,8 @@ QVariant OptionsModel::data(const QModelIndex& index, int role) const return settings.value("nDatabaseCache"); case ThreadsScriptVerif: return settings.value("nThreadsScriptVerif"); + case ZeromintEnable: + return QVariant(fEnableZeromint); case ZeromintPercentage: return QVariant(nZeromintPercentage); case ZeromintPrefDenom: @@ -339,6 +348,11 @@ bool OptionsModel::setData(const QModelIndex& index, const QVariant& value, int setRestartRequired(true); } break; + case ZeromintEnable: + fEnableZeromint = value.toBool(); + settings.setValue("fZeromintEnable", fEnableZeromint); + emit zeromintEnableChanged(fEnableZeromint); + break; case ZeromintPercentage: nZeromintPercentage = value.toInt(); settings.setValue("nZeromintPercentage", nZeromintPercentage); diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index 3b82f9e8610b..af55e39028b0 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -43,6 +43,7 @@ class OptionsModel : public QAbstractListModel ThreadsScriptVerif, // int DatabaseCache, // int SpendZeroConfChange, // bool + ZeromintEnable, // bool ZeromintPercentage, // int ZeromintPrefDenom, // int AnonymizePivxAmount, //int @@ -90,6 +91,7 @@ class OptionsModel : public QAbstractListModel signals: void displayUnitChanged(int unit); + void zeromintEnableChanged(bool); void zeromintPercentageChanged(int); void preferredDenomChanged(int); void anonymizePivxAmountChanged(int);