| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code for shipping MSVC redist dlls used to check for the
"QTEST_ENVIRONMENT" environment variable to decide when to
download and extract the libraries. This was incorrect, because
it is only set in a Coin test phase, and not when building
the project.
Revert to using the old "COIN_LAUNCH_PARAMETERS" environment variable
which is set during the Coin build phase.
Amends 9e13465a992a5079c0a038e5f9417896dcfd6f3a .
Fixes: PYSIDE-993
Change-Id: I96d1e010ffc4b3a5951bdd28699f657e3a5f4a3f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Will be easier to see from Coin logs when it happens.
Task-number: PYSIDE-993
Change-Id: I5eeb36c32be2e2e6c32eb8a5d7136797d4a925a2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Pass the current class as function parameter instead while traversing
instead of setting and restoring m_currentClass.
Change-Id: I38391dff9a52ff99593c25208e1e2bf7d98d17d6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Including in the documentation a section related to deployment,
and also tutorials associated to the following tools:
PyInstaller, cx_Freeze, and fbs.
Task-number: PYSIDE-901
Change-Id: I6162b039b5df3eced38ce65fe7cb143be9f0de82
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Resolve the absolute file paths of the code model items against the
include paths of shiboken to reconstruct the relative paths.
Change-Id: Id0f793315b01c0fc65a4cfb26b3372f9c6688872
Fixes: PYSIDE-975
Reviewed-by: Volker Aßmann <volker.assmann@gmail.com>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
shiboken iterates over the code model items in 2 passes: The first one
generates a list of classes, the second one adds the members. In the
second pass, the function
AbstractMetaBuilderPrivate::currentTraversedClass() was used to find
the AbstractMetaClass instance for the code model item by name.
This is inefficient and causes problems when extending namespaces.
Therefore, replace AbstractMetaBuilderPrivate::currentTraversedClass()
by a hash associating the code model items with the AbstractMetaClass
instances.
Change-Id: I88ea5205d0fde03558db8efb8738632aa3ab6da6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Searching by name is more efficient and has problems when extending
namespaces. Search by type entry instead where possible.
Change-Id: I131329a6648bb7f0a02cba08a5fbbc0531e0c51f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It does not really make sense to have it separately and the reference
documentation is currently not accessible from the TOC. Move it over
and append it to the TOC. Merge the chapters on ownership chapters
(for starters, by simply concatenating).
The Api extractor overview chapter is dropped as it is outdated anyways.
Partially reverts 0d12d71920067be499d9237b4ad04f7f11047759.
Task-number: PYSIDE-363
Change-Id: I02f6b0a4bb91fc54267fa03cefd2ac7d4049f07b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let Generator::packageName() return the default package name of the
type data base instead of storing it in a member variable. Instead,
use a member variable for the module name which is derived from it,
since it is queried many times.
Use the default type system entry instead of searching for it
via package name.
Change-Id: I171330b3d73d2e3ceac239e4c1c6f130e9f5ee7b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Close element, fixing:
sources/shiboken2/ApiExtractor/doc/typesystem_specifying_types.rst:356: WARNING: Could not lex literal_block as "xml". Highlighting skipped.
Change-Id: Ie0ccfbd3871bfacd3ca45b581071c55bb92e708b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Close the temporary file, fixing:
sources/shiboken2/libshiboken/embed/embedding_generator.py:241: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 mode='w+' encoding='cp1252'>
Change-Id: Idc89853fdca2a2a951e723d4b8840e3ebfb7c06c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I350bfb27d5f7403edbe3062895df3812728e2290
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I83d0a8bd3e00d5a88eb8853e0c0b7bf38d209d24
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the function parameter to be a list always, making the logic of
the inner classes clearer.
In the implementation, use a of QHash<AbstractMetaClass*, int> instead
of hashing by name, which makes it possible to disambiguate namespaces
extended in modules.
This also allows for a drastic simplification of the code trying to
determine the dependency given by parameter default values. Instead of
trying to match by name, correctly qualifying it, the matching can be
done by TypeEntry pointers.
Change-Id: Ia17bf6e109576bac029fb016e5e11309777d0735
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I4d76a29699867e9d4ff6138cc40fae9b1f519121
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
There are errors in sphinx_build on openSUSE 4.2.
Change-Id: I93d9e3cbc11c6934e3d771ef221aecb501dc09a0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: Iee3070f59472ee6a75495304f841ba012c90e873
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Introduce a function for determining the init function name and
simplify the code writing the module wrapper.
Change-Id: I818f7a23902f1c9c1ce3cdad3d37dc18403006dd
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: Iacb9bf179d99816e2d7be08c819c744c689c95d5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I0c82e2d5a8fb431f55dd9d54ecaab48d8f40adb6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having all the Qt modules on the main page is too verbose.
I created four sections with a couple of them and added
more context to clarify when to use them.
All the modules are still listed in a new page called `modules`.
I included an `overview` page with some general information from
our wiki: compatibility among platforms, an example and the FAQ.
Task-number: PYSIDE-691
Change-Id: Ic9e2519aa2caa9c8a645633c2c1772e4844b5ec5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
This makes it easier to access the default type system entry,
which will always be the first one in the list.
Change-Id: Ie0844cef5fa4f0cd8bc50c28898e54a42845c830
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Updating to the new project logo (128x128).
optipng was ran on the images:
optipng -o 7 -strip all pysidelogo.png
Change-Id: I75d0ef76a7fddf957a5095d74c4c836a2c1ebe31
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The registry had a duplication of code in the self-test that
led to an oversight.
To prevent that in the future, the error handling has been
rewritten, and an extended self-test was written that checks
the correctness of every case.
A truth table has beed added as a reference for questions.
Change-Id: I4570b2388c9b179b33c9520a484e09b9ccb68918
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Extract the <brief> element from the WebXML class description and
place it at the top with an internal reference (More...) to the
detailed description. For this purpose, extend QtXmlToSphinx by a
<rst> element to be able to pass through rst elements as is, which
might come in handy for other purposes as well.
Change-Id: I8e3fd9e3ead99b205afdd5f4be948c0d34336a94
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also added the necessary leading paragraphs.
Change-Id: Ie8682e878aa8470ee8ca1f3231d0c8ccc14bc68d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While developing the embedding for installer support, some functionality
was moved from loader.py to signature_bootstrap.py, especially a "with"
statement, that needed a contextlib import.
When using PyInstaller or cxFreeze, this gave a problem when running
in virtualenv and Python 2. We extended the pre-loading to contextlib.
It is not completely clear why Python 2 needs that and Python 3 doesn't.
The problem did not show up without virtualenv. Perhaps some different
installed packages have hidden that problem, because they loaded the
contextlib, themselves. This does not happen with a freshly installed
virtual environment.
Change-Id: I2188cb67129e596f6492d0f5dc9b303a67bfe870
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The clangparser was already recording the exception specifier for
wrapped functions, but the code generator did not transfer the type
specifier to the wrapper function. With modern compilers this leads
to compile errors as the exception specifier is now part of the
type. Noexcept is now added whenever the clangparser determines the
source function is noexcept.
Change-Id: I1f68981d997fcf4f007569c6d682e3dcf68eca60
Fixes: PYSIDE-977
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySide2/QtWidgets/PySide2/QtWidgets/qgraphicsscenehoverevent_wrapper.cpp:95:12:
warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated
before terminating nul copying 28 bytes from a string of the same
length [-Wstringop-truncation]
Use the correct length and use memcpy().
Change-Id: I0830cd9b499f2f49a1f3334c2407f877e79738d4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cx_Freeze has the bug that it copies the "files.dir" folder
of shiboken, but does not insert the Python files.
As a quick fix, instead of testing only for existence of this
directory, we now check for existence of the loader.py file.
It can be assumed that all other Python files will be there
as well.
We could go even further and test-load all files. But then
it becomes questionable if we should better always embed.
Change-Id: Ib9553941c6a658fb20cb85d22f78431f99d88734
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: I3b5420963445987f407d4332d0823e2790210f0a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I383d69adbe095de3f448a1245f788f665885eea5
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Situation..
PySide works fine with normal applications. But when installers
are used to pack the application together, then the signature
extension cannot be loaded.
This is a problem that exists since the signature extension was
written. But starting with PySide 5.12.1, the signature extension
is very visible, because it is used to support the __doc__ attribute.
There have beed successful attempts to solve the problem for
PyInstaller and Py2App. But there are more packers available,
and they all need a change both in PySide and in the packer.
Solution..
To solve this problem once and for all, we embed the Python
support files in the binary shiboken package. When the Python
files are not normally accessible, they are unpacked from a ZIP
file.
Details..
- The embedded files shall only be used when the normal files
are not available,
- The signature extension should no longer be lazily loaded.
When the application starts, all files should be present.
- We drop support for shiboken2.support.signature and
use a single, independen folder 'shibokensupport' (proposal).
This avoids problems with multiple existence of the shiboken2
folder. PySide2.support.signature remains the official interface,
but it's only an alias when PySide2 exists.
- The embedding is used when the normal files cannot be
loaded for some reason. It can be enforced by a sys variable
"pyside_uses_embedding".
- Testcase is included.
- Tested with PyInstaller on macOS
Fixes: PYSIDE-932
Fixes: PYSIDE-942
Change-Id: Iaa62dc0623503a2e0943eedd10d2b2484c65cc2d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the project split, shiboken exposed its own modules, and the
overall structure with shiboken2.support.signature and
PySide2.support.signature was already quite complicated.
When introducing embedding, it is necessary to have some support
folder that gets unpacked from a zipfile. That means, the shiboken2
root directory would be in the zip file in the embedding case.
This does not only increase the complexity, it further means
that we must make shiboken2.so available in the shiboken2
containing zipfile!
In order to avoid that, we stop the dependency from the two
support directories and use shibokensupport, instead. The
simplification of the loader and other modules is also significant.
Task-number: PYSIDE-510
Change-Id: Ic735a8d36f10f03698378f2ac9685a5955e40b0c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
- Add the necessary source files based
on the video tutorial in QtStudios
Change-Id: Icdb16db8ff41c449e7657b9e2142d61ceddc1478
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I02a4555ce2146202c1d60d29e718e0bd94df98f3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
The AnimationOption and Align comboboxes
were not properly working because an int was used
instead of the flag.
Change-Id: I3472b94f6ee05169c31869078961f4d5e8e7397a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Fix variable name changed by f30e4db5169800c25bf79573f650fc2b08d13046,
fixing error:
NameError global name 'make_path' is not defined
Change-Id: Ieee3ba884e122cbc6e2cec267653481552a041d9
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VoidPtr:
Add toBytes() method that return a char* representation
of the void* pointer.
QByteArray:
The current implementation only provided the Buffer Protocol
for Python2, this patch includes the getbuffer implementation
for Python3.
Having a BufferProtocol implementation for Python3 allows the
initialization of VoidPtr to get access to the internal content,
so one can go back and forward with the representation of it:
ba = QByteArray(b"Hello World")
vp = VoidPtr(ba, ba.size())
vp.toBytes() # b"Hello World"
The BufferProtocol was also changed for Python2 including the new
buffer protocol (Py_TPFLAGS_HAVE_NEWBUFFER) function `bf_getbuffer`.
A test case was included.
Fixes: PYSIDE-934
Change-Id: I8936966da91b2dcc879c582cfc35e6a35f7a60b6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: Ie688fba208dc94b5d86b3a9fa0ca0e92ee1c9e75
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Strip the module names.
Change-Id: I7b123acc30e15e0954fe88f3a5b677e9aa736732
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Add the corresponding Sphinx configuration entry.
Change-Id: I73f213275544089f75d45b98d85df320c71c3fb1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I0a72f484fb5591f8c1d47fa534407c8e15cdb396
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add a deprecation note to deprecated functions and classes.
There is a standard deprecated directive, but it takes the version
as a mandatory parameter, which we are unable to obtain from Clang.
Change-Id: Ice27b297fbd86def41d99b0f3505551ed301077f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the note directive previously used for \since by the standard
versionadd directive which takes less space.
Move it below the function parameters and indent it along with the
parameters correctly as otherwise the formatting is messed up.
Change writeFunctionSignature() to return a QString which is more
convenient for indenting.
Remove the bool writeDoc parameter from
QtDocGenerator::writeFunction() and spell out the formatting in
writeConstructors() since it all needs to be indented properly (using
the new indenter helper).
Change-Id: I2294ba457ed05f431be295f9d42489aeb6805a8a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Move it to a separate header and turn it into a non-type template with
a tabWidth parameter to make it possible to use it with arbitrary tab
widths.
Turn it into a non-type template taking the tab width.
Change-Id: Ib2b6a7379ce66d1a22e73b4cb6a4a9a9b457014d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Document the tabbedbrowser tutorial only when QtWebEngineWidgets are
present. Otherwise, the sphinx run will fail since autodoc cannot
import the QtWebEngineWidget Python module.
Change-Id: I23e671e15aa1725b20e4d0db17942f3fbc04bf20
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qp5_tool.py is a developer helper tool modeled after the qt5_tool Perl
script of Qt 5.
It maintains a configuration file where per-directory values (build
options, module subsets) can be given. Creating an up-to-date Build is
then done by calling:
python build_scripts/qp5_tool.py -c -p -b
in each directory,
Change-Id: Ifdcf414f7ff89512bb81a132c0bfd2e49275ed24
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I0c3741133072762443d80663be02a70abf9cc9ef
Fixes: PYSIDE-95
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie2c1c7b9feefb56a9e987f71806a2ce400578fe8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|