diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-07 10:46:26 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-07 13:18:41 +0200 |
commit | 8566d712a87d9e3a78be15b6bd3498c2cf8afe57 (patch) | |
tree | 6ae292f0fd8c870d997db6d208a531da5f9320f0 /src/datavisualization/engine | |
parent | aa842c39480aa5b95f704c97b8b3acc821144883 (diff) |
Fix setting theme type
Now reset the theme properties immediately to new theme type, instead
of waiting for the theme activation. Also make changing theme type
later work consistently.
Task-number: QTRD-2750
Change-Id: I970d69587623119df33ad2a825fbc12367804eae
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 13 | ||||
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller_p.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 500ce9dc..fb732139 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -446,6 +446,19 @@ void Abstract3DController::handleThemeMultiHighlightGradientChanged(const QLinea markSeriesVisualsDirty(); } +void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme) +{ + Q_UNUSED(theme) + + // Changing theme type is logically equivalent of changing the entire theme + // object, so reset all attached series to the new theme. + + Q3DTheme *activeTheme = m_themeManager->activeTheme(); + for (int i = 0; i < m_seriesList.size(); i++) + m_seriesList.at(i)->d_ptr->resetToTheme(*activeTheme, i, true); + markSeriesVisualsDirty(); +} + void Abstract3DController::setAxisX(Q3DAbstractAxis *axis) { setAxisHelper(Q3DAbstractAxis::AxisOrientationX, axis, &m_axisX); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index a862a961..66c61a53 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -249,6 +249,7 @@ public slots: void handleThemeSingleHighlightGradientChanged(const QLinearGradient &gradient); void handleThemeMultiHighlightColorChanged(const QColor &color); void handleThemeMultiHighlightGradientChanged(const QLinearGradient &gradient); + void handleThemeTypeChanged(Q3DTheme::Theme theme); // Renderer callback handlers void handleRequestShadowQuality(QDataVis::ShadowQuality quality); |