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 @@
qt/qvalidatedlineedit.h
- + + + 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 ******************************************************/