From fa3b835e04395537146ac677f44176e1f72368a1 Mon Sep 17 00:00:00 2001
From: w0xlt <94266259+w0xlt@users.noreply.github.com>
Date: Sat, 26 Feb 2022 00:10:14 -0300
Subject: [PATCH 1/2] gui: make error message layout in `sendcoinsentry`
consistent
---
src/qt/forms/sendcoinsentry.ui | 10 ++++++++++
src/qt/sendcoinsentry.cpp | 16 +++++++++++++++-
src/qt/sendcoinsentry.h | 1 +
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index 934363af1f1..29e9c62f0ba 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -55,6 +55,16 @@
The Bitcoin address to send the payment to
+
+
+
+ -
+
+
+
+
+
+ 2
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index 339ac580d80..4654e0ec939 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -7,10 +7,11 @@
#endif
#include
-#include
+#include
#include
#include
+#include
#include
#include
#include
@@ -50,6 +51,7 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *_platformStyle, QWidget *par
connect(ui->deleteButton_is, &QPushButton::clicked, this, &SendCoinsEntry::deleteClicked);
connect(ui->deleteButton_s, &QPushButton::clicked, this, &SendCoinsEntry::deleteClicked);
connect(ui->useAvailableBalanceButton, &QPushButton::clicked, this, &SendCoinsEntry::useAvailableBalanceClicked);
+ connect(ui->payTo, &QValidatedLineEdit::textEdited, this, &SendCoinsEntry::addressEdited);
}
SendCoinsEntry::~SendCoinsEntry()
@@ -266,3 +268,15 @@ bool SendCoinsEntry::updateLabel(const QString &address)
return false;
}
+
+// Address changed
+void SendCoinsEntry::addressEdited(const QString& address)
+{
+ ui->PayToLabel->setStyleSheet("QLabel{color:red;}");
+
+ if (!address.isEmpty() && !IsValidDestination(DecodeDestination(address.toStdString()))) {
+ ui->PayToLabel->setText(tr("Warning: Invalid Bitcoin address"));
+ } else {
+ ui->PayToLabel->setText("");
+ }
+}
diff --git a/src/qt/sendcoinsentry.h b/src/qt/sendcoinsentry.h
index e8db1e3a5ce..b3863a5f526 100644
--- a/src/qt/sendcoinsentry.h
+++ b/src/qt/sendcoinsentry.h
@@ -68,6 +68,7 @@ private Q_SLOTS:
void on_addressBookButton_clicked();
void on_pasteButton_clicked();
void updateDisplayUnit();
+ void addressEdited(const QString& address);
protected:
void changeEvent(QEvent* e) override;
From 9d75184fe7d915e05ac01d50cec90881594ef19a Mon Sep 17 00:00:00 2001
From: w0xlt <94266259+w0xlt@users.noreply.github.com>
Date: Sat, 26 Feb 2022 00:11:48 -0300
Subject: [PATCH 2/2] gui: make error message layout in `editaddressdialog`
consistent
---
src/qt/editaddressdialog.cpp | 17 ++++++-
src/qt/editaddressdialog.h | 3 ++
src/qt/forms/editaddressdialog.ui | 82 +++++++++++++++----------------
3 files changed, 60 insertions(+), 42 deletions(-)
diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp
index fa27635981d..8a9f38eb8fe 100644
--- a/src/qt/editaddressdialog.cpp
+++ b/src/qt/editaddressdialog.cpp
@@ -3,9 +3,10 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include
-#include
+#include
#include
+#include
#include
#include
@@ -44,6 +45,8 @@ EditAddressDialog::EditAddressDialog(Mode _mode, QWidget *parent) :
connect(delegate, &GUIUtil::ItemDelegate::keyEscapePressed, this, &EditAddressDialog::reject);
mapper->setItemDelegate(delegate);
+ connect(ui->addressEdit, &QValidatedLineEdit::textEdited, this, &EditAddressDialog::addressEdited);
+
GUIUtil::handleCloseWindowShortcut(this);
}
@@ -164,3 +167,15 @@ void EditAddressDialog::setAddress(const QString &_address)
this->address = _address;
ui->addressEdit->setText(_address);
}
+
+// Address changed
+void EditAddressDialog::addressEdited(const QString& address)
+{
+ ui->addressErrorLabel->setStyleSheet("QLabel{color:red;}");
+
+ if (!address.isEmpty() && !IsValidDestination(DecodeDestination(address.toStdString()))) {
+ ui->addressErrorLabel->setText(tr("Warning: Invalid Bitcoin address"));
+ } else {
+ ui->addressErrorLabel->setText("");
+ }
+}
diff --git a/src/qt/editaddressdialog.h b/src/qt/editaddressdialog.h
index f7ad80bb2df..43ed66869cb 100644
--- a/src/qt/editaddressdialog.h
+++ b/src/qt/editaddressdialog.h
@@ -42,6 +42,9 @@ class EditAddressDialog : public QDialog
public Q_SLOTS:
void accept() override;
+private Q_SLOTS:
+ void addressEdited(const QString& address);
+
private:
bool saveCurrentRow();
diff --git a/src/qt/forms/editaddressdialog.ui b/src/qt/forms/editaddressdialog.ui
index e968271107f..3633fce7ce2 100644
--- a/src/qt/forms/editaddressdialog.ui
+++ b/src/qt/forms/editaddressdialog.ui
@@ -13,49 +13,49 @@
Edit Address
-
- -
-
-
- QFormLayout::AllNonFixedFieldsGrow
+
+
-
+
+
+ &Label
-
-
-
-
- &Label
-
-
- labelEdit
-
-
-
- -
-
-
- The label associated with this address list entry
-
-
-
- -
-
-
- &Address
-
-
- addressEdit
-
-
-
- -
-
-
- The address associated with this address list entry. This can only be modified for sending addresses.
-
-
-
-
+
+ labelEdit
+
+
+
+ -
+
+
+ The label associated with this address list entry
+
+
+
+ -
+
+
+ &Address
+
+
+ addressEdit
+
+
+
+ -
+
+
+ The address associated with this address list entry. This can only be modified for sending addresses.
+
+
+
+ -
+
+
+
+
+
- -
+
-
Qt::Horizontal