From c054720e08b5549913f54b9b4bc4e4002617ff23 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Thu, 8 Apr 2021 12:37:25 +0300 Subject: qt: Make SignVerifyMessageDialog aware of runtime palette change This change fixes the GUI when changing appearance on macOS. --- src/qt/signverifymessagedialog.cpp | 16 ++++++++++++++++ src/qt/signverifymessagedialog.h | 1 + 2 files changed, 17 insertions(+) (limited to 'src/qt') diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp index 2e7df60574..b982cc577d 100644 --- a/src/qt/signverifymessagedialog.cpp +++ b/src/qt/signverifymessagedialog.cpp @@ -283,3 +283,19 @@ bool SignVerifyMessageDialog::eventFilter(QObject *object, QEvent *event) } return QDialog::eventFilter(object, event); } + +void SignVerifyMessageDialog::changeEvent(QEvent* e) +{ +#ifdef Q_OS_MACOS + if (e->type() == QEvent::PaletteChange) { + ui->addressBookButton_SM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/address-book"))); + ui->pasteButton_SM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/editpaste"))); + ui->copySignatureButton_SM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/editcopy"))); + ui->signMessageButton_SM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/edit"))); + ui->clearButton_SM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/remove"))); + ui->addressBookButton_VM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/address-book"))); + ui->verifyMessageButton_VM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/transaction_0"))); + ui->clearButton_VM->setIcon(platformStyle->SingleColorIcon(QStringLiteral(":/icons/remove"))); + } +#endif +} diff --git a/src/qt/signverifymessagedialog.h b/src/qt/signverifymessagedialog.h index d98cb290a1..3d2d5f281e 100644 --- a/src/qt/signverifymessagedialog.h +++ b/src/qt/signverifymessagedialog.h @@ -31,6 +31,7 @@ public: protected: bool eventFilter(QObject *object, QEvent *event) override; + void changeEvent(QEvent* e) override; private: Ui::SignVerifyMessageDialog *ui; -- cgit v1.2.3