| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
(cherry picked from commit 54c3abd8774f479535d0b8741a3c30d1e7ee8548)
Change-Id: Ic9038d04d1fe47d213a598e7300fc2d780e25e0c
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ic6938a371d425b4e4fab792e595aace7e84d7ade
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Change-Id: I1aebb1c1b680e92506274033285807d21c7b862b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\ |
|
|/|
| |
| |
| | |
Change-Id: Id64bec735875c78c8c7d50a38d4cae63b84b2813
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While building on macOS the detection of the compiler
properly works, but at the time of getting the header libraries
we rely on the command:
<compiler> -E -x c++ - -v
The problem is that since CMake resolves the full path of the compiler
we do not properly get the includes that we should, calling the
compiler directly via an absolute path (and not via the /usr/bin/clang
shim) does not include the default SDK sysroot path.
Here is an extract of both executions:
* /Library/Developer/CommandLineTools/usr/bin/c++ -E -x c++ - -v
#include <...> search starts here:
/Library/Developer/CommandLineTools/usr/include/c++/v1
/usr/local/include
/Library/Developer/CommandLineTools/usr/lib/clang/10.0.1/include
/Library/Developer/CommandLineTools/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
* c++ -E -x c++ - -v
#include <...> search starts here:
/usr/local/include
/Library/Developer/CommandLineTools/usr/include/c++/v1
/Library/Developer/CommandLineTools/usr/lib/clang/10.0.1/include
/Library/Developer/CommandLineTools/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks (framework directory)
End of search list.
Change-Id: Iff300b3b543f5fb3a43f9ce1ea8986f9bc172323
Fixes: PYSIDE-1032
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The fix we were waiting for has landed to released wheel package.
Change-Id: I1d83be7cd9662ca2e076e9c03c03c38f1b0c9ecb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Moving the SQL statements into separate variables
outside the scope of the 'init_db' function, improves
readability.
Change-Id: I716dfceef6dc343287afab17f74e8de7fae618c6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\ \ |
|
|/| |
| |/
| |
| | |
Change-Id: I42955abfeb1fe8b7c6443a9b334154984286b9cc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For enum/flags registration, the converters were registered under
invalid names like:
Shiboken::Conversions::registerConverterName(converter, "QFlags<QFlags<QUrl::ComponentFormattingOption>");
Shiboken::Conversions::registerConverterName(converter, "QFlags<ComponentFormattingOption>");
In addition, QFlags<> is not used for type names in Python. Use the
flags name as specified in the typesystem instead:
Shiboken::Conversions::registerConverterName(converter, "QUrl::ComponentFormattingOptions");
Shiboken::Conversions::registerConverterName(converter, "ComponentFormattingOptions");
Change-Id: I79525643850bf4296516dfb9576f75b51adf6414
Fixes: PYSIDE-1029
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Check on the type entry whether code needs to be generated in the
current package.
Fixes: PYSIDE-1024
Change-Id: I82132b077ac6192b96d979cb5596d0e6fecbc76b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Renamed from "Fix scriptable application to support the qApp macro"
because qApp was improved instead of scriptable application.
The qApp macro needed some extra effort to support the
qApp "macro" which is only defined in the Python wrappers.
I took some generated code, created a QApplication instance
in Python and used then reduced generated code to get at the
object and adjust the refcount.
This solution was then rejected, because I can do better,
and in fact, scriptable application now has a correct qApp
macro too, without any change to scriptable application.
The central idea was to look into the module init function
at import time and to see if a Q*Application already exists.
I was not aware of that import. Many thanks for the rejection! :-)
Update..
--------
After many attempts to make the qApp variable correctly behave
like always, I recognized that pre-existing Q*Application instances
have no wrappers or constructors at all! With that, it is not
possible to create a sophisticated qApp macro as a singleton
variable in the desired way.
Fortunately, this is also not necessary, because a C++ Q*Application
cannot be deleted from Python, and there is no point in supporting
more that a simple variable. So in case of a pre-existing instance,
the qApp variable now gets redirected to that instance.
A small test was added to application_test.py that is triggered by
an import.
A weird effect when "qApp" was typed interactively before calling
"QApplication()" was fixed, too.
Change-Id: Ic69dd6a21c964838a90f63e316d299b62a54d612
Fixes: PYSIDE-571
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I0eb41b56bdc0f98c227a3c3f46d55daa0fb1e4a8
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: Ie92d3375d05630c35b372f758aa6296f7488582a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is not the proper fix for the issue. The index of the declaring
module needs to be used for this to work.
This reverts commit d2d0e397309a1b18eaff9ddee0940007f0e1c4bf.
Task-number: PYSIDE-1024
Change-Id: Idc0e859ebda1626b5e841aa96be54317a5f3d0d0
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With fd126b28e1d9b02ea16c813bc392461bdb05bd1d, broken wrapper code
would still be generated for "const_QSharedPointer_QSize___&"
depending on whether the const-ref or plain value type was encountered
first when parsing.
Fix the problem by stripping the qualifiers from the metatype added to
GeneratorPrivate::m_instantiatedSmartPointers partially reverting
fd126b28e1d9b02ea16c813bc392461bdb05bd1d.
Change-Id: Ie6691e045b7d65baa3a0bc72dd8637f09eeaf111
Fixes: PYSIDE-1016
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a way to specify a name for a parameter using '@'
delimiters.
Fixes: PYSIDE-1017
Change-Id: I3ae505c104a64413ca2bad628d9f9d3e04bb5b88
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There were unknown modules built with shiboken which mapping.py
did not recognize. This is too restrictive, since we can import this
module and try to produce something useful.
This was rewritten to respect every binary module in sys.modules .
Change-Id: I6626c69f002c307bae3eb78a557d1a7309983324
Fixes: PYSIDE-1009
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The help() support based upon the Signature module worked
fine but for types.
The reason was that the __signature__ module was a new attribute,
while __doc__ already existed through an inheritance-like
mechanism. When we add __doc__ later, the attributes are already
in the cache. PyType_Modified(type) does not help in PySide.
The solution was to add tp_getset to the metaclass
SbkObjectType_Type which otherwise would have been reached
from PyType_Type ('type' in Python).
Note.. It makes sense to add the injected documentation to the
__doc__ strings as well. This enables help output even with
the py_doc web service!
Task-number: PYSIDE-908
Change-Id: I09dd4bc6746ee41566a467604c4a68de5d66f94b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSaveFile should preferably used for writing out files from editor
applications to ensure files are properly written and existing files
are not overwritten should writing fail.
Change-Id: I5d9b98c168649d23f5ee31171b1729fd230dc8de
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Restore override of QWebEngineView::createWindow()
broken by 90c1c767095e583d0315e87c0592597020858246.
Change-Id: I6cdc05c3b8edbfb9da24ca3d6502cec2ccce870a
Fixes: PYSIDE-1022
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change 43451e3bc17467593df64cb73ce8c0bf9e60045f from 2018-05-09
introduced a refcount bug that was not caught because we do not
build with debug Python.
This also revealed an omission in the patch
"PySide: Allow any existing attribute in the constructor"
when debug Python is used.
Change-Id: Idbcbbc87f0a83bb696d03e05af0cf616b21f7335
Fixes: PYSIDE-1027
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: If1386242c31e00412f289c9137c6a0427355ed9c
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| | |
Change-Id: I58f872d1e8abf2b624f37434c14e9ef6ea912749
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are signals and properties which are correctly supported
in PySide by the function "fillQtProperties". The structures are
introspected by calling "QMetaObject::indexOfSignal" and
"QMetaObject::indexOfProperty".
By allowing any property, extending the above restriction,
we break the Qt API slightly, but have the tremendous
advantage of being able to write all needed properties into
the constructor call.
This approach is a compromize that keeps the attribute calls
as they currently are. Supporting real properties where we
actually have getter and setter functions would be possible
as well, but that would break compatibility very much!
It has to be discussed if we want to support a configuration
switch that enables this incompatible change.
If we would go this far, then I would do this together with
changing mixedCase to lower_case.
A simple test case has been added.
Task-number: PYSIDE-1019
Change-Id: I8094df51d63aa767a5a9ec1c83bcf7db7b157a01
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- reordered a few sentences
- removed a few redundant bits
Change-Id: I111dc51b7912a056ec8d9dc3bc765e9d374b6060
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the CSS that the official web is using,
and replace the old PySide1 style when building locally.
Change-Id: Ibc78f52913a108b804cc2472f312c34c962635a9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\ \ |
|
|/| |
| |/
| |
| | |
Change-Id: I9072902ff4efa3469b044b26ed189ac05bf9ce33
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of setting CMAKE_BUILD_TYPE as a regular variable,
set it as a cache value, but only as a default. If the user
specifies -DCMAKE_BUILD_TYPE=Foo on the command line, that will
take priority.
PySide2 will inherit the build type from the shiboken build, also
unless explicitly specified on the command line.
Fix missing quotes around the build type in shiboken_helpers.cmake.
Task-number: PYSIDE-980
Change-Id: I2f7e5f71b66467ca5b30056c42d26d9a54ff265b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During the last upgrade to .gitignore, the folder "Testing" was
excluded. This lead to confusion on macOS, where the comparison
seems to happen case-insensitive.
Change-Id: I3270ca4514e00d9e8528b9295c6da3aff25265b0
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the module name like it is done for namespaces
and containers.
Task-number: PYSIDE-1024
Change-Id: Iba8589bfe360763bc186e5129d0ba480b2fb58ae
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The idiom to create an application if none exists
qApp or QApplication()
did not work on Python 2. This was recognized when another
unrelated test broke that tried to use the idiom.
This patch adds the missing method to Py_TYPE(Py_None)
which Python 3 already has.
A test case was added.
Side-effect.. The warning about missing braces is gone,
after the "PYTHON_IS_PYTHON3" macro is defined. This
was forgotten in the review when when the macro was
moved out of signature.cpp .
Task-number: PYSIDE-571
Change-Id: I9b9304f407cd4cafb3ba0945ffb045802503a343
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
pointers
Add a convenience to strip all qualifiers and use that.
This at least fixes the naming (for example, getInitFunctionName
returning "const_QSharedPointer_QSize___&"), the init function for the
type itself is missing, though.
Task-number: PYSIDE-1016
Change-Id: Id61b3c879199fc061e2846007951e3e9c82b85c4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some use cases need direct data access for performance,
e.g. initializing QPolygonF data with numpy.frombuffer. Implementing the
Buffer Protocol as described in PEP3118 will allow direct data
access.
Change-Id: I13c46055b1cba115d099f1becb64c4cd04acdf0e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Check for the OS name case-insensitively
- Use the compiler from cmake via a define
- Add sysroot header directory to internal include paths
- Extend centOS version to 6.10
Change-Id: Ia3977f3331d51f9bc530accb8defa5fcb648bdfe
Fixes: PYSIDE-1012
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I779fae6d11955d7df596020b78068c613d7ea634
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I57783a5da7b403e45463068900c1248fbd3651f9
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It turned out that the mock tool of the unittest module wants to
write into a __signature__ attribute. We now allow this by implementing
a writable attribute that memorizes any written value.
When __del__ is used, the original value re-appears.
We further added a check if a computed __signature__ attribute
exists. Then we don't allow write access. This way, defined signatures
are read-only, but a non-existent attribute stays writable.
Change-Id: Ib70de723e3160787df04e075e5c540a4cb24d410
Fixes: PYSIDE-1004
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id555f32c9ead510f70c1f9ce9c90f8131963d23c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tutorial based on QTableWidget, QPushButton, and
QChartView to create an application to keep track of expenses.
Task-number: PYSIDE-841
Change-Id: Ia8527a7e7f6c234fad641bbd91006af1812d5975
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I9912a656bd8de84d26e8e59d8dc0a6483cbcd4b7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \ |
|
|/| |
| |/
| |
| | |
Change-Id: I334119b879bd53f422d3916cc8774376997384e1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qt has some modules, where functions and classes are added to
namespaces of other modules. For example, QtGui adds the free
functions mightBeRichText() and convertFromPlainText() to the "Qt"
namespace and Qt3DQuick adds a namespace "Quick" to the namespace
"Qt3DCore" started in Qt3DCore. Shiboken was unable to handle this
since the name of the index constant was derived from the namespace
name and would thus clash. Also, all code model items from the base
module would be re-generated into the extended namespace.
To fix this:
- No longer join namespace code model items in clang builder.
- Search for pre-existing namespaces in traverseNamespace() before
creating a new one, continuing populating it.
- Add a "files" attribute taking a regular expression to match header
names to the namespace type entry, making it possible to restrict
code model items by files when extending namespaces (as otherwise,
all base items are again added).
- Add "extends" attribute specifying the package name of the namespace
to extend, which will be used as base type in CPython.
- Disambiguate the SBK indexes of namespaces and the init_ functions
by adding the module name.
Change-Id: Ib552e878911942fa4d52d2bb0c6695e5b2c4c341
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Existing PATH, LD_LIBRARIES_PATH or DYLD_LIBRARY_PATH values should be
appended to the ones we set ourselves. This takes care of finding any
system libraries which a distro / OS might set by default.
Change-Id: I1b3d1ea20c024e8ffcba3fb38d9088917130abfe
Fixes: PYSIDE-1008
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The generate_pyi.py script always had the problem that it
was not easy to distinguish different kinds of ImportError.
When ImportError was raised during a build, we assumed
it was just a not-yet built module and ignored it.
When patch 97df448e "Modernize cmake build" was checked
in on 2019-02-07, a real import error was introduced on Windows.
It was not recognized until 2019-05-13 that Windows had stopped
generating .pyi files.
It was discovered by working on an enhancement to dependency
checks that erroneously looked for "libshiboken*" on windows.
This should have raised an error in "generate_pyi.py" but did not,
because the generation was skipped due to the real ImportError.
General Redesign
----------------
It turned out that all the former difficulties with importing modules
could be completely avoided, by explicitly using the inherent
dependencies. The script was drastically simplified by using the module
name as an argument.
It was not clear in the first place that this would work, but actually
we recognized that all modules a script wants to import are already
built when CMake starts the .pyi generation.
The only visible quirk is the pair QtMultimedia/QtMultimediaWidgets
where both modules must be compiled before generating.
(maybe that is an error in our XML files, or a Qt "feature"?)
Enhancements
------------
The generate_pyi script is now completely deterministic, because
all imports are enforced to work. There is no more polling for
translated modules necessary. Everything is generated after a
module was linked,
The "--skip" semantic was first enhanced much further. In the end
it was recognized that we don't need the parameter any longer,
because with the determinism we are never computing a pyi file more
than once. The parameter was then completely removed.
The "--check" option was added for Python 3. It takes some time
and is only automatically active in a COIN build.
Task-number: PYSIDE-735
Change-Id: I3cc58f6cad80d8208e17f62d472fd48aa6aeebd6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Testing infrastructure is now in place.
This reverts commit c214fa38feb7d1d35bee125c79aa28c74269f777.
Change-Id: Ibaacc69294781c7cbda1c1d4fe19f31cb3b3247e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\ \ |
|