qt: Make TransactionView aware of runtime palette change

This change fixes the GUI when changing appearance on macOS.
pull/22118/head
Hennadii Stepanov 4 years ago
parent 2b622d4ace
commit c231254a65
No known key found for this signature in database
GPG Key ID: 410108112E7EA81F

@ -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;

@ -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();

Loading…
Cancel
Save