aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/style
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2022-05-13 22:42:08 +0200
committerRobert Griebl <robert.griebl@qt.io>2022-07-01 12:41:23 +0000
commit4c845c092c550d118d7ca3a4ca863aa94ec78882 (patch)
tree1aa7f8f1ac8a0a487b7082bfea1b0c26d53f4609 /plugins/style
parentdf878f3935fe28dd3d7253b9fa59d65db331eed0 (diff)
Port to Qt 6.2
- Build is warning free on Linux - Still using qmake - Custom fragmenShaders in the cluster are not ported yet - Qt 3D models are rendered, but the Studio 3D integration is untested Change-Id: I0e410a932d6461ba29e7c945cb5e9750d6df8964 Reviewed-by: Dominik Holland <dominik.holland@qt.io> Reviewed-by: Bramastyo Harimukti Santoso <bram.harimukti@gmail.com>
Diffstat (limited to 'plugins/style')
-rw-r--r--plugins/style/Style.cpp1
-rw-r--r--plugins/style/Style.h2
-rw-r--r--plugins/style/StyleData.h2
-rw-r--r--plugins/style/StyleDefaults.cpp22
-rw-r--r--plugins/style/StyleDefaults.h4
-rw-r--r--plugins/style/style.pro2
6 files changed, 29 insertions, 4 deletions
diff --git a/plugins/style/Style.cpp b/plugins/style/Style.cpp
index 4a6d44a1..c5c4f937 100644
--- a/plugins/style/Style.cpp
+++ b/plugins/style/Style.cpp
@@ -51,6 +51,7 @@ Style::~Style()
Style *Style::qmlAttachedProperties(QObject *object)
{
+ StyleDefaults::setEngine(qmlEngine(object));
return new Style(object);
}
diff --git a/plugins/style/Style.h b/plugins/style/Style.h
index 32ed108c..c3f5ca55 100644
--- a/plugins/style/Style.h
+++ b/plugins/style/Style.h
@@ -33,7 +33,7 @@
#include "StyleData.h"
-#include <QtQuickControls2/private/qquickattachedobject_p.h>
+#include <QtQuickControls2Impl/private/qquickattachedobject_p.h>
#include <QJSValue>
class Style : public QQuickAttachedObject
diff --git a/plugins/style/StyleData.h b/plugins/style/StyleData.h
index 177a67a3..db0f3de5 100644
--- a/plugins/style/StyleData.h
+++ b/plugins/style/StyleData.h
@@ -4,7 +4,7 @@
** Copyright (C) 2018 Pelagicore AG
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Neptune 3 IVI UI.
+** This file is part of the Neptune 3 UI.
**
** $QT_BEGIN_LICENSE:GPL-QTAS$
** Commercial License Usage
diff --git a/plugins/style/StyleDefaults.cpp b/plugins/style/StyleDefaults.cpp
index 3370d3c2..8385eca5 100644
--- a/plugins/style/StyleDefaults.cpp
+++ b/plugins/style/StyleDefaults.cpp
@@ -33,6 +33,7 @@
#include <QDebug>
#include <QDir>
#include <QQuickStyle>
+#include <QQmlEngine>
#define CHECK_KEY(key) \
if (!settings.contains(key)) { \
@@ -49,6 +50,13 @@
variable = settings.value(key).toReal();
StyleDefaults *StyleDefaults::m_instance = nullptr;
+QQmlEngine *StyleDefaults::m_engine = nullptr;
+
+void StyleDefaults::setEngine(QQmlEngine *e)
+{
+ if (!m_engine && e)
+ m_engine = e;
+}
StyleDefaults *StyleDefaults::instance()
{
@@ -62,7 +70,19 @@ StyleDefaults::StyleDefaults()
{
const char *confFileName = "style.conf";
- QDir chosenStyleDir(QDir(QQuickStyle::path()).absoluteFilePath(QQuickStyle::name()));
+ QDir chosenStyleDir = QStringLiteral("/does-not-exist0000000000000000");
+
+ Q_ASSERT(m_engine);
+ const QString name = QQuickStyle::name();
+ const auto paths = m_engine->importPathList();
+
+ for (const auto &path : paths) {
+ QDir d(path);
+ if (d.cd(name)) {
+ chosenStyleDir = d;
+ break;
+ }
+ }
if (!chosenStyleDir.exists()) {
qCritical() << "Style: directory for the chosen style does not exist:" << chosenStyleDir.absolutePath();
diff --git a/plugins/style/StyleDefaults.h b/plugins/style/StyleDefaults.h
index c14972d9..3c922944 100644
--- a/plugins/style/StyleDefaults.h
+++ b/plugins/style/StyleDefaults.h
@@ -35,9 +35,12 @@
#include <QSettings>
+QT_FORWARD_DECLARE_CLASS(QQmlEngine)
+
class StyleDefaults
{
public:
+ static void setEngine(QQmlEngine *e);
static StyleDefaults *instance();
const StyleData &data() const { return m_data; }
@@ -56,4 +59,5 @@ private:
QString m_imagePath;
static StyleDefaults *m_instance;
+ static QQmlEngine *m_engine;
};
diff --git a/plugins/style/style.pro b/plugins/style/style.pro
index ef2c04ce..5ac94e0f 100644
--- a/plugins/style/style.pro
+++ b/plugins/style/style.pro
@@ -1,7 +1,7 @@
TEMPLATE = lib
CONFIG += qt plugin c++11 no_private_qt_headers_warning
QT += qml quick
-QT += core-private gui-private qml-private quick-private quickcontrols2-private
+QT += core-private gui-private qml-private quick-private quickcontrols2-private quickcontrols2impl-private
SOURCES += StylePlugin.cpp Style.cpp StyleDefaults.cpp
HEADERS += Style.h StyleDefaults.h