| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A simple hello.py script was modified for running in
PyInstaller and stopping to execute after 2 seconds.
The reason is to test that PyInstaller works correctly
together with the embedded mode of the signature
extension on all platforms.
The script did first not work on Windows. This is now
solved, after an import in pyside2_config.py is fixed.
Currently, there are several configuration errors in COIN.
Errors are therefore skipped in the PyInstaller build.
The test tests only if the generated script works.
Change-Id: I7a1b1e738d523b83cc3fe5beafa7e2579f9c7f48
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: Iee3070f59472ee6a75495304f841ba012c90e873
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I0c82e2d5a8fb431f55dd9d54ecaab48d8f40adb6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Change-Id: I3b5420963445987f407d4332d0823e2790210f0a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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>
|
|
|
|
|
| |
Change-Id: I0a72f484fb5591f8c1d47fa534407c8e15cdb396
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Use the new project file format.
Change-Id: I69f488c285343500edd999b746ce244a56504030
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I4b668b7d14a872a5d140a53f22249d7778750679
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
For starters, add the classes so that ready-made classes like
QAbstractItemModelReplica can be used. Actually implementing repc
requires another step.
Task-number: PYSIDE-862
Change-Id: I28adb1d45c262f298f0ad1926198ec6a3013542f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
There was a mix of 644 and 755,
since we expect the users to execute:
python example.py
we do not need to have files with 755.
Change-Id: Iba9b2f5dbb57fe2a3503d8dfe971a4e92e764022
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
- Use a QTextStream to read lines correctly.
- Base it on QSyntaxHighlighter instead of hooking into the text
document.
- Streamline code and use standard keybindings
- Fix imports.
Change-Id: I2bd9571c85bb3cca1e90cd9cb441dfe35d26b685
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: Iacd6f6cccac5427b3ac4585ab237b403abd0f29c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Change-Id: If2783d4796dced281a5f90c3847ac105860f1807
Fixes: PYSIDE-866
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Augment coin_test_instructions.py to run a new script
testing/wheel_tester.py, which tries to pip install the built
wheels, and then tries to build the samplebinding and
scriptableapplication examples.
This allows us to confirm that the generated wheels are actually
installable, and also hopefully prevent us from breaking the
embeddable examples, by making sure that they at least build
(and execute in the case of samplebinding).
The change also modifies the examples to be able to take the
python executable as build argument, so that wheel_tester
can specify explicitly which python interpeter to use.
Change-Id: I0f141e40ab86e3311dd25915c4e53b0af36aaae9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually this creates 3 wheel packages:
- shiboken2 (the python module and libshiboken shared library)
- shiboken2-generator (contains the generator executable, libclang and
dependent Qt libraries)
- PySide2 (the PySide2 modules and Qt shared libraries, and tools like
rcc, uic)
Calling the setup.py script will not do the actual build now (in the
sense of calling CMake, make, etc.). Instead it will spawn new
processes (via subprocess.call) calling the same setup.py script,
but with different arguments. These "sub-invocations" will do the
actual building. Thus, the "top-level invocation" will decide which
packages to build and delegate that to the "sub-invocations" of
setup.py.
A new optional command line argument is introduced called
"--build-type" which defaults to "all", and can also be set to
"shiboken2", "shiboken2-generator" and "pyside2". A user can choose
which packages to build using this option. The "top-level invocation"
uses this option to decide how many "sub-invocations" to execute.
A new command line argument called "--internal-build-type"
takes the same values as the one above. It defines which package
will actually be built in the new spawned "sub-invocation" process.
The "top-level invocation" sets this automatically for each
"sub-invocation" depending on the value of "--build-type".
This option is also useful for developers that may want to debug the
python building code in the "sub-invocation".
Developers can set this manually via the command line, and
thus avoid the process spawning indirection.
A new class Config is introduced to facilitate storage of
the various state needed for building a single package.
A new class SetupRunner is introduced that takes care of the
"--build-type" and "--internal-build-type" argument handling
and delegation of "sub-invocations".
A new class Options is introduced to 'hopefully', in the future, streamline
the mess of option handling that we currently have.
setup.py now is now simplified to mostly just call
SetupRunner.run_setup().
Certain refactorings were done to facilitate further clean-up of the
build code, the current code is definitely not the end all be all.
Various other changes that were needed to implement the wheel
separation:
- a new cmake_helpers directory is added to share common cmake
code between packages.
- the custom popenasync.py file is removed in favor of using
subprocess.call in as many places as possible, and thus
avoid 10 different functions for process creation.
- Manifest.in is removed, because copying to the setuptools
build dir is now done directly by prepare_packages functions.
- because prepare_packages copies directly to the setuptools
build dir, avoiding the pyside_package dir, we do less copying
of big Qt files now.
- versioning of PySide2 and shiboken2 packages is now separate.
shiboken2 and shiboken2-generator share the same versions for
now though.
- shiboken2 is now listed as a required package for PySide2, to
facilitate pip requirements.txt dependencies.
- coin_build_instructions currently needs to install an unreleased
version of wheel, due to a bug that breaks installation of
generated wheel files.
- added separate command line options to pyside2_config.py for
shiboken2-module and shiboken2-generator.
- adapted samplebinding and scriptableapplication projects due to
shiboken being a separate package.
- adapted pyside2-tool and shiboken2-tool python scripts for setup
tools entry points.
- made some optimizations not to invoke cmake for shiboken2-generator
when doing a top-level "all" build.
- fixed unnecessary rpaths not to be included on Linux (mainly the
Qt rpaths).
Task-nubmer: PYSIDE-749
Change-Id: I0336043955624c1d12ed254802c442608cced5fb
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.4
Enclose in a function returning the suffixes, fixing:
pyside-setup/examples/scriptableapplication/../utils/pyside2_config.py:41: DeprecationWarning: the imp module is deprecated in favor of importlib; see the module's documentation for alternative uses
import os, glob, re, sys, imp
pyside/pyside-setup/examples/scriptableapplication/../utils/pyside2_config.py:41: DeprecationWarning: the imp module is deprecated in favor of importlib; see the module's documentation for alternative uses
import os, glob, re, sys, imp
pyside/pyside-setup/examples/scriptableapplication/../utils/pyside2_config.py:41: DeprecationWarning: the imp module is deprecated in favor of importlib; see the module's documentation for alternative uses
import os, glob, re, sys, imp
Change-Id: I2298303cb84f9037d5848aca722506adbf1151ba
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't need a special treatment after
the QByteArray and Python string patch.
The issue is not fully fixed,
but the missing part is reported under PYSIDE-341
Task-number: PYSIDE-705
Change-Id: I4a043eff188deb28cb1fa5c5eb653ace75ce073e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I9567eeb3350ab39656f13ee9218f535ec3782a87
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I5f22cd322d4414d5ee4be38042b0fc849c40987a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I21d19112cef4aff73505e5e5ae533c9a428e74f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I16c8bbfaa8c7ed6fc08ed6b16c9bdf8dd23ce0a2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I0b62e0b93b64ab3a8c4447650c430941a7b4ae0c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I68614a1a0e417f8318adc4f008d452bc280abcb3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-738
Change-Id: I9b75a87615ef5888d98e21c8429f425a05e3a08c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
In addition, scaled down the app screenshot.
Change-Id: I9edf9bf6dc3c2f4e81097feaccaa266498776a6f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Verified on Windows and Linux.
Task-number: PYSIDE-702
Change-Id: I37d5cca1c9351cb599f9d7152a04c13118dab8e2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was related to the recent
change on the QByteArray constructors.
The roles need to be QByteArray instead
of Python strings.
Task-number: PYSIDE-703
Change-Id: I7dfc0d2a80ae99d3c10929e9730125c68a0c5950
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The module is not available via wheels,
but it is possible to generate the bindings,
when building PySide2 from source.
Task-number: PYSIDE-707
Change-Id: I9c2f1530e7bc9d77a03abb2b911e2ebf857fca1e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Task-number: PYSIDE-712
Change-Id: Ib91e4fec88bdb7146e54c285c7f4da60deecb6cf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Adding null verification before drawing.
The reported artifact was related to the use of a Null QPointF.
Task-number: PYSIDE-701
Change-Id: Idcfbdf4b0bd98369a407e83404cd4fc8f1def3a0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-704
Change-Id: I11bfa79667ecde38ec9d8bb20e8114f430ccb1e3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-708
Change-Id: I57c2e05c02ce58a65428cd75098a85abad1bc07b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-709
Change-Id: I9d7eeaf7b5a26a8fc58be1092639e64d7262c8d5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-708
Change-Id: I5f393336207d68661a4fb07a07461bf8a74a719f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
There is only one method we really need, QtWebEngine::initialize()
which is used for all Qt Quick based WebEngine applications. Otherwise
you get a warning upon startup of a Qt Quick WebEngine application,
and this might lead to undefined behavior.
Task-number: PYSIDE-688
Change-Id: I7de2bbb58c49cb2a41b0e13ffc9de6a3161f3960
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous approach executed the entered script line-by-line,
it was not possible to execute multi-line statements,
for example:
for i in range(0, 10):
print(i)
because PyRun_SimpleString was complaining about the colon.
To avoid all these extra steps we can concatenate all the lines
into one, and then execute it, instead of creating a temporary file.
This will delegate error handling to Python.
Change-Id: Idda572aa1b2e3daad2ba1ed9d70f0a8714b8c995
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to the PEP384 many casts related to SbkObjectTypes
dropped the `const` because of a change on the signature of the
methods like `pointerToPython`, `referenceToPython`,
among others.
Many examples of these changs can be found in the commit:
18dc31becdd994c53a9f894087cf1ef99fbd0232
file `sbkconverter.cpp`.
Change-Id: Id7b9f8e14fd931c686608a89e0d989d9026e0c85
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After correcting the QByteArray behavior, the available
constructors are constraint to bytes, bytearrays,
and others QByteArrays.
The modified lines are methods that use the modified
argument as a QByteArray (interally), that is why we now we
transform them:
"test value" -> b"test value"
Bytes are Python 2 and 3 compatible, so it does not affect
the version.
The only different change is inside `schema.py`
where a change was needed to encode a QByteArray into
utf-8.
Since this is outside our automated test, I manually test
it with Python 2.7.15 and 3.6.3 on Linux.
Task-number: PYSIDE-669
Change-Id: I8c12533b482150f4aee3d813dc127eb6b819549b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added docstrings to the examples sources
to autogenerate the docs for the different parts.
- Updated the conf.py.in to include sphinx.ext.viewcode
to generate html for every source file of the
example.
Change-Id: I668c55070556ca49d12d38c8ec83f09313bffc36
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Change the style of the code to follow PEP8
Change-Id: I93eb0df893e8305b4e65ab5318383433b0655625
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A CMake project is included that builds two shared libraries:
1) libuniverse - a hypothetical C++ library for which bindings
need to be created.
2) Universe - a Python module containing bindings to the above
library.
The example showcases the following concepts:
* primitive type bindings (bool, std::string)
* types with object and value semantics
(pass by pointer VS pass by copy)
* inheritance and overriding virtual methods
* ownership of heap-allocated C++ objects
* constructors with default parameters
* general structure of CMakeLists.txt file for generating bindings
Task-number: PYSIDE-597
Change-Id: I7b0f203e2844e815aa611af3de2b50a9aa9b5bfc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Remove LIBPATH because that causes linker warnings on macOS,
and its usage is deprecated on Windows.
2) Remove all qmake clang related code, as well as clang code
from pyside2_config.py. It used to be needed on Windows
because we didn't deploy libclang.dll to the PySide2 dir.
Now that we do, the code is unnecessary.
3) Remove README.txt reference.
4) Add clarifying comments in README.md.
5) Remove NO_DEFAULT_PATH from find_library because that causes
a failure to find the python library on Ubuntu (makes sense
because the specified libdir is /usr/lib, but the actual
library is under /usr/lib/[arch], and disabling the option
forces CMake not to look under the arch dir.
6) Fix rpath to PySide2 dir not being embedded on Linux
(presumably because the link flags style changed to absolute
paths, not sure).
7) Fix README to be more precise about how MSBuild needs to be
invoked, and how to run the executable.
8) Improve the error handling in the project files.
9) Refactor pyside2_config.py usage.
Change-Id: I402d5c42ef7e01e94d3827682564e95ee280b40b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Absolute paths are used to link the PySide2 libraries on Linux,
since it's not possible to ship symbolic links inside a wheel.
The README.txt was renamed to README.md to allow
syntax highlight on modern editors and also to be
compatible with online platforms.
The README.CMake.txt was merge to the README.md to include the
instruction on the same file.
Change-Id: Ie0fcb8cda770ff552576f6014b5822f8d278bfe6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing the word 'project' from all the headers,
and changing the PySide reference from the examples
to Qt for Python:
The following line was used inside the source/ and
build_scripts/ directory:
for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done
and the following line was used inside the examples/ directory:
for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done
Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-363
Change-Id: Idf7037c1b9efe1ccfce4427a49abc86a6631efa7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
https://doc.qt.io/qt-5.10/qtcharts-callout-example.html
Change-Id: Id560316d1edc0f7a893526740cc983f4faaa1969
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I7938b6932d365b7417fe7c330764004218a524b2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMake failed to find shiboken2 binary (without .exe).
The configuration script was unable to get information
from the LIBDIR variable, since it is not set
automatically on Windows, using LIBDEST if that
is the case.
Task-number: PYSIDE-627
Change-Id: Id8031891a2da98af33b81b0740e25299828d6fb3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
In case of a Qt framework build, shiboken needs to be passed a
--framework-include-paths=foo parameter pointing to the Qt
framework libdir. This is used by the C++ parser to resolve
framework include paths.
Task-number: PYSIDE-623
Change-Id: I38cf34a51102265056aea8718ad059aea3438354
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Mostly a clean-ish port of the qmake project file, which also uses
the pyside_config.py for getting proper include and link paths.
Task-number: PYSIDE-597
Change-Id: I87f71b93ecdcc27d49250ccc0710e64300532dab
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|