| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Reference the converter variables from the common variables page and
brush up the code snippets.
Pick-to: 6.9 6.8
Task-number: PYSIDE-3107
Change-Id: I1ef3e82f247a51fc95fa1e0d0f0c777f10eab095
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
| |
- Updated type system to add the missing overloaded function with QByteArray and ParseOptions.
- Deprecated use of QDomDocument.setContent fixed on QtXml test cases and dombookmarks example.
Change-Id: I78b5c2f3be44362c0b871009bcf6c305b3a77798
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use a connection id instead of try-catch
Pick-to: 6.9 6.8
Change-Id: Ia76880a32df8fc6e415f056606c0df98fe772257
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add search for the instantation name when resolving types along with a
test.
[ChangeLog][shiboken6] Template specializations
like "std::optional<int>" can now be specified as primitive types
with converter code.
Change-Id: I20845b21ede1101cb3015de90555b74368f686e9
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The type resolution code searched the result of TypeInfo::toString()
in the type database, which may contain qualifications like
"const Foo &".
To fix this, add a function returning the name with instantiations
only and use that. As a drive-by, add a convenvience function
returning the qualified name as a string and simplify the code
accordingly.
Pick-to: 6.9
Change-Id: I071e8dc3f65257e300007d53688c442a683813e1
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes the following error on Python 3.14:
TypeError: typing.Optional requires a single type. Got (<class
'PySide6.QtGui.QKeySequence'>, <class 'PySide6.QtCore.QKeyCombination'>,
<enum 'StandardKey'.
Change-Id: Id1fe45d31cc38a337caa55a86f509c3f88c0b683
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Łukasz Patron <priv.luk@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.14 changed formatannotation() function signature by adding `*,
quote_annotation_strings=True` at the end of it.
Since we only care about avoiding `text.removeprefix('typing.')`, let's
just pass extra args/kwargs as is to keep compatibility with < 3.14.
[1] https://github.com/python/cpython/pull/124669
Change-Id: Ic115ed5cc8766cdf60286e88f6cfa79e263f64c9
Reviewed-by: Łukasz Patron <priv.luk@gmail.com>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
By chance, cmake was installed by homebrew without any restrictions,
and so version 4.0.2 happened to be installed which does no longer
use the option "--force-new-ctest-process". Changed the analysis to
look for "/bin/ctest" instead. This should work for a long time.
Task-number: PYSIDE-2221
Change-Id: Idc16063953ba82d4053cc60a7e0ef11b71b7b571
Pick-to: 6.9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Iron out some issues in the code:
- The old code created a fast list from the list passed
in but then did not use the fast API (PySequence_Fast_GET_ITEM(), etc)
since it does not work with the limited API. Remove it.
- For empty lists, an empty QStringList was returned since
the helper isStringList() returned true. Change
it to return an empty QVariantList.
- Add a new function pyListToVariantList() which converts each
item using the QVariant converter for use by QGenericItemModel
Change-Id: If0b5cdf4055f8d586df56a8c98bc042f4bab6427
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cache the function found (extracted from the callable) instead of
doing lookups and MRO search each time. Use Py_None (unreferenced) to
indicate the method is not overridden. Reconstruct the callable from
the function.
Move the duckpunching check before the cache to avoid
reference issues.
Achieves a speedup of roughly 3.8->2.6s (33%).
Task-number: PYSIDE-2916
Change-Id: I6deec60d14ed7030284e0e02249ea96df49e5740
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Redirect all messages about homebrew/compiler paths to the new
mjb_shiboken.log file to unclutter the build.
Change the clang version output message to print the effective
target triple obtained from parsing and output to mjb_shiboken.log
as well as stderr.
Pick-to: 6.9
Task-number: PYSIDE-3105
Change-Id: Ieafcb8d65dc513516a0b11b3da5b650826a41703
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store the target triple from the clang options of the command line to
be able to set up compiler options for clang parsing accordingly.
While parsing, update by the value obtained from clang and the pointer
size.
Pick-to: 6.9
Task-number: PYSIDE-3105
Change-Id: I33c60e14418b10c3f3cfa1603b29ed2a06b1589a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This bug was probably caused by a change to AutoDecref and
no complete testing. Observed on Python 3.11 .
Task-number: PYSIDE-2221
Pick-to: 6.9
Change-Id: Ied0a2c37cbbd913d539bacef7b9a957c87b5fd3d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: Iea443b9e541935bb904b6ad9d533909c313a7b81
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-2221
Change-Id: I45db5a10308338d446bb2ac888219477fed6e405
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There has been extra speedup tried using special compilation options.
These do not work with disable-gil because at the moment disable-gil
prevents compilation of mypy.
It is not possible to specify disable-gil in requirements.txt as a
condition. Because version 1.15 is reasonably faster, it is better
to remove the mypy[faster-cache] option.
Change-Id: I4f846d8ce91d6804d0834d9a1ad819278833644c
Task-nunber: PYSIDE-2221
Task-number: PYSIDE-2846
Pick-to: 6.9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.9
Change-Id: Ibc945b27b8bf80e3f07cb893bbaa107830fb40bc
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
| |
QInputDialog.get* methods should accept None as parent
Fixes: PYSIDE-3078
Pick-to: 6.8 6.9
Change-Id: I5e6889800040a44649f99e1e7f95ab07e127c550
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code registered a Shiboken converter for PyObjectWrapper by
pointer conversion. This resulted in the Python to C++ converter
falling back to plain pointer passthrough since it only works for
SbkObjects.
The C++ to Python conversion worked by coincidence for either raw
PyObject * pointers used in meta call handling or pointers obtained
from calling QVariant<PyObjectWrapper>.data(), but without handling
reference counts.
To fix this, remove the Python to C++ conversion entirely and do this
manually via QVariant. Change the C++ to Python to be by value and use
PyObjectWrapper.
Fixes: PYSIDE-2193
Pick-to: 6.9
Change-Id: I00898894651f220d7b8fe60608e93233ef3e6493
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
QInputDialog.get* methods should accept None as parent
Fixes: PYSIDE-3078
Pick-to: 6.8 6.9
Change-Id: I5e6889800040a44649f99e1e7f95ab07e127c550
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
This useful for debugging QML issues.
Task-number: PYSIDE-2193
Pick-to: 6.9
Change-Id: Iecbfb1d9508ac89c8b213a2f2ee8d4f7f1de4fc8
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add warnings for:
- Copy conversion Python to C++ is requested, but no copy conversion
functions are registered.
- Pointer conversion of non-SbkObject was requested, which
falls back to pass through.
Task-number: PYSIDE-2193
Change-Id: Id5c9d82c981bc63156187593da3593237186adba
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fix exec_ and deprecated QMenu.addAction() overloads.
Fix warnings about inactive QPainter in bug_919.py.
Pick-to: 6.9
Change-Id: I483190480ca5b467bd070c3239f78166e6de3a51
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.9
Change-Id: I70ce0113dcbfcfa5e9849cd0fd112246f8de86c3
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
QInputDialog.get* methods should accept None as parent
Fixes: PYSIDE-3078
Pick-to: 6.8 6.9
Change-Id: I5e6889800040a44649f99e1e7f95ab07e127c550
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sorting between Sequence and Iterable defaulted to alphabetical.
For an order of generality, the sorting order needs to be defined.
The reason for this was a problem with the 6.10 branch of PySide
which has enhanced NumPy support. Note that this re-ordering of
Sequence and Iterable is for PYI files, only. The NumPy support
code has completely different needs for sorting that is unrelated.
Task-number: PYSIDE-3098
Change-Id: I2325d4c0a7aa6dbac8337a03e466d992ada5cb06
Pick-to: 6.8 6.9
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
This is required by today's QVariant conversion code.
Task-number: PYSIDE-2193
Pick-to: 6.9
Change-Id: I66efcfb797653fe1d617f1f0027fd60ec95e8a79
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.9
Change-Id: I61bb4b1963c5ba27bd3d19f97378cedf6608aefb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Amends 00a5b350ec3d6f552ad0753d9c8fdbde4464d9ad.
Fixes: PYSIDE-3092
Pick-to: 6.8 6.9
Change-Id: Ibc44e51342f926353795005137da802973ad67cd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-841
Pick-to: 6.8 6.9
Change-Id: Id8a81c06078c147eb50f1f1d688841e8a6bab18b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes two existing bugs in the pyside6-project tool:
1. Relative file paths outside the project folder in the .pyproject file
e.g. files = ["../main.py"] are not handled correctly.
A ValueError is raised due to the usage of Path.relative_to
Fixed using a new function: robust_relative_to_posix()
Updated the example_project test to contain this edge case
(Suggestion: use this as a replacement for the rel_path() function
located in tools/example_gallery/main.py)
2. The migration of a .pyproject to a pyproject.toml file with existing
content is not done properly due to removing the tomlkit implementation.
Fixed by appending the [tool.pyside6-project] section (and the [project]
section too) at the end of the file
(I don't know how the tests were passing before ??)
Change-Id: Ie061c9fa172c429c8b45381bbec35ad30d01f4ee
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the default-superclass specification QGraphicsItem for
QGraphicsObject since it causes the type discovery to directly cast
from QGraphicsObject* to QGraphicsItem*. This crashes
since QGraphicsObject inherits from QObject as first base class.
The intention of the class attribute was to ensure that any
QGraphicsObject class is stored as a QGraphicsItem. To preserve this,
hardcode it in QVariant_resolveMetaType().
Pick-to: 6.9
Fixes: PYSIDE-3069
Task-number: PYSIDE-86
Task-number: PYSIDE-1887
Change-Id: I3704988f105b118b1e4ef8d078b68c01ba89386c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
The snippets for the method call are flipped.
Pick-to: 6.9 6.8
Change-Id: I8b571c51d6d82391f4bcfca45fd3f9892bfb688a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][shiboken6] It is now possible to inject code into the the
wrapper class declaration, which can be used to import base class
members via the "using" keyword.
Task-number: PYSIDE-3011
Change-Id: Iaf205c16aecd789ea39817999c4eb74e5005c2c3
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.9 6.8
Change-Id: I2004096735d0a5852eeca23176e25ffd30a6fe4c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-2916
Change-Id: I4e4619b5144451512be3eadc6810df3f3f47ada0
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
It encapsulates fetching/restoring errors and uses the old or new
exception API depending on version.
Task-number: PYSIDE-3067
Change-Id: I6e39d92c7e79fed864b364a90c5bd5b474a41ed6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Complements baedbe8353ee20eb7ac98e67b7985eb80959f14f.
Task-number: PYSIDE-3067
Task-number: PYSIDE-2310
Task-number: PYSIDE-2321
Task-number: PYSIDE-2335
Change-Id: Ie55a89eab0743b25095cab56d38ce321ce5a0131
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
The compression of artifacts was changed in COIN.
Pick-to: 6.9 6.8
Change-Id: I2cee55323583b0893607279390be7671a35d9876
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Fix unnecessary ../ in some file names of certain examples which have
the .pyproject file in the doc directory. e.g. widget binding example
- Add .html code highlighting to the code snippets
- Fix file docstring (__doc__)
Refactoring:
- Add type hints to functions
- General code clean up
Change-Id: Iaebabf10f59aa515613566256a94bece65b4ffd3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The triple arguments functions PyErr_Fetch/PyErr_Restore() were
replaced by PyErr_Get/SetRaisedException() in 3.12, which was added to
the stable API for 3.13. Introduce a define PEP_OLD_ERR_API for the
old functions.
Task-number: PYSIDE-3067
Change-Id: I57378299a48ba4884ed6304db6bc681e4e5d196b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
| |
Amends caa9d339c3ba96879ae5972b08787506ec36d92b.
Task-number: PYSIDE-3084
Change-Id: I17c70441e050b713edca8f3f31ebc8c6bf251bba
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace clang functions clang_CXXMethod_isCopyAssignmentOperator() and
clang_CXXMethod_isMoveAssignmentOperator() by a manual check function
depending on clang version.
Amends 6410710ab9580f71ab58ac38e67d74bbde5dbce4.
Complements b887919ea244a057f15be9c1cdc652538e3fe9a0.
Fixes: PYSIDE-3091
Task-number: PYSIDE-3004
Pick-to: 6.9
Change-Id: I18b073e7fe572ffe8b4635a26cec45b0b6adbac3
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Mention that it needs to be a direct base class.
Pick-to: 6.9 6.8
Task-number: PYSIDE-3069
Task-number: PYSIDE-86
Task-number: PYSIDE-1887
Change-Id: I7e153bd839ba600d98993d24cfcc40feb0299849
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes a crash of the pyside6-metaobjectdump tool run in a
file that contains a @Slot(result=None) decorator.
The fix contains in improving the existing _name function to handle
ast.Constant nodes.
Fixes: PYSIDE-3089
Pick-to: 6.9
Change-Id: Id006898021efbc2cc0f9a48f2ce5ac94fcef1836
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Since we only needed parsing and since the pyproject.toml only
contained two sections relevant for deployment/project tool,
we can remove the dependency of tomlkit and replace it with
simple function doing the parsing and writing of the pyproject.toml
Pick-to: 6.8 6.9
Fixes: PYSIDE-3087
Change-Id: Idff951578f7bab311d8bc469c1d437b022ca475a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.9
Change-Id: I184a939af6814a04f76f1047217bc9736143bd74
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Introduce AutoDecRef to simplify the code.
Task-number: PYSIDE-2916
Change-Id: I1ee65f6349d112fd82a2f9a0e35ba84b74506d5d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Make sure to store QtEnums in QVariant when the enum has a metatype.
Fixes: PYSIDE-3084
Change-Id: I94b89f89e6fb3c58560325f2a6843a5260d86557
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When the variable name from constructor and the properties are the same, one overwrites the other. This is fixed by omitting the name from the property.
Fixes: PYSIDE-3007
Fixes: PYSIDE-3012
Fixes: PYSIDE-3029
Pick-to: 6.8 6.9
Change-Id: I309bc1a808907981d2d624c7491e6ef18e8087e3
Reviewed-by: Christian Tismer <tismer@stackless.com>
|