From 39ab7c38ea280626468b02acd396667f7ac5cb44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 25 Apr 2014 09:13:12 +0300 Subject: QML them basecolor override by series bug fixed Task-number: QTRD-3010 QML calls properties in "random" (or alphabetical) order, which in this case causes theme initialization to be called after series basecolor override, so setting a basecolor to a series to override theme did not work. Change-Id: I434f2a278bf2a70512a3d4d73c30d80319bd0e8e Reviewed-by: Mika Salmela --- src/datavisualization/engine/abstract3dcontroller.cpp | 5 +++-- src/datavisualization/engine/abstract3dcontroller_p.h | 2 +- src/datavisualizationqml2/abstractdeclarative.cpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 4c66ad76..31dcab95 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -725,12 +725,13 @@ void Abstract3DController::releaseTheme(Q3DTheme *theme) if (oldTheme != m_themeManager->activeTheme()) emit activeThemeChanged(m_themeManager->activeTheme()); } + QList Abstract3DController::themes() const { return m_themeManager->themes(); } -void Abstract3DController::setActiveTheme(Q3DTheme *theme) +void Abstract3DController::setActiveTheme(Q3DTheme *theme, bool force) { if (theme != m_themeManager->activeTheme()) { m_themeManager->setActiveTheme(theme); @@ -739,7 +740,7 @@ void Abstract3DController::setActiveTheme(Q3DTheme *theme) Q3DTheme *newActiveTheme = m_themeManager->activeTheme(); // Reset all attached series to the new theme for (int i = 0; i < m_seriesList.size(); i++) - m_seriesList.at(i)->d_ptr->resetToTheme(*newActiveTheme, i, true); + m_seriesList.at(i)->d_ptr->resetToTheme(*newActiveTheme, i, force); markSeriesVisualsDirty(); emit activeThemeChanged(newActiveTheme); } diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index ba91796e..07aa9ca3 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -209,7 +209,7 @@ public: virtual void addTheme(Q3DTheme *theme); virtual void releaseTheme(Q3DTheme *theme); - virtual void setActiveTheme(Q3DTheme *theme); + virtual void setActiveTheme(Q3DTheme *theme, bool force = true); virtual Q3DTheme *activeTheme() const; virtual QList themes() const; diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp index 2a02ad24..3b756d4c 100644 --- a/src/datavisualizationqml2/abstractdeclarative.cpp +++ b/src/datavisualizationqml2/abstractdeclarative.cpp @@ -171,7 +171,7 @@ Declarative3DScene* AbstractDeclarative::scene() const void AbstractDeclarative::setTheme(Q3DTheme *theme) { - m_controller->setActiveTheme(theme); + m_controller->setActiveTheme(theme, false); } Q3DTheme *AbstractDeclarative::theme() const -- cgit v1.2.3