diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-09 13:31:22 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-15 08:48:44 +0000 |
commit | a421aab61ad03afa595aa0ba7e53d84b1edbe892 (patch) | |
tree | 0ff3173d7e051d5a93ad9e54a0785f2b9ddedc0f /sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp | |
parent | f160c0f1f2053029c118eb5818074f875a3776b4 (diff) |
Add a QmlUncreatable decorator
Add a class type that stores the reason and registers
the type in the call operator. This is then queried
by the register type helper functions.
Pick-to: 6.2
Task-number: PYSIDE-1709
Change-Id: I0dd0c4c1e05e6e0ee6f22a6947b85546fc373fb9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp')
-rw-r--r-- | sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp index ffa337b93..1dd0507f7 100644 --- a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp +++ b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp @@ -39,6 +39,7 @@ #include "pysideqmlregistertype.h" #include "pysideqmlregistertype_p.h" +#include "pysideqmluncreatable.h" #include <limits> @@ -422,7 +423,10 @@ static PyObject *qmlElementMacroHelper(PyObject *pyObj, PyObject *PySide::qmlElementMacro(PyObject *pyObj) { - return qmlElementMacroHelper(pyObj, "QmlElement"); + auto *noCreationReason = PySide::qmlNoCreationReason(pyObj); + const auto mode = noCreationReason != nullptr + ? RegisterMode::Uncreatable : RegisterMode::Normal; + return qmlElementMacroHelper(pyObj, "QmlElement", mode, noCreationReason); } PyObject *PySide::qmlAnonymousMacro(PyObject *pyObj) |