| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new optional argument quit_qapp can be passed to QtAsyncio.run()
to configure whether the QCoreApplication at the core of QtAsyncio
should be shut down when asyncio finishes. A special case where one
would want to disable this is test suites that want to reuse a single
QCoreApplication instance across all unit tests, which would fail if
this instance is shut down every time.
Pick-to: 6.6
Fixes: PYSIDE-2575
Task-number: PYSIDE-769
Change-Id: I49cd0a50311fb30cc50df9b7f6a6d73fe8c58613
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
As a drive by, add a comment about QT6_DECL_NEW_OVERLOAD_TAIL
to the QtCore type system file.
Pick-to: 6.6
Change-Id: Idf395158f955fb3114431a04542a26341f53a7af
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
| |
Store the source location in the clang parser so that it appears
in the message. Also add the access level.
Change-Id: I9a9ca414a41a3fa4584dd55d580aa01bb252f9c7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Using PepType_GetSlot() as is requires adding ugly casts. To work
around, add a new file with convenience helper functions in C++
linkage. This also allows for using templates for tp_alloc.
Task-number: PYSIDE-560
Change-Id: Ia50a226f5b545861f885d600445b91b4e11713c5
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
snippets
PyTypeObject is not exposed in the stable API; accessor functions
should be used to retrieve the slots.
Task-number: PYSIDE-560
Change-Id: Ic6573f16929b9e88fcff0c37134ba7c08d072eb9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
[ChangeLog][PySide6] QQmlEgine.singletonInstance() has been added.
Pick-to: 6.6
Change-Id: Ib1b48df49ca8a183dba415a04f414903f58e435c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
It is needed For the QIcon::ThemeIcon fields.
Task-number: PYSIDE-2497
Task-number: PYSIDE-2537
Change-Id: I11d94c150dfa614797038e56cd37128bf3e88cff
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
The shutdown_default_executor function was updated with 3.12 to include
an optional timeout parameter. Update the function to handle this
timeout parameter.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I48b94d640e9940dee84097010fdf1505c82855af
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Tasks are supposed to be awaitable objects. Fix a leftover from an old
misunderstanding of tasks vs futures very early in the development
process.
Pick-to: 6.6
Fixes: PYSIDE-2561
Task-number: PYSIDE-769
Change-Id: I916d6e235c5e67ea0d03f1df3b1bf8dfd8cb9c83
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
A task that is awaiting a future must also cancel this future in order
for the cancellation to be successful.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I22a9132fc8506e7a007fe625bc9217f0760bdc6b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add implementations in QAsyncioEventLoopPolicy for get_child_watcher()
and set_child_watcher(). Child watchers are deprecated since 3.12 so we
don't need to bother with their logic, we just don't want the linter
warning.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I5178e9f6e8d5915741ed3cb65b3432699cba86d0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Programs started with QtAsyncio.run() were not terminating correctly in
some scenarios. Add a keep_running argument to distinguish cases where
the program is supposed to end after a coroutine finished and those
where we want to keep the event loop active.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I87857bac7c55aa68c0e273fb0ecf94848d8c2bae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
| |
Change-Id: If35518869590758df52c2ee6b334336aa864ffa7
Pick-to: 6.6 6.5 6.2
Task-number: PYSIDE-1586
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Just a few minor mypy fixes.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I4d67270c779606ea2f352a3fddd82941c9118bec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The overloads taking a uchar * data argument were generated using the
converter for uchar, causing warnings:
qbytearray.h:639: There's no user provided way (conversion rule, argument removal, custom code, etc) to handle the primitive type 'const uchar *' of argument 1 in function 'qCompress(const uchar * data, qsizetype nbytes, int compressionLevel)'.
qbytearray.h:640: There's no user provided way (conversion rule, argument removal, custom code, etc) to handle the primitive type 'const uchar *' of argument 1 in function 'qUncompress(const uchar * data, qsizetype nbytes)'.
This was never noticed since we have a conversion from PyBuffer
to QByteArray and the overload decisor checks only whether the minimum
argument is satifisfied, so, so qCompress(data,len,level) it called
qCompress(bytearry,len), passing the length as level.
To fix this, modify the argument to PyBuffer as is done for QImage and
give it overload-number 0, so that PyBuffer is checked first without
conversion to QByteArray. Add a test for both cases.
Amends ae51319fa8a7c02642f5d35f5d613c22e9ce8ecb.
Task-number: PYSIDE-838
Change-Id: Ib9b22a24257fcf93ce3458d8514cdda2e4843f64
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Mention the use cases (most prominently DBus), give some
instructions on how to obtain the signature and link it.
Pick-to: 6.6
Task-number: PYSIDE-2547
Task-number: PYSIDE-2563
Change-Id: I303ef09b26a5fc2c0ab14828aa4996e2055f8b95
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Doc modifications for added constructors were not generated at all.
Extract a helper function writeFunctionDocumentation() for this and
use that from writeFunction() and writeConstructors().
This requires making some methods const.
Task-number: PYSIDE-1106
Pick-to: 6.6
Change-Id: I5c13891d51a4a3011c30cfccc5b5a3ea925e6d9d
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exclude qshaderversion_wrapper.cpp, fixing:
specialization of ‘PyTypeObject* Shiboken::SbkType() [with T = QShaderVersion; PyTypeObject = _typeobject]’ after instantiation
(apparently due to it being a private class).
Amends 277783b47e704505f19d00dd80f26239082974d6.
Pick-to: 6.6
Task-number: PYSIDE-2155
Change-Id: Iac2f9b151a44a0ef272f35d099c421e437313bf6
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
[ChangeLog][PySide6] QtQuickTest has been added.
Fixes: PYSIDE-2543
Change-Id: I949a0e50a2e522589863ade1e2b2335be580a0d7
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
| |
Address a fixme-comment in the typesystem file.
Change-Id: I9242a04cab75229480efa81a98dc0bbef9bb4e61
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace the extra documents (which get generated into the class list)
by function documentation snippets, so that they
show up correctly under "Global functions".
Task-number: PYSIDE-1106
Change-Id: I6a5c457669f7f1db1f572f131721dc443a7d5c70
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.6 6.5
Change-Id: If89021aa6da7253bbd61a33c1792d0262159e088
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Change-Id: Idd19498383f3a785a6a393ff8e9d07b6d45bb14e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a QtAsyncio.run() function as the new recommended method to launch
QtAsyncio programs. This abstracts the event loop policy and reduces the
API to one single call. Additionally, this will allow to transparently
replace the event loop policy with a loop factory when event loop
policies are removed in Python 3.15 following their deprecation in 3.12.
More information:
https://discuss.python.org/t/removing-the-asyncio-policy-system-asyncio-set-event-loop-policy-in-python-3-15/37553
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I59d7eeb81debe92315351995f041caead4f51d8b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Catch keyboard interrupts by catching the SIGINT signal and handling
it with the default handler. Register the handler with the
QAsyncioEventLoopPolicy so that this is always done when using
QtAsyncio.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I7b35367a50ab03eb014faabf6b6a3b21a6a3cd6c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
For these classes, the qHash() function should be found by
the code model after 9c37876d6f649b3c9bd1411d3c7ffe620786f1a8.
This leaves QLine, for which no qHash() exists in Qt.
Task-number: PYSIDE-1906
Change-Id: If6bd7ebbf015d9b140684bf3b1f4b0a141d3879b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Partially revert bf8a60db4cdbfc3e7c9c98778b219e9c83746d44, which
introduced a helper function converting to QString for Q(Date)(Time)
and QUrl. For these classes, the qHash() function should be found by
the code model after 9c37876d6f649b3c9bd1411d3c7ffe620786f1a8.
Extend the test accordingly.
Deprecate the QString-helper.
Task-number: PYSIDE-1906
Change-Id: Ia210a2210bc6a43991d5b26374039f4e86d0e71e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Use qHashMulti, noexcept and make them inline friends.
As a drive-by, also make comparison for Clang structures noexcept.
Pick-to: 6.6
Change-Id: Ibdcbf3bde90af0fc419bd1640d3f45602f772f9a
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Task-number: PYSIDE-1106
Change-Id: I28b3fa16f37d0d689956b55caa949307472efda6
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using the QTimer.singleShot(msec, context, functor) overload in
QAsyncioHandle already turned call_soon() threadsafe, as that allowed
callbacks to be scheduled from other threads. In order to follow the
API and distinguish call_soon() and call_soon_threadsafe(), the former
is reverted to using the old overload without the context argument,
while the latter keeps the new overload.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: Ib2591f994d082b46fe4ec747e590e4d8eb6ff24e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Add allow-thread.
Pick-to: 6.6 6.5 6.2
Task-number: PYSIDE-2547
Change-Id: I6cb6db502e7dfa72e7b1e9f4eaa5fef0761686e7
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Change it to be a value type since it is merely wrapping a QVariant.
Modeling it as object type caused problems when a list was returned
from QDBusMessage.result().
Fixes: PYSIDE-2544
Pick-to: 6.6 6.5 6.2
Change-Id: I984450acadd2840fa9d2b99c308fd070ad08e1f1
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
Fix the sequence of the checks and check for waitForStarted()
as well.
Change-Id: I46c4ac203886de7d7997b8847c82897574c95bb6
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable the PySide6 meta object functions of QDBusInterface since they
clash with the dynamic meta object builder it uses.
Note that it is then no longer possible to derive a Python
class with signals/slots from QDBusInterface.
[ChangeLog][PySide6] It is no longer possible to derive a Python class
with signals/slots from QDBusInterface. This is necessary to able to
retrieve properties via DBus.
Fixes: PYSIDE-2535
Change-Id: I6622c7d0bbc8e2684d1390e2888dc68053464189
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
This unearthes a few conversion errors.
Pick-to: 6.6
Change-Id: Iad09bb08612938bd6890f3d1aa444d78e8fb8618
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-1106
Change-Id: I52deebbfd2057dd99c2aafef37a2dd0eaf69ea98
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
Use QLatin1StringView or literals.
Task-number: PYSIDE-2537
Change-Id: I03cb9ae80dacd84da9e53648dd179ad79e9189b1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Complements 3bc23d37737184a89f780d84f431757cd7f725c2
Pick-to: 6.6 6.5 6.2 5.15
Fixes: PYSIDE-1931
Change-Id: I71605d64dbcd3c4d2d38e788d098cfcaccf4e609
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Executors require a bit of extra work for QtAsyncio, as we can't use
naked Python threads, instead we must make sure that the thread created
by executor.submit() has an event loop. This is achieved by submitting a
small wrapper that attaches a QEventLoop to the executor thread, and
then creates a singleshot timer to push the actual function for the
executor into this new event loop.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I77569d8939d6040ddbe62a99448c6ced2785f27e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Do not raise an exception when cancelling a handle. The exception should
be raised later, when retrieving the future's result.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I8243cf16e8be5afe167d69313054e97e9aafc75c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Refactor the task step function to handle exceptions properly, as the
self._coro.throw() code path was not usually reachable.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I31d50f700857a47bf1df5f0f02fb2fa313c1c045
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
On C++, it is possible to call singleShot timers with a context object
as an argument. This allows posting events to the event loop of the
given context object's thread, instead of the thread of the current
thread. Implement corresponding signatures to add this capability to
Qt for Python.
Pick-to: 6.6
Change-Id: I0c4e3ef4b859cdfaac07415ff64c440821e7f442
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CMake logic borrowed from the native interface patch.
[ChangeLog][PySide6] QRhi and related classes have been added.
Pick-to: 6.6
Task-number: QTBUG-113331
Change-Id: I9dd8b0b92f71027fc9f2c170af2993a5b09a4cfd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
QAbstractItemView.setModel()/QGraphicsView.setScene()
Pick-to: 6.6 6.5
Fixes: PYSIDE-2514
Change-Id: I565f13de6515d441f7848d3b5c2477937b7af496
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
[ChangeLog][PySide6] QMetaMethod.invoke() has been added.
Pick-to: 6.6
Fixes: PYSIDE-2500
Change-Id: I270489ec9372ddfee19e9342c1312d8c446ee5d9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor the helper injected into the QMetaObject wrapper code into
helper functions in the QtCore glue code that handle all arguments of
the QMetaObject::invokeMethod() overloads.
Extract a std::function for the actuall call that helps to implement
QMetaMethod::invoke() in a follow-up change.
Pick-to: 6.6
Task-number: PYSIDE-2500
Change-Id: I4f2b509a13d252dad92e388e1dfd607ae3eafcd1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Use the correct install locations for QtAsyncio
and designer plugin.
Pick-to: 6.6
Fixes: PYSIDE-2494
Change-Id: I760e8f52f19cd1f1cdf742a15df071c4f4deffa5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is the better concept to use the same structure for
all type creation functions. We move the type slots and
type specs into these functions.
The calling function then always has the same structure
of one static expression and returning the type.
This might also save some space for shatic structures.
Task-number: PYSIDE-2230
Change-Id: Ib972f210f44422eb1ebe47a0d92ac18a8377ac87
Pick-to: 6.6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use QQmlPrivate::RegisterTypeAndRevisions and information set as
QMetaClassInfo as recommended by QML team. The only remaining old code
path is for qmlRegisterSingletonType() for the hypothetical case of a
value type.
[ChangeLog][PySide6] QML type registration has been ported
to use RegisterTypeAndRevisions.
Fixes: PYSIDE-2484
Change-Id: I7134cbfe1fad1fb543a560cc13b68327b9bd9c2b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Reproducible in macOS terminal/QtCreator because the environment
does not explicitly set the locale unless the locale is changed.
- If the locale of the system has not been changed, then the Python
locale module's getLocale() returns 'None' as the language code. In
this case, use the POSIX locale or 'C' locale as the default as stated
in the Python locale module's documentation:
``
According to POSIX, a program which has not called
setlocale(LC_ALL, '') runs using the portable 'C' locale.
``
- This issue does not exist in VSCode because VSCode set the locale
in its terminal.
Pick-to: 6.6 6.5
Fixes: PYSIDE-2485
Change-Id: I23ccfa0ef59912ad950143d4a1080c5a201a4865
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|