aboutsummaryrefslogtreecommitdiffstats
path: root/sources
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup version strings for 5.11.2 releasev5.11.25.11.2Simo Fält2018-09-072-6/+6
| | | | | Change-Id: I73873b8e98edfc8b9544b646fb7d11c6cfe551cf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide2: Fix warnings about not finding function for modificationFriedemann Kleint2018-09-073-62/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove some functions that are no longer present. In QtDataVisualization, remove a rejection that did not have any effect since the type was not qualified by namespace and qualify the modifications by namespace and resolve typedefs, amending 966fa464d1f91292c91bede88bfaf1741acdce6e. Fixes warnings: (qml) signature 'QQmlImageProviderBase()' for function modification in 'QQmlImageProviderBase' not found. (datavisualization) signature 'addAxis(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DScatter' not found. (datavisualization) signature 'releaseAxis(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DScatter' not found. (datavisualization) signature 'setAxisX(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DScatter' not found. (datavisualization) signature 'setAxisY(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DScatter' not found. (datavisualization) signature 'setAxisZ(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DScatter' not found. (datavisualization) signature 'resetArray(QScatterDataArray*)' for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'addItem(QScatterDataItem)' (specified as 'addItem(const QScatterDataItem&)') for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'addItems(QScatterDataArray)' (specified as 'addItems(const QScatterDataArray&)') for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'insertItem(int,QScatterDataItem)' (specified as 'insertItem(int, const QScatterDataItem&)') for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'insertItems(int,QScatterDataArray)' (specified as 'insertItems(int, const QScatterDataArray&)') for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'setItem(int,const QScatterDataIteItem;)' (specified as 'setItem(int, const QScatterDataIteItem;)') for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'setItems(int,QScatterDataArray)' (specified as 'setItems(int, const QScatterDataArray&)') for function modification in 'QtDataVisualization::QScatterDataProxy' not found. (datavisualization) signature 'addAxis(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DSurface' not found. (datavisualization) signature 'releaseAxis(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DSurface' not found. (datavisualization) signature 'setAxisX(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DSurface' not found. (datavisualization) signature 'setAxisY(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DSurface' not found. (datavisualization) signature 'setAxisZ(QValue3DAxis*)' for function modification in 'QtDataVisualization::Q3DSurface' not found. (datavisualization) signature 'QSurface3DSeries(QSurfaceDataProxy*,QObject*)' for function modification in 'QtDataVisualization::QSurface3DSeries' not found. (datavisualization) signature 'setDataProxy(QSurfaceDataProxy*)' for function modification in 'QtDataVisualization::QSurface3DSeries' not found. (datavisualization) signature 'populateCopy(QValue3DAxisFormatter&)' for function modification in 'QtDataVisualization::QValue3DAxisFormatter' not found. (datavisualization) signature 'addRow(QSurfaceDataRow*)' for function modification in 'QtDataVisualization::QSurfaceDataProxy' not found. (datavisualization) signature 'insertRow(int,QSurfaceDataRow*)' (specified as 'insertRow(int, QSurfaceDataRow*)') for function modification in 'QtDataVisualization::QSurfaceDataProxy' not found. (datavisualization) signature 'setRow(int,QSurfaceDataRow*)' (specified as 'setRow(int, QSurfaceDataRow*)') for function modification in 'QtDataVisualization::QSurfaceDataProxy' not found. (datavisualization) signature 'resetArray(QSurfaceDataArray*)' for function modification in 'QtDataVisualization::QSurfaceDataProxy' not found. (datavisualization) signature 'setDataProxy(QBarDataProxy*)' for function modification in 'QtDataVisualization::QBar3DSeries' not found. (datavisualization) signature 'setDataProxy(QBarDataProxy*)' for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'resetArray(QBarDataArray*)' for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'resetArray(QBarDataArray*,QStringList&QStringList)' (specified as 'resetArray(QBarDataArray*,const QStringList&const QStringList&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'addRow(QBarDataRow*)' for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'addRow(QBarDataRow*,QString)' (specified as 'addRow(QBarDataRow*, const QString&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'addRows(QBarDataArray&)' for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'addRows(QBarDataArray&,QString)' (specified as 'addRows(QBarDataArray&, const QString&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'insertRow(int,QBarDataRow*)' (specified as 'insertRow(int, QBarDataRow*)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'insertRow(int,QBarDataRow*,QString)' (specified as 'insertRow(int, QBarDataRow*, const QString&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'insertRows(int,QBarDataArray&)' (specified as 'insertRows(int, QBarDataArray&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'insertRows(int,QBarDataArray&,QString)' (specified as 'insertRows(int, QBarDataArray&, const QString&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'setRow(int,QBarDataRow*)' (specified as 'setRow(int, QBarDataRow*)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'setRow(int,QBarDataRow*,QString)' (specified as 'setRow(int, QBarDataRow*, const QString&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'setRows(int,QBarDataArray&)' (specified as 'setRows(int, QBarDataArray&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'setRows(int,QBarDataArray&,QString)' (specified as 'setRows(int, QBarDataArray&, const QString&)') for function modification in 'QtDataVisualization::QBarDataProxy' not found. (datavisualization) signature 'setDataProxy(QScatterDataProxy*)' for function modification in 'QtDataVisualization::QScatter3DSeries' not found. (datavisualization) signature 'addCustomItem(QCustom3DItem*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'addInputHandler(QAbstract3DInputHandler*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'addTheme(Q3DTheme*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'releaseCustomItem(QCustom3DItem*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'releaseInputHandler(QAbstract3DInputHandler*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'releaseTheme(Q3DTheme*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'setActiveInputHandler(QAbstract3DInputHandler*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'setActiveTheme(Q3DTheme*)' for function modification in 'QtDataVisualization::QAbstract3DGraph' not found. (datavisualization) signature 'addAxis(QAbstract3DAxis*)' for function modification in 'QtDataVisualization::Q3DBars' not found. (datavisualization) signature 'releaseAxis(QAbstract3DAxis*)' for function modification in 'QtDataVisualization::Q3DBars' not found. (datavisualization) signature 'setColumnAxis(QCategory3DAxis*)' for function modification in 'QtDataVisualization::Q3DBars' not found. (datavisualization) signature 'setRowAxis(QCategory3DAxis*)' for function modification in 'QtDataVisualization::Q3DBars' not found. (3drender) signature 'attenuation()const' (specified as 'attenuation() const') for function modification in 'Qt3DRender::QSpotLight' not found. Task-number: PYSIDE-487 Change-Id: I61ebc2e29aa2a04c749f5c522fb7f06e35e1b172 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Fix handling of dropped type entriesFriedemann Kleint2018-09-061-1/+1
| | | | | | | | | | | | | | | | When parsing the typesystem XML file, decrement variable containing the depth of dropped entries in Handler::endElement(). Otherwise, when dropping a type like <object-type name="QDtls" since="5.12"> <enum-type name="HandshakeState"/> </object-type> all subsequent entries would be droppped. Change-Id: I640a916e8c8dbddcaeaebc3859300cc2a0eb1b0c Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide2: Add some enumerations that were overlooked beforeFriedemann Kleint2018-09-065-3/+11
| | | | | | Change-Id: I038ac183e70c27929837ff93b5921c2dbe00f48b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Doc: Remove redundant .qdocconf files from the buildTopi Reinio2018-09-053-6/+2
| | | | | | | | | | | | QtMultimedia, QtWebEngine modules are handled with a single .qdocconf file in Qt 5. There's no need to feed them twice to QDoc. This removes most '(qdoc): Output file already exists' warnings. Change-Id: If250c9c56f7ca54c27440badd66d9ddba704f26d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* shiboken/doc generator: Add FunctionMask case to avoid warningCristian Maureira-Fredes2018-09-031-0/+2
| | | | | | Change-Id: I13226628db54479cc01aab215bb52063684f23c9 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken/other test: Add override to avoid warningCristian Maureira-Fredes2018-09-031-1/+1
| | | | | | Change-Id: Idcd2d5fcd2d6f5ab6e15b529e1f73c73a5ff29a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* libshiboken: Use empty() to check for empty containers as clang-tidy advisesFriedemann Kleint2018-08-302-3/+3
| | | | | | | | | Using the size() method for that purpose can be expensive for standard containers. Task-number: PYSIDE-727 Change-Id: I0da34e271503384a741d856fff5e84fee67bc97f Reviewed-by: Christian Tismer <tismer@stackless.com>
* Support for QAbstractVideoSurface in QMediaPlayerCristian Maureira-Fredes2018-08-291-0/+11
| | | | | | | | | | The method setVideoOutput did not have support for an QAbstractVideoSurface argument, so I included one with the same idea of the other signatures. Task-number: PYSIDE-794 Change-Id: I50c82eeb1c2c3157c21dc4eb6cff7b0c2b91f31f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide2: Fix compilation with a with custom namespace specified for QtFriedemann Kleint2018-08-292-0/+4
| | | | | | | | | | | Add missing QT_BEGIN/END_NAMESPACE macros. Patch as provided on bug report. Task-number: PYSIDE-635 Change-Id: I7ddb447f1aafeb8da72e7e192905bafe3809797d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix help display of backport_inspect (python 2.7)Christian Tismer2018-08-282-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Add ownership transfer to setGraphicsEffectCristian Maureira-Fredes2018-08-271-0/+5
| | | | | | Task-number: PYSIDE-66 Change-Id: Ifec85a5305bc196b261818bbc1b9af16fc07c927 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Document the Signature ModuleChristian Tismer2018-08-272-61/+281
| | | | | | | | | | | | | | | The signature module is an extension that generates full introspection as a PySide feature. It is documented in detail to make it usable and extensible for other developers. Special care was taken about the interaction with the rest of the project, related code that is based upon this module, and the interaction with the COIN module. Task-number: PYSIDE-510 Change-Id: I7b3052da71a6fe3bd6d9cb8cc47443cdf976d3b0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Reduce the redundant signature_testChristian Tismer2018-08-273-89/+5
| | | | | | | | | | | | | | | | | | 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>
* Make signature module unconditionalChristian Tismer2018-08-274-33/+25
| | | | | | | | | | | | | 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>
* Enforce pure PyDict to be associated to VariantMapCristian Maureira-Fredes2018-08-231-1/+1
| | | | | | | | | | | | | | | | | 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>
* Document the Python Limited APIChristian Tismer2018-08-212-291/+704
| | | | | | | | | | | | | The Python Limited API brings certain restrictions to PySide. This document contains an overview and all relevant changes. Furthermore, there are appendices which show how the type transformation of the extended types was done and how it was verified.. Task-number: PYSIDE-768 Change-Id: Ifd6fd3740c23deaed65cce1ba12f17e5f093f18f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Implement Proper Name ManglingChristian Tismer2018-08-217-11/+232
| | | | | | | | | | | | | | | | | | | 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>
* Remove wrong ownership transferCristian Maureira-Fredes2018-08-161-5/+0
| | | | | | Task-number: PYSIDE-781 Change-Id: Ifd2ecbfe869e8739bfe91d17349a80c36b2823a5 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QtLocation: add missing enumsCristian Maureira-Fredes2018-08-101-2/+6
| | | | | | | 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>
* QtDataVisualization: add ownership transfersCristian Maureira-Fredes2018-08-091-10/+302
| | | | | | Task-number: PYSIDE-487 Change-Id: Icfb707a3f50a7a2040946714049fa2aa178f0f0f Reviewed-by: Christian Tismer <tismer@stackless.com>
* Qt3DRender: add missing classesCristian Maureira-Fredes2018-08-081-6/+14
| | | | | | Task-number: PYSIDE-487 Change-Id: I3a6bc2d9b44844365932c52567bbecca5c0ef516 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Replace PySequence by PyList typeCristian Maureira-Fredes2018-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Invert return tuple order in QFont dialogsCristian Maureira-Fredes2018-08-072-2/+21
| | | | | | | | | | | 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>
* Fix Some Minor Limited API Omissions And QuirksChristian Tismer2018-08-066-29/+16
| | | | | | | | | | | Some formatting was not ok, some ordering of methods was not perfect, some code vanished, bufferprocs had a bad filename, and descrobject.h did not need a patch, anymore since things were solved in signature.cpp . Task-number: PYSIDE-560 Change-Id: Ibd1bedf0763ebb3fbbfd33a8e7cff4b5af6fab5e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide2/QtGui: Fix build of Debian/armel,armh (OpenGL ES 2)Friedemann Kleint2018-08-061-4/+11
| | | | | | | | | 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>
* Doc: Remove third-pary license text and link to the Qt licenses pageVenugopal Shivashankar2018-08-063-36/+5
| | | | | | | | | | | | 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>
* shiboken: Work around non-deterministic buildsFriedemann Kleint2018-07-261-0/+3
| | | | | | | | Request deterministic ordering of QHash. Task-number: PYSIDE-757 Change-Id: Ifec8f9d39cb183cffeb58440156204f2ccb56a2c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Pep 384 Final Cut: Remove PepTypeChristian Tismer2018-07-2329-141/+134
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* shiboken: Remove -fno-exceptions from Clang parse optionsFriedemann Kleint2018-07-231-1/+0
| | | | | | | | | The option is a workaround for an old LLVM bug and is no longer needed. Worse, it causes parse errors in code that declares throw(). Task-number: PYSIDE-62 Change-Id: Ib72b14cc704c04ae3b4197fd2af718276e3fe788 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* libshiboken: Use std::set::find() instead of searching the setFriedemann Kleint2018-07-191-1/+1
| | | | | | Task-number: PYSIDE-727 Change-Id: Ia79f34ed466eb7652946e49db6ef6db8dd9fa03d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Add snippet override for QQuickViewVenugopal Shivashankar2018-07-191-0/+67
| | | | | Change-Id: I051ddcc61904f293ed0f21173e040f8c89e2232e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Remove repetitive text in the licenses pageVenugopal Shivashankar2018-07-191-4/+0
| | | | | Change-Id: Ide68c9045413f26ad7d7fc781aef03d61ea99179 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Generate fully Qualified Names for FlagsChristian Tismer2018-07-162-4/+9
| | | | | | | | | 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>
* Fix limited API incompatibility with Python 3.7Christian Tismer2018-07-103-77/+8
| | | | | | | | | | | | | | | | | When Python 3.7 appeared, the structure of pystate.h was changed, substantially. Unfortunately this structure contains the trashcan code, which is only available as a macro and not part of the limited API. This code is normally not used by application programs. It prevents crashes when chains of millions of objects are deallocated. I disabled this for now when the limited API is active. As soon as somebody complains about crashes, I will try to implement it again in a safe way, but I am not sure if it is worth it in the first place. Task-number: PYSIDE-737 Change-Id: Id0daf391448ddcb9df3d299f859ef024714fa736 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Add doc config for the QtQml moduleVenugopal Shivashankar2018-07-101-0/+5
| | | | | | | | This enables qdoc to include the content from the QtQml module page. Change-Id: I889e7918ae33cdc7d11f08a7e68a97c123fa05cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Provide g++ internal headers for CentOS, tooFriedemann Kleint2018-07-101-7/+32
| | | | | | | | | Extend the check introduced by 4725008aeea407ae55cfd66de802dd9e06412efc to CentOS. Task-number: PYSIDE-733 Change-Id: Iaaf2b8af0fa03684d4a3cbd5c5e70e141d125139 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Adapt Licenses to Python 3.7.0Christian Tismer2018-07-099-5633/+59
| | | | | | | | | | | 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>
* Fix Limited API and Signature Glitches in Python 3.7Christian Tismer2018-07-095-11/+9
| | | | | | | | | | | | | | | | | 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>
* Fix macOS build when building inside Homebrew environmentAlexandru Croitor2018-07-091-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | A brew build environment sets up a clang shim (fake clang ruby script that sets up additional compiler flags), which passes all brew formula dependency include paths as system include paths (via -isystem). This also includes the Qt dependency. Because our clang parser currently ignores system headers (see Builder::visitLocation in clangbuilder.cpp) and because Qt include statements inside header files would resolve to the system header location, this would result in no Qt classes being recognized by the API extractor, and thus fail the build. Fix this by checking for an environment variable that brew sets inside its build environment, to filter out the unnecessary -isystem flags. This way the Qt include path would be passed as a non-system include path from CMake, and thus correctly complete the build. Task-number: PYSIDE-731 Change-Id: I9b543eddc85270f1e8a90d9f30194b2a862e80d7 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alberto Sottile <alby128@gmail.com>
* Add missing ownership handling for QtChartsCristian Maureira-Fredes2018-07-061-5/+136
| | | | | | | | | | | | | 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>
* shiboken: Fix handling of deleted functionsFriedemann Kleint2018-07-064-1/+45
| | | | | | | | | | | Check the cursor availability to detect deleted functions. This fixes the build of the Qt 5.12 API, which for the first time has a Q_DISABLE(QCBorStreamReader) in a public section, causing a copy constructor to be reported. Task-number: PYSIDE-487 Change-Id: I31ba0103cf612a4238c0e282ffcfeeab29df97d1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Handle enum class forward declarationsFriedemann Kleint2018-07-062-1/+5
| | | | | | | | | | | | Add the enumeration to the scope stack only if it actually has values. This occurs for the first time in Qt 5.12, which introduces a forward declaration of enum class QCborSimpleType at src/corelib/kernel/qmetatype.h:65. Task-number: PYSIDE-487 Change-Id: I5798eb8e47bcd4d21dc554dc5cdd257c7163ca90 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove Py_TPFLAGS_HAVE_VERSION_TAG in Python 3Boxiang Sun2018-07-053-0/+72
| | | | | | | | | | | | | 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>
* Add test case for QVariant/PySequence issueCristian Maureira-Fredes2018-07-041-8/+34
| | | | | | | | | | 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>
* Add test for "Segfault when emitting string with emoji"Christian Tismer2018-07-042-0/+79
| | | | | | | | | | | | | 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>
* Add ownership condition for finite PySequencesCristian Maureira-Fredes2018-07-031-1/+8
| | | | | | | | | | | | | | | | | | | | | After the fix for PYSIDE-441, another issue appeared related to QVariants and PySequences PYSIDE-641, which was related due to the nature of this python data type. The problem had the same root cause, using PySequences assuming they are always finite, but not including the case of a class implementing the __getitem__ method without a length. The fix for PYSIDE-441 did not include the option of having incomplete PySequences, so this change add an extra condition to transfer the ownership of a incomplete PySequence element. Task-number: PYSIDE-671 Change-Id: I72ed1f5ea51c0c5b5a40ec51ab850732eea3c3b9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Implement proper slice assignment for QByteArrayBoxiang Sun2018-07-023-40/+249
| | | | | | | | | | | | | | | | | | | 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>
* shiboken: Use raw string literals in ApiExtractor test testtemplatesFriedemann Kleint2018-07-021-193/+195
| | | | | | | | This improves the readability. Task-number: PYSIDE-672 Change-Id: I936ef46fb30af6163b8337adbf9cf585e68f3424 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change deprecated header qtest_global.hCristian Maureira-Fredes2018-07-021-1/+1
| | | | | | | | 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>