aboutsummaryrefslogtreecommitdiffstats
path: root/sources
Commit message (Collapse)AuthorAgeFilesLines
* shiboken2: Do not strip arguments of unknown types of virtual functionsFriedemann Kleint2020-06-301-1/+3
| | | | | | | | | | | | | shiboken2 would strip arguments of unknown types with default values off the function as a convenience. This should not happen for virtual functions since the wrapper will then generate an invalid override functions (happens in Qt 6 for virtual QSGTextureWrapper::removedFromAtlas(QRhiResourceUpdateBatch *) since QRhiResourceUpdateBatch is currently still private). Task-number: PYSIDE-904 Change-Id: I0216e8329820dcda4556e1b685333005db0cf58c Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken2: Accept unqualified names for drop-type-entriesFriedemann Kleint2020-06-303-23/+29
| | | | | | | | | The option expected fully qualified type names (PySide2.QtNetwork.QSslKey), but the PySide2 CMakeLists only create unqualified names (QSslKey). Match this, too. Change-Id: I6c86a4ef9bb1a6bdb6a0672454ac2f2806477408 Reviewed-by: Christian Tismer <tismer@stackless.com>
* CMake: Use the portable Qt feature propertiesFriedemann Kleint2020-06-303-4/+5
| | | | | | Task-number: PYSIDE-904 Change-Id: I15ebd4057c52c78d584de7c34e74ebb858cb0011 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Indicate limited API builds in QLibraryInfo::build()Friedemann Kleint2020-06-292-0/+13
| | | | | Change-Id: I55fe70da8adf6faba0f8099d4d127ae3963fa2c6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* signature parser: Catch invalid argumentsFriedemann Kleint2020-06-271-10/+14
| | | | | | | | Triggers in Qt 6 for: QByteArray toHex(char separator = '\0') const; Change-Id: I2f9d7e39cb085d1e602a70449c3ca24b7480bad8 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add QObject.findChildren(QRegularExpression)Friedemann Kleint2020-06-263-11/+20
| | | | | | | | | 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>
* Change the return type of the hash functions to Py_ssize_tFriedemann Kleint2020-06-262-5/+5
| | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.14' into 5.15Friedemann Kleint2020-06-264-1/+43
|\ | | | | | | Change-Id: I75984f35bcdeeeb3b6004a00670f1582ab522c1b
| * pthreads: Try to abandon the GIL in case a thread was terminatedFriedemann Kleint2020-06-264-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | shiboken2: Add file location to more warningsFriedemann Kleint2020-06-2318-70/+430
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Output most warnings in the standard file:line syntax used by compilers. This is done for C++ source code and typesystem files. Introduce a class SourceLocation and add it to type entry, AbstractMetaFunction and AbstractMetaClass. Move more messages into messages.cpp and output the location. Change the errors reported by the XML typesystem parser to the same format. [ChangeLog][shiboken] A number of error and warning messages have been prefixed by file name and line for better tooling. Task-number: PYSIDE-904 Change-Id: Ie2008f4060757e9d7ca1b25c00c7c5585240a7b8 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | PySide2: Add QByteArray::FromBase64ResultFriedemann Kleint2020-06-232-0/+8
| | | | | | | | | | Change-Id: I348bb01c52482059b6f6bfebcc1d15fb68b9b142 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | PySide2: Reject internal namespaces of QtFriedemann Kleint2020-06-234-0/+14
| | | | | | | | | | Change-Id: I0ef48ed4300037edcd357e167b6738d04ef5aaa4 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | PySide2/Qt 6: Fix warning about redefinition of QT_ANNOTATE_ACCESS_SPECIFIERFriedemann Kleint2020-06-221-3/+3
| | | | | | | | | | | | | | | | Move QT_ANNOTATE_ACCESS_SPECIFIER before first Qt include. Task-number: PYSIDE-904 Change-Id: I82b12a79174fad93e0c7ea260e5111b997c60995 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Further build fixes for Qt 6Friedemann Kleint2020-06-225-2/+16
| | | | | | | | | | Change-Id: I2463997f1eb2012cbbd0192a019ca57beaf55d5b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | libpyside: Port away from deprecated QRegExpFriedemann Kleint2020-06-221-8/+10
| | | | | | | | | | | | Task-number: PYSIDE-904 Change-Id: I0280de35578f72ab4616170115c5afed9d6d7488 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Friedemann Kleint2020-06-192-5/+8
|\ \
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Friedemann Kleint2020-06-192-5/+8
| |\| | | | | | | | | | Change-Id: If40b0ab35cd2ad2bd0d982881094ce3dbf46ccf3
| | * Use Q_OS_WIN instead of _WINDOWS for the path splitterSergio Martins2020-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | _WINDOWS is MSVC specific Fixes passing --include-paths when using MinGW Change-Id: I041484eccf521869f4fb532edc55d2e1cf4063e4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Use pyside2-uic instead of uic for the loadUiTypeCristian Maureira-Fredes2020-06-161-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | shiboken2: Remove code indenterFriedemann Kleint2020-06-192-70/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the previous changes fixing the spaces of the snippets, the indenter can be removed. It just requires creating local indentors when writing to separate text streams to avoid unnecessarily indenting by the global indenter. Change-Id: Ic9d9661bb1827d40d6f38dc2d47b5fd84729887c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | | typesystem_sample.xml: Expand tabsFriedemann Kleint2020-06-191-11/+11
| | | | | | | | | | | | | | | Change-Id: I64479f27828cfb574427b457223c97176c8646ad Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | | shiboken2: Clean up code injection attributesFriedemann Kleint2020-06-194-104/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the unused enumeration values. Change the class of the "declaration" position from "native" to "shell" since that is where it is used and mention it in the documentation. Task-number: PYSIDE-1282 Change-Id: I547b4bab055df27ce8b0b7b41b9d382dc8f175d1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | | shiboken2: Refactor wrapper method generationFriedemann Kleint2020-06-192-57/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For virtual functions, the code injection for shell/beginning was not written to the shortcut path added by 50f382579d1323817165d85bf88a394328a4e9a0 (when the method cache is set, indicating there is no python override). Factor out the code into a separate function. As a drive by, actually generate the (hiterto unimplemented) shell/end injection at least for void functions. Task-number: PYSIDE-803 Task-number: PYSIDE-1282 Change-Id: If56f839d414bf7364fdf6af5f3f0d5a76a5fc434 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | | doc: Add widget styling tutorialCristian Maureira-Fredes2020-06-198-0/+288
|/ / | | | | | | | | | | | | | | | | | | Usage of the 'setStyleSheet' function and loading '.qss' files. Task-number: PYSIDE-841 Change-Id: I905025488c75cf379c7d77427da93d217169c604 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | shiboken2: Improve formatting of the converter codeFriedemann Kleint2020-06-193-7/+22
| | | | | | | | | | | | | | Indent the first lines properly. Change-Id: Icd4b86ef875662ef8def52cc3106aad79a0aace6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken2: Improve whitespaces formatting in injected codeFriedemann Kleint2020-06-198-33/+92
| | | | | | | | | | | | | | | | | | - Trim newlines and dedent all snippets from XML - Move the trailing newlines into the code snippet function. - Do not indent preprocessor directives Change-Id: Ic8c3745f0b88ee4ed27ac9cbaf376d71a50d9188 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken2: Generate the num(Named)Args with the correct typeFriedemann Kleint2020-06-161-2/+2
| | | | | | | | | | | | | | Fixes an integer conversion warning with MSVC2019. Change-Id: I932fc0237712e774f2791d412ed1e52e268d1b69 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Implement the QEnum/QFlag decorator, V2Christian Tismer2020-06-1519-27/+653
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix crashes in QThread::wait(), QWaitCondition::wait()Friedemann Kleint2020-06-151-0/+3
| | | | | | | | | | | | | | | | Add allow-thread for the newly added overloads in 5.15 Fixes: PYSIDE-1332 Change-Id: I1e463203ea9914ae71991262745d803fc9001b7d Reviewed-by: Christian Tismer <tismer@stackless.com>
* | signature: use raw strings when needed, onlyChristian Tismer2020-06-121-2/+7
| | | | | | | | | | | | | | | | This is more convenient for developers who deal with signatures quite often. Change-Id: I009eaa854e0df02afc0e07954d743821dbc1e33c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | shiboken: Resolve typedef'ed base classesFriedemann Kleint2020-06-123-6/+62
| | | | | | | | | | | | | | | | Add a resolve function. Change-Id: If85c1de402f212e4c16b18e2ec8ad97075ac3cff Fixes: PYSIDE-1327 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Friedemann Kleint2020-06-117-2/+16
|\| | | | | | | Change-Id: I6cf604e1ae7234ce4f0d99169e9269a7dde07a4a
| * shiboken: Fix default-initialized function argumentsFriedemann Kleint2020-06-115-1/+13
| | | | | | | | | | | | | | | | Specifying {} causes it to be qualified, check this. Change-Id: Idd23c8a5af01cd7fbb63a2e5a01bb349c530fe54 Fixes: PYSIDE-1325 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Fix leaking reference in PySide2 property getterFriedemann Kleint2020-06-091-1/+0
| | | | | | | | | | | | | | | | | | Remove Py_INCREF on result obtained from PyObject_CallObject() in getValue(PySideProperty*,*source). Change-Id: Ic070df29be0fd0eadcd37bc0210339205f957c8f Fixes: PYSIDE-1321 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Potential fix for deploying with cx_freeze using zip_include_packagesFriedemann Kleint2020-06-051-0/+3
| | | | | | | | | | | | | | | | | | 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>
* | Fix some leaks in enumeration creationFriedemann Kleint2020-06-082-14/+14
| | | | | | | | | | | | | | | | Create the PyType_Spec on the stack. Task-number: PYSIDE-1321 Change-Id: Ie340dffe1915f99f81caec74432cff9359764001 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Clean the build/install output a bitCristián Maureira-Fredes2020-06-087-41/+35
| | | | | | | | | | | | | | | | | | | | | | | | * Adding STATUS or WARNING to a couple of message() calls. * Replacing some print() by log.info() * Changing some '*' by '-' * Align configuration outputs to check paths easily * Adding big message to check when shiboken2/pyside2 is being built. * Including the cmake_minimum_required() function instead of an 'if'. Change-Id: Idb6c5797286d400192d083403063e2ae582e3fe6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Doc: Add import statement for QIODeviceNico Vertriest2020-06-051-1/+1
| | | | | | | | | | | | Task-number: QTBUG-84270 Change-Id: If196369012fa740b90293ede2f7b2740657fbec9 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | dumpcodemodel: Improve XML outputFriedemann Kleint2020-06-051-12/+66
| | | | | | | | | | | | | | | | | | | | | | - Skip empty namespaces - Add a command line option to join namespaces - Add an XML comment with file location - Filter out anonymous structs Change-Id: I061540a6a4bcb583a19ee70efc268571324521ff Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Add QSocketDescriptor classCristian Maureira-Fredes2020-06-053-0/+12
| | | | | | | | | | | | | | | | | | | | 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>
* | PySide2: Add QRegularExpressionValidatorFriedemann Kleint2020-06-052-0/+2
| | | | | | | | | | | | | | It replaces the deprecated QRegExpValidator. Change-Id: I18833a3f83bdaf2e72d05c529d846aa07582884c Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Doc: Fix a typo and a broken linkVenugopal Shivashankar2020-06-041-2/+2
| | | | | | | | | | Change-Id: Ic3515aea317d4b8e2d0286b60a5c3b68bd20bbdf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Doc: Enable doc builds using the offline templateVenugopal Shivashankar2020-06-0428-43/+4214
| | | | | | | | | | | | | | | | | | | | A new command-line option, --doc-build-online, enables to choose online builds, otherwise offline docs are built by default. Change-Id: I34ef8a22ef3bd321bd972c4f2873e4321c9c336a Fixes: PYSIDE-1292 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Allow for multiple header files on command lineFriedemann Kleint2020-06-037-144/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change ApiExtractor and MetaBuilder to use QFileInfoList. Refactor the options handling to work on a struct separating options from positional arguments to make handling multiple file names easier. Refactor and streamline the options parsing code a bit, avoid duplicated parsing of project files. Print the usage when positional arguments are missing. [ChangeLog][shiboken] shiboken now accepts multiple headers on the command line. Change-Id: I221ab5a71232af1323408f77295137dc92e3d582 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | docs: fix item list in tutorial/expensesCristian Maureira-Fredes2020-06-031-6/+6
| | | | | | | | | | Change-Id: I0f8d6784cfc567ac3a502df52e26413abec92a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Doc: Fix typo in the module pageVenugopal Shivashankar2020-06-021-1/+1
| | | | | | | | | | Change-Id: Icc09814ca6f8c08b6903f2b00fdd95812cfcd54a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Doc: Document QtUiTools.loadUiType functionVenugopal Shivashankar2020-05-282-25/+36
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | shiboken: Fix invalid code generated for signatures with string default ↵Friedemann Kleint2020-05-262-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | parameters In the case of a default parameter with backslash escaping, wrong code can be generared. Factor out a helper function and generate signature strings as C++ raw string literals. Fixes: PYSIDE-1310 Change-Id: If7aa8e2449e959ce298da45a2977728823b25c2f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Add QtQuickControls2Cristian Maureira-Fredes2020-05-264-0/+90
| | | | | | | | | | | | | | | | | | 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>
* | QtSerialPort improved unit testsAndreas Buhr2020-05-261-6/+43
| | | | | | | | | | | | | | | | | | | | | | | | Support for QtSerialPort was added to PySide2 recently. However, only very few unit tests were added at that time. This change replicates a part of the C++ unit tests of QtSerialPort in PySide/Python. Change-Id: I7e7a1ee7a521b952a6c0860cd8cceacb3b0b7e57 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>