aboutsummaryrefslogtreecommitdiff
path: root/src/qt
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2021-04-09 08:28:03 +0300
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2021-05-01 15:07:12 +0300
commitc231254a65d390a3350fcef456d57e4a6eca0506 (patch)
treec3fc0b38bd460b8360784abf193d4606f8fe4d4f /src/qt
parent2b622d4aced1848393989ee906b1f9d2436f1c1a (diff)
qt: Make TransactionView aware of runtime palette change
This change fixes the GUI when changing appearance on macOS.
Diffstat (limited to 'src/qt')
-rw-r--r--src/qt/transactionview.cpp18
-rw-r--r--src/qt/transactionview.h5
2 files changed, 21 insertions, 2 deletions
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 890d1a1740..6c8819b549 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -37,8 +37,8 @@
#include <QUrl>
#include <QVBoxLayout>
-TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *parent) :
- QWidget(parent)
+TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *parent)
+ : QWidget(parent), m_platform_style{platformStyle}
{
// Build filter row
setContentsMargins(0,0,0,0);
@@ -243,6 +243,20 @@ void TransactionView::setModel(WalletModel *_model)
}
}
+void TransactionView::changeEvent(QEvent* e)
+{
+#ifdef Q_OS_MACOS
+ if (e->type() == QEvent::PaletteChange) {
+ watchOnlyWidget->setItemIcon(
+ TransactionFilterProxy::WatchOnlyFilter_Yes,
+ m_platform_style->SingleColorIcon(QStringLiteral(":/icons/eye_plus")));
+ watchOnlyWidget->setItemIcon(
+ TransactionFilterProxy::WatchOnlyFilter_No,
+ m_platform_style->SingleColorIcon(QStringLiteral(":/icons/eye_minus")));
+ }
+#endif
+}
+
void TransactionView::chooseDate(int idx)
{
if (!transactionProxyModel) return;
diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h
index 66350bdc02..3e2321d91b 100644
--- a/src/qt/transactionview.h
+++ b/src/qt/transactionview.h
@@ -60,6 +60,9 @@ public:
MINIMUM_COLUMN_WIDTH = 23
};
+protected:
+ void changeEvent(QEvent* e) override;
+
private:
WalletModel *model{nullptr};
TransactionFilterProxy *transactionProxyModel{nullptr};
@@ -85,6 +88,8 @@ private:
bool eventFilter(QObject *obj, QEvent *event) override;
+ const PlatformStyle* m_platform_style;
+
private Q_SLOTS:
void contextualMenu(const QPoint &);
void dateRangeChanged();