aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* __feature__: Ensure that features are not affected by other imports6.0Christian Tismer2021-05-034-9/+11
| | | | | | | | | | Imports should not touch the feature dict unless they are feature imports. This was a small error in the import logic. Change-Id: I16045fffb4b770861ff2efba674667894e0798e5 Fixes: PYSIDE-1548 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 39ba36db0fb8a3c722cb23e02f38abab9c67592c)
* Test bug_686.py: Fix warning about destroying a locked QReadWriteLockFriedemann Kleint2021-04-271-0/+2
| | | | | | | | | | | Unlock in the threads, fixing warnings: QReadWriteLock: destroying locked QReadWriteLock QReadWriteLock: destroying locked QReadWriteLock Change-Id: I484b7947fdcf241fca069c02ecd9e0ff7c20c151 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 8245dd6356dbb0124a7477b16f19e5f031074f85) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6: Fix the test HTTP serverFriedemann Kleint2021-04-271-1/+1
| | | | | | | | | | | | | | | Change the test data to be a bytearray, fixing: File "sources/pyside6/tests/util/httpd.py", line 47, in do_GET self.wfile.write(TestHandler.DATA) File "/usr/lib/python3.8/socketserver.py", line 799, in write self._sock.sendall(b) TypeError: a bytes-like object is required, not 'str' Change-Id: I5a0b5d0f76c4245fc7209d17a6c7f1e664cbc04f Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit bdcc883a5a088a8ede3f01d83cf565713a8ad5f7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Fix XML errors when injecting target format (RST) documentationFriedemann Kleint2021-04-221-1/+1
| | | | | | | | | | | In writeInjectDocumentation(), pass class Documentation (including format) instead of just the string to writeFormattedText() to prevent it from running through XMLToSphinx. Change-Id: I6116552fc3ea8f7ddc1cc07d51370f868de97bb3 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit d9b11bb733e3a3e2546634f6792691aaa473be65) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* cmake: add dependencies to rebuild libshiboken embedded files, addendumChristian Tismer2021-04-211-0/+1
| | | | | | | | | | | | There was one file forgotten when adding dependencies. This was recognized when back-porting the original change to 5.15 . Task-number: PYSIDE-1536 Change-Id: I5c396e8de47c716acb9e301d60930296bd530a64 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit f6a0b8d4e7eb092198a1f340dc3aa8580d028843) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* signature: Refine the decision heuristics of result tuplesChristian Tismer2021-04-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | Result tuples do not (yet) get information from XML. Instead, they fetch their info solely from the embedded signature strings and information encoded in mapping.py . When a variable is determined as a result variable, it is removed from the arg list and normally appended to the return tuple. It turned out that a special rule is needed: A variable that comes first in the variable list should also be first in the result tuple. This heuristics should be replaced by more introspection. Right now, this suffices as a working fix. Fixes: PYSIDE-1409 Change-Id: Ib65682439e2f678380e0f58a42a36506d0766ddf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 3506158551488788450498f9b4ffe86375172fea) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add changelog for 6.0.4Friedemann Kleint2021-04-191-0/+31
| | | | | | | Change-Id: Ifcbfacfa7a081e094919a0eb37dc616041c84917 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit a6ebc0394d709c84c9ea7bb736a65b8cce73bb64) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: update cx_Freeze urlElisabeth Ortega2021-04-182-2/+2
| | | | | | | Change-Id: I9c1cb964e1b9a05f9940382d58ecdf820865d532 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit aa60751b6a081943c1d8c7eaa66063d0007734e2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tools: display screenshot in example galleryCristian Maureira-Fredes2021-04-181-2/+28
| | | | | | | | | | | | | | | Adding the option to display a screenshot on the example gallery. First, the script will look for an image with the same name as the example, otherwise it will just get the first in alphabetical order. Fixes: PYSIDE-1490 Change-Id: Ia0328c84206a3d66854197abe5ecad8d1d28abc5 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit d5dcdf2de980ef252aabaa56d5a9465453a1c9b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: use sphinx panels in shiboken docsCristian Maureira-Fredes2021-04-182-2/+71
| | | | | | | | | | | Replacing the old raw HTML for online docs. The HTML version of the menu will remain for qthelp. Task-number: PYSIDE-1112 Change-Id: I335b25c561ab9d45fd041d24ec607b8d603612c1 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit a4c722d3d47feee45e9bbbe09871eb25efe6f86d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add downloader example with QNetworkAccessManagerSacha Schutz2021-04-162-0/+218
| | | | | | | | | | | | | This widget allows to download a file and show a progress bar. Unlike other example on the internet, bytes are read from the readyRead() method and not from finished(). This makes possible to download large file without consuming memory. Task-number: PYSIDE-841 Change-Id: Ic314ef1fbc299be6c3636fcb502b3c532d713cfd Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 4769e8fd93b2b434c6b38d755d1090eca5b62893) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6/typesystem: Replace remaining usages of QVector by QListFriedemann Kleint2021-04-162-14/+14
| | | | | | | Change-Id: I1c9fe1006cb936c88c860482ba93d0a68554a350 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit f409d7e593ceebcc305cc8211f9d775ea5329954) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add new matplotlib example and rearrange dirsSacha Schutz2021-04-156-0/+122
| | | | | | | | | | I add a widget showing a 2D gaussian with 2 inputs to adjust mu and sigma Task-number: PYSIDE-841 Change-Id: I602b07943ebeb007332bc77c4372ef5a1db20422 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit cf82fcabfd5b7d4168c9088a2c3f0236231f68ab) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add a Paintbrush like exampleSacha Schutz2021-04-152-0/+241
| | | | | | | | | | | | | A widget where user can draw on a canvas with different color. It is possible to save and load the canvas into a PNG file. This example teaches the user how to use QPainter outside the paintEvent using a QPixmap. Task-number: PYSIDE-841 Change-Id: I8bbab68193894f4f5a6e101fa23fc65e6cb30864 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit a434c1852ce3c040e2086568d7331c68b96ea38d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add an editable Json Model exampleSacha Schutz2021-04-153-0/+389
| | | | | | | | | | | | This is an adaptation of my code available on https://github.com/dridk/QJsonModel. Due to its success, it may be good to add it into the official documentation. Task-number: PYSIDE-841 Change-Id: I5b9acddb684ba27233efa53e6b0e04291aaba46a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 80cb8e0a3dd905edbb1226604f3e8b3e31039728) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Prevent crashes when registering static fieldsFriedemann Kleint2021-04-154-13/+52
| | | | | | | | | | | | | | | | Registering static fields invokes converters, which can cause crashes for uninitialized types (see also 2ac1870053370e017567ae53e62cd1155a01c88f). To solve this problem, move the static field initialization to the end of the module initialization function to ensure all converters are available. Fixes: PYSIDE-1529 Change-Id: If40c6faf049077db8afcdee2069f4441c21beaa4 Reviewed-by: Renato Araujo Oliveira Filho <renato.araujo@kdab.com> Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit af1bdd8447771728321984f87447187f0284db6b) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PySide6: Fix performance of QPainter::drawPoints(QPolygon)Friedemann Kleint2021-04-131-2/+7
| | | | | | | | | | | | Reorder the overloads so that the QPolygon overload is checked first before the costly sequence type check of the QPoint list. Speeds up the example from 1800ms to 80ms. Fixes: PYSIDE-1540 Change-Id: I108b0e98c82540703ee80345026ecdc3b55dfd4e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit ef707d2077862933b767bccf17ca0c54f9475de0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add std::pair as a container in CoreCristian Maureira-Fredes2021-04-131-0/+10
| | | | | | | | | | | | Since Qt6's QPair uses it underneath, we require to have a declaration so we are able to transform from and to Python. Fixes: PYSIDE-1544 Change-Id: I9cc753cbbe0b352382996e896c00faff9bc0f819 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit e9bf3bda62590a42377d21ae0e5646f5401f982a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Enable shiboken documentation build for macOS againChristian Tismer2021-04-111-0/+7
| | | | | | | | | | | | | | | | | | Python v3.6 and docutils v0.17 have an encoding problem, because the default encoding is ASCII. That produces an encoding error on macOS in Sphinx: Running Sphinx v3.5.3 Encoding error: 'ascii' codec can't decode byte 0xc2 in position 69: ordinal not in range(128) The problem happens on macOS because CI uses that old version. It can be avoided by setting UTF-8 encoding. Change-Id: I88ee27cfb529dfec291dc079bcc2d52f656f180f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 2f88c10f824fb9aa6cb1dbfd18b2d071a48745f1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* cmake: remove old test conditionsCristian Maureira-Fredes2021-04-082-8/+2
| | | | | | | | | | There were some special cases with tests incompatibilities in old Qt version, which are not valid anymore. Change-Id: I5787a1e749b14ed4f0fb463cbf9530496f5b182b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit d7bb5403ec4a77d39da68714b32608678bdb0e95) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* cmake: bump general Qt minimum versionCristian Maureira-Fredes2021-04-085-6/+6
| | | | | | | | | | | The main cmake files for pyside/shiboken still have minimum versions pointing to version <6.0.0 which is not valid anymore. Change-Id: Iffebec1e6782e627fc6b3a0c9e16bce7864e250f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 59345eeef93d5bbd1af55426e2edf1963dcfb90c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* cmake: update minimum Qt version for 6.0+ compatCristian Maureira-Fredes2021-04-086-44/+15
| | | | | | | | | | | Bumping modules compatibility, using 6.0.0 as the base since we the rename from PySide2 took place already, and this code is not supposed to be backward compatible. Change-Id: I471b151ef50f5a5974561bf2e619017f7beb621a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 985ee0b6e55bc116f287ff2a09265fd3ef629f37) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* tools: update missing_bindingCristián Maureira-Fredes2021-04-074-456/+511
| | | | | | | | | | | | | | | Updating the tool to be focused on Qt 6.x. Moving the long structures to a config file, moving around functions and formating the code. Also, moving the script to a separate directory to be able to have a 'requirements.txt' file which can fetch all the required packages for the comparison Change-Id: I7a52c33a609d0faff01c20977aa1509ebe6dc058 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit bce03cee3bd654bebf693ef5c4e7016d539c38f8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: update Qt 5 references from READMECristian Maureira-Fredes2021-04-073-13/+14
| | | | | | | | | | This change updates all the references we had in the README files pointing to Qt5, PySide2, and old URLs. Change-Id: I9512522418df0c3996031333180e18aef03057ed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 9fcb650a3f86c208d02cd3102edcebdda9b9571a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* cmake: add dependencies to rebuild libshiboken embedded filesChristian Tismer2021-04-074-42/+76
| | | | | | | | | | | | | | | | It was often a pain to handle embedded files correctly. Often, when embedding was used, one could not see any effect after re-compiling when --reuse-build was specified. This rendered the --reuse-build option often quite useless. The new approach adds dependencies for all involved Python files, and at the same time reduces them to a single list. Fixes: PYSIDE-1536 Change-Id: I6ef36c9ffccd2cd1ac290bb8e879b050f633eaf4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit e641c225d2954cfc5c85e00eda83f5319c84b3c8) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: make sure '--skip-docs' skip the docsCristian Maureira-Fredes2021-04-072-9/+15
| | | | | | | | | | | | | | Even when using the code, some portions of the cmake file in sources/pyside6/doc/ was still being executed. This makes sure everything is skipped if we use the '--skip-docs' option when building. Change-Id: If78b19b9650b61b642e447b8c96b814e82994d7c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit fbbae556c9bf060be366fd578986cae85ff8caec) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* signature: protect an unrecognized item from raising exceptionsChristian Tismer2021-04-072-2/+14
| | | | | | | | | | | | | | | | | | A special case "std::optional" caused an exception at an unforeseen place, because "std" was not recognized in an eval. Turn this into another runtime warning. Also, the "std::optional" case was added as "typing.Optional" after applying und testing the above fix. Change-Id: I722ae463d133125e96ab09aeb38f21cdc2453d5b Fixes: PYSIDE-1538 Reviewed-by: Renato Araujo Oliveira Filho <renato.araujo@kdab.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 0a47111b454b8e1582d8595cadc348b61989ff29) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Bump version strings for next releaseAkseli Salovaara2021-04-062-2/+2
| | | | | Change-Id: Ibca65269e9debb6571b0b7bea8e5e0124167c573 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add changelog for 6.0.3Friedemann Kleint2021-03-291-0/+31
| | | | | | | Change-Id: I4034127fc55fc8e9876ecc25182863a096ba4bd5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 453f14aa244ae589e043d655acbdf263db929340) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: enable snippets translate toolCristian Maureira-Fredes2021-03-26520-40906/+78
| | | | | | | | | | | | | | | | | Create snippets directories in case they don't exist. Add "-q" option as the examples directory to keep the "--quiet" option from the build. Something to consider with this patch: Removing all the previous old snippets, which include not only 'cpp' files, but also '.h', '.qdoc', '.qrc', '.png', and '.qml', which might be used in the snippets, but will need to be updated in the generation tool, to not translate, and copy them over. Change-Id: Icbef9e1c93a12b90dbcfa990ef055ca6f8868407 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 9a4fb2eb72040aeadf6124ec1cad083859ac0787) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* doc: snippet translate add missing quiet caseCristian Maureira-Fredes2021-03-261-1/+2
| | | | | | | Change-Id: I6d3520e9544d7d169a9c933a8aa904747bc7c6c4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit b89b8daeeac7b2b22c3887fa83fe0b986f9baec7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix missing doc snippetsFriedemann Kleint2021-03-261-3/+9
| | | | | | | | | | | Ensure doc snippets are copied to the build directory by creating a separate target. Amends 93ae3d9b38649e9d683a658a6a19b7623083f5a0. Change-Id: Idfd3b55e79769fdceda64ee29bffae801eb9055b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit d6611611d65ef4759eda203657300d513f118c86) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Fix 32 bit buildsFriedemann Kleint2021-03-251-0/+2
| | | | | | | | | | Remove ambiguous overload of TextStream operator for this case. Change-Id: I0e2bfccf944340a83802bae77fb45e17f055ee44 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 780223e30b5909aeaee2b0beb0780a8d8ac3168c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide import: Make imports more safe against installation errorsChristian Tismer2021-03-253-15/+18
| | | | | | | | | | | | | | | | | | | | | This patch originally was "__feature__: Make imports more safe against installation errors" After applying the patch to 5.15 with errors, it became clear that not __feature__ was a problem, but the "import PySideX.support" did not work in the embedding case. This observation made the error message concerning PyInstaller pointless. Instead, the pseudo-import of PySideX.support was fixed to work correctly in all cases. Tested on 5.15 with PyInstaller, this is now going back into dev. Manually cherry-picked to 6.0 Pick-to: 5.15 Task-number: PYSIDE-1502 Change-Id: I2fd680a6a28de00f5392147b0d050deb7663dc22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Improve deployment documentationFriedemann Kleint2021-03-224-0/+54
| | | | | | | | | | | | Extend the table by the Qt version. Add some chapter on Qt 6 support. Add some description for py2exe. Task-number: PYSIDE-1112 Change-Id: Ic3a9fb76d9c13017a107f083da4c7ed326d64e5c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 80aec29aca246f1f67a4f8c453b49f1eadfee6fd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Fix crash when using enumeration types from other classesFriedemann Kleint2021-03-221-2/+5
| | | | | | | | | | | | | | qtbase/969337bcfd6af6d91b988e4b412703274a0b5877 changed QHostAddress to use enum values from QAbstractSocket which appear as fields. This caused a crash in the module initialization since QAbstractSocket was not initialized when creating the field entries. Consider this in the dependency calculation. Change-Id: Ie07dd39a373695cd604d0ebcf233be34a004c8bc Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 2ac1870053370e017567ae53e62cd1155a01c88f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Port examples away from deprecated QMouseEvent::pos()Friedemann Kleint2021-03-196-29/+32
| | | | | | | | | | | As a drive by, fix the left-over QtCharts callout example to work after 227020b118fa38ada1d8bd579593dae61f6e3881. Task-number: PYSIDE-1122 Change-Id: I945b57950014e882d4efd3cb0cab47262ad108b6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 306ecd14ccba188a1c88061715456c329c1ff79c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Windows: Fix warning about inconsistent DLL linkage of QtQml_VolatileBoolTypeF()Friedemann Kleint2021-03-191-1/+1
| | | | | | | | | | Remove PyAPI_FUNC, which expands to export. Change-Id: Ice042b50044747bc61c6e480ad2d812ca007043b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 3777356c08258f74413187e2406679f3b0c89b07) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Improve Porting documentationFriedemann Kleint2021-03-191-6/+68
| | | | | | | | | Task-number: PYSIDE-1112 Task-number: PYSIDE-1482 Change-Id: Ic65d86e2567849f26cb28c480937e7fb41ad5856 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 9e02cd78a871f0e1c2dd855433ab750d6fe81c09) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: create examples dir if it doesn't existCristian Maureira-Fredes2021-03-181-3/+8
| | | | | | | | | For the examples gallery tool Change-Id: Ia77d2d22033ccb35df30fa8ed4c7f78de070dec1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 78ac4372ec5b84bd3ef2deac4c41aeacbcdb56ae) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Long live snippets_translate!Cristian Maureira-Fredes2021-03-188-0/+2031
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a C++ -> Python translator, but a line-by-line conversion tool. This scripts requires two arguments to identify a Qt and PySide directory including the sources. There is a set of file extensions that are currently omitted from the process, and for the ones that will be copied, there will be messages related if the file already exists or if it's new. If you use the '-v' option, you will see the C++ code and the converted Python code, so it's easy to check for issues and missing features. Also, two command line options were added to have a different behavior '--filter' to include a word to filter the full paths of all the snippets found (for example the name of a directory), and '-s/--single' to translate only a specific C++ file to be translated. Including test cases for transformations related to the C++ snippets. Fixes: PYSIDE-691 Change-Id: I208e3a9139c7e84fe369a7c2ea93af240d83fa83 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 1c65d71c468f2166ab20a867011a6d217a5f3ec1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: migrate qdoc approach to document examplesCristian Maureira-Fredes2021-03-1715-154/+23
| | | | | | | | | | | | | | | | | | There were two previous documented examples using the approach based on qdoc: stardelegate, and classwizard. This patch moves them into the 'doc/' directory for each example, and partially revert the changes from 308157f01260c640e21f6972619d3b380c007acb Additionally, an unrelated screenshot was moved to a new general 'images/' directory. Task-number: PYSIDE-1112 Change-Id: I239a24fa4e4f970540857ba8b33b9b13c18142b1 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit d97aedf37809c479ab409c4247b60c0cfcef35d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: add sphinx-panels to the documentationCristian Maureira-Fredes2021-03-179-88/+170
| | | | | | | | | | | | | | | | | | | | | | | This plugin replaces sphinx-tabs, so that's removed. The panels plugin will add bootstrap responsive cards to the docs allowing us to use them instead of the ad-hoc table we had. Additionally, this changes the example gallery tool too, since the main gallery was built using our own table implementation. Since Panels also provides options to add content in tabs, with CSS instead of JS (from sphinx-tabs), we update the generated examples files. Fixing warning messages related to files that didn't exist, duplicated references, and redundant indexes. Task-number: PYSIDE-1112 Change-Id: Id19be92e72f0a18f63b76daf1898080f3e199626 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 4750fbcb8e5d1f0137a8660ffa77f595dac46504) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: use 'doc' directory for examples galleryCristian Maureira-Fredes2021-03-174-32/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial patch that generates a gallery based on the examples in the respository, was limited to only showing the content of the files in each '.pyproject' file. That approach didn't allow to describe each example, nor add complementary images, like screenshots to each example page. This patch introduces the option to consider everything inside a 'doc/' directory on the example directory. The files that are copied over are not directory, but only files, for images to be the main focus. For example, currently the Tetrix case contained the following files: $ ls examples/widgets/tetrix/ tetrix.py tetrix.pyproject On this patch you can see that now there is a doc directory with the following content: $ ls examples/widgets/tetrix/doc tetrix-screenshot.png tetrix.rst The example page that will be generated for this case will contain the content of the 'doc/tetrix.rst' file, plus the content of all the project files at the end. The 'doc/tetrix.rst' file contains a reference to the 'tetrix-screenshot.png' image, so that file will be copied over too. Task-number: PYSIDE-1112 Change-Id: I2d11833c461d8073d2d2888576d876d3f834103a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit f930fce091fbcc0cdc4d1d57ee688966b26ea53e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Fix AbstractMetaClass::fullName() for nested classesFriedemann Kleint2021-03-161-1/+1
| | | | | | | | | | Use the fully qualified name. Task-number: PYSIDE-1520 Change-Id: I58bf8f2d3e1b95947769b725746f560947d25f06 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 3521dfcee8a800927aaf024ab2b64b1402e8256b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix broken return type conversions of QOpenGLExtraFunctions::glGetStringi()Friedemann Kleint2021-03-152-1/+6
| | | | | | | | | | | | | | | The function returns const unsigned char*, which was converted using the wrong snippet (QString conversion of parameter 1). Add a new snippet using the char *conversion of the return value at the end. Fixes warning: PySide6/QtGui/PySide6/QtGui/qopenglextrafunctions_wrapper.cpp:4630:35: warning: unused variable cppResunused-variable] const unsigned char * cppResult = cppSelf->glGetStringi(cppArg0, cppArg1); Change-Id: Iae3f0abd4a34fb3b6a41534508fb5d64a3eae224 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 7cd7141e43e98d4862de3aadf128b0d0080090c9)
* PySide6: Add QOpenGLFunctions.glShaderSource()/glGetShaderSource()Friedemann Kleint2021-03-122-0/+30
| | | | | | | | | | Add a simple signature taking and returning a string. Fixes: PYSIDE-1511 Change-Id: Ie52d5f55f168075ee6ee71fdb35463895f768c04 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit adf0babe9b006034ae10ac2df0fc45df6acb8478) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Add QOpenGLVersionFunctionsFactoryFriedemann Kleint2021-03-124-1/+109
| | | | | | | | | | | Make it possible to obtain versioned OpenGL functions. Task-number: PYSIDE-1482 Fixes: PYSIDE-955 Change-Id: Ife315de0aa05ac83610e228389bcf55214e93e55 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 091f488479227c58fd3944d68c48fc7efe223f9e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libshiboken: Silence unimplemented array type warningFriedemann Kleint2021-03-111-1/+0
| | | | | | | | | | | | It is more of an annoyance than helpful since it is triggered by the implicit conversion checks already. Task-number: PYSIDE-354 Fixes: PYSIDE-979 Change-Id: I213ad607c61e0279c8cada4efa0a2cfd3cad8892 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 7d602dc46163be603e87b1ef4f8db7b1ab87c1f6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Do not hardcode libclang's build typeFriedemann Kleint2021-03-101-1/+2
| | | | | | | | | | Query and use libclang's build type instead. Fixes: PYSIDE-1515 Change-Id: If78908040be27530593a36db1bdb76649c167d82 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 8088fe1a3ab13faff3acecaa504e428a49edd58d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>