diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index d65fc58865e..88963d83016 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -246,6 +246,8 @@ BitcoinGUI::~BitcoinGUI() void BitcoinGUI::createActions() { + QSettings settings; + QActionGroup *tabGroup = new QActionGroup(this); connect(modalOverlay, &ModalOverlay::triggered, tabGroup, &QActionGroup::setEnabled); @@ -359,6 +361,7 @@ void BitcoinGUI::createActions() m_mask_values_action->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_M)); m_mask_values_action->setStatusTip(tr("Mask the values in the Overview tab")); m_mask_values_action->setCheckable(true); + m_mask_values_action->setChecked(settings.value("privacy").toBool()); connect(quitAction, &QAction::triggered, this, &BitcoinGUI::quitRequested); connect(aboutAction, &QAction::triggered, this, &BitcoinGUI::aboutClicked); diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 0b4359a9179..6e0993cdc50 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -54,6 +54,7 @@ static const char* SettingName(OptionsModel::OptionID option) case OptionsModel::ProxyPortTor: return "onion"; case OptionsModel::ProxyUseTor: return "onion"; case OptionsModel::Language: return "lang"; + case OptionsModel::Privacy: return "privacy"; default: throw std::logic_error(strprintf("GUI option %i has no corresponding node setting.", option)); } } @@ -189,6 +190,10 @@ bool OptionsModel::Init(bilingual_str& error) } m_enable_psbt_controls = settings.value("enable_psbt_controls", false).toBool(); + if (!settings.contains("privacy")) { + settings.setValue("privacy", false); + } + // These are shared with the core or have a command-line parameter // and we want command-line parameters to overwrite the GUI settings. for (OptionID option : {DatabaseCache, ThreadsScriptVerif, SpendZeroConfChange, ExternalSignerPath, MapPortUPnP, diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index 42b89c50293..0ff31dc895b 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -51,6 +51,7 @@ class OptionsModel : public QAbstractListModel MapPortUPnP, // bool MapPortNatpmp, // bool MinimizeOnClose, // bool + Privacy, // bool ProxyUse, // bool ProxyIP, // QString ProxyPort, // int diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index a8133f481e0..ee4e92fe6bc 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -16,6 +16,8 @@ #include #include +#include + #include #include #include @@ -176,6 +178,9 @@ void OverviewPage::handleTransactionClicked(const QModelIndex &index) void OverviewPage::setPrivacy(bool privacy) { + QSettings settings; + settings.setValue("privacy", privacy); + m_privacy = privacy; if (m_balances.balance != -1) { setBalance(m_balances);