diff --git a/src/qt/forms/openuridialog.ui b/src/qt/forms/openuridialog.ui
index 5defbdd4e7101..8a1789dec4765 100644
--- a/src/qt/forms/openuridialog.ui
+++ b/src/qt/forms/openuridialog.ui
@@ -30,6 +30,22 @@
+ -
+
+
+ Paste address from clipboard
+
+
+
+
+
+
+ 22
+ 22
+
+
+
+
-
@@ -64,7 +80,9 @@
-
+
+
+
buttonBox
diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp
index a7881f8a6c92b..6ede8902ca30c 100644
--- a/src/qt/openuridialog.cpp
+++ b/src/qt/openuridialog.cpp
@@ -9,16 +9,19 @@
#include
#include
+#include
+#include
#include
-OpenURIDialog::OpenURIDialog(QWidget *parent) :
- QDialog(parent, GUIUtil::dialog_flags),
- ui(new Ui::OpenURIDialog)
+OpenURIDialog::OpenURIDialog(QWidget* parent) : QDialog(parent, GUIUtil::dialog_flags),
+ ui(new Ui::OpenURIDialog)
{
ui->setupUi(this);
+ GUIUtil::setIcon(ui->pasteButton, "editpaste");
+ QObject::connect(ui->pasteButton, &QAbstractButton::clicked, ui->uriEdit, &QLineEdit::paste);
+
GUIUtil::updateFonts();
GUIUtil::disableMacFocusRect(this);
-
GUIUtil::handleCloseWindowShortcut(this);
}
@@ -35,11 +38,19 @@ QString OpenURIDialog::getURI()
void OpenURIDialog::accept()
{
SendCoinsRecipient rcp;
- if(GUIUtil::parseBitcoinURI(getURI(), &rcp))
- {
+ if (GUIUtil::parseBitcoinURI(getURI(), &rcp)) {
/* Only accept value URIs */
QDialog::accept();
} else {
ui->uriEdit->setValid(false);
}
}
+
+void OpenURIDialog::changeEvent(QEvent* e)
+{
+ QDialog::changeEvent(e);
+ if (e->type() == QEvent::StyleChange) {
+ // Adjust button icon colors on theme changes
+ GUIUtil::setIcon(ui->pasteButton, "editpaste");
+ }
+}
diff --git a/src/qt/openuridialog.h b/src/qt/openuridialog.h
index efe4b86f3721d..14654c30e9d4d 100644
--- a/src/qt/openuridialog.h
+++ b/src/qt/openuridialog.h
@@ -16,16 +16,17 @@ class OpenURIDialog : public QDialog
Q_OBJECT
public:
- explicit OpenURIDialog(QWidget *parent);
+ explicit OpenURIDialog(QWidget* parent);
~OpenURIDialog();
QString getURI();
protected Q_SLOTS:
void accept() override;
+ void changeEvent(QEvent* e) override;
private:
- Ui::OpenURIDialog *ui;
+ Ui::OpenURIDialog* ui;
};
#endif // BITCOIN_QT_OPENURIDIALOG_H
diff --git a/src/qt/res/css/general.css b/src/qt/res/css/general.css
index af65262129052..b0eea68c0d61c 100644
--- a/src/qt/res/css/general.css
+++ b/src/qt/res/css/general.css
@@ -1259,6 +1259,13 @@ QDialog#OpenURIDialog {
QDialog#OpenURIDialog QLabel#label { /* URI Label */
}
+QDialog#OpenURIDialog .QToolButton { /* General Settings for Pay To Icons */
+ background-color: #00000000;
+ margin-left: 5px;
+ margin-right: 5px;
+ border: 0;
+}
+
/******************************************************
OptionsDialog
******************************************************/