aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-10-2710-213/+47
|\ | | | | | | Change-Id: I94cb5a7dab97cff3591bac534228bfd3e3ad5938
| * Support the qApp macro correctly, final version incl. debugChristian Tismer2017-10-278-196/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For short the new features: - there is a qApp in QtCore, QtGui and QtWidgets for compatibility, and also in __builtins__ for a true macro-like experience. - if you delete any qApp variable, the Q*Application is reset and you can start over. Long description: There is a qApp macro in Qt5 which is equivalent to Q*Application.instance() . Python does not have macros. Both PyQt5 and PySide2 have an according structure in QtWidgets. In the case of PySide2, the qApp variable is first initialized to None and later to QApplication(). This does not reflect the original sense of the qApp macro, because - it only handles QApplication, - it does not handle destruction. This "macro" should live in QtCore, but both PyQt5 and PySide2 decided to put this in QtWidgets. As a compromize, I propose to put qApp into all three modules, and into __builtins__ as well, so wherever you create an application, you find this "macro" in place. While changing the code, I stumbled over the template set_qapp_parent_for_orphan. I tried to make sense out of it and finally removed it. There were no side effects but bug PYSIDE-85 is gone, now. With some extra effort, I created a singleton qApp that changes itself. This way, a true macro was simulated. Note that this was not possible with a garbage collected variable, and I had to make shiboken aware of this. As the final optimization, I turned qApp also into a fuse variable: Delete any qApp variable and Q*Application will finish when there is no extra reference. Task-number: PYSIDE-85 Task-number: PYSIDE-571 Change-Id: I7a56b19858f63349c98b95778759a6a6de856938 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Fix the signature of the Q*Application constructorChristian Tismer2017-09-297-25/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Fix missing constant for 5.10Christian Tismer2017-10-131-0/+1
| | | | | | | | | | | | | | | | | | There is a crash in 5.10 because a signature is not recognized. This is only a warning, but turned into an error for the testing. Should we drop that, eventually? Change-Id: Idd183842575e3890b018c8bc82b6e272e2980b9d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Windows: Define NOMINMAX for every moduleFriedemann Kleint2017-10-072-10/+0
| | | | | | | | | | | | | | | | As of 5.10, windows.h is included by qrandom.h in QtCore. Task-number: PYSIDE-431 Change-Id: I69cc5e3275fba09f1a4990a4e5d37253b4664a95 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-09-2811-0/+7523
|\| | | | | | | Change-Id: I47521e21977b1f17fcc65590f565270b2440a48b
| * 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-282-0/+78
| | | | | | | | | | | | | | | | | | 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: Improve error reportingChristian Tismer2017-09-251-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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-2011-0/+7485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix license headerSimo Fält2017-09-261-1/+0
| | | | | | | | | | Change-Id: Ied91391eea8b7178e338d217f90408235a04ddda Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add Qt DataVisualizationFriedemann Kleint2017-09-252-0/+262
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: I7e4e8b617b95ec4008dc0fc4bea9974871425b2d Reviewed-by: Christian Tismer <tismer@stackless.com>
* | QtCharts: Add a reference in QChart::addSeries(QAbstractSeries*)Friedemann Kleint2017-09-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | The chart takes ownership of the series. Fixes an exit crash in the charts example. Amends b814f865c0618faaaacb710bd0e8eb2804aaed00. Task-number: PYSIDE-487 Change-Id: I2efcaa58031f86b4c21c9e62f56b51338f80e12d Reviewed-by: Christian Tismer <tismer@stackless.com>
* | QtQuick: No longer declare GLuint to be a primitive typeFriedemann Kleint2017-09-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes warnings like: qt.shiboken: (quickwidgets) signature 'glProgramUniformMatrix4x3fv(uint,int,int,unsigned char,const float*)' for function modification in 'QOpenGLExtraFunctions' not found. Possible candidates: glProgramUniformMatrix4x3fv(GLuint,int,int,unsigned char,const float*) in QOpenGLExtraFunctions which are produced by the QtQuickWidgets module including the QtGui module (with generate="no"). Due to primitive type declaration, the typedef is not resolved, which causes the mismatch and the confusing yet harmless warning. Amends eb28469e920696a1d0833c55b5c20c5c5a6f9d5e. Change-Id: Ic22f7c7dd0ca009cf42ea8a5f1b2513b8727c3e6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add bindings for QRegularExpressionFriedemann Kleint2017-09-052-0/+12
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: I5902ce37ad40b8180b6710b3e7cd091925ad392d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add bindings for QVersionNumberFriedemann Kleint2017-09-052-0/+9
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: I0106d87418c757d14c2dd7dd9fd1ab9d0c66a449 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Re-enable bindings for QUuidFriedemann Kleint2017-09-042-7/+3
| | | | | | | | | | | | | | | | | | Remove comments, add test. The claimed cyclic dependency apparently disappeared when porting to Clang. Task-number: PYSIDE-487 Change-Id: I44556fb5de92d83bd9471a41a03db9f6eeff0a31 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | global.h.in: Remove include of gl.h and related workarounds for WindowsFriedemann Kleint2017-09-011-14/+0
| | | | | | | | | | | | | | | | | | | | The include causes clang parse errors due to redefinition of APIENTRY on Windows 32bit. It seems it is no longer required after the fixes to the Clang include handling. Task-number: PYSIDE-528 Change-Id: Ie182e0cac4e0310b31c45ee68e2148500a6e9e34 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Enable more OpenGL functions with arraysFriedemann Kleint2017-08-291-9/+289
| | | | | | | | | | | | | | | | | | Add <array> modification for more functions. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I083256d776067a16d780581c291da7d62fc47e14 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | typesystem_core_common.xml: Define int64_t, uint64_t as primitive typesFriedemann Kleint2017-08-291-0/+2
| | | | | | | | | | | | | | | | | | They are used for GLint64. Amends 4ec9cfa3c6b895c0cf50227c189cfa542de88b64. Task-number: PYSIDE-516 Change-Id: I0be5d1302629ea156fb3dde07dd810f5730b064e Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-08-281-2/+2
|\| | | | | | | Change-Id: I073b05f8b39c0af32aa57ce3589c1aac2d712213
| * consistently name site-packages in Shiboken and PySideChristian Tismer2017-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-08-223-0/+12
|\| | | | | | | Change-Id: Iddee2cf511ee0f0896a04a76e5b5b8bd44d1d6f1
| * Add commit info and build date to installed packageAlexandru Croitor2017-08-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-022-0/+8
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: I9a2c19c6b8415e3f608531b315a6841eb3de55f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Shiboken: No longer change arrays[] to pointer typesFriedemann Kleint2017-08-032-4/+4
| | | | | | | | | | | | | | | | | | | | In AbstractMetaBuilder, no longer change array types like "int[]" to "int*". Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Ia9e15ae3fca895bf179275eb31a94323d91f4941 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Shiboken: Improve Handling of array typesFriedemann Kleint2017-08-033-3/+12
| | | | | | | | | | | | | | | | | | | | | | Change the AbstractMetaType::signature() functions to work with the nested AbstractMetaType types instead of TypeEntry so that the correct array signatures appear in the signature of AbstractMetaFunction. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I90aa11891c95ccdcbae81fb70db4bec0e62f5923 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-07-101-1/+3
|\| | | | | | | Change-Id: I9d55ec493763dc9536d7926d428aecf75c10a72d
| * 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>
* | [Reland] Add QSharedPointer<QQuickItemGrabResult> to the type systemAlexandru Croitor2017-06-272-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add test to check that calling QQuickItem::grabToImage() works correctly. The QSharedPointer type is added in the QtQuick typesystem file and not in QtCore to minimize the surface of issues that might come up, as well as because that's the only reasonable use case of QSharedPointer in the public API so far. The commit was missing in 5.9 branch after repo merge. Task-number: PYSIDE-454 Change-Id: Ibb7775117ffb22ab91d2ac798ae13cc9e4856587 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-06-233-16/+5
|\| | | | | | | Change-Id: Ieeaa4659753416315a619d0b683a3e5a4c8ed54e
| * 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>
| * 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-232-13/+15
| | | | | | | | | | | | | | | | | | 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>
| * move everying into sources/pyside2Oswald Buddenhagen2017-05-22102-0/+22310
| | | | | | 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 QtWebEngineWidgets to build with Qt 5.8/Qt 5.9Christian Tismer2017-05-291-2/+2
| | | | | | | | | | There is an old error in QtWebEngineWidgets which was never detected before we switched to the new parser. QWebEngineHistoryItem is an object-type, not a value-type. Change-Id: Id8ce323129985f4ab08cf3b81a15e3a9690649ad Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix TextToSpeech versionChristian Tismer2017-05-291-3/+3
| | | | | | | | The version must be since 5.8, not 5.9. Found because I build with homebrew Qt 5.8 Change-Id: I53b5235000ce6fb8dfea75224ca2a05daed826b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QtChartsFriedemann Kleint2017-05-294-0/+231
| | | | | | Task-number: PYSIDE-487 Change-Id: I742d0fe52da22a06ca04069b6e0094d1913cc187 Reviewed-by: Christian Tismer <tismer@stackless.com>
* move everying into sources/pyside2 (5.9 edition)Oswald Buddenhagen2017-05-22104-0/+22221
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.