diff --git a/src/qt/forms/masternodelist.ui b/src/qt/forms/masternodelist.ui
index 6ad419c8c709..41d519b2095a 100644
--- a/src/qt/forms/masternodelist.ui
+++ b/src/qt/forms/masternodelist.ui
@@ -89,7 +89,7 @@
Hide banned
- true
+ false
diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index d6368fa0ce58..8455ece8d8ac 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -20,6 +20,7 @@
#include
#include
#include
+#include
#include
#include
@@ -109,9 +110,6 @@ MasternodeList::MasternodeList(QWidget* parent) :
// Hide ProTx Hash column (used for internal lookup)
ui->tableViewMasternodes->setColumnHidden(MasternodeModel::PROTX_HASH, true);
- // Hide PoSe column by default (since "Hide banned" is checked by default)
- ui->tableViewMasternodes->setColumnHidden(MasternodeModel::POSE, true);
-
ui->checkBoxOwned->setEnabled(false);
contextMenuDIP3 = new QMenu(this);
@@ -142,6 +140,12 @@ MasternodeList::MasternodeList(QWidget* parent) :
// Debounce timer to apply masternode list changes
m_timer->setSingleShot(true);
connect(m_timer, &QTimer::timeout, this, &MasternodeList::updateDIP3ListScheduled);
+
+ // Load filter settings
+ QSettings settings;
+ ui->checkBoxHideBanned->setChecked(settings.value("mnListHideBanned", false).toBool());
+ ui->comboBoxType->setCurrentIndex(settings.value("mnListTypeFilter", 0).toInt());
+ ui->filterText->setText(settings.value("mnListFilterText", "").toString());
}
MasternodeList::~MasternodeList()
@@ -174,7 +178,11 @@ void MasternodeList::setClientModel(ClientModel* model)
void MasternodeList::setWalletModel(WalletModel* model)
{
this->walletModel = model;
- ui->checkBoxOwned->setEnabled(model != nullptr);
+ ui->checkBoxOwned->setEnabled(walletModel != nullptr);
+ if (walletModel) {
+ QSettings settings;
+ ui->checkBoxOwned->setChecked(settings.value("mnListOwnedOnly", false).toBool());
+ }
}
void MasternodeList::showContextMenuDIP3(const QPoint& point)
@@ -325,6 +333,9 @@ void MasternodeList::on_filterText_textChanged(const QString& strFilterIn)
m_proxy_model->setFilterRegularExpression(
QRegularExpression(QRegularExpression::escape(strFilterIn), QRegularExpression::CaseInsensitiveOption));
updateFilteredCount();
+
+ QSettings settings;
+ settings.setValue("mnListFilterText", strFilterIn);
}
void MasternodeList::on_comboBoxType_currentIndexChanged(int index)
@@ -337,6 +348,9 @@ void MasternodeList::on_comboBoxType_currentIndexChanged(int index)
m_proxy_model->setTypeFilter(index_enum);
m_proxy_model->forceInvalidateFilter();
updateFilteredCount();
+
+ QSettings settings;
+ settings.setValue("mnListTypeFilter", index);
}
void MasternodeList::on_checkBoxOwned_stateChanged(int state)
@@ -344,6 +358,9 @@ void MasternodeList::on_checkBoxOwned_stateChanged(int state)
m_proxy_model->setShowOwnedOnly(state == Qt::Checked);
m_proxy_model->forceInvalidateFilter();
updateFilteredCount();
+
+ QSettings settings;
+ settings.setValue("mnListOwnedOnly", state == Qt::Checked);
}
void MasternodeList::on_checkBoxHideBanned_stateChanged(int state)
@@ -353,6 +370,9 @@ void MasternodeList::on_checkBoxHideBanned_stateChanged(int state)
m_proxy_model->setHideBanned(hide_banned);
m_proxy_model->forceInvalidateFilter();
updateFilteredCount();
+
+ QSettings settings;
+ settings.setValue("mnListHideBanned", hide_banned);
}
const MasternodeEntry* MasternodeList::GetSelectedEntry()
diff --git a/src/qt/masternodelist.h b/src/qt/masternodelist.h
index ce07082cd9f0..006d5209dc95 100644
--- a/src/qt/masternodelist.h
+++ b/src/qt/masternodelist.h
@@ -58,7 +58,7 @@ class MasternodeListSortFilterProxyModel : public QSortFilterProxyModel
bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override;
private:
- bool m_hide_banned{true};
+ bool m_hide_banned{false};
bool m_show_owned_only{false};
QSet m_owned_mns;
TypeFilter m_type_filter{TypeFilter::All};