diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-05-02 16:15:13 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-05-03 12:42:21 +0000 |
commit | 6c7e437c96f9b3ddadff4ec4bb52f6edea3fc139 (patch) | |
tree | 6f6d7e44b52e5f525122d574742c4896abae80f7 | |
parent | 34a3af3f9552cc446233dda804c4a611b50ad083 (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.cpp | 27 |
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))) { |