diff options
-rw-r--r-- | src/qml/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/qml/qml/qqml.cpp | 9 | ||||
-rw-r--r-- | src/qml/qml/qqml.h | 10 | ||||
-rw-r--r-- | src/qml/qml/qqmltypenotavailable.cpp | 15 | ||||
-rw-r--r-- | src/qml/qml/qqmltypenotavailable_p.h | 34 | ||||
-rw-r--r-- | tests/auto/cmake/tooling_imports/First/Neighbor.h | 7 |
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 |