diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 5 | ||||
-rw-r--r-- | src/datavisualization/theme/q3dtheme.h | 2 | ||||
-rw-r--r-- | src/datavisualizationqml2/abstractdeclarative.cpp | 8 |
3 files changed, 14 insertions, 1 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index b7440c84..3426a715 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -29,6 +29,7 @@ #include "qtouch3dinputhandler.h" #include "qabstract3dseries_p.h" #include "thememanager_p.h" +#include "q3dtheme_p.h" #include "q3dscene_p.h" #include "q3dscene.h" @@ -57,7 +58,9 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen m_scene = new Q3DScene; // Set initial theme - setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt)); + Q3DTheme *defaultTheme = new Q3DTheme(Q3DTheme::ThemeQt); + defaultTheme->d_ptr->setDefaultTheme(true); + setActiveTheme(defaultTheme); m_scene->d_ptr->setViewport(initialViewport); diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index e023c76e..69b22124 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -178,6 +178,8 @@ protected: friend class ThemeManager; friend class Abstract3DRenderer; friend class Bars3DController; + friend class AbstractDeclarative; + friend class Abstract3DController; private: Q_DISABLE_COPY(Q3DTheme) diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp index e573b6f2..d04301cf 100644 --- a/src/datavisualizationqml2/abstractdeclarative.cpp +++ b/src/datavisualizationqml2/abstractdeclarative.cpp @@ -18,6 +18,7 @@ #include "abstractdeclarative_p.h" #include "qvalue3daxis.h" +#include "declarativetheme_p.h" #include <QThread> #include <QGuiApplication> @@ -99,6 +100,13 @@ void AbstractDeclarative::setSharedController(Abstract3DController *controller) { Q_ASSERT(controller); m_controller = controller; + + // Reset default theme, as the default C++ theme is Q3DTheme, not DeclarativeTheme3D. + DeclarativeTheme3D *defaultTheme = new DeclarativeTheme3D; + defaultTheme->d_ptr->setDefaultTheme(true); + defaultTheme->setType(Q3DTheme::ThemeQt); + m_controller->setActiveTheme(defaultTheme); + QObject::connect(m_controller, &Abstract3DController::shadowQualityChanged, this, &AbstractDeclarative::handleShadowQualityChange); QObject::connect(m_controller, &Abstract3DController::activeInputHandlerChanged, this, |