Revision control
Copy as Markdown
// Copyright (C) 2025 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#ifndef THEME_H
#define THEME_H
#include <QColor>
#include <QCanvasLinearGradient>
class Theme
{
public:
Theme();
void switchTheme();
bool isDark() const;
QColor background1() const;
QColor background2() const;
QColor foreground1() const;
QColor foreground2() const;
QColor foreground3() const;
QColor highlight() const;
QColor warning() const;
QColor graph1() const;
QColor graph2() const;
QCanvasLinearGradient gradient1() const;
QCanvasLinearGradient gradient2() const;
private:
void initThemes();
struct ThemeVars
{
QColor background1;
QColor background2;
QColor foreground1;
QColor foreground2;
QColor foreground3;
QColor highlight;
QColor warning;
QColor graph1;
QColor graph2;
QCanvasLinearGradient gradient1;
QCanvasLinearGradient gradient2;
};
ThemeVars m_theme;
ThemeVars m_previousTheme;
ThemeVars m_darkTheme;
ThemeVars m_lightTheme;
bool m_isDarkTheme = true;
};
#endif // THEME_H