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);