aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/CMakeLists.txt1
-rw-r--r--src/qml/qml/qqml.cpp9
-rw-r--r--src/qml/qml/qqml.h10
-rw-r--r--src/qml/qml/qqmltypenotavailable.cpp15
-rw-r--r--src/qml/qml/qqmltypenotavailable_p.h34
-rw-r--r--tests/auto/cmake/tooling_imports/First/Neighbor.h7
6 files changed, 23 insertions, 53 deletions
diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt
index 2033f49dbc..68d4c6841b 100644
--- a/src/qml/CMakeLists.txt
+++ b/src/qml/CMakeLists.txt
@@ -340,7 +340,6 @@ qt_internal_add_qml_module(Qml
qml/qqmltypemodule.cpp qml/qqmltypemodule_p.h
qml/qqmltypemoduleversion.cpp qml/qqmltypemoduleversion_p.h
qml/qqmltypenamecache.cpp qml/qqmltypenamecache_p.h
- qml/qqmltypenotavailable.cpp qml/qqmltypenotavailable_p.h
qml/qqmltypewrapper.cpp qml/qqmltypewrapper_p.h
qml/qqmlvaluetype.cpp qml/qqmlvaluetype_p.h
qml/qqmlvaluetypeproxybinding.cpp qml/qqmlvaluetypeproxybinding_p.h
diff --git a/src/qml/qml/qqml.cpp b/src/qml/qml/qqml.cpp
index 13654d0cb0..37eb52755e 100644
--- a/src/qml/qml/qqml.cpp
+++ b/src/qml/qml/qqml.cpp
@@ -11,7 +11,6 @@
#include <private/qqmlmetatypedata_p.h>
#include <private/qqmltype_p_p.h>
#include <private/qqmltypemodule_p.h>
-#include <private/qqmltypenotavailable_p.h>
#include <private/qqmlcomponent_p.h>
#include <private/qqmltypewrapper_p.h>
#include <private/qqmlvaluetypewrapper_p.h>
@@ -755,6 +754,13 @@ QList<QTypeRevision> QQmlPrivate::revisionClassInfos(const QMetaObject *metaObje
return revisions;
}
+int qmlRegisterTypeNotAvailable(
+ const char *uri, int versionMajor, int versionMinor,
+ const char *qmlName, const QString &message)
+{
+ return qmlRegisterUncreatableType<QQmlTypeNotAvailable>(
+ uri, versionMajor, versionMinor, qmlName, message);
+}
namespace QQmlPrivate {
template<>
@@ -798,7 +804,6 @@ void qmlRegisterTypeAndRevisions<QQmlTypeNotAvailable, void>(
qmlregister(TypeAndRevisionsRegistration, &type);
}
-
QQmlEngine *AOTCompiledContext::qmlEngine() const
{
return qmlContext ? qmlContext->engine() : nullptr;
diff --git a/src/qml/qml/qqml.h b/src/qml/qml/qqml.h
index 1695a78bbf..a50a86de4d 100644
--- a/src/qml/qml/qqml.h
+++ b/src/qml/qml/qqml.h
@@ -133,8 +133,16 @@ void qmlRegisterAnonymousTypesAndRevisions(const char *uri, int versionMajor)
nullptr, true);
}
+class QQmlTypeNotAvailable : public QObject
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(TypeNotAvailable)
+ QML_ADDED_IN_VERSION(2, 15)
+ QML_UNCREATABLE("Type not available.")
+};
+
int Q_QML_EXPORT qmlRegisterTypeNotAvailable(const char *uri, int versionMajor, int versionMinor,
- const char *qmlName, const QString& message);
+ const char *qmlName, const QString &message);
template<typename T>
int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason)
diff --git a/src/qml/qml/qqmltypenotavailable.cpp b/src/qml/qml/qqmltypenotavailable.cpp
deleted file mode 100644
index b3d33eb706..0000000000
--- a/src/qml/qml/qqmltypenotavailable.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-
-#include "qqmltypenotavailable_p.h"
-
-QT_BEGIN_NAMESPACE
-
-int qmlRegisterTypeNotAvailable(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& message)
-{
- return qmlRegisterUncreatableType<QQmlTypeNotAvailable>(uri,versionMajor,versionMinor,qmlName,message);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qqmltypenotavailable_p.cpp"
diff --git a/src/qml/qml/qqmltypenotavailable_p.h b/src/qml/qml/qqmltypenotavailable_p.h
deleted file mode 100644
index e198f3259a..0000000000
--- a/src/qml/qml/qqmltypenotavailable_p.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2020 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-
-#ifndef QQMLTYPENOTAVAILABLE_H
-#define QQMLTYPENOTAVAILABLE_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <qqml.h>
-#include <private/qglobal_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlTypeNotAvailable : public QObject {
- Q_OBJECT
- QML_NAMED_ELEMENT(TypeNotAvailable)
- QML_ADDED_IN_VERSION(2, 15)
- QML_UNCREATABLE("Type not available.")
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQmlTypeNotAvailable)
-
-#endif // QQMLTYPENOTAVAILABLE_H
diff --git a/tests/auto/cmake/tooling_imports/First/Neighbor.h b/tests/auto/cmake/tooling_imports/First/Neighbor.h
index e5119bc4c4..f374d0f215 100644
--- a/tests/auto/cmake/tooling_imports/First/Neighbor.h
+++ b/tests/auto/cmake/tooling_imports/First/Neighbor.h
@@ -15,4 +15,11 @@ public:
Neighbor(QObject *parent = nullptr);
};
+class Absent : public QObject
+{
+ Q_OBJECT
+ QML_ELEMENT
+ QML_UNAVAILABLE
+};
+
#endif // NEIGHBOR_H