aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-01-25 10:44:45 +0100
committerUlf Hermann <ulf.hermann@qt.io>2022-02-01 09:34:19 +0100
commit25aab20ad3fa63acc7d76be022a4303f005a9f8a (patch)
treeb2adeb5e2e1aa81a2b39e8abb42101ac8f6b3640
parent7efcb0e34933ee6ac29f9de35c0fe7146049c221 (diff)
Move registrations functions into the Qt namespace
It's high time we do this. We should not clobber the global namespace with type registration functions if the user has explicitly provided a namespace for Qt. Change-Id: Ibac49cb1c8976e65ea15d7a07d25ea1a5325a60a Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/labs/sharedimage/qtlabssharedimageglobal_p.h4
-rw-r--r--src/qml/Qt6QmlBuildInternals.cmake5
-rw-r--r--src/quick/qtquickglobal_p.h4
-rw-r--r--src/quickcontrols2/basic/qtquickcontrols2basicstyleplugin.cpp4
-rw-r--r--src/quickcontrols2/fusion/qtquickcontrols2fusionstyleplugin.cpp4
-rw-r--r--src/quickcontrols2/imagine/qtquickcontrols2imaginestyleplugin.cpp4
-rw-r--r--src/quickcontrols2/macos/qtquickcontrols2macosstyleplugin.cpp4
-rw-r--r--src/quickcontrols2/material/qtquickcontrols2materialstyleplugin.cpp4
-rw-r--r--src/quickcontrols2/qtquickcontrols2global.h4
-rw-r--r--src/quickcontrols2/qtquickcontrols2plugin.cpp4
-rw-r--r--src/quickcontrols2/universal/qtquickcontrols2universalstyleplugin.cpp4
-rw-r--r--src/quickcontrols2/windows/qtquickcontrols2windowsstyleplugin.cpp4
-rw-r--r--src/quicknativestyle/qtquickcontrols2nativestyleplugin.cpp4
-rw-r--r--src/quickshapes/qquickshapesglobal_p.h4
-rw-r--r--src/quickshapes/qquickshapesplugin.cpp4
-rw-r--r--src/quicktemplates2/qtquicktemplates2global_p.h3
-rw-r--r--src/quicktemplates2/qtquicktemplates2plugin.cpp5
17 files changed, 42 insertions, 27 deletions
diff --git a/src/labs/sharedimage/qtlabssharedimageglobal_p.h b/src/labs/sharedimage/qtlabssharedimageglobal_p.h
index a517905d80..de4edcc859 100644
--- a/src/labs/sharedimage/qtlabssharedimageglobal_p.h
+++ b/src/labs/sharedimage/qtlabssharedimageglobal_p.h
@@ -55,6 +55,10 @@
#include <QtLabsSharedImage/private/qtlabssharedimageexports_p.h>
+QT_BEGIN_NAMESPACE
+
void Q_LABSSHAREDIMAGE_PRIVATE_EXPORT qml_register_types_Qt_labs_sharedimage();
+QT_END_NAMESPACE
+
#endif // QTLABSSHAREDIMAGEGLOBAL_P_H
diff --git a/src/qml/Qt6QmlBuildInternals.cmake b/src/qml/Qt6QmlBuildInternals.cmake
index a155c963df..87daf8688f 100644
--- a/src/qml/Qt6QmlBuildInternals.cmake
+++ b/src/qml/Qt6QmlBuildInternals.cmake
@@ -300,6 +300,11 @@ function(qt_internal_add_qml_module target)
message(FATAL_ERROR "Do not set FOLLOW_FOREIGN_VERSIONING for module ${target}. It is already set by default for internal modules.")
endif()
+ get_target_property(qt_namespace ${QT_CMAKE_EXPORT_NAMESPACE}::Core _qt_namespace)
+ if(qt_namespace)
+ list(APPEND add_qml_module_args NAMESPACE ${qt_namespace})
+ endif()
+
# Update the backing and plugin targets with qml-specific things.
qt6_add_qml_module(${target}
${add_qml_module_args}
diff --git a/src/quick/qtquickglobal_p.h b/src/quick/qtquickglobal_p.h
index 5f10c69ed8..a6079c087e 100644
--- a/src/quick/qtquickglobal_p.h
+++ b/src/quick/qtquickglobal_p.h
@@ -60,10 +60,10 @@
#include "qtquickglobal.h"
#include <QtQuick/private/qtquickexports_p.h>
-void Q_QUICK_PRIVATE_EXPORT qml_register_types_QtQuick();
-
QT_BEGIN_NAMESPACE
+void Q_QUICK_PRIVATE_EXPORT qml_register_types_QtQuick();
+
void Q_QUICK_PRIVATE_EXPORT QQuick_initializeModule();
Q_DECLARE_LOGGING_CATEGORY(lcTouch)
diff --git a/src/quickcontrols2/basic/qtquickcontrols2basicstyleplugin.cpp b/src/quickcontrols2/basic/qtquickcontrols2basicstyleplugin.cpp
index 4c591fc746..dc8d088398 100644
--- a/src/quickcontrols2/basic/qtquickcontrols2basicstyleplugin.cpp
+++ b/src/quickcontrols2/basic/qtquickcontrols2basicstyleplugin.cpp
@@ -43,11 +43,11 @@
#include <QtQuickControls2/private/qquickstyleplugin_p.h>
#include <QtQuickTemplates2/private/qquicktheme_p.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_Basic();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Basic);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2BasicStylePlugin: public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quickcontrols2/fusion/qtquickcontrols2fusionstyleplugin.cpp b/src/quickcontrols2/fusion/qtquickcontrols2fusionstyleplugin.cpp
index 5c66dff04d..5b2e1148c4 100644
--- a/src/quickcontrols2/fusion/qtquickcontrols2fusionstyleplugin.cpp
+++ b/src/quickcontrols2/fusion/qtquickcontrols2fusionstyleplugin.cpp
@@ -44,11 +44,11 @@
#include <QtQuickControls2/private/qquickstyleplugin_p.h>
#include <QtQuickTemplates2/private/qquicktheme_p.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_Fusion();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Fusion);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2FusionStylePlugin : public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quickcontrols2/imagine/qtquickcontrols2imaginestyleplugin.cpp b/src/quickcontrols2/imagine/qtquickcontrols2imaginestyleplugin.cpp
index 21877e10b4..afc7530f28 100644
--- a/src/quickcontrols2/imagine/qtquickcontrols2imaginestyleplugin.cpp
+++ b/src/quickcontrols2/imagine/qtquickcontrols2imaginestyleplugin.cpp
@@ -45,11 +45,11 @@
#include <QtQuickControls2/private/qquickstyleplugin_p.h>
#include <QtQuickTemplates2/private/qquicktheme_p.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_Imagine();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Imagine);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2ImagineStylePlugin : public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quickcontrols2/macos/qtquickcontrols2macosstyleplugin.cpp b/src/quickcontrols2/macos/qtquickcontrols2macosstyleplugin.cpp
index 8ae7263876..1ff6cc6c80 100644
--- a/src/quickcontrols2/macos/qtquickcontrols2macosstyleplugin.cpp
+++ b/src/quickcontrols2/macos/qtquickcontrols2macosstyleplugin.cpp
@@ -41,11 +41,11 @@
#include <QtQuickControls2/private/qquickstyleplugin_p.h>
#include <QtQuickControls2/qquickstyle.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_macOS();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_macOS);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2MacOSStylePlugin : public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quickcontrols2/material/qtquickcontrols2materialstyleplugin.cpp b/src/quickcontrols2/material/qtquickcontrols2materialstyleplugin.cpp
index c7f16b6f6e..983627506f 100644
--- a/src/quickcontrols2/material/qtquickcontrols2materialstyleplugin.cpp
+++ b/src/quickcontrols2/material/qtquickcontrols2materialstyleplugin.cpp
@@ -44,11 +44,11 @@
#include <QtQuickControls2Impl/private/qquickpaddedrectangle_p.h>
#include <QtQuickTemplates2/private/qquicktheme_p.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_Material();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Material);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2MaterialStylePlugin : public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quickcontrols2/qtquickcontrols2global.h b/src/quickcontrols2/qtquickcontrols2global.h
index 9fa7fd7e8e..564188f653 100644
--- a/src/quickcontrols2/qtquickcontrols2global.h
+++ b/src/quickcontrols2/qtquickcontrols2global.h
@@ -43,6 +43,10 @@
#include <QtCore/qglobal.h>
#include <QtQuickControls2/qtquickcontrols2exports.h>
+QT_BEGIN_NAMESPACE
+
Q_QUICKCONTROLS2_EXPORT void qml_register_types_QtQuick_Controls();
+QT_END_NAMESPACE
+
#endif // QTQUICKCONTROLS2GLOBAL_H
diff --git a/src/quickcontrols2/qtquickcontrols2plugin.cpp b/src/quickcontrols2/qtquickcontrols2plugin.cpp
index 80677e899d..40df92a9dd 100644
--- a/src/quickcontrols2/qtquickcontrols2plugin.cpp
+++ b/src/quickcontrols2/qtquickcontrols2plugin.cpp
@@ -46,10 +46,10 @@
#include <QtQuickControls2/qquickstyle.h>
#include <QtQuickControls2/qtquickcontrols2global.h>
-Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls);
-
QT_BEGIN_NAMESPACE
+Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls);
+
Q_LOGGING_CATEGORY(lcQtQuickControls2Plugin, "qt.quick.controls.qtquickcontrols2plugin")
class QtQuickControls2Plugin : public QQmlExtensionPlugin
diff --git a/src/quickcontrols2/universal/qtquickcontrols2universalstyleplugin.cpp b/src/quickcontrols2/universal/qtquickcontrols2universalstyleplugin.cpp
index 3b74315216..c73debce35 100644
--- a/src/quickcontrols2/universal/qtquickcontrols2universalstyleplugin.cpp
+++ b/src/quickcontrols2/universal/qtquickcontrols2universalstyleplugin.cpp
@@ -43,11 +43,11 @@
#include <QtQuickControls2/private/qquickstyleplugin_p.h>
#include <QtQuickTemplates2/private/qquicktheme_p.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_Universal();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Universal);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2UniversalStylePlugin : public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quickcontrols2/windows/qtquickcontrols2windowsstyleplugin.cpp b/src/quickcontrols2/windows/qtquickcontrols2windowsstyleplugin.cpp
index 5532278a0f..657b9737fe 100644
--- a/src/quickcontrols2/windows/qtquickcontrols2windowsstyleplugin.cpp
+++ b/src/quickcontrols2/windows/qtquickcontrols2windowsstyleplugin.cpp
@@ -41,11 +41,11 @@
#include <QtQuickControls2/private/qquickstyleplugin_p.h>
#include <QtQuickControls2/qquickstyle.h>
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_Controls_Windows();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Windows);
-QT_BEGIN_NAMESPACE
-
class QtQuickControls2WindowsStylePlugin : public QQuickStylePlugin
{
Q_OBJECT
diff --git a/src/quicknativestyle/qtquickcontrols2nativestyleplugin.cpp b/src/quicknativestyle/qtquickcontrols2nativestyleplugin.cpp
index 154d1150bf..589c2f4af5 100644
--- a/src/quicknativestyle/qtquickcontrols2nativestyleplugin.cpp
+++ b/src/quicknativestyle/qtquickcontrols2nativestyleplugin.cpp
@@ -53,11 +53,11 @@
# include "qquickwindowsxpstyle_p.h"
#endif
+QT_BEGIN_NAMESPACE
+
extern void qml_register_types_QtQuick_NativeStyle();
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_NativeStyle);
-QT_BEGIN_NAMESPACE
-
using namespace QQC2;
class QtQuickControls2NativeStylePlugin : public QQuickStylePlugin
diff --git a/src/quickshapes/qquickshapesglobal_p.h b/src/quickshapes/qquickshapesglobal_p.h
index ba9ee1486f..0d3bb8efc6 100644
--- a/src/quickshapes/qquickshapesglobal_p.h
+++ b/src/quickshapes/qquickshapesglobal_p.h
@@ -54,6 +54,10 @@
#include "qquickshapesglobal.h"
#include <QtQuickShapes/private/qtquickshapesexports_p.h>
+QT_BEGIN_NAMESPACE
+
void Q_QUICKSHAPES_PRIVATE_EXPORT qml_register_types_QtQuick_Shapes();
+QT_END_NAMESPACE
+
#endif // QQUICKSHAPESGLOBAL_P_H
diff --git a/src/quickshapes/qquickshapesplugin.cpp b/src/quickshapes/qquickshapesplugin.cpp
index 513160db60..0f7ea5aca3 100644
--- a/src/quickshapes/qquickshapesplugin.cpp
+++ b/src/quickshapes/qquickshapesplugin.cpp
@@ -41,11 +41,11 @@
#include <QtQml/qqml.h>
#include <QtQuickShapes/private/qquickshape_p.h>
+QT_BEGIN_NAMESPACE
+
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Shapes);
Q_GHS_KEEP_REFERENCE(QQuickShapes_initializeModule);
-QT_BEGIN_NAMESPACE
-
class QmlShapesPlugin : public QQmlEngineExtensionPlugin
{
Q_OBJECT
diff --git a/src/quicktemplates2/qtquicktemplates2global_p.h b/src/quicktemplates2/qtquicktemplates2global_p.h
index 15d911d5f8..9b765c847a 100644
--- a/src/quicktemplates2/qtquicktemplates2global_p.h
+++ b/src/quicktemplates2/qtquicktemplates2global_p.h
@@ -59,9 +59,8 @@
QT_BEGIN_NAMESPACE
Q_QUICKTEMPLATES2_PRIVATE_EXPORT void QQuickTemplates_initializeModule();
+Q_QUICKTEMPLATES2_PRIVATE_EXPORT void qml_register_types_QtQuick_Templates();
QT_END_NAMESPACE
-Q_QUICKTEMPLATES2_PRIVATE_EXPORT void qml_register_types_QtQuick_Templates();
-
#endif // QTQUICKTEMPLATES2GLOBAL_P_H
diff --git a/src/quicktemplates2/qtquicktemplates2plugin.cpp b/src/quicktemplates2/qtquicktemplates2plugin.cpp
index 0336754081..80bf22e2b9 100644
--- a/src/quicktemplates2/qtquicktemplates2plugin.cpp
+++ b/src/quicktemplates2/qtquicktemplates2plugin.cpp
@@ -50,12 +50,11 @@ extern ShortcutContextMatcher qt_quick_shortcut_context_matcher();
extern void qt_quick_set_shortcut_context_matcher(ShortcutContextMatcher matcher);
#endif
+QT_BEGIN_NAMESPACE
+
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Templates);
Q_GHS_KEEP_REFERENCE(QQuickTemplates_initializeModule);
-
-QT_BEGIN_NAMESPACE
-
class QtQuickTemplates2Plugin : public QQmlExtensionPlugin
{
Q_OBJECT