| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
Change-Id: I55fe70da8adf6faba0f8099d4d127ae3963fa2c6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
Replacing the deprecated QRegExp version in Qt 6.
Merge identical code snippets.
Task-number: PYSIDE-904
Change-Id: Id6f5c39379c65cf71fb6352531173d0fd7f2ae5e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
This is the proper type and makes it clear that it it is not related
to Qt's hash type (uint in Qt 5, size_t in Qt 6).
Task-number: PYSIDE-904
Change-Id: I4ce0f5c845c06e5dcd0ad9744a16a995017987ef
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\
| |
| |
| | |
Change-Id: I75984f35bcdeeeb3b6004a00670f1582ab522c1b
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When terminating a thread using QThread::terminate() via
(pthread_cancel(), QThread::run() is aborted and the lock is released,
but ~GilState() is still executed for some reason.
Add a cancel handler to the thread which tells GilState to abandon
the lock.
Fixes: PYSIDE-1282
Change-Id: I70abd42b5a2afd49aaa8cc5e8be0a92ed63f49d3
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| | |
| |
| |
| |
| | |
Change-Id: I348bb01c52482059b6f6bfebcc1d15fb68b9b142
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| | |
Change-Id: I0ef48ed4300037edcd357e167b6738d04ef5aaa4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Move QT_ANNOTATE_ACCESS_SPECIFIER before first Qt include.
Task-number: PYSIDE-904
Change-Id: I82b12a79174fad93e0c7ea260e5111b997c60995
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |\|
| |
| |
| | |
Change-Id: If40b0ab35cd2ad2bd0d982881094ce3dbf46ccf3
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we deploy the pyside2-uic wrapper inside the
bin/ directory of virtual environments, that takes care
of using the 'uic' binary we ship with the wheels,
which is located in site-packages/PySide2/.
The current implementation of loadUiType, runs 'uic -g python'
but for people without a Qt installation, it has no effect
since 'uic' is neither in PATH, nor in the system.
Using 'pyside2-uic' instead will solve this issue.
Task-number: PYSIDE-1223
Change-Id: I2c801a16c9ff4faa5cf8711bd718a634f017e592
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This implementation allows module-level and scoped QEnums
which are Python enum types. Scoped types are registered in Qt's meta
object system.
Usage of QEnum/QFlag with decorator or function call:
from enum import Enum, Flag, auto
from PySide2.QtCore import QEnum, QFlag, QObject
class Compass(QObject):
@QEnum
class Orientation(Enum):
North, East, South, West = range(4)
class Color(Flag):
RED = auto()
BLUE = auto()
GREEN = auto()
WHITE = RED | BLUE | GREEN
QFlag(Color)
Fixes: PYSIDE-957
Change-Id: Ie15f45cbd932c816b50724a96eee0c14ae1fdee8
Task-number: PYSIDE-487
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add allow-thread for the newly added overloads in 5.15
Fixes: PYSIDE-1332
Change-Id: I1e463203ea9914ae71991262745d803fc9001b7d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |\|
| |
| |
| | |
Change-Id: I6cf604e1ae7234ce4f0d99169e9269a7dde07a4a
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
In __init.py__, check for a zip archive and do not add DLL paths
relative to it. Amends d9cfec8e010b48036e5e879ccc99879538a4f7d2.
Change-Id: I18320bd6a8f784f20287c4a5ed65e9229989031c
Fixes: PYSIDE-1257
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was required by the change in QSocketNotifier in 5.15.
Additionally, an alias, DescriptorType, was required to make
the constructor to work.
Fixes: PYSIDE-1317
Change-Id: Ib75e6024e467eb72f374a1179cb7416b1ea8a853
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| |
| |
| |
| |
| |
| | |
It replaces the deprecated QRegExpValidator.
Change-Id: I18833a3f83bdaf2e72d05c529d846aa07582884c
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removing the old inject-documentation approach
from the typesystem, since the function lives in the module
but does not belong to any class.
Also some changes to the text were done, since there was
a wrong statement regarding the PATH of uic.
Change-Id: I7c8bf088f58ff9b6731ba66283ee384f6526c64b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This exposes the C++ class QQuickStyle
Task-number: PYSIDE-487
Change-Id: I5776421070362d8b3bf9556eb28a410de3c90948
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: I9c7163094bc934f481002adcea78ef4928ed26be
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This function will allow users to convert and load .ui files
at runtime.
A test case was added.
Change-Id: I64a220a07955e560f61f823d0ee2c3c9ff2209c1
Fixes: PYSIDE-1223
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Ensure it is 64bit for 64bit systems.
Change-Id: I0b4d54f2568bd70288e184a5a2d8f31532fed157
Fixes: PYSIDE-1303
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PyType_FromSpec breaks the name "A.B.C.D" in module "A.B.C"
and name = qualname = "D".
We fix that for PySide:
module = "A.B"
qualname = "C.D"
name = "D"
and for other prefixes like Shiboken:
module = "A"
qualname = "B.C.D"
name = "D"
This had quite some impact on the signature modules.
Change-Id: Ie94971ba737107b15adbfc2517e1ed32b65fda39
Fixes: PYSIDE-1286
Task-number: PYSIDE-15
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Change QBasicTimer to be an object type since its copy constructor
and assignment were deleted in Qt 6. It probably was never
intended to be a value type.
- Remove the hash function of QItemSelectionRange which
according to code comment is a dummy to get
QItemSelectionRange::toSet() compiled with MSVC. There is no need
for it to have it in Python
- Adapt the underlying string types for QString conversion
Task-number: PYSIDE-904
Change-Id: Idb60b95b6bc0ce3d1272862995f3247d2f191454
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Introduce a version variable to the CMakeLists.
- Emulate the Qt5Core_INCLUDE_DIRS, Qt5Core_LIBRARIES variables
by retrieving them from the INTERFACE
- Raise the language level
Task-number: PYSIDE-904
Change-Id: Ie4e43e7e6a9a2631d666038b80f306e2d9af47b1
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSerialPort is part of Qt since Qt 5.1. PySide2 so far
had no support for QSerialPort. At the same time, QSerialPort
was not listed as unsupported.
Task-number: PYSIDE-487
Change-Id: I88d4282a206dadf6f398c3f0e5740f02641724b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: I302699433b1a9d11b5134b43703a775556bbee14
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To remove the groundwork from the next checkin, the step
of replacing PyType_FromSpec with SbkType_FromSpec
is extracted.
This change introduces a packageLevel number that is generated
as a name prefix in the class creation but does not use it, yet.
Change-Id: Ic9061231708b546dbd3620d148bca24c27df60a5
Task-number: PYSIDE-1286
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: If256dd2b05ef2e31592cf50327ec9a2d6fb742bb
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code snippet passing the message to the Python handler
used QString::toLocal8Bit() to convert the message. This is
wrong as Python always requires UTF-8.
Fixes: PYSIDE-1293
Change-Id: I1f16dad970aaf0d776e748110fc2054269412047
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Increasing the refcount since otherwise the objects will be GCd.
Fixes: PYSIDE-1285
Change-Id: I9bb03c64f6ba9385de4ee892ce370bb2f827d79e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After the improvement to the GIL treatment inside PySide
to avoid UI freezing issues, many functions need an entry
on the typesystem to allow thread explicitly, this was
the case of the report, where a QMutexLocker was initialized.
The initialization was done inside a QThread run method,
so the lack of allow-thread was generating a deadlock.
The nogil section of the code (from Cython)
was not related to the issue, since replacing the content with
any instruction produced the deadlock anyways.
Fixes: PYSIDE-1271
Change-Id: Ib1fd1ebd923c3f9dc9ae390228bcf40b5b878019
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In case someone manually lock/tryLock a QBasicMutex
inside a section where threads are allowed, the lack of the
attribute will end on a deadlock.
Additionally, this removes the allow-thread for unlock() in
QMutex, since is not needed.
Task-number: PYSIDE-1271
Change-Id: I3d394c77d1b876afe324d5a50eb5da11b271c30e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: Ia9c2e8c7e4fb3665a78020ed154ab9a103368bd1
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a problem with the typing module for Python2
that showed the wrong name.
The generated signature files are further simplified.
They no longer contain fancy definitions like "Char", which
made little sense and was replaced by "int", which our
competitor does as well.
The mypy compatibility should be considered mostly complete.
Update.. QChar was not changed to "int" but "str" because we
got clashes. Therefore, recreation of the registry was necessary.
Hard to solve stay the definitions
"Virtual, Missing, Invalid, Default, Instance".
They are very rarely used for special cases. Mypy cannot
see these definitions since the module path does not exist
in the file system.
I tried hard to fix this by building a mypy plugin, but I seem to
be forced to generate real files in a temp dir. This was too much
effort. A plugin may make sense in the future when we need to
improve the type support.
Change-Id: Id80c2da1a4a379a80ec5f3019a916a9c00cc87ff
Task-number: PYSIDE-1100
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: I67ca2ec01e220ef32c61aba17a0be4e46f50cb5f
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to PEP 561, there needs to exist a py.typed file.
Also, the import of typing must be visible statically for mypy without
importing PySide2.
Testing.. run
mypy pyside_1100.py
and you will get the correct output without "any".
Change-Id: I1d08447161630a8c7a64eda32ff8a431e994c6a7
Fixes: PYSIDE-1100
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QHelpLink was added as an API review result by
qttools/6c28b30cacc72959b8efdb4644b3d2bde2dd86f9.
Amends bf14a84a7f658a37e8b246852f15e3b9969a2bad.
Task-number: PYSIDE-487
Change-Id: I7f2e139655f56261e26c541a2c39834f51050dfa
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: Id9d77dcbb396227a670e4455031ce074488c9e17
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit fcbbab0a6b5949b5c3726214ed87898b5fbcebcc.
This is no longer required after a fix generating the property
code into the setattro methods of QObject-derived classes.
Task-number: PYSIDE-803
Task-number: PYSIDE-1255
Change-Id: I9e989c0592eaaf25aa55a1db49537daa4bdb2a57
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add allow-thread.
Change-Id: I7feba9761a52c273cf4500a42dfbea0463d6040f
Fixes: PYSIDE-1253
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The unicode implementation has changed very much.
PyUnicode_GET_SIZE has been used all the time, although this
macro is already a quite expensive real function since Python 3.3 .
The function is deprecated, and the macro PyUnicode_GET_LENGTH
should be used, instead.
This is relevant for cleaning things up, because in the course of
fixing PYSIDE-813 we work with debug Python, which then complains
that Python memory is used without holding the GIL.
The usage of the right implementation was ensured by a function
PepUnicode_GetLength and removing all traces of the former version.
Task-number: PYSIDE-813
Change-Id: I62e94e10e14975dac3dad0ed1fffec8a1b54a0d5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: I6f4621d935f74fe7ecdbaf588a05523dd44712ce
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using clear on an item with children,
we rely on the childCount() function so when children
with only a parent and no local reference were inside,
they ended up being removed, altering the behavior of the loop.
Change-Id: I111a600cd2e805eeb7110082437e666f88ff65a5
Fixes: PYSIDE-1251
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |\|
| |
| |
| | |
Change-Id: Ibcd8a3b5c6d1d2f636fd21b162c67a85e727c2c4
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Check using the init limits in the QVariant long long conversion
and create an int if possible. This works more smoothly with
Qt and for example ensures that the correct editor is created in
item views.
Change-Id: I0ca2e5e7b91f309deaa81a25e70a5f894f43f841
Fixes: PYSIDE-1250
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Provide them as user-added functions using C++ lambdas.
Fixes: PYSIDE-946
Task-number: PYSIDE-1241
Change-Id: I9733bc98b3fc8b3bcf40ab4ce91ffdb84e385b93
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |/
|
|
|
|
| |
Task-number: PYSIDE-487
Change-Id: I4ebd62a5d81b308a189b8f4b06c1523fa78b5ef0
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds and remove the usage of:
allow-thread="yes"
in some typesystem entries.
This also adapt the usage of the Py_BEGIN/END_ALLOW_THREAD
macro inside the snippets used by other typesystem entries.
The main reason is that in some cases not the whole snippet
requires to be inside such state, but only when calling the
C++ equivalent function.
Task-number: PYSIDE-803
Change-Id: Ifa9c8cee2713c453e4d5c624aaa862e75559180c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The class will replace timeout parameters in Qt 5.15 as
introduced by qtbase/72f57cc84244633ca69ede9a1fd510b9b1881c1d,
causing warnings like:
Stripping argument #1 of bool QThread::wait(QDeadlineTimer) due to unmatched type "QDeadlineTimer" with default expression "QDeadlineTimer(QDeadlineTimer::Forever)".
Stripping argument #2 of bool QWaitCondition::wait(QMutex*,QDeadlineTimer) due to unmatched type "QDeadlineTimer" with default expression "QDeadlineTimer(QDeadlineTimer::Forever)".
Stripping argument #2 of bool QWaitCondition::wait(QReadWriteLock*,QDeadlineTimer) due to unmatched type "QDeadlineTimer" with default expression "QDeadlineTimer(QDeadlineTimer::Forever)".
Change-Id: I51655ef19d8276b95c2a759d5ba44287a4b6d91b
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
| |
Task-number: PYSIDE-803
Change-Id: I0ba80cea5804e1b83cc55ee32163ca9d021ccd26
Reviewed-by: Christian Tismer <tismer@stackless.com>
|