| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The filename should be the same for the references
in the documentation to work, but extension can
change to py instead of cpp.
Task-number: PYSIDE-691
Change-Id: Idca54292c67a32cdc2060314fe985bbd26f25d2f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-304
Task-number: PYSIDE-672
Change-Id: Ic0e8e9ada594f27a8224adfb43847b3b8149c33d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I302543eef74bc1f3dc6340cdfab7510a66ea1b6a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Python 2.7 has no signatures in its inspect module. We therefore add
the missing stuff for the signature package using 'backport_inspect.py'.
The resulting module is a bit unusual because it is assembled
from different modules at runtime. When trying the code
>>> from PySide2.support.signature import inspect
>>> help(inspect)
in Python2, we got only very little information because of some
heuristics in the pydoc module that checks the module identity
and finds only objects from the new one.
It turned out that this heuristics can be circumvented when the
"__all__" property is provided. pydoc then believes everything.
We now have complete help info if the above module is used.
The original inspect module is not changed at all.
Change-Id: I3f24ada3b9ae9c79ec69a6280ddf3ea78735467b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-66
Change-Id: Ifec85a5305bc196b261818bbc1b9af16fc07c927
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The file signature_test.py contained together with basic signature property
tests also an early form of the existence test, which is meanwhile
implemented in pyside2/tests/registry/existence_test.py .
This part is redundant in signature_test.py, and we remove it. The basic
signature tests stay, and the module is degraded from registry to a normal
test module in pyside2/tests/QtWidgets .
Remark: This simplification was found when I was finishing the
signature documentation. Instead of describing the intermediate state
of the module, it was more straight-forward to remove the duplication.
Task-number: PYSIDE-510
Change-Id: I7fbf65d6d2803926dc00485f1e82349912742942
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After the signature module has been around for quite a while,
there is no longer a reason to leave it optional.
At the same time, we set the minimum Python 3 version to 3.5 .
Some comments are reworked as well, but nothing real changed.
Task-number: PYSIDE-510
Change-Id: I9e960f390d507d24bb45f7028838755fe23e751d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Rename method and fix comments.
Change-Id: I7765826540de0bf03ac41214d357e605d8e84bcf
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: Ide71a89ef173d6f3e1fa6960f7b15f1fd6cc1bf1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Classes that implement the dictionary protocol
needs to be treated as PyObject and not plain dictionaries,
then we can properly transform PyDicts to Variant Maps.
The reason behind this is that it seems that the PyDict_Check
is too permisive and allow objects that are not proper
dictionaries.
The default case by any other Sequence-like object will
be a PyObject.
Task-number: PYSIDE-82
Change-Id: I86e8a29e5b8740f69c9c6f315e9d337e599bd333
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When types have attributes starting with two underscores but
ending with at most one, Python uses name mangling to create
a unique private variable.
PySide needs to obey this rule in the tp_getattro methods.
We implemented it as an optimized _Pep_PrivateMangle function that
solves the problem internally without exposing the _Py_Mangle
function.
Remark: I think the exclusion of the _Py_Mangle function is another
oversight in the Limited API.
Task-number: PYSIDE-772
Change-Id: I0bfc2418dae439e963a16e37443f2099c6980696
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It has been a problem to compile the file "typespec.*" when using
Python 2. For some reason, the name "slot" was not usable.
I cannot find out what it was and how it vanished, but now I could
remove the work-around without problems. Maybe it is due to some
different includes which don't define some macros?
Change-Id: If316c9c78a18cffcc5e4cac07610bd7f522db446
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove shiboken.h from the wrappers and some unneeded
headers from the module header.
Change-Id: Ib05433e77686e544e3dcae27f5256ae1bbf146e1
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I5dd997d995feae2ddf207eb213fb08233dece77c
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-781
Change-Id: Ifd2ecbfe869e8739bfe91d17349a80c36b2823a5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: I182156694d085c9a021a982b2d71ae1f25fbb9a8
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: Icfb707a3f50a7a2040946714049fa2aa178f0f0f
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: I3a6bc2d9b44844365932c52567bbecca5c0ef516
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Most of the issues that we have in the past
were because the broad scope of PySequence.
Precisely, inside the QVariant conversion related
to PySequence we just deal with 'lists', then having
a Sequence is too broad and misleading.
The problem related to this task number was due to
the wrongly assumption that a Python class that implements
the sequence protocol is a list, and it's not.
With this change, we verify after the PyDict case if the element
is a PyList, and the last default case will be PyObject.
Thus, a custom class that implements the sequence protocol
is nothing else than a PySequence, not a list.
I'm uncertain if we really want to also have a case for
PyTuple or any other Sequence-like type.
Task-number: PYSIDE-726
Change-Id: I586ba725200acf910cf7b8c01002914984f06b5d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The return order was wrong, and since it is based
in templates used by other methods, a new template
needed to be created.
Task-number: PYSIDE-755
Change-Id: I905529844063f7e913f264e68cfceb6ce7b45358
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I94feceebbf74afb6ad9b8f28303415df42b092bf
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add optional class checks to QtGui and use them for
QOpenGLTimeMonitor and QOpenGLTimerQuery.
Task-number: PYSIDE-764
Change-Id: Ib33ec1d64c40f53aa31059e4ca9422707636375d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids duplicating license information for third-party sources
used by Qt. The lincence info. for such sources are listed in the Qt
documentation, so a link to it from the Qt for Python doc is a better
alternative.
Task-number: PYSIDE-758
Change-Id: I4efd0b2b8cce5dd76ddc98c80d1ac5cd385c7398
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change underlying type of the type database from
a QHash<qualified_name, list of entries> to
a QMultiMap<qualified_name, entry>.
Previously, there was an allEntries() accessor and a function
named entries() building a QHash<qualified_name, entry>.
Simplify this so that there is only an entries() accessor
returning the QMultiMap.
Refactor the various Typedatabase::find() functions to operate on an
iterator range of the QMultiMap.
This unearthed some bugs:
1) In the generators, the call to findType(packageName()) would return
the namespace entry for "sample" instead of the intended
module type entry named "sample" due to the ordering.
Add a new function to search for module type entries and assert
that it finds it.
2) There was a duplicate, empty primitive type entry for
QModelIndexList.
Task-number: PYSIDE-757
Change-Id: I1814e4ca67d306e1488398507707cfd07b3f2c78
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \
| | |
| | |
| | | |
refs/staging/dev
|
| |\|
| | |
| | |
| | | |
Change-Id: Ie90b31ed1b88f1353261fc4040db2d788df279e6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While trying to document the Limited API Project,
it suddenly struck me:
We can make the patch much much simpler and implement it
without the necessity to have an extra PepType!
Now I am happy to continue the documentation, because
it is now no more improvable.
This version will last as long as the layout of
PyTypeObject does not change substantially. When that
happens, then we need to rewrite stuff with the according
PyType_GetSlot() access functions.
These access functions will until then be complete enough
so that we can live without the tricks like inventing a reduced
PyTypeObject as was done in the current implementation.
Task-number: PYSIDE-560
Change-Id: I49849cc377baa6794a5b53292691e21d6e2853ab
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|/ /
| |
| |
| |
| | |
Task-number: PYSIDE-743
Change-Id: Ic9827a7a460db639c4316bbf4f06561007704476
|
|\|
| |
| |
| | |
Change-Id: I1b6fdc6b0ac59dd726a9977620f1070bebf237a6
|
| |
| |
| |
| |
| | |
Change-Id: I051ddcc61904f293ed0f21173e040f8c89e2232e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ide68c9045413f26ad7d7fc781aef03d61ea99179
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The flags structure should give correct full names.
See the doc in the issue tracker.
Task-number: PYSIDE-747
Change-Id: I6b5c602566d3e4b8a2a93e2522e92da956578b18
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I85c005419736d5abf65077ff259509610853af4e
|
| |
| |
| |
| |
| |
| |
| |
| | |
This enables qdoc to include the content from the QtQml
module page.
Change-Id: I889e7918ae33cdc7d11f08a7e68a97c123fa05cc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Certain Python files were no longer used when moved to Python 3.7.0 .
To finish that, these files are now also removed from the source.
As a consequence, qt-attribution files needed to be changed.
I took the chance to also update the license files to the new version.
Change-Id: If058d1013f1d8cb937ee0305a5eb21ae2ebdd4e0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the homebrew version of Python 3.7 appeared so unforeseen
early, I felt inclined to fix these glitches, immediately:
In Python 3.7, the typing module was more changed than expected.
Since we don't support versions below 3.5, it was easy to fix by
avoiding to copy typing.py for version 3.x, altogether. It stays there
for Python 2.7 .
Furthermore, the Python issue 33738 will later be solved than the
code expected, so I fixed that one for all by a macro definition.
Task-number: PYSIDE-741
Change-Id: Ia56ccd1ef20cb9536b1d39f190e011e5dccf1f22
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Many classes have special methods that need to properly
handle ownership of different charts, series, etc,
but they were not properly handled.
Now all the cases are covered, so one can easily port
any QtCharts/C++ example to PySide.
Task-number: PYSIDE-738
Change-Id: I5db94c4362ac1f5bf2e563ff99aa62662a30c176
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Use new enum in code.
- Rewrite the Clang type parsing to make use of it.
- Adapt some typesystem files.
This enables the distinction between "int *" and "int *const"
and fixes the signatures from "int const &" to the more common "const int&".
Task-number: PYSIDE-672
Change-Id: Ic1bff0015188c32f53d0e6f347b1523254cb7e4f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pass up errors from translateType() to traverseFunction().
Remove the check for void type parameters since that
is not needed any more after 50dd4ae202d7afb3556335c056db003f5ef50532.
Task-number: PYSIDE-672
Change-Id: I82c095f027196361200b8854139b4bbc1fcc38c8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I52be54b4bd400df557255b7d88eb22cb7260ca31
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Py_TPFLAGS_DEFAULT in Python 3 has the
Py_TPFLAGS_HAVE_VERSION_TAG flag, which causes
the type attribute cache in _PyType_Lookup. According to
the Shiboken implementation for Python 2, this is not we expected.
So remove the Py_TPFLAGS_HAVE_VERSION_TAG flag from
Py_TPFLAGS_DEFAULT in Python 3.
Task-number: PYSIDE-60
Change-Id: Id731a59b65640eb5adea56fe06e0deb58ac4a168
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Simple test to see if the current implementation is
working in all the platforms
Task-number: PYSIDE-641
Change-Id: I85f19979b84314d42deb6686f2cdb29ba6af079c
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The used constant was encoded directly as a unicode literal.
This was the same possible in Python 2 and 3 due to
https://www.python.org/dev/peps/pep-0414/ .
Note that the emoji character creates a 1 or 2 codepoints long
constant because Python 2 can be built with UCS-4 or UCS-2.
Task-number: PYSIDE-336
Change-Id: Icc7ea664cf64f9e53ef5f7696c56c6470f7ada4a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Starting with Qt 5.12-ish (qtbase commit
c538a333db4b7526fb4d9a82c06296d2492bf000) the macOS QPA cocoa plugin
switched to using layer-backed NSViews.
For some unknown reason when building PySide2
with a python.org official interpreter and the above commit, none
of the QWidget / NSViews get drawn (-[QNSView drawRect:] is not
called).
Using an older qtbase with the same official interepreter works.
Using the same qtbase with a custom built interpreter works.
Using the same qtbase with a custom built interpreter which is the
same version as the official one (3.6.5 at the moment) works
(built from v3.6.5 source package published on the downloads page).
Using the same qtbase with official interpeter does NOT work.
Python2 vs Python3 does not matter.
Release vs Debug does not matter.
I have not been able to build an interpreter with the minimum
deployment target set to 10.6 as the official package does (but
rather 10.12), so this is still an avenue to try.
The terrible workaround is to disable layer-backed views via an
environment variable when running testrunner (QT_MAC_WANTS_LAYER).
All users would have to do the same for their own applications,
otherwise they will not work.
Change-Id: Ia9a34f1e7b0b1b4807030cc7acecbefc8f344e84
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ib2eeca97ebabcff53ef7ddd9fc769be6424db39f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Index assignment now only accept str/bytes, bytearray, QByteArray with
size 1;
Slice assignment only accept str/bytes, bytearray, QByteArray with
limitation, that is if the step is not 1, then the number slots and
the size of the target value must be equal.
Range delete: a[2:5] = None
Shrink: value length smaller than the slot length of the slice
Expanse: value length bigger than the slot length of the slice
Range assignment with step: a[2:5:1] = ...
Range assignment with step which bigger than 1: a[2:9:2] = ...
Range assignment with native step: a[5:2:-1]
Change-Id: Ib9b929d09a691ed18c91e0c1c6b5dde827bf8d42
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The proper header is QtTest/qttestglobal.h
Change-Id: Ifaa57bbca39552fbaa87e317989f0e49a4442dd1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-336
Change-Id: Ie7d955b3b4d35e24a9eac5e7958ce2077370a34b
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| | |
Change-Id: I13d72daba91e608ede9498b04044bf048834f321
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update of the signature registry files for 5.11 .
This works now in a single go, because the missing files
are generated as a flaky test.
Change-Id: I455eba83ae8b81ce97d5d7bcc41e7ff98c5be8bd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|