diff --git a/demos/chartthemes/themewidget.cpp b/demos/chartthemes/themewidget.cpp index a4599f7..0716d6c 100644 --- a/demos/chartthemes/themewidget.cpp +++ b/demos/chartthemes/themewidget.cpp @@ -151,6 +151,7 @@ QComboBox *ThemeWidget::createThemeBox() const themeComboBox->addItem("Blue NCS", QChart::ChartThemeBlueNcs); themeComboBox->addItem("High Contrast", QChart::ChartThemeHighContrast); themeComboBox->addItem("Blue Icy", QChart::ChartThemeBlueIcy); + themeComboBox->addItem("Qt", QChart::ChartThemeQt); return themeComboBox; } diff --git a/plugins/declarative/declarativechart.h b/plugins/declarative/declarativechart.h index 0a8690e..c7d8850 100644 --- a/plugins/declarative/declarativechart.h +++ b/plugins/declarative/declarativechart.h @@ -80,7 +80,8 @@ public: ChartThemeBrownSand, ChartThemeBlueNcs, ChartThemeHighContrast, - ChartThemeBlueIcy + ChartThemeBlueIcy, + ChartThemeQt }; enum Animation { diff --git a/src/chartthememanager.cpp b/src/chartthememanager.cpp index 5bd5122..9a2e3c2 100644 --- a/src/chartthememanager.cpp +++ b/src/chartthememanager.cpp @@ -29,6 +29,7 @@ #include "chartthemebluencs_p.h" #include "chartthemehighcontrast_p.h" #include "chartthemeblueicy_p.h" +#include "chartthemeqt_p.h" QTCOMMERCIALCHART_BEGIN_NAMESPACE @@ -64,6 +65,9 @@ void ChartThemeManager::setTheme(QChart::ChartTheme theme) case QChart::ChartThemeBlueIcy: m_theme.reset(new ChartThemeBlueIcy()); break; + case QChart::ChartThemeQt: + m_theme.reset(new ChartThemeQt()); + break; default: m_theme.reset(new ChartThemeSystem()); break; diff --git a/src/qchart.h b/src/qchart.h index 4bd01d4..9f48d0d 100644 --- a/src/qchart.h +++ b/src/qchart.h @@ -67,7 +67,8 @@ public: ChartThemeBrownSand, ChartThemeBlueNcs, ChartThemeHighContrast, - ChartThemeBlueIcy + ChartThemeBlueIcy, + ChartThemeQt }; enum AnimationOption { diff --git a/src/themes/chartthemeqt_p.h b/src/themes/chartthemeqt_p.h new file mode 100644 index 0000000..0d9c0dd --- /dev/null +++ b/src/themes/chartthemeqt_p.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Enterprise Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +// W A R N I N G +// ------------- +// +// This file is not part of the Qt Enterprise Chart API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#ifndef CHARTTHEMEQT_P_H +#define CHARTTHEMEQT_P_H + +#include "charttheme_p.h" + +QTCOMMERCIALCHART_BEGIN_NAMESPACE + +class ChartThemeQt : public ChartTheme +{ +public: + ChartThemeQt() : ChartTheme(QChart::ChartThemeQt) + { + // Series colors + m_seriesColors << QRgb(0x80c342); + m_seriesColors << QRgb(0x328930); + m_seriesColors << QRgb(0x006325); + m_seriesColors << QRgb(0x35322f); + m_seriesColors << QRgb(0x5d5b59); + m_seriesColors << QRgb(0x868482); + m_seriesColors << QRgb(0xaeadac); + m_seriesColors << QRgb(0xd7d6d5); + m_seriesGradients = ChartThemeManager::generateSeriesGradients(m_seriesColors); + + // Background + QLinearGradient backgroundGradient(0.5, 0.0, 0.5, 1.0); + backgroundGradient.setColorAt(0.0, QRgb(0xffffff)); + backgroundGradient.setColorAt(1.0, QRgb(0xffffff)); + backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); + m_chartBackgroundGradient = backgroundGradient; + + // Axes and other + m_labelBrush = QBrush(QRgb(0x35322f)); + m_axisLinePen = QPen(QRgb(0xd7d6d5)); + m_axisLinePen.setWidth(1); + m_gridLinePen = QPen(QRgb(0xd7d6d5)); + m_gridLinePen.setWidth(1); + m_backgroundShades = BackgroundShadesNone; + m_outlinePen = QPen(QRgb(0x35322f)); + m_outlinePen.setWidthF(2.0); + } +}; + +QTCOMMERCIALCHART_END_NAMESPACE + +#endif diff --git a/src/themes/themes.pri b/src/themes/themes.pri index 53af482..656552a 100644 --- a/src/themes/themes.pri +++ b/src/themes/themes.pri @@ -10,4 +10,5 @@ THEMES += \ $$PWD/chartthemebrownsand_p.h \ $$PWD/chartthemebluencs_p.h \ $$PWD/chartthemehighcontrast_p.h \ - $$PWD/chartthemeblueicy_p.h + $$PWD/chartthemeblueicy_p.h \ + $$PWD/chartthemeqt_p.h diff --git a/tests/auto/qchart/tst_qchart.cpp b/tests/auto/qchart/tst_qchart.cpp index 4749bd4..6035fd7 100644 --- a/tests/auto/qchart/tst_qchart.cpp +++ b/tests/auto/qchart/tst_qchart.cpp @@ -719,6 +719,7 @@ void tst_QChart::theme_data() QTest::newRow("ChartThemeDark") << QChart::ChartThemeDark; QTest::newRow("hartThemeHighContrast") << QChart::ChartThemeHighContrast; QTest::newRow("ChartThemeLight") << QChart::ChartThemeLight; + QTest::newRow("ChartThemeQt") << QChart::ChartThemeQt; } void tst_QChart::theme() diff --git a/tests/chartviewer/window.cpp b/tests/chartviewer/window.cpp index 4e3db74..628fcca 100644 --- a/tests/chartviewer/window.cpp +++ b/tests/chartviewer/window.cpp @@ -163,6 +163,7 @@ QComboBox *Window::createThemeBox() themeComboBox->addItem("Blue NCS", QChart::ChartThemeBlueNcs); themeComboBox->addItem("High Contrast", QChart::ChartThemeHighContrast); themeComboBox->addItem("Blue Icy", QChart::ChartThemeBlueIcy); + themeComboBox->addItem("Qt", QChart::ChartThemeQt); return themeComboBox; } @@ -410,6 +411,9 @@ void Window::checkTheme() } else if (theme == QChart::ChartThemeBlueIcy) { pal.setColor(QPalette::Window, QRgb(0xcee7f0)); pal.setColor(QPalette::WindowText, QRgb(0x404044)); + } else if (theme == QChart::ChartThemeQt) { + pal.setColor(QPalette::Window, QRgb(0xf0f0f0)); + pal.setColor(QPalette::WindowText, QRgb(0x404044)); } else { pal.setColor(QPalette::Window, QRgb(0xf0f0f0)); pal.setColor(QPalette::WindowText, QRgb(0x404044));