aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-05-02 16:15:13 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-05-03 12:42:21 +0000
commit6c7e437c96f9b3ddadff4ec4bb52f6edea3fc139 (patch)
tree6f6d7e44b52e5f525122d574742c4896abae80f7
parent34a3af3f9552cc446233dda804c4a611b50ad083 (diff)
PySide6: Enable basic property arguments for QmlListProperty
Task-number: PYSIDE-2206 Change-Id: Ia26104fba75cdba3e4d84e6fcfbffc94e4bfd3d7 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 42be729770eeb5d40802cfc697bddd744ba2623f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--sources/pyside6/libpysideqml/pysideqmllistproperty.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp b/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp
index a23b1af42..37a2bc543 100644
--- a/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp
+++ b/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp
@@ -40,23 +40,44 @@ static PyObject *propList_tp_new(PyTypeObject *subtype, PyObject * /* args */, P
static int propListTpInit(PyObject *self, PyObject *args, PyObject *kwds)
{
- static const char *kwlist[] = {"type", "append", "count", "at", "clear", "replace", "removeLast", 0};
+ static const char *kwlist[] = {"type", "append", "count", "at", "clear",
+ "replace", "removeLast",
+ "doc", "notify", // PySideProperty
+ "designable", "scriptable", "stored",
+ "user", "constant", "final",
+ nullptr};
PySideProperty *pySelf = reinterpret_cast<PySideProperty *>(self);
auto *data = static_cast<QmlListPropertyPrivate *>(pySelf->d);
+ char *doc{};
+
if (!PyArg_ParseTupleAndKeywords(args, kwds,
- "O|OOOOOO:QtQml.ListProperty", (char **) kwlist,
+ "O|OOOOOOsObbbbbb:QtQml.ListProperty",
+ const_cast<char **>(kwlist),
&data->type,
&data->append,
&data->count,
&data->at,
&data->clear,
&data->replace,
- &data->removeLast)) {
+ &data->removeLast,
+ /*s*/ &doc,
+ /*O*/ &(data->notify), // PySideProperty
+ /*bbb*/ &(data->designable),
+ &(data->scriptable),
+ &(data->stored),
+ /*bbb*/ &(data->user),
+ &(data->constant),
+ &(data->final))) {
return -1;
}
+ if (doc)
+ data->doc = doc;
+ else
+ data->doc.clear();
+
PyTypeObject *qobjectType = qObjectType();
if (!PySequence_Contains(data->type->tp_mro, reinterpret_cast<PyObject *>(qobjectType))) {