From 87ea20df5aac40e1e9275f35372ffe1f29946b97 Mon Sep 17 00:00:00 2001 From: HeyaGlitz Date: Tue, 2 Jan 2024 00:20:50 +0100 Subject: [PATCH] Fix storage page chart legend not respecting theme Signed-off-by: HeyaGlitz --- launcher/ui/pages/instance/StoragePage.cpp | 12 ++++++++++++ launcher/ui/pages/instance/StoragePage.h | 3 +++ 2 files changed, 15 insertions(+) diff --git a/launcher/ui/pages/instance/StoragePage.cpp b/launcher/ui/pages/instance/StoragePage.cpp index dc17f0b7..da10d284 100644 --- a/launcher/ui/pages/instance/StoragePage.cpp +++ b/launcher/ui/pages/instance/StoragePage.cpp @@ -60,7 +60,9 @@ StoragePage::StoragePage(BaseInstance* inst, QWidget* parent) : QWidget(parent), m_chart->setBackgroundVisible(false); m_chart->setMargins(QMargins(0, 0, 0, 0)); m_chart->legend()->setAlignment(Qt::AlignLeft); + m_chart->legend()->setLabelColor(QApplication::palette().text().color()); m_chart_view->setRenderHint(QPainter::Antialiasing); + m_chart_view->installEventFilter(this); ui->verticalLayout->addWidget(m_chart_view); ui->retranslateUi(this); @@ -157,3 +159,13 @@ void StoragePage::updateCalculations() for (auto slice : m_series->slices()) slice->setLabel(slice->label() + " " + QString("%1%").arg(100 * slice->percentage(), 0, 'f', 1)); } + +bool StoragePage::eventFilter(QObject *object, QEvent *event) +{ + if(event->type() == QEvent::PaletteChange) + { + m_chart->legend()->setLabelColor(QApplication::palette().text().color()); + return true; + } + return false; +} diff --git a/launcher/ui/pages/instance/StoragePage.h b/launcher/ui/pages/instance/StoragePage.h index 6cee9966..294ca377 100644 --- a/launcher/ui/pages/instance/StoragePage.h +++ b/launcher/ui/pages/instance/StoragePage.h @@ -75,6 +75,9 @@ public: void updateCalculations(); +protected: + bool eventFilter(QObject *object, QEvent *event) override; + private: Ui::StoragePage *ui; BaseInstance *m_inst;