| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Selecting which overload to use is in hands of the shader program
code that defines the type, then it is better to explicitly call
signatures that are overloaded using number types, specially for
OpenGL.
This change will help with PYSIDE-989, because it will allow to
call `setUniformValue1f` without having the problem of using
the generic `setUniformValue` that will end in calling the
wrong method (the integer one).
Since the primitive type conversion is a separate global issue,
another task has been opened PYSIDE-1000.
Task-number: PYSIDE-989
Change-Id: I77e5616e081e570bee880a1a403faf3cf6c55099
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
PepType_AS_BUFFER should also be defined for the
non-Limited API version to avoid ugly #ifdef constructs.
This patch augments the definition and simplifies qtcore.cpp .
Change-Id: Iddfb39e8afaf992f4edf72d871eec1eaf85d5963
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
The generated code only takes an enum from the meta class
(QPagedPaintDevice) as valid argument of the function `setPageSize`
(QPagedPaintDevice::PageSize), but it should also accept a QPageSize
argument.
Change-Id: Ia31a69a5e52e781844ce6a7e4ff6e5e95d17563d
Fixes: PYSIDE-940
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When resolving the meta type of QVariant we did not
have a fallback case.
So we had a NoneType when none of the converters worked.
These changes allow to return a PyObjectWrapper of
the object instead of NoneType. This allow users
to use any type as QVariant.
Change-Id: I18da3f10f6839975fdc0bf2ac62f6bd7063312df
Fixes: PYSIDE-45
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Add a cast to int for value_length and slicelength, fixing:
qbytearray_wrapper.cpp:5288:158: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘Py_ssize_t {aka long int}’ [-Wformat=]
PyErr_Format(PyExc_ValueError, "attempt to assign %s of size %d to extended slice of size %d",Py_TYPE(_value)->tp_name, value_length, slicelength);
Change-Id: I4bd2e5d43a26c73c21a6121b469f5ec1c76994b2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QScreen.grabWindow and QWindow.fromWinId have
an WId as an argument.
WId is treated as a PyLong internally,
but with methods that need a WId we need to manually
transform them to long.
Change-Id: I97651704f37ae268455990a13884b92e8f1b643c
Fixes: PYSIDE-863
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
There was still leftover code on the typesystems
but not all could be translated to snippets, so
it was replace by templates.
Task-number: PYSIDE-834
Change-Id: I7dbe2f15171ce6a60137be970312dc80622219c9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the old glue code was directly injected into
the typesystem, so it was possible to add them
as snippets.
There are still a couple of header files that will remain
there, because the include tag does not have the file/snippet
tags.
A few lines of code were modified in favor of "modern" C++,
and good practices.
Task-number: PYSIDE-834
Change-Id: I3072298b16d7280550c6a7f6abae045250663ba6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Now we are able to include snippets for the previously
mentioned typesystem's tags, so this patch removes the
current C/C++ code from the typesystems.
Task-number: PYSIDE-834
Change-Id: I2929020fa1dc0859db780dffb12fa292627697b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a main template file that hosts most of the
code-templates we use in the typesystems, but there
were still several templates written in each module-typesystem
file.
The templates that are used on different typesystem
are now placed in:
sources/pyside2/PySide2/templates/core_common.xml
Additionally, the templates used only by a certain module,
are placed next to it, e.g.:
sources/pyside2/PySide2/templates/widgets_common.xml
Some simple templates were moved to the snippets files too.
Task-number: PYSIDE-799
Change-Id: I4f355cf2ae983aba9e85414e910550189cd18dcb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to the nature of the qApp singleton,
it was not enough to add the refcount of the style
via the typesystem, as usual.
An additional step of getting a reference to the qApp
to set the parent of the style was required.
A test case was included.
Change-Id: I5e60983e961e7d3d310b1e1c2f6f9b80ee095308
Fixes: PYSIDE-861
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An old fix for a QDataStream bug was performing
an additional step related reverse operations,
to make sure we call them if they were implemented
in other classes.
This was intended for shift operations.
Classes like QVector*, QTransform, and others
which include reverse operations like __radd__,
and __rmul__ will include this patch too.
When implementing a class that inherits from these types,
this becomes an infinite loop, which can be solved
applying this patch only for shift operations.
Due to this change, a QMatrix and a shiboken test
needed to be adapted.
Change-Id: Ie399837b6435b2cd058648a15f4d5cdff037ac6b
Fixes: PYSIDE-192
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When code must be modified or added to certain
functions, we currently have two options:
* Write a template and include it into the typesystem,
* inject code directly at a certain place of the function entry.
The problem with injecting raw code is that since it is an XML
file, one need to escape protected symbols, like "<" and "&".
Thanks to a couple of complementary commits, now we can place
this code snippets on a separate file without triggering
a whole module compiling process, since the typesystem itself
will not be alterered.
All the injected code from the typesystem was removed
and placed into a single file per module inside a top-level directory
called glue.
Some small fixes were included mainly regarding styling
of the code.
Task-number: PYSIDE-834
Change-Id: I823e92d241a528d75d5940090008db9bf297f49e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
| |
to be replaced by a subtree merge.
|
|
|
|
|
|
|
| |
From time to time, it is good to update the master project.
Change-Id: I50c45caf7c37ebb4ea865b4e4f5896e5cd8915fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
From time to time, submodules need to be updated.
Actually, I would even like to update the master module after every submodule
checkin, but this seems to be not easy to do all the time.
Change-Id: I52f266c58086186df05ddcc85085f35e2e28ead7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Testrunner has even more variable texts to recognize.
We change the regex slightly so that it always succeeds.
Change-Id: Iac156592aac48afb5aea522540ae63c92ca2572a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The recent change that made use of framework headers on OS/X did
not work with homebrew Qt, and it didn't work with official builds
either, because neither of the chosen include folders contained
all the necessary headers to lead to a successful build.
Fortunately shiboken actually supports being passed multiple include
locations, separated by a colon on OS/X, and a semicolon on Windows.
This patch makes sure to always pass the Qt include folder, and in
case if the Qt build is a framework build, also passes the root
frameworks location, with headers found by shiboken under
frameworkName.framewework/Headers.
This works for homebrew builds, official builds and custom
non-installed prefix / in-source builds of Qt.
Change-Id: I47b24e197839883de2ab873461efc1f4d4d33743
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Versions of OSX lower than 10.9 link libstdc++ by default.
Also libstdc++ is linked when the osx minimum deployment target is
lower than 10.9.
The new option allows explicitly linking libc++ in the cases mentioned
above. It is not enabled by default, because most libraries and
executables on versions lower than 10.9 are compiled with libstdc++,
and mixing standard library versions can lead to crashes.
Change-Id: I7397d2bbce2cfceaeb848f25e0bbf1a24ac9bde8
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
| |
This was modified, but not corrected in setup.py
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Add forgotten files to WebSockets module
|
|
|
|
| |
Fix up the QtWebSockets module
|
| |
|
|
|
|
| |
Add Qt5 QML modules
|
| |
|
|
|
|
|
|
|
| |
As Romain correctly told me, QtCore is needed to be included.
The other small bug with huge effects was a forgotten rename of pyside2_global.h.
The tests now run without segfaults!
|
|
|
|
| |
show windows!
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
CMAKE is a nightmare. And if you don't read the meaning of every variable (like UNIX or CMAKE_HOST_UNIX,
which _includes_ APPLE), then the empire strikes back. :-)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This always refused to link on OS X.
To circumvent this, I have split the QSysInfo entry in Mac and Win version files.
The "other" file is always giving a warning, that I suppressed.
|
|
|
|
|
| |
The XML names like "PySide.QtCore" go into the binaries for import, so it is necessary
to change them all. There are also hundreds of Python files which must bechanged, as well.
|
|
|
|
| |
still, there seem to be errors....
|
|
|
|
|
|
| |
I just understood what is needed to define a package:
The files PySide2Config(...).cmake are crucial, the project names
have little to do with that.
|
|
|
|
|
|
|
|
|
|
|
| |
The intention is to have PySide2 and Shiboken2 as project names, to
allow for co-existence of PySide and PySide2.
This is the first version that builds with these settings on OS X:
$ python3 setup.py build --debug --no-examples --ignore-git --qmake=/usr/local/Cellar/qt5/5.5.0/bin/qmake --jobs=9
This is not yet tested.
|
| |
|
| |
|