summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index afe0b124..e185d322 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -684,6 +684,18 @@ void Abstract3DController::setZoomLevel(int zoomLevel)
void Abstract3DController::setColorStyle(QDataVis::ColorStyle style)
{
+ if (style != m_colorStyle || m_changeTracker.themeChanged) {
+ Q3DTheme *theme = m_themeManager->theme();
+ if (style == QDataVis::ColorStyleUniform) {
+ setObjectColor(theme->baseColor());
+ setSingleHighlightColor(theme->singleHighlightColor());
+ setMultiHighlightColor(theme->multiHighlightColor());
+ } else {
+ setObjectGradient(theme->baseGradient());
+ setSingleHighlightGradient(theme->singleHighlightGradient());
+ setMultiHighlightGradient(theme->multiHighlightGradient());
+ }
+ }
if (style != m_colorStyle) {
m_colorStyle = style;
m_changeTracker.colorStyleChanged = true;
@@ -795,16 +807,6 @@ void Abstract3DController::setTheme(Q3DTheme *theme)
m_changeTracker.themeChanged = true;
// TODO: set all colors/styles here (QTRD-2538)
setColorStyle(colorStyle);
- if (colorStyle == QDataVis::ColorStyleUniform) {
- setObjectColor(theme->baseColor());
- setSingleHighlightColor(theme->singleHighlightColor());
- setMultiHighlightColor(theme->multiHighlightColor());
- } else {
- setObjectGradient(theme->baseGradient());
- setSingleHighlightGradient(theme->singleHighlightGradient());
- setMultiHighlightGradient(theme->multiHighlightGradient());
- }
-
emit themeChanged(theme);
}
}