aboutsummaryrefslogtreecommitdiffstats
path: root/sources
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup version string for 5.14.1 releasev5.14.15.14.1Simo Fält2020-01-292-6/+6
| | | | | Change-Id: I663e75d6a10c92aea9798e174e07dead45a21a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix grammar in considerations.rstChristian Tismer2020-01-291-2/+2
| | | | | Change-Id: I7d840367d9a733d925bbfeb78a0ba0c9c076e6c0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Let qApp be noApp instead of pretending to be NoneChristian Tismer2020-01-297-100/+64
| | | | | | | | | | | | | | | | | | | | qApp should stay almost as it is with only two cosmetic changes: When qApp's return value has Type(Py_None), the value now reports "noApp" instead of "None". Also the feature of "del __builtins__.qApp" is replaced by function qApp.shutdown() . This makes things easier to explain and avoids refcounting hacks. The embedding problem (Falkon browser) was too complicated. We finally solved it by disabling qApp in embedded mode. Change-Id: I0d99661137130684823aa3d1978b494d8ab08e59 Fixes: PYSIDE-1158 Fixes: PYSIDE-1178 Fixes: PYSIDE-1135 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* docs: QML and SQL integration tutorialMariana Meireles2020-01-276-0/+598
| | | | | Change-Id: I6ba4ae9fe6a9bfe669b76a23f27556b1f3c59eb4 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* docs: More fixes on deployment and faqKavindra Palaraja2020-01-274-62/+86
| | | | | Change-Id: I97d7251b0d9ec024ce069f6475d7bc6be0d9d362 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* docs: Improve Shiboken docsKavindra Palaraja2020-01-272-37/+34
| | | | | Change-Id: Ibcefb190f5ea50b7c8575cd03b9e0f69b3a170b6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Set default signal name only if previously assignedCristián Maureira-Fredes2020-01-271-1/+2
| | | | | | | | | | Just before registering the signal to the meta-object, the signalName was overwritten instead of checking if it had some content. Fixes: PYSIDE-1192 Change-Id: I5fc85bf22ae08bce6969b9381662288a99aee616 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Update pyside2-toolsCristián Maureira-Fredes2020-01-271-0/+0
| | | | | Change-Id: I364ab18fede462ac9e6b5a318a29e5244e2f9156 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix machinery and pep425tags CI errorCristián Maureira-Fredes2020-01-271-1/+1
| | | | | | | | | | | | | | | Currently the Shiboken macro only handles AttributeError but when 'machinery' is not found inside 'importlib' that case also needs to be handle by the except clause. Adding ImportError will allow us to get access to the Python suffixes that we need to build. Additionally, some old versions of Python (2.7.14) require an "archive_root" parameter on the 'wheel.pep425tags.get_supported' function, which is not required in new versions (2.7.16, and 3+). Change-Id: Icc6e7d1e9384ea01eec9281586f7ca988e3eb649 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix ownership of QTextDocument::createObjectCristián Maureira-Fredes2020-01-241-1/+2
| | | | | | | | | | Since it's a virtual method, we need to specify that the native counterpart of the method will live in C++, and in the target scope it will live in Python. Fixes: PYSIDE-1207 Change-Id: I5b9072380eed17270affa39c5976dc6b1fe293ff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* docs: Fix pre overlap and improve readingCristián Maureira-Fredes2020-01-242-4/+2
| | | | | | | | | | | | | Removed the color and the padding on the 'pre' elements of the docs. Additionally increased the line-height globally to 1.4 to make the reading easy. Fixes: PYSIDE-1201 Change-Id: I292d4e6da616ecb84a923444b99ad28a28d6cc5d Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* libpyside: avoid freeing char*Cristián Maureira-Fredes2020-01-241-4/+2
| | | | | | | | | | The doc parameter was being freed causing a segmentation fault, according to the implementation of the parse function, it's not necessary to free. Fixes: PYSIDE-1205 Change-Id: I5850e7feaf354b27cc4496dc83be214d1729a048 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Introduce "until" version attribute as opposite of "since"Friedemann Kleint2020-01-246-29/+69
| | | | | | | | | | Prototypically use it for QMessageLogContext, allowing to elegantly build for Qt from version 5.12..now using a single type system file. Fixes: PYSIDE-1191 Change-Id: Iaa7bdc10c7129d84c54e85a09a1c802a409708f9 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix printer test in returnquadruplesofnumbers_test.py on some systemsFriedemann Kleint2020-01-241-0/+2
| | | | | | | | Setting the page margin used for comparing tuples requires a PDF printer. Ensure PDF format if no such printer can be found. Change-Id: Ie8509d4a336392cb711e210842664e238c487444 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide2/__init__.py: Print import errors verboselyFriedemann Kleint2020-01-241-1/+11
| | | | | Change-Id: I9cac73af695ecb123bc0e0b6ce35a10ee1026ea2 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix Limited API for Python 3.8Christian Tismer2020-01-061-1/+1
| | | | | | | | | | | | | | | | | | | This trivial patch fixes an omission that has not been caught in earlier versions: PyObject_INIT must be replaced by PyObject_Init I think this change came by chance and was not the primary intent of the authors. Otherwise they would have made sure that the PyObject_INIT macro does not even exist when the Limited API is enabled. Change-Id: Iee8127dd398f1ec0997b9a629c5c48076137cecf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Shiboken: QtDoc: Change the order of entries at the beginningVenugopal Shivashankar2020-01-051-2/+2
| | | | | | | | | | | | In the class reference RSTs, the label entry must appear at first before the current module entry. In addition, there must be at least two empty lines before the page title. Otherwise, the module's index page drops out of the toctree, resulting in incomplete navigation breadcrumb. Change-Id: I65a35b0bb9f2946fb5d45b1d1b8a453c20745e79 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Update toctree to include only the module indexVenugopal Shivashankar2020-01-051-1/+1
| | | | | | | | | | The index adds all the class reference docs to the toctree so we don't need to include everything under the module directory. Change-Id: I6ef20914a63a1f246b06b2725435a4fc42deaf9b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* docs: Propose new structure for API indexKavindra Palaraja2020-01-022-37/+59
| | | | | Change-Id: If2d96afbf93f153fb1b8e79f150a934620899d18 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qApp: make sure to create the right instance when embeddingChristian Tismer2020-01-021-23/+47
| | | | | | | | | | | | | | | qApp has special treatment for the embedded case where some Q*Application instance might exist before initialization happens. In order to get these cases right, it was necessary to try to import all three modules in question and do the initialization with the highest existing module index. Change-Id: Ifd27129ce166dee20e9424b1ee04a0d66cba79cc Fixes: PYSIDE-1164 Task-number: PYSIDE-1135 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* qApp: Ensure QtCore import when embedded QApplication subclass is usedChristian Tismer2019-12-201-1/+8
| | | | | | | | | | | | | | | | | | | | | | | The qApp machinery works great with Python. When using embedding, things are different because there is no longer a wrapper layer. Unfortunately, many extension modules use C++ to derive a QApplication class. This has the side effect that when a foreign C++ module gets imported, the qApp machinery does not see it as it would in Python. Instead of a complex analysis, we always make sure that QtCore is imported. It will report the right instance, anyway. This change could not easily be tested. It was confirmed as a solution by Antonio Rojas. Change-Id: Ie9c56ac75e6c0ae3ace615dfc26c6d218ff4efea Fixes: PYSIDE-1135 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix the registry after QTEST_ENVIRONMENT=ci was restoredChristian Tismer2019-12-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | Since the QTEST_ENVIRONMENT variable was no longer set, a number of crucial checks were not performed. One side effect are the two new keys which were missing in the registry. Additionally, the registry is missing very many entries on macOS, and I have no idea what the reason is. This could be an effect of the macOS 10.15.1 version or of my maybe outdated Qt 5.14.0 version. The registry files from 2019-10-31 have all entries. If I build that version from 2019-10-31 and test it, I get the same missing keys. Therefore, I doubt my results quite a bit! To verify this, we simply check this change in, together with https://codereview.qt-project.org/c/pyside/pyside-setup/+/284809 If that works, then I have a serious bug somewhere, but we know then that the harm of that CI bug was a minimum. Fingers crossed!! Change-Id: I25555d60d6911fca6de67110c35dff8d23c2fd8a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix building without doc generatorFriedemann Kleint2019-12-191-0/+3
| | | | | | | | | | | | The generator subproject would still add the qtdocgenerator source file even if neither QtXmlPatterns nor libxml/libxslt2 were found, causing link errors. This is since the value of DISABLE_DOCSTRINGS was not propagated up from the ApiExtractor subproject. Set it to the parent scope from there as well. Change-Id: If8dc7b0437ef8a8c1e71d822328bcc3809252b57 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Doc: Document the Property function in QtCoreVenugopal Shivashankar2019-12-121-0/+62
| | | | | | | | The content for this lived on the wiki till now. Change-Id: I3e6a2cb7f97ab7021621b7c687299a3199134bb5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Finalize the Python 3.8 refcount fixChristian Tismer2019-12-121-5/+7
| | | | | | | | | | | | | This is a final optimization to the Py_TPFLAGS_METHOD_DESCRIPTOR fix. Instead of keeping the mro method alive, we are caching it's type only, because that is what we need to patch. Another effort to solve this problem completely has failed, again. This solution is good enough and has no time penalty. Task-number: PYSIDE-939 Change-Id: I98c165f9cd704b0f6ce55750189d6bda9a811f70 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Shiboken: QtDoc: Fix the fancy TOC in the module index pageVenugopal Shivashankar2019-12-121-0/+3
| | | | | | | | | | The TOC groups the classes alphabetically, ignoring the 'Q' prefix at the beginning. It did not consider classes without the 'Q' prefix, such as Signal and Slot in the QtCore module. The else block should handle that as well now. Change-Id: I0fc22ba86650299de924d22c970d6fe6e31567c3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Fix warnings about link targets and indentationVenugopal Shivashankar2019-12-0611-33/+58
| | | | | | | | | Also ensured that all the doc entities are in the toctree so that the navigation breadcrumb is generated. Change-Id: If993cca4c7e91723fa373d3453196bcfee9f3ffa Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Optimize the Python 3.8 refcount fix a tiny bitChristian Tismer2019-12-051-1/+1
| | | | | | | | | | | This change uses the fact that our workaround to temporarily remove the Py_TPFLAGS_METHOD_DESCRIPTOR flag uses the "mro" function of PyType_Type, which never will change. Therefore, the static keyword makes sure that this function lookup happens only once. Change-Id: I44b74556da1fac2596c81339af30cb66218276e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix Python 3.8 problemsChristian Tismer2019-12-0519-30/+148
| | | | | | | | | | | | | | | | | | | | | | This patch fixes some refcounting problems with Python 3.8 . One incompatible change was announced in the what's new document, but actually there were two more problems which were not explicitly mentioned but took much time to sort out. The patch is compatible with the limited API changes (tested with debug build and API error disabled). It is also independent of the Python version which is full Limited API support. For more info, see the documentation mentioned below. The flag error is circumvented now! We either find a better solution or leave it as it is. For now this is ok. Fixes: PYSIDE-939 Change-Id: Iff4a9816857a6ebe86efd4b654d8921e4e464939 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* docs: Simplify the Quick Start topicKavindra Palaraja2019-12-042-23/+19
| | | | | Change-Id: I11651033783052591f38cd8eb02ec47719c91dbf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* New documentation structureCristián Maureira-Fredes2019-12-0322-636/+900
| | | | | | | | | | | | | | | | - New structure for the landing page, - Some rst were renamed to the new structure, - New sections "Videos", "Examples" and "Getting Started" were created, - Information from the wiki was used to create the Getting Started sections, - FAQ section was removed, - Removing pyhtml2devhelp.py since it is unused, - The new CSS modifications were copied over the Shiboken2 directory. Task-number: PYSIDE-1067 Change-Id: I1ba53cd0030d6d02449fecdfea70efb49421ad3b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
* Fix refcount issues with QSettings glue codeCristián Maureira-Fredes2019-11-281-4/+11
| | | | | | Task-number: PYSIDE-939 Change-Id: I5bda4e2025e31bf192bf0bf70c82aa626cd19714 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Merge remote-tracking branch 'origin/5.13' into 5.14Friedemann Kleint2019-11-285-4/+7
|\ | | | | | | Change-Id: I698090a9c9fdc995e00e39873aa35f8edda0f0b1
| * Remove QGraphicsItem::scroll from QtCharts5.13Mariana Meireles2019-11-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | Removing this method to avoid being inherit from QChart, so we don't have the problem of having two scroll methods with the same arguments and we don't call the wrong one. Change-Id: Ia98ae1fdea39bed4435869fae7e5d380a73e9d91 Fixes: PYSIDE-1101 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| * Bump version numbersSimo Fält2019-11-112-2/+2
| | | | | | | | | | Change-Id: I320da3f8bb09774db8c4e88c784a0d270eb1c932 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | docs: Propose new structure for overviewKavindra Palaraja2019-11-271-36/+4
| | | | | | | | | | Change-Id: I4a946cc0373f986db422439b1796fdddbf0ae35b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | docs: Clean up the PyInstaller topicKavindra Palaraja2019-11-271-66/+50
| | | | | | | | | | Change-Id: I0d0668fd4270d58f2ab50bd14c9d7100ff906d3c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Refactor metatype comparisonFriedemann Kleint2019-11-253-42/+50
| | | | | | | | | | | | | | | | | | | | Remove unused code left over from previous changes and add flags for matching value and const-ref as equivalent. Rename a few functions for improved clarity. Change-Id: Ifac1414e4977643b18d31dfc63a8e4a5f89a2ddc Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Shiboken: QtDoc: Fix the new filename logic for the extras foundVenugopal Shivashankar2019-11-251-1/+1
| | | | | | | | | | | | | | | | | | Otherwise, the extras are never copied to the respective module directories, resulting in no HTMLs for them. Change-Id: Ibb509178bde9cf2477c3791ee56da1affbe4d74e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | shiboken: Refactor target lang nameFriedemann Kleint2019-11-257-157/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Devirtualize TypeEntry::targetLangName() and replace by QString buildTargetLangName() that walks up the hierarchy and builds the name from the components. It populates a mutable variable m_cachedTargetLangName. - Implement setTargetLangName() to set m_cachedTargetLangName directly so that it works in all classes (for target-lang-name). - Implement a targetLangEntryName() that returns the last name part using the same pattern. - Remove the unused lookupName(). Fixes: PYSIDE-1133 Task-number: PYSIDE-990 Task-number: PYSIDE-1074 Change-Id: I15a6805a21584f1d7d4222e577e50907d7291841 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Store the unqualified entry name in TypeEntryFriedemann Kleint2019-11-259-137/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the previous change adding a parent pointer, this is working towards building the target lang name by walking up the hierarchy, prepending the names, making it possible to exclude namespaces. Pass the unqualified name from the XML parser and build the qualified name in the TypeEntry constructor. For this to work, a new ConstantValueTypeEntry is added replacing the abuse of EnumValueTypeEntry for nontype-template parameters. As a side effect, it is no longer possible to nest types by qualifying with "::" in XML: <object-type name="Class"/> <enum-type name="Class::Enum"/> This needs to be fixed in the type system files. [ChangeLog][shiboken] As a result of a code cleanup, it is no longer possible to nest types by by qualifying with "::" in the type system files. The elements need to be properly nested. Task-number: PYSIDE-990 Task-number: PYSIDE-1074 Change-Id: I8a2f93c40d59167b0ba205ef3ff3b325d242c3d3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Replace imp by importlibCristián Maureira-Fredes2019-11-192-10/+15
| | | | | | | | | | | | | | | | Getting rid of the DeprecationWarning Change-Id: I86370c266d502fcd0fb61a9945770354b8f87142 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Give the type system entries a pointer to their parentFriedemann Kleint2019-11-187-78/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helpful when building the qualified names including namepaces whose names may not appear (due to them being C++ inline namespaces or generation being disabled). With this, an accessor to the type system entry can be added, which helps to avoid ambiguities. Task-number: PYSIDE-990 Task-number: PYSIDE-1074 Change-Id: I7dce742770fbdbbc6ed0c3fce5120108dd12ffc4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Renato Araujo Oliveira Filho <renato.araujo@kdab.com>
* | shiboken: Fix crash when smartptr template class cannot be foundFriedemann Kleint2019-11-183-1/+23
| | | | | | | | | | | | | | | | | | | | shiboken currently crashes when naively trying to use std::shared_ptr since it does not see the template due to system directories being excluded from clang parsing. Add an error message and bail out. Task-number: PYSIDE-454 Change-Id: I6627e968061f8f704a90f898879f3861308e1705 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Doc: Drop PySide prefix from the RST filenamesVenugopal Shivashankar2019-11-1820-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shiboken appends the content in these RSTs to the module index pages that it generates. In addition, - updated the snippets, extras, and additional docs passed to the Shiboken call. - moved the copy_directory command right before the shiboken call. Change-Id: I45222ba7d0798105a764d7692d466f7a2a105d77 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | shiboken/Doc generator: Refactor the Table classFriedemann Kleint2019-11-152-42/+55
| | | | | | | | | | | | | | Use QVector and no longer inherit the container. Change-Id: I7ab9df4cefa408c01324d88737d639b80b45fc48 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Remove more usages of QListFriedemann Kleint2019-11-153-6/+7
| | | | | | | | | | | | | | The class will be deprecated in Qt 6. Change-Id: Iafafca43615fc8035ac532afb9dcb18f7ab6ce92 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Refactor the logic deciding whether headers should be parsedFriedemann Kleint2019-11-151-31/+48
| | | | | | | | | | | | | | | | | | | | | | - Use cstring and prefix by std - Split the functions into base name and comparison functions - Use a non-type template to pass the size for startsWith() - Split out visitHeader() for clarity Task-number: PYSIDE-454 Change-Id: I48e2a9ae5fead892c20d9729cb90d61ff5d7fb0a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Refactor TypeEntry::addExtraInclude()Friedemann Kleint2019-11-152-13/+12
| | | | | | | | | | | | | | | | | | | | Remove the QHash<QString, bool> m_includesUsed and do a linear search for existing includes instead since the number is small and repack the members. Task-number: PYSIDE-454 Change-Id: I30cb08d271b56778a6964476f66602569e5c6ce5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | shiboken: Split the headers of libsmartFriedemann Kleint2019-11-146-193/+370
| | | | | | | | | | | | | | | | | | | | | | | | Prepare for adding further tests. On this occasion, polish the code a bit, move the logging of the shared pointer into a base class to get rid of the iostream include in the header. Task-number: PYSIDE-454 Change-Id: Ifd05a7d3ceeae1c85e7193991907bf6d1e8e98ee Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>