aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fix typo in the code snippet for QQuickImageProvider5.9Venugopal Shivashankar2018-06-081-1/+1
| | | | | Change-Id: I2af23226c93706c0c18f07ce4cf59e362b170997 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update contact information on setup.pyCristian Maureira-Fredes2018-06-081-4/+4
| | | | | Change-Id: Ie6a9bde91daf7871b298075ade26f3d2d998a832 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Skip building on Windows for Python2Simo Fält2018-06-082-3/+9
| | | | | Change-Id: Ie6970361748f5b7dab52a401f6e3cf7995015ee7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add bindings for QtWebEngine (aka Quick)Alexandru Croitor2018-06-078-3/+267
| | | | | | | | | | | There is only one method we really need, QtWebEngine::initialize() which is used for all Qt Quick based WebEngine applications. Otherwise you get a warning upon startup of a Qt Quick WebEngine application, and this might lead to undefined behavior. Task-number: PYSIDE-688 Change-Id: I7de2bbb58c49cb2a41b0e13ffc9de6a3161f3960 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix openssl lib path not being properly set on WindowsAlexandru Croitor2018-06-071-2/+2
| | | | | | | | | | | | | This lead to failure of importing PySide2, because on Windows __init__.py tried to load QtNetwork and that failed because it could't find the ssl libraries. This is a regression and amend of 87e85c460 . Task-number: PYSIDE-687 Change-Id: I298153b054baf5fa85b1831d88a99480c5c0a249 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix addImageProvider ownership transferCristian Maureira-Fredes2018-06-071-0/+5
| | | | | | | The QQmlEngine takes ownership of the QQmlImageProviderBase. Change-Id: Ia01e4151054623c96c24a2d07009d876eaacaa55 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Error out when using --jobs=x with nmake on WindowsAlexandru Croitor2018-06-061-0/+3
| | | | | Change-Id: I6b5f974b15398e0926425b1eae24ee1a4813f48d Reviewed-by: Christian Tismer <tismer@stackless.com>
* Current limited API packages won't work on Python 3.7 and 3.8Alexandru Croitor2018-06-061-1/+1
| | | | | | | | | | | | | This is intentional, because of verification code regarding Python buffers. So instead of lying, we remove those python version bits from the generated package name, aka instead of "cp35.cp36.cp37.cp38" it is now only "cp35.cp36". Change-Id: I2891f64e93821d3a3ccb693f28576c34d1365606 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* scriptableapplication: execution as one lineCristian Maureira-Fredes2018-06-061-9/+16
| | | | | | | | | | | | | | | | | | The previous approach executed the entered script line-by-line, it was not possible to execute multi-line statements, for example: for i in range(0, 10): print(i) because PyRun_SimpleString was complaining about the colon. To avoid all these extra steps we can concatenate all the lines into one, and then execute it, instead of creating a temporary file. This will delegate error handling to Python. Change-Id: Idda572aa1b2e3daad2ba1ed9d70f0a8714b8c995 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Undo renaming of Pep384_InitChristian Tismer2018-06-063-3/+3
| | | | | | | | | | | | The functions which were named Pep384XXX were renamed in order to get "PepType" as a function-like macro that suggests the similarity between "PyTypeObject" and "PepTypeObject". But the renaming of the module initialization function was not intended. Change-Id: I555633ccbd8e1354c27f2c1957c81905be54d86b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix glitch in voidptr.cpp after the PEP 384 commitChristian Tismer2018-06-053-2/+55
| | | | | | | | | | | | | | | | By lots of editing, somehow an expression in voidptr.cpp became incomplete. We should improve the current test to be certain that the VoidPtr is working. This problem can be avoided by not doing many type casts at once. Doing the same in two steps is much safer because a forgotten call would give a compile time error. Task-number: PYSIDE-560 Change-Id: Ibb24a27f439cbda490723131f34f93978725420f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix scriptableapplication after PEP384Cristian Maureira-Fredes2018-06-051-1/+1
| | | | | | | | | | | | | | Due to the PEP384 many casts related to SbkObjectTypes dropped the `const` because of a change on the signature of the methods like `pointerToPython`, `referenceToPython`, among others. Many examples of these changs can be found in the commit: 18dc31becdd994c53a9f894087cf1ef99fbd0232 file `sbkconverter.cpp`. Change-Id: Id7b9f8e14fd931c686608a89e0d989d9026e0c85 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Adapt examples to proper QByteArray constructorCristian Maureira-Fredes2018-06-058-67/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | After correcting the QByteArray behavior, the available constructors are constraint to bytes, bytearrays, and others QByteArrays. The modified lines are methods that use the modified argument as a QByteArray (interally), that is why we now we transform them: "test value" -> b"test value" Bytes are Python 2 and 3 compatible, so it does not affect the version. The only different change is inside `schema.py` where a change was needed to encode a QByteArray into utf-8. Since this is outside our automated test, I manually test it with Python 2.7.15 and 3.6.3 on Linux. Task-number: PYSIDE-669 Change-Id: I8c12533b482150f4aee3d813dc127eb6b819549b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Include webengine module docsVenugopal Shivashankar2018-06-053-0/+10
| | | | | Change-Id: I9ea0bed7709265c89e1bf38624024e61ee07adc7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Update the html_title and download.qt.io URLVenugopal Shivashankar2018-06-012-2/+2
| | | | | Change-Id: I9b923d6fefbfae4efcf63f7459cf1ee89fb08f19 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Document the tabbed browser demoVenugopal Shivashankar2018-06-018-6/+86
| | | | | | | | | | | | | - Added docstrings to the examples sources to autogenerate the docs for the different parts. - Updated the conf.py.in to include sphinx.ext.viewcode to generate html for every source file of the example. Change-Id: I668c55070556ca49d12d38c8ec83f09313bffc36 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Streamline the type parsing codeFriedemann Kleint2018-06-016-186/+87
| | | | | | | | | | | | | | Replace struct TypeParser::Info by TypeInfo and remove TypeParser::Info. Move method TypeParser::Info::instantiationName() to TypeInfo for this purpose. Change TypeParser::parse() to return TypeInfo. Task-number: QTBUG-672 Change-Id: I123d5bf378ad146867b571e47e31ae08a92b2504 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/ClangBuilder: Fix nested qualified namesFriedemann Kleint2018-06-011-1/+22
| | | | | | | | | | | The qualified name was obtained by splitting by "::", which would result in "std::list<std::string>" -> ("std", "list<std", string>"). Fix by splitting up to first '<' or '(' only. Task-number: PYSIDE-672 Change-Id: I9d790535e877da251a5b6c352dc550e4077877bd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Improve the QByteArray implementationBoxiang Sun2018-06-0134-192/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | The available constructors for QByteArray are now: bytes, bytearray, and QByteArray, unicode is not accepted anymore. Also the concatenation is now possible between QByteArrays. Even though is not possible to initialize a QByteArray with an unicode, we include the possibility to compare it with one (Compatibility with PyQt). The __repr__ and __str__ are now properly working. There seemed to be a confusion regarding data types between Shiboken, Python2 and Python3 related to bytes, so now the structure is based on the flag SBK_BYTES_NAME, which is define as "bytes" for Python3 and "str" for Python2. Many tests were modified to properly handle string, using the `py3kcompat` module. Task-number: PYSIDE-232 Change-Id: I8b671f367c60a0870c72dcbe5662106b3225037d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Improve sbkstring::toCString to support unicodeBoxiang Sun2018-06-012-2/+13
| | | | | | | | | | | | | If `unicode` is used in Python 2, shiboken cannot properly translate it to `const char *`. sbkstring did not supported a proper conversion of unicode types in Python2, and this change includes it. Task-number: PYSIDE-100 Change-Id: I3a70d935ad61b0e567e620c62754800370270a6b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update pyside2-tools submoduleCristian Maureira-Fredes2018-06-011-0/+0
| | | | | Change-Id: I15f0f823b4fe45f544c0800e1bd3f205ccf7efaf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix test to assert only if english is the localeCristian Maureira-Fredes2018-06-011-4/+4
| | | | | | Change-Id: I3188c33414d283478a6ff6d7d354ce9231b4f106 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add missing API of QtWebEngineWidgetsDavid Rosca2018-06-012-10/+21
| | | | | | Change-Id: Ifafae9a5eac1844bf9057bc5e1f912e287499aa7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix minor get_package_version issueAlexandru Croitor2018-05-311-1/+1
| | | | | | | | | The function didn't check the value of pre_release_version_type when printing the version. Change-Id: I29db3f40e6fa8c397432433aa285b30f15b8e3ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Don't set --snapshot-build for official release builds on CoinAlexandru Croitor2018-05-311-2/+34
| | | | | | | | | | | | | | | This changes coin_build_instructions.py to read the version in sources/pyside2/pyside_version.py to check if it is not a pre-release version (no alphas, betas), which means that --snapshot-build should not be passed, thus generating proper wheel names that can be uploaded to PyPI. This eliminates the need to remove the --snapshot-build param on a per release branch basis (and thus, less things to remember for official releases). Change-Id: I10afcb5bfe8a661583104f3d7b2c0b4ebd4530fb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Pass --limited-api=yes when building with py3 on CoinAlexandru Croitor2018-05-311-0/+2
| | | | | | | | | This is needed to generate correct wheel names, that can be uploaded to PyPI. Change-Id: If97496d201af13f58f9dae8b61ac86bef68d8717 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Don't pass -DFORCE_LIMITED_API=yes from setup.py unless asked forAlexandru Croitor2018-05-313-4/+6
| | | | | | | | | | | | | | | | | | | It was weird seeing "-DFORCE_LIMITED_API=yes" being passed from setup.py to CMake when "--limited-api" is not included on the command line, and then seeing "-DFORCE_LIMITED_API=yes" with Python 2 builds. It gives the impression that maybe it could work with Python 2. Instead, don't pass "FORCE_LIMITED_API=yes" from setup.py by default (but still pass it if it's present on the command line), and instead default to "yes" within the CMake project themselves. In the end nothing changes, limited API builds will still be default, but at least it's not as confusing to see the "-DFORCE_LIMITED_API=yes" lines for Python 2 builds in the CI log. Change-Id: I08c863394dd148d88bec324a6cab35459d75303a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Include manylinux1 in package name for limited API builds on LinuxAlexandru Croitor2018-05-311-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | PyPI only accepts binary Linux packages that are built conforming to PEP 513 / manylinux1 support. The gist of it is that extensions need to be built on CentOS 5, so that they work on most newer distro versions than that. Official Qt can't be built on such an old distro. The minimum requirement is thus CentOS / RHEL 7 (which we used for packaging Qt 5.11.0 on Coin). We do want to upload packages to PyPI, so we have to resort to including "manylinux1" in the name. Currently this is tied to the limited API option. TODO: In the future we should name packages "manylinux1" only when the distro version is acceptable for Qt build requirements (RHEL 7.x). It might get a bit messy though, due to platform.linux_distribution being deprecated, and the necessity to depend on the new "distro" package. Change-Id: Ic4dfccd87d810360cbbfce72b27d5fa31e2a59dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Pythonize tabbedbrowser exampleCristian Maureira-Fredes2018-05-316-503/+503
| | | | | | | Change the style of the code to follow PEP8 Change-Id: I93eb0df893e8305b4e65ab5318383433b0655625 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Adjust wheel names when building with limited apiAlexandru Croitor2018-05-313-40/+212
| | | | | | | | | | | | | Wheel has poor support for naming wheel packages that were built with limited API enabled. We need to override some of bdist_wheel's methods to generate a correct name and correct metadata. Move the pyside_bdist_wheel class into a separate file, and implement the necessary logic. Change-Id: I23d814cbb794052fb18a1e018f7b767c60945254 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix module names to contain correct limited api suffixAlexandru Croitor2018-05-312-89/+107
| | | | | | | | | | | This includes .abi3.so on Linux and macOS, and .pyd on Windows. Otherwise if you build with Python 3.6, and try to install the package on Python 3.5, none of the modules would be found on import. Change-Id: I56639da6319cfa06e23ae793d66099813074adf4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PEP 384-squash: Implement PEP 384Christian Tismer2018-05-3079-1597/+4552
| | | | | | | | | | This is the condensed checkin of 18 commits which created the implementation of PEP 384. Task-number: PYSIDE-560 Change-Id: I834c659af4c2b55b268f8e8dc4cfa53f02502409 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Streamline the type parsing codeFriedemann Kleint2018-05-304-98/+54
| | | | | | | | | | | | | | | | | | | | | | - Remove bool *ok-parameter from AbstractMetaBuilderPrivate::translateType() It was only used to handle the special case of void return values of functions where translateType() returned nullptr/ok = true. Add a check TypeInfo::isVoid for this purpose and move this handling to traverseFunction instead. For all other cases, translateType() returning nullptr means failure. - Remove the code triggered by the bool resolveScope parameter of AbstractMetaBuilderPrivate::translateType(). It has been observed to not find any matches, likely due to the types being fully qualified by Clang. - Remove function AbstractMetaBuilderPrivate::decideUsagePattern() which was a one-liner calling AbstractMetaType::decideUsagePattern() Task-number: PYSIDE-672 Change-Id: I0336896917cb914d4d622eefa0a21e6e319efa0f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix qtattributionsscannertorst.pyFriedemann Kleint2018-05-291-37/+28
| | | | | | | | | | | | | | | The tool was originally written to handle a license embedded in a Python file. This has changed, the license now exists as a text file. Rewrite the tool to concatenate the output piece-wise instead of using fixed formats to be able to cope with missing URLs and versions. Add the copyrights, which were previously missing. Task-number: PSYIDE-363 Change-Id: I5ec0bd7a4b81e9f794f56f6b2b09062c331936ae Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove Python 2.6 package classifierAlexandru Croitor2018-05-291-1/+0
| | | | | | Change-Id: I200b87bc4e66d17d8eefe42359ab6bcc36d24f6c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix Pyside buildSimo Fält2018-05-292-0/+16
| | | | | | | | | | Disabling some of the configurations due to fact that those are not supported yet. 32 bit windows build on 64 bit host will be re-enabled once we get 32 bit python provisioned to 64 bit windows. Change-Id: I74492ed654dfef5aaf8e02ca8e0c715a0c27d2c8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Documentation: Fix some oversights in the index pageFriedemann Kleint2018-05-281-2/+2
| | | | | | Task-number: PYSIDE-363 Change-Id: Ib0bc82733932eb96f9d2ca42649d28bc600d8f60 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Documentation: Fix Qt11ExtrasFriedemann Kleint2018-05-281-1/+6
| | | | | | | | | | Work around the non-standard header naming of the module in the documentation generation (see also file sources/pyside2/PySide2/QtX11Extras/QtX11Extras_global.post.h.in). Task-number: PYSIDE-363 Change-Id: I3ff8bb666513a13fde4d13693fd06bdd7866e050 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Documentation: Add QtMultimediaWidgetsFriedemann Kleint2018-05-282-0/+5
| | | | | | | | | They share the qdoc.conf file with QtMultimedia, which needs to be special-cased, similar to QQuickWidgets. Task-number: PYSIDE-363 Change-Id: I5abade0a715ff3245be2322eae42e7c93f643fc9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add QtScxml to the documentationFriedemann Kleint2018-05-252-1/+5
| | | | | | | | Complements 9d10897929350417f4c7b2dcf06966ff7c67c5a6. Task-number: PYSIDE-487 Change-Id: I4a01c986535c0d7ba8362760c1b8e89a2f8e9936 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove left-over documentation filesFriedemann Kleint2018-05-251-120/+0
| | | | | | | - _templates/index.html Change-Id: Idcde052a1a77e2ade1de712db79da95d5ed6c02c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Don't package qml plugin debug symbols on LinuxAlexandru Croitor2018-05-251-0/+1
| | | | | | | | | | | Amends 6f894c2667c77e2580e7312d2ebed05efa7d654e. Reduces Qt 5.11.0 Linux wheel size from ~219MB to ~139MB (~80MB delta). Task-number: PYSIDE-661 Change-Id: Iaae1089183148037d94fe541f26426fd51c0f54d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix incorrect usage of findLlvmConfigAlexandru Croitor2018-05-251-2/+2
| | | | | | | | | The functions has been renamed due to PEP8 formatting. Amends 71249b93a5d12a320b44c608c05fb9d220788a18 Change-Id: I00206e1dda77f672d6883406e47debda19bc622f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Use relative path to the shiboken docsVenugopal Shivashankar2018-05-251-1/+1
| | | | | Change-Id: I63e3d87a62932e20ce28bf344636c05a61f1c6b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QtScxmlFriedemann Kleint2018-05-246-1/+275
| | | | | | | Task-number: PYSIDE-487 Change-Id: Ib8eb4a77f04ddbbe2c4b164b95f49e2f53bf44d9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Format python files to use PEP8Cristian Maureira-Fredes2018-05-234-194/+194
| | | | | | | Change-Id: I8dc16c10565da8f93ba5cb7cace004f8eaf52236 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Use SPDX name / ID for python licenseKai Koehne2018-05-222-2/+46
| | | | | | | | | | | | | | | | | This is the standard name of the license. See also https://spdx.org/licenses/Python-2.0.html Note that there's some deviation in the actual license text: The text refers to the exact Python version. Also, the SPDX standardized license contains additional text for some modules. Still, it's better to use the standardized name than inventing our own one. Change-Id: I64b20bc558928ca28edaf81925a049fcaeb124b6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Documentation: Improve function documentation extractionFriedemann Kleint2018-05-183-34/+134
| | | | | | | | | | | | | | | The XQuery used to obtain the function description can fail due to argument type mismatches (typedefs or blank formatting). In that case, repeat the query restricting the search the argument count. If exactly one match is found, use that with a warning. Output the matches otherwise. Split out functions for the function queries and and helper function for creating the XQuery with flags. Task-number: PYSIDE-363 Change-Id: I83aaa53511896ee78a25f39a769ca907d0ac10bb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtXmlToSphinx::transform(): Improve XML error messageFriedemann Kleint2018-05-181-2/+4
| | | | | | | Output line and column. Change-Id: Ide890b93c47ef0fc9ebe3209356da100e0cbde4e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Documentation: Skip methods added by the meta builderFriedemann Kleint2018-05-183-5/+11
| | | | | | | | | Introduce an attribute for added methods and exclude them from the documentation generation. Task-number: PYSIDE-363 Change-Id: I06d3f468bcec4d0480012d29e26dabadae51634b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>