mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 10:38:42 +01:00
gui: display address on external signer
This commit is contained in:
parent
450cb40a34
commit
62ac119f91
@ -258,6 +258,9 @@ public:
|
||||
// Return whether private keys enabled.
|
||||
virtual bool privateKeysDisabled() = 0;
|
||||
|
||||
// Return whether wallet uses an external signer.
|
||||
virtual bool hasExternalSigner() = 0;
|
||||
|
||||
// Get default address type.
|
||||
virtual OutputType getDefaultAddressType() = 0;
|
||||
|
||||
|
@ -254,6 +254,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnVerify">
|
||||
<property name="text">
|
||||
<string>&Verify</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Verify this address on e.g. a hardware wallet screen</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnSaveAs">
|
||||
<property name="text">
|
||||
|
@ -89,6 +89,12 @@ void ReceiveRequestDialog::setInfo(const SendCoinsRecipient &_info)
|
||||
ui->wallet_tag->hide();
|
||||
ui->wallet_content->hide();
|
||||
}
|
||||
|
||||
ui->btnVerify->setVisible(this->model->wallet().hasExternalSigner());
|
||||
|
||||
connect(ui->btnVerify, &QPushButton::clicked, [this] {
|
||||
model->displayAddress(info.address.toStdString());
|
||||
});
|
||||
}
|
||||
|
||||
void ReceiveRequestDialog::updateDisplayUnit()
|
||||
|
@ -571,6 +571,18 @@ bool WalletModel::bumpFee(uint256 hash, uint256& new_hash)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WalletModel::displayAddress(std::string sAddress)
|
||||
{
|
||||
CTxDestination dest = DecodeDestination(sAddress);
|
||||
bool res = false;
|
||||
try {
|
||||
res = m_wallet->displayAddress(dest);
|
||||
} catch (const std::runtime_error& e) {
|
||||
QMessageBox::critical(nullptr, tr("Can't display address"), e.what());
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
bool WalletModel::isWalletEnabled()
|
||||
{
|
||||
return !gArgs.GetBoolArg("-disablewallet", DEFAULT_DISABLE_WALLET);
|
||||
|
@ -139,6 +139,7 @@ public:
|
||||
bool saveReceiveRequest(const std::string &sAddress, const int64_t nId, const std::string &sRequest);
|
||||
|
||||
bool bumpFee(uint256 hash, uint256& new_hash);
|
||||
bool displayAddress(std::string sAddress);
|
||||
|
||||
static bool isWalletEnabled();
|
||||
|
||||
|
@ -459,6 +459,7 @@ public:
|
||||
unsigned int getConfirmTarget() override { return m_wallet->m_confirm_target; }
|
||||
bool hdEnabled() override { return m_wallet->IsHDEnabled(); }
|
||||
bool canGetAddresses() override { return m_wallet->CanGetAddresses(); }
|
||||
bool hasExternalSigner() override { return m_wallet->IsWalletFlagSet(WALLET_FLAG_EXTERNAL_SIGNER); }
|
||||
bool privateKeysDisabled() override { return m_wallet->IsWalletFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS); }
|
||||
OutputType getDefaultAddressType() override { return m_wallet->m_default_address_type; }
|
||||
CAmount getDefaultMaxTxFee() override { return m_wallet->m_default_max_tx_fee; }
|
||||
|
Loading…
Reference in New Issue
Block a user