aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interfaces/node.cpp1
-rw-r--r--src/interfaces/node.h3
-rw-r--r--src/qt/receivecoinsdialog.cpp13
3 files changed, 14 insertions, 3 deletions
diff --git a/src/interfaces/node.cpp b/src/interfaces/node.cpp
index fd2fb6531b..bcd226edd9 100644
--- a/src/interfaces/node.cpp
+++ b/src/interfaces/node.cpp
@@ -198,6 +198,7 @@ public:
return GuessVerificationProgress(Params().TxData(), tip);
}
bool isInitialBlockDownload() override { return ::ChainstateActive().IsInitialBlockDownload(); }
+ bool isAddressTypeSet() override { return !::gArgs.GetArg("-addresstype", "").empty(); }
bool getReindex() override { return ::fReindex; }
bool getImporting() override { return ::fImporting; }
void setNetworkActive(bool active) override
diff --git a/src/interfaces/node.h b/src/interfaces/node.h
index bb4b3e1fae..b93b52c5cc 100644
--- a/src/interfaces/node.h
+++ b/src/interfaces/node.h
@@ -150,6 +150,9 @@ public:
//! Is initial block download.
virtual bool isInitialBlockDownload() = 0;
+ //! Is -addresstype set.
+ virtual bool isAddressTypeSet() = 0;
+
//! Get reindex.
virtual bool getReindex() = 0;
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index c58717e21e..05157c2a4a 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -7,6 +7,7 @@
#include <qt/receivecoinsdialog.h>
#include <qt/forms/ui_receivecoinsdialog.h>
+#include <interfaces/node.h>
#include <qt/addresstablemodel.h>
#include <qt/optionsmodel.h>
#include <qt/platformstyle.h>
@@ -92,10 +93,16 @@ void ReceiveCoinsDialog::setModel(WalletModel *_model)
// Last 2 columns are set by the columnResizingFixer, when the table geometry is ready.
columnResizingFixer = new GUIUtil::TableViewLastColumnResizingFixer(tableView, AMOUNT_MINIMUM_COLUMN_WIDTH, DATE_COLUMN_WIDTH, this);
- if (model->wallet().getDefaultAddressType() == OutputType::BECH32) {
- ui->useLegacyAddress->setCheckState(Qt::Unchecked);
+ if (model->node().isAddressTypeSet()) {
+ // user explicitly set the type, use it
+ if (model->wallet().getDefaultAddressType() == OutputType::BECH32) {
+ ui->useLegacyAddress->setCheckState(Qt::Unchecked);
+ } else {
+ ui->useLegacyAddress->setCheckState(Qt::Checked);
+ }
} else {
- ui->useLegacyAddress->setCheckState(Qt::Checked);
+ // Always fall back to bech32 in the gui
+ ui->useLegacyAddress->setCheckState(Qt::Unchecked);
}
// Set the button to be enabled or disabled based on whether the wallet can give out new addresses.