Seer handles dark/light color theme changes. Especially for Icons.

This commit is contained in:
Ernie Pasveer
2026-05-31 13:43:38 -05:00
parent ad6d490bd2
commit d1d6f7d901
35 changed files with 422 additions and 133 deletions
+16 -2
View File
@@ -13,7 +13,8 @@
#include <QtWidgets/QFileDialog>
#include <QtWidgets/QToolTip>
#include <QtGui/QIntValidator>
#include <QtGui/QIcon>
#include <QtGui/QGuiApplication>
#include <QtGui/QStyleHints>
#include <QtPrintSupport/QPrinter>
#include <QtPrintSupport/QPrintDialog>
#include <QtCore/QRegularExpression>
@@ -43,7 +44,6 @@ SeerArrayVisualizerWidget::SeerArrayVisualizerWidget (QWidget* parent) : QWidget
setupUi(this);
// Setup the widgets
setWindowIcon(QIcon(":/seer/resources/icons/hicolor/64x64/seergdb.png"));
setWindowTitle("Seer Array Visualizer");
setAttribute(Qt::WA_DeleteOnClose);
@@ -106,6 +106,11 @@ SeerArrayVisualizerWidget::SeerArrayVisualizerWidget (QWidget* parent) : QWidget
QObject::connect(labelsCheckBox, &QCheckBox::clicked, this, &SeerArrayVisualizerWidget::handleLabelsCheckBox);
QObject::connect(lineTypeButtonGroup, QOverload<int>::of(&QButtonGroup::idClicked), this, &SeerArrayVisualizerWidget::handleLineTypeButtonGroup);
QObject::connect(printPushButton, &QPushButton::clicked, arrayChartView, &QZoomChartView::printView);
QObject::connect(QGuiApplication::styleHints(), &QStyleHints::colorSchemeChanged, this, &SeerArrayVisualizerWidget::handleThemeChanged);
// Colorize icons for theme.
Seer::colorizeAllIcons(this);
Seer::colorizeChartViewItem(arrayChartView);
// Restore window settings.
readSettings();
@@ -1077,6 +1082,15 @@ void SeerArrayVisualizerWidget::handleLineTypeButtonGroup () {
handleDataChanged();
}
void SeerArrayVisualizerWidget::handleThemeChanged () {
// Colorize icons for theme.
Seer::colorizeAllIcons(this);
// And the ChartView.
Seer::colorizeChartViewItem(arrayChartView);
}
void SeerArrayVisualizerWidget::createASeries() {
if (scatterRadioButton->isChecked()) {