aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Stabilize QtQml/bug_847.pyFriedemann Kleint2017-10-271-1/+8
| | | | | | | | | Add more checks for QML loading. Wait until the window is exposed until starting the safety timer and increase its interval. Task-number: PYSIDE-431 Change-Id: I6225f2357d9576be15c6134d26982939698a9984 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix the signature of the Q*Application constructorChristian Tismer2017-09-2910-33/+30
| | | | | | | | | | | | | | | | | | | | | Q*Application had PySequence as Parameter, although only QStringList is accepted. That resulted in an implausible error message when a list of, say, Integers was given. This patch - replaces PySequence by QStringList (one more tuple layer), - fixes QCoreApplication to give the same kind of error messages, - renames the shiboken function sequenceToArgcArgv to listToArgcArgv and changes it to only allow list descendents. We also changed signature.typing in one line to display List[str] correctly. I think this belongs more to PySide-331, a fixed qApp. Task-number: PYSIDE-510 Task-number: PYSIDE-331 Change-Id: Ib256c6a2db05a3db826454e1bf1b4729d59a240b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: tiny refinement in ReloaderChristian Tismer2017-09-291-3/+3
| | | | | | | | | This is totally irrelevant and a tiny optimization that is really not needed. Do what you want. Task-number: PYSIDE-510 Change-Id: I5d6d2f5f94130d4b03b4d70525b35139e82b9f5e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: support the new types and constants of 5.9 part 3Christian Tismer2017-09-281-0/+1
| | | | | | | | This patch adds a type to MSVC. Task-number: PYSIDE-510 Change-Id: I3290c91cd6f2937bddf8ec1f673b4a672bc49db3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: support the new types and constants of 5.9 part 2Christian Tismer2017-09-283-13/+80
| | | | | | | | | This patch reduces the string size a bit to meet the MSVC restriction to 16k only. This limit is reached by QtGui/qopenglfunctions_wrapper.cpp . Task-number: PYSIDE-510 Change-Id: Ibb4a9103775cb308a0f39b3375c4948da6016189 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Signature: support the new types and constants of 5.9Christian Tismer2017-09-271-2/+23
| | | | | | | | | This patch covers macOS and Ubuntu (which actually had one addition). No idea how oftem we must iterate ;-) Task-number: PYSIDE-510 Change-Id: I950c57c2d225b289eafc46e7f1758338b4d62838 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: buglet makes clang complainChristian Tismer2017-09-251-1/+1
| | | | | | | Some small oversight is now an error after the last clang update. Change-Id: I61b118d772cacdf7950e3b43e76cc4351c3062f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: fix documentationChristian Tismer2017-09-251-1/+4
| | | | | | | | There was some glitch that made a few sentences incomplete. Task-number: PYSIDE-510 Change-Id: Idd11c7a0d9f31aab4ab80e6fd6002f2320695ad5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: Improve error reportingChristian Tismer2017-09-252-10/+8
| | | | | | | | | | | | It is likely that with Qt 5.9 we get new signature text that is not recognized. This becomes a problem because COIN takes much time. This patch does not stop on the first parser error, but collects all warnings and raises an error at the end. Task-number: PYSIDE-510 Change-Id: I898e0a7a59e8313c115d7ce8160908bf85d4140c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Signature: Simplify parser by not reloading mappingChristian Tismer2017-09-253-154/+97
| | | | | | | | | | | | | | The mapping had been reloading on demand. This is overkill, since we only want to initialize the new constants. This patch replaces reloading by explicit init functions. This simplifies the parser and even the loader, because sys.path is no longer relevant and no context manager is needed for a single sys.path patch. Task-number: PYSIDE-510 Change-Id: I9e3a45cb10570211183952bd517abb0084b94f47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Implement introspection with __signature__ packageChristian Tismer2017-09-2024-19/+8510
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The signature module was turned into a package under 'PySide2/support/signature'. The package is completely isolated so that nothing is leaking into the normal import machinery. The package is also not initialized unless a __signature__ attribute is accessed. The only change to Python during a PySide run is the existence of the __signature__ attribute. As a side effect, all tests run at the same speed as before this extension. The module does not actively import PySide modules. Instead, it inspects sys.modules and reloads its mapping.py if needed. Example usage: >>> PySide2.QtWidgets.QGraphicsAnchorLayout.addAnchors.__signature__ >>> PySide2.QtWidgets.QGraphicsAnchorLayout.__signature__ The module has been thoroughly tested on macOS. I consider this ready. Task-number: PYSIDE-510 Change-Id: Ibb231a7fbb4ccc1a7249df55e3881a4e21a19c0d Reviewed-by: Christian Tismer <tismer@stackless.com>
* Update missing bindings script to include report generation timeAlexandru Croitor2017-09-141-30/+37
| | | | | | | Also changed logging strings to use .format() substitution. Change-Id: I437080169f94da487cb541c72efb0fe41ac90105 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Update missing bindings scriptAlexandru Croitor2017-08-291-9/+46
| | | | | | | | | | Fix the script to work with both Python2 and Python3. Add usage documentation. Include the command line invocation in the report. Some small cosmetic changes to better visualize the data on the wiki. Change-Id: If6dc474a3c46d8212503cf206f167cc137c5fbab Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix QtUiTools not to depend on Qt5Designer being presentJanus Troelsen2017-08-241-2/+2
| | | | | | Task-number: PYSIDE-552 Change-Id: Iff8dd7247bfec94be0cf4f5cbcfbfca1eb44d209 Reviewed-by: Christian Tismer <tismer@stackless.com>
* consistently name site-packages in Shiboken and PySideChristian Tismer2017-08-245-9/+9
| | | | | | | | | | | | The variable used for the python site-packages is inconsistent. Instead of "SITE_PACKAGE", we use "PYTHON_SITE_PACKAGES" everywhere. Task-number: PYSIDE-563 Change-Id: I4d2d49f20f5a0a13439bc7b8c79ab318cd831cb9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Julien Schueller <schueller@phimeca.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Blacklist QtQml_qquickitem_grabToImage because it's flakyAlexandru Croitor2017-08-241-0/+2
| | | | | Change-Id: If2c134595efbb1fab29e92c67afa1d58f3831df6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Streamline Qt5 detection on macOSAlexandru Croitor2017-08-242-25/+27
| | | | | | | | | | | | | | | | | | | | | This consists of a few things: - Remove the detection and usage of ALTERNATIVE_QT_INCLUDE_DIR in setup.py, because CMake takes care of finding the correct Qt include headers. - Add detection of framework / non-framework includes in the CMake rules, instead of in the setup.py script. - Don't pass QT_QMAKE_EXECUTABLE from setup.py to CMake, because it is not being used. It was previously used for detecting Qt4 via the CMake FindQt4.cmake file. Now it is done by find_package() which detects qmake from the environment. - Get rid of the old "/Library/Frameworks" QT_INCLUDE_DIR, which was where the official Qt 4.8.x packages installed Qt. - Deprecate usage of ALTERNATIVE_QT_INCLUDE_DIR. Now it is only used if CMake fails to detect the proper include headers of Qt5 (which should not happen). Change-Id: I829b92bc0d40ae7eb418be27c735fc095e557820 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add commit info and build date to installed packageAlexandru Croitor2017-08-212-0/+50
| | | | | | | | | | | | | | | | | | | | | | This change adds four new properties to the top-level PySide2 package: __build_date__ - the date when the package was built in iso8601 format __build_commit_date__ - the date of the top-level commit used to build the package __build_commit_hash__ - the SHA1 hash of the top-level commit __build_commit_hash_described__ - the result of 'git describe commmit' If git is not found on the system when the build is done, the last three properties will not be present. Note that all this info is computed at cmake configuration time, which means that currently the properties will not be updated unless the CMakeLists.txt file is touched, or a full reconfiguration is done. If PySide2 is built using the setup.py script, the cmake reconfiguration is always done. Task-number: PYSIDE-557 Change-Id: I7db67fa34973e7976b21e3d1d36237577b3c6e32 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add QTimeZoneFriedemann Kleint2017-08-024-0/+52
| | | | | | Task-number: PYSIDE-487 Change-Id: I9a2c19c6b8415e3f608531b315a6841eb3de55f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Stabilize QtWidgets bug_728.pyFriedemann Kleint2017-07-271-1/+16
| | | | | | | | | | Add a timer periodically checking for the dialog to appear and close it via reject() instead of using a hardcoded interval to quit the application, which can cause crashes. Task-number: PYSIDE-431 Change-Id: I35db1db5f6865d196f8565c7bd034de2162bf4ff Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Don't cancel build if python sphinx package is not installedAlexandru Croitor2017-07-252-7/+13
| | | | | | | | | | When building the docs target in PySide2, if the sphinx command is not successfully found, the build stops with an error. Instead of cancelling the build, just print a warning message just like it is done in the shiboken project file. Change-Id: I00ec7c306db5140f65973e622f4b1744cfd0d26e Reviewed-by: Christian Tismer <tismer@stackless.com>
* Set submodules to point to same branch as supermoduleSimo Fält2017-07-241-0/+2
| | | | | | Change-Id: Iddba1b5fb64b8cb2b9700c06de000948d4ba491a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Blacklist smart::smart_pointer on Windows to pass CIAlexandru Croitor2017-07-201-0/+2
| | | | | Change-Id: I7cbbb50dab06396059cb15afdd679abeb7177624 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Ignore license checker with pyside-setupSimo Fält2017-07-201-0/+3
| | | | | | | | This change is for 5.6 branch only and should not be merged to dev nor to 5.9. Change-Id: I951255a2515c3999fe0314678cc621744367d3f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* audio_test.py: Use QGuiApplicationFriedemann Kleint2017-07-201-1/+2
| | | | | | | | On Windows, the WASAPI audio plugin is used, which requires CoInitialize() and hence QGuiApplication. Change-Id: Iad045224b6153a08234ff69e69eb8d1986654b43 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* helper: Add UsesQGuiApplicationFriedemann Kleint2017-07-201-14/+25
| | | | | | | Add helper for testing with QGuiApplication. Change-Id: Ib56b0b118a5fe8e01c822c859419784921418913 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Blacklist qqmlnetwork for Windows/Python 2Friedemann Kleint2017-07-201-0/+3
| | | | | | | | The test crashes in COIN. Task-number: PYSIDE-431 Change-Id: Ibd65c722212b21d0a6993152711d316fb02a2234 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix Windows module extensions and tests to work with --debug buildAlexandru Croitor2017-07-127-69/+75
| | | | | | | | | | | | | | | | | | Use the same imp.get_suffixes() mechanism as on Unix, to determine the suffix part of module extension files. This fixes debug builds to work on Windows. Note that the whole build stack has to use the same configuration, no mixing is allowed on Windows. For release build you need: python.exe + setup.py without --debug flag + release build of Qt5. For debug build you need: python_d.exe + setup.py with --debug flag + debug build of Qt5. Change-Id: I6188c859b5757d11e87d6a9e32b9ba558f7f609e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Improve suffix names for shared libraries and cmake config filesAlexandru Croitor2017-07-1218-177/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | This change decouples the naming of general shared libraries, python module extensions, and cmake configuration files. All of them are now computed depending on the python version and python build configuration, and can also be manually set via CMake variables. The module extensions names now use the most detailed 'import' prefix, which usually informs whether a debug or release python was used, or the Python ABI flags (for Python >= 3.2). When a debug Python interpreter is used for building PySide2, the preprocessor define Py_Debug is now correctly propagated to PySide2 sources, which fixes previous crashes in debug builds. This affects only Linux and macOS builds. There is a subsequent change for making it work for Windows builds. All in all, this now allows proper mixing of debug / release versions of the Python interpreter with debug / release versions of PySide2 on Linux and macOS. Task-number: PYSIDE-508 Change-Id: I88a05c3ada0fb32c7c29bdb86d7a2c15acc963b8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Simplify the test for loading modulesChristian Tismer2017-07-1026-489/+27
| | | | | | | | | | Some time ago, I added the test file that makes sure that all modules can load. This file needed to repeat for each module without any other tests. Now we have a real "PySide2.__all__" variable, and we can remove these tests in favor of one simple test. Change-Id: I96d91e749c134f30afc30751abb874ede2639d10 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Create the __all__ variable correctlyChristian Tismer2017-06-271-1/+3
| | | | | | | | | | Now that we have the cmake variable "all_module_shortnames", it is very straightforward to produce a sensible __all__ variable in the PySide2 module. This is necessary to write an exhaustive test script for the new signature feature. Change-Id: Ib43d647593f0b1b848b9d17ff27fd47cfb5832cb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix text case of QtMacExtras wrapper cpp file nameAlexandru Croitor2017-06-231-1/+1
| | | | | | | | | This is probably the reason for the build failures in the CI because the filesystem there is case sensitive. Change-Id: I9f3cafbc8f1d29a0974229d466fbd22ec2b91491 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Silence some build warnings when building pysidetestAlexandru Croitor2017-06-231-0/+3
| | | | | | Change-Id: I91a1c87e6153a65a6e4088a41fbe0f696c2dd058 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove incorrect dependency in pysidetest targetAlexandru Croitor2017-06-232-1/+4
| | | | | | | | | | | Even though the final library name is libpyside, the actual target that generates that file is called pyside2, as indicated by the project(pyside2) command in the CMakeLists.txt file. Also set the CMake policy of not ignoring incorrect dependencies. Change-Id: Iba65dfd5fe7e34e7557c756a838017fe48f0ffd5 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove unnecessary conditional class checksAlexandru Croitor2017-06-231-13/+0
| | | | | | | | | The printing classes were moved to QtPrintSupport module, and the remaining classes are always present in their respective modules. Change-Id: I2e0ec061efc28c89f0476829541a7d2d3f01877f Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix compile tests to include correct module include dirsAlexandru Croitor2017-06-233-17/+18
| | | | | | | | | Also include the optional QtNetwork sources, so that QSsl* class bindings are properly generated. Thus the optional QtWidgets and QtNetwork classes should be picked up. Change-Id: Id4d21dc577f2b551dce83999be76cdfd9d0b88d2 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix testrunner.py in winSimo Fält2017-06-211-1/+9
| | | | | | | | The official git setup recommends to add only git.cmd to win PATH if ran in native CMD. Change-Id: I370752bf0d052f8047e929639b3246b726131b5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* utils: Handle SymlinksFriedemann Kleint2017-06-092-4/+23
| | | | | | | | | Try to recreate the .so version symlinks correctly on Linux instead of copying the files. Task-number: PYSIDE-526 Change-Id: I3b015efe4f2f57abe418f171a8631d194ed08f65 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix missing headers in PySide custom buildChristian Tismer2017-06-092-18/+32
| | | | | | | | | | | | | | | PySide itself built fine after the additional includes were added for inheritance. But when a smaller project is built, suddenly header files are not found, because the inherited names are not expected by the deployment. Therefore, we do no longer add more includes, but insert recursive headers for the few relevant cases. So the includes become a little longer, but the names of the include files are those as before the enhanced inheritance. Task-number: PYSIDE-500 Change-Id: Iab456307a3c2365dfe1964dbe222b7d0efac7878 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* libshiboken: Fix/Silence some MSVC warningsFriedemann Kleint2017-06-096-9/+18
| | | | | | | | | | | | | | | autodecref.h(110): warning C4522: 'Shiboken::AutoDecRef': multiple assignment operators specified autodecref.h(78): warning C4800: 'PyObject *const ': forcing value to bool 'true' or 'false' (performance warning) conversions.h(282): warning C4800: 'long': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(625): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(654): warning C4800: 'SpecialCastFunction': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(1014): warning C4800: 'Shiboken::ParentInfo *': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(1044): warning C4800: 'void *': forcing value to bool 'true' or 'false' (performance warning) helper.cpp(56): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data shibokenbuffer.cpp(46): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) Change-Id: If1517fde8e7670f258a56f6d845a66ebb3d82141 Reviewed-by: Christian Tismer <tismer@stackless.com>
* pysidetest_delegatecreateseditor_test: Add QtWidgets dependencyFriedemann Kleint2017-06-022-2/+2
| | | | | | | | | | | The test was failing since the method TestView::setItemDelegate(QAbstractItemDelegate *) was rejected due to QAbstractItemDelegate being unknown. Fix by adding the dependency to QtWidgets. Task-number: PYSIDE-431 Change-Id: I65c3690eccfdd55b310f45d65a2b0d8c32bedd36 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove README.md of PySide2/Shiboken2Friedemann Kleint2017-06-022-29/+0
| | | | | | | | They contain outdated links and are no longer required after the repository merge. Change-Id: I6867435bcd1bbe53308dea1d9d8c1ba1a0fc0584 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix .so filter for LinuxFriedemann Kleint2017-06-021-1/+1
| | | | | | | | | | Previously, libpyside.so would not match .so.* and so, the libraries were not copied. Task-number: PYSIDE-526 Change-Id: I407db564beaee1f443dc7b816bc0bf798c8aacf1 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Remove license files from previous submodulesFriedemann Kleint2017-06-0213-6338/+0
| | | | | | Task-number: PYSIDE-431 Change-Id: I35594dbf7dc6430ab5d0a2d235303f2bb7bd3677 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpyside: Use Q_SLOTS instead of slotsFriedemann Kleint2017-06-022-2/+2
| | | | | | | | | When mixing Python and C++, Qt needs to be used with 'CONFIG += no_keywords' to suppress the 'slots' macro definition, which clashes with a Python header. Task-number: PYSIDE-526 Change-Id: I4feeae2de21db712b4de6653e243d556623436a1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix typos in licensesFriedemann Kleint2017-05-3016-48/+48
| | | | | Change-Id: I781418f8747d51a0d329c0562e076600989b3768 Reviewed-by: Christian Tismer <tismer@stackless.com>
* setup.py/prepare_coin_sources.py: Adapt to repository mergeFriedemann Kleint2017-05-232-9/+7
| | | | | | | | Remove the former submodules pyside2/shiboken2 from the modules lists. Change-Id: I41de78f5519c24cce1e649eaf3b2f2d1cabcc9b0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
*-. Merge pyside2 and shiboken2 into super-moduleOswald Buddenhagen2017-05-222207-0/+251698
|\ \
| | * move everying into sources/shiboken2Oswald Buddenhagen2017-05-22653-0/+0
| | | | | | | | | | | | | | | | | | in preparation for a subtree merge. this should not be necessary to do in a separate commit, but git is a tad stupid about following history correctly without it.
| | * Fix crash on exit with debug Python 3Alexandru Croitor2017-05-191-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Crash happens because of an use-after-free error. This is a bandaid fix transforming the crash into a memory leak. Proper fix will require more investigation and time. Task-number: PYSIDE-488 Change-Id: I56358573ca60d6f18fd85fbd7eb3eb0da8fbf163 Reviewed-by: Christian Tismer <tismer@stackless.com>