mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-19 05:45:05 +01:00
gui: misc external signer fixes and translation hints
This commit is contained in:
parent
d672404466
commit
2f5bdcbc31
@ -31,8 +31,9 @@ CreateWalletDialog::CreateWalletDialog(QWidget* parent) :
|
||||
// Disable the disable_privkeys_checkbox and external_signer_checkbox when isEncryptWalletChecked is
|
||||
// set to true, enable it when isEncryptWalletChecked is false.
|
||||
ui->disable_privkeys_checkbox->setEnabled(!checked);
|
||||
#ifdef ENABLE_EXTERNAL_SIGNER
|
||||
ui->external_signer_checkbox->setEnabled(!checked);
|
||||
|
||||
#endif
|
||||
// When the disable_privkeys_checkbox is disabled, uncheck it.
|
||||
if (!ui->disable_privkeys_checkbox->isEnabled()) {
|
||||
ui->disable_privkeys_checkbox->setChecked(false);
|
||||
@ -112,7 +113,7 @@ CreateWalletDialog::~CreateWalletDialog()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void CreateWalletDialog::setSigners(std::vector<ExternalSigner>& signers)
|
||||
void CreateWalletDialog::setSigners(const std::vector<ExternalSigner>& signers)
|
||||
{
|
||||
if (!signers.empty()) {
|
||||
ui->external_signer_checkbox->setEnabled(true);
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
explicit CreateWalletDialog(QWidget* parent);
|
||||
virtual ~CreateWalletDialog();
|
||||
|
||||
void setSigners(std::vector<ExternalSigner>& signers);
|
||||
void setSigners(const std::vector<ExternalSigner>& signers);
|
||||
|
||||
QString walletName() const;
|
||||
bool isEncryptWalletChecked() const;
|
||||
|
@ -92,6 +92,11 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
|
||||
ui->thirdPartyTxUrls->setVisible(false);
|
||||
}
|
||||
|
||||
#ifndef ENABLE_EXTERNAL_SIGNER
|
||||
//: "External signing" means using devices such as hardware wallets.
|
||||
ui->externalSignerPath->setToolTip(tr("Compiled without external signing support (required for external signing)"));
|
||||
ui->externalSignerPath->setEnabled(false);
|
||||
#endif
|
||||
/* Display elements init */
|
||||
QDir translations(":translations");
|
||||
|
||||
|
@ -90,7 +90,7 @@ void ReceiveRequestDialog::setInfo(const SendCoinsRecipient &_info)
|
||||
ui->wallet_content->hide();
|
||||
}
|
||||
|
||||
ui->btnVerify->setVisible(this->model->wallet().hasExternalSigner());
|
||||
ui->btnVerify->setVisible(model->wallet().hasExternalSigner());
|
||||
|
||||
connect(ui->btnVerify, &QPushButton::clicked, [this] {
|
||||
model->displayAddress(info.address.toStdString());
|
||||
|
@ -200,12 +200,14 @@ void SendCoinsDialog::setModel(WalletModel *_model)
|
||||
ui->optInRBF->setCheckState(Qt::Checked);
|
||||
|
||||
if (model->wallet().hasExternalSigner()) {
|
||||
//: "device" usually means a hardware wallet
|
||||
ui->sendButton->setText(tr("Sign on device"));
|
||||
if (gArgs.GetArg("-signer", "") != "") {
|
||||
ui->sendButton->setEnabled(true);
|
||||
ui->sendButton->setToolTip(tr("Connect your hardware wallet first."));
|
||||
} else {
|
||||
ui->sendButton->setEnabled(false);
|
||||
//: "External signer" means using devices such as hardware wallets.
|
||||
ui->sendButton->setToolTip(tr("Set external signer script path in Options -> Wallet"));
|
||||
}
|
||||
} else if (model->wallet().privateKeysDisabled()) {
|
||||
@ -426,11 +428,13 @@ void SendCoinsDialog::sendButtonClicked([[maybe_unused]] bool checked)
|
||||
return;
|
||||
}
|
||||
if (err == TransactionError::EXTERNAL_SIGNER_NOT_FOUND) {
|
||||
//: "External signer" means using devices such as hardware wallets.
|
||||
QMessageBox::critical(nullptr, tr("External signer not found"), "External signer not found");
|
||||
send_failure = true;
|
||||
return;
|
||||
}
|
||||
if (err == TransactionError::EXTERNAL_SIGNER_FAILED) {
|
||||
//: "External signer" means using devices such as hardware wallets.
|
||||
QMessageBox::critical(nullptr, tr("External signer failure"), "External signer failure");
|
||||
send_failure = true;
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user