mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
extra/pyqt5 to 5.11.2-1
This commit is contained in:
parent
04ab93604c
commit
044943fac1
3 changed files with 16 additions and 607 deletions
|
@ -10,34 +10,27 @@
|
||||||
|
|
||||||
pkgbase=pyqt5
|
pkgbase=pyqt5
|
||||||
pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5')
|
pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5')
|
||||||
pkgver=5.10.1
|
pkgver=5.11.2
|
||||||
pkgrel=7
|
pkgrel=1
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
|
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
|
||||||
license=('GPL')
|
license=('GPL')
|
||||||
makedepends=('python-sip' 'python2-sip' 'python-opengl' 'python2-opengl'
|
makedepends=('python-sip-pyqt5' 'python2-sip-pyqt5' 'sip' 'python-opengl' 'python2-opengl' 'python2-enum34'
|
||||||
'python2-dbus' 'python-dbus' 'qt5-connectivity'
|
'python2-dbus' 'python-dbus' 'qt5-connectivity' 'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg'
|
||||||
'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg'
|
|
||||||
'qt5-webkit' 'qt5-websockets' 'qt5-x11extras' 'qt5-networkauth')
|
'qt5-webkit' 'qt5-websockets' 'qt5-x11extras' 'qt5-networkauth')
|
||||||
source=("http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-$pkgver/PyQt5_gpl-$pkgver.tar.gz" pyqt-support-new-qt.patch
|
source=("http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-$pkgver/PyQt5_gpl-$pkgver.tar.gz" pyqt-support-new-qt.patch)
|
||||||
pyqt5-cura-crash.patch pyqt-qt5.11.patch)
|
sha512sums=('fc60246b5e1ca0d8aeef829fe20de9dd28b77e3c151532f9dbcd92c0deec12d8308cc799901aeec3f84af745e735053d2aaad2866ef64a2426cba343e08bc2c0'
|
||||||
sha512sums=('04cd0292f7a088f9c0d088d7c73ec96cfc40253f771dfdf194eb92be7635e6fcaf04863fa24215e9c34a096658549bb2feeb8d8fdca1e39ed87f0256ef0f790b'
|
'b94b707e4265ff8e84d52214cea7b70db33aa436440c74e4918c165a7dfae8949bf3e91491d300e68c1715b26b693ba69eca114cf42ce6114dab1b99d69d417e')
|
||||||
'b94b707e4265ff8e84d52214cea7b70db33aa436440c74e4918c165a7dfae8949bf3e91491d300e68c1715b26b693ba69eca114cf42ce6114dab1b99d69d417e'
|
|
||||||
'3f6e1c0dcd95d3ff39c03f59d7c09cbf2e42431bf9cb6dc7a63da10b7a387e5977992e57ef0ff1dea495f29dfbf4db2568b4588e801cca966a0136fe98d1ed45'
|
|
||||||
'bae60dd592701929acf403514d8be87d53330dccff74267efb615005d82f5710ce13636a99b2a75beb04fd93a4ade34486c3c2aa190efd334d01c78b34f1bcc0')
|
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
# Support new versions of Qt - don't remove, needs to be reapplied after every new Qt release
|
# Support new versions of Qt - don't remove, needs to be reapplied after every new Qt release
|
||||||
pushd PyQt5_gpl-$pkgver
|
pushd PyQt5_gpl-$pkgver
|
||||||
patch -p1 -i ../pyqt-support-new-qt.patch
|
# patch -p1 -i ../pyqt-support-new-qt.patch
|
||||||
patch -p1 -i ../pyqt5-cura-crash.patch # Fix crash in Cura
|
|
||||||
patch -p1 -i ../pyqt-qt5.11.patch # Fix build with Qt 5.11 (opensuse)
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# The additional include path was removed due to this line, I don't really know why they are doing this...
|
|
||||||
sed -i '/target_config.dbus_inc_dirs = \[\]/d' PyQt5_gpl-$pkgver/configure.py
|
|
||||||
|
|
||||||
cp -a PyQt5_gpl-$pkgver{,-py2}
|
cp -a PyQt5_gpl-$pkgver{,-py2}
|
||||||
|
# Remove check for sip from py2, it doesn't work since sip doesn't install __init__.py
|
||||||
|
sed -e 's|from PyQt5 import sip|pass|g' -i PyQt5_gpl-$pkgver-py2/configure.py
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
@ -45,24 +38,16 @@ build() {
|
||||||
python configure.py \
|
python configure.py \
|
||||||
--confirm-license \
|
--confirm-license \
|
||||||
--no-sip-files \
|
--no-sip-files \
|
||||||
--qsci-api \
|
--no-dist-info \
|
||||||
-q /usr/bin/qmake-qt5
|
--qsci-api
|
||||||
|
|
||||||
# Thanks Gerardo for the rpath fix
|
|
||||||
find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
|
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
cd "$srcdir"/PyQt5_gpl-$pkgver-py2
|
cd "$srcdir"/PyQt5_gpl-$pkgver-py2
|
||||||
python2 configure.py \
|
python2 configure.py \
|
||||||
--confirm-license \
|
--confirm-license \
|
||||||
--no-sip-files \
|
--no-sip-files \
|
||||||
--qsci-api \
|
--no-dist-info \
|
||||||
-q /usr/bin/qmake-qt5
|
--qsci-api
|
||||||
|
|
||||||
# Thanks Gerardo for the rpath fix
|
|
||||||
find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
|
|
||||||
|
|
||||||
make
|
make
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +64,7 @@ package_pyqt5-common(){
|
||||||
|
|
||||||
package_python-pyqt5(){
|
package_python-pyqt5(){
|
||||||
pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit"
|
pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit"
|
||||||
depends=('python-sip' 'pyqt5-common')
|
depends=('python-sip-pyqt5' 'pyqt5-common')
|
||||||
optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications'
|
optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications'
|
||||||
'python-dbus: for python-dbus mainloop support'
|
'python-dbus: for python-dbus mainloop support'
|
||||||
'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
|
'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
|
||||||
|
@ -105,7 +90,7 @@ package_python-pyqt5(){
|
||||||
|
|
||||||
package_python2-pyqt5(){
|
package_python2-pyqt5(){
|
||||||
pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit"
|
pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit"
|
||||||
depends=('python2-sip' 'pyqt5-common' 'python2-enum34')
|
depends=('python2-sip-pyqt5' 'pyqt5-common' 'python2-enum34')
|
||||||
optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications'
|
optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications'
|
||||||
'python-dbus: for python-dbus mainloop support'
|
'python-dbus: for python-dbus mainloop support'
|
||||||
'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
|
'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
|
||||||
Subject: QTest::waitForEvents() is internal only
|
|
||||||
|
|
||||||
Must not be used, got removed with Qt 5.11.
|
|
||||||
|
|
||||||
Index: PyQt5_gpl-5.10.1/sip/QtTest/qtestmouse.sip
|
|
||||||
===================================================================
|
|
||||||
--- PyQt5_gpl-5.10.1.orig/sip/QtTest/qtestmouse.sip
|
|
||||||
+++ PyQt5_gpl-5.10.1/sip/QtTest/qtestmouse.sip
|
|
||||||
@@ -41,7 +41,6 @@ namespace QTest
|
|
||||||
void mousePress(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1);
|
|
||||||
void mouseRelease(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1);
|
|
||||||
void mouseEvent(QTest::MouseAction action, QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier, QPoint pos, int delay = -1);
|
|
||||||
- void waitForEvents() /ReleaseGIL/;
|
|
||||||
void mouseEvent(QTest::MouseAction action, QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier, QPoint pos, int delay = -1);
|
|
||||||
void mousePress(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
|
|
||||||
void mouseRelease(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
|
|
|
@ -1,559 +0,0 @@
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquick_register_type.cpp PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquick_register_type.cpp
|
|
||||||
--- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquick_register_type.cpp 2018-02-27 11:43:52.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquick_register_type.cpp 2018-03-29 03:32:17.000000000 +0200
|
|
||||||
@@ -22,6 +22,8 @@
|
|
||||||
#include "qpyquickframebufferobject.h"
|
|
||||||
#include "qpyquickitem.h"
|
|
||||||
#include "qpyquickpainteditem.h"
|
|
||||||
+#include "qpyquickview.h"
|
|
||||||
+#include "qpyquickwindow.h"
|
|
||||||
|
|
||||||
#include "sipAPIQtQuick.h"
|
|
||||||
|
|
||||||
@@ -30,6 +32,9 @@
|
|
||||||
const QMetaObject *mo, const QByteArray &ptr_name,
|
|
||||||
const QByteArray &list_name, QQmlPrivate::RegisterType **rtp)
|
|
||||||
{
|
|
||||||
+ // Make sure the types are tested in the right order (ie. more specific
|
|
||||||
+ // types first).
|
|
||||||
+
|
|
||||||
#if QT_VERSION >= 0x050200
|
|
||||||
if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickFramebufferObject)))
|
|
||||||
return ((*rtp = QPyQuickFramebufferObject::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail);
|
|
||||||
@@ -41,6 +46,12 @@
|
|
||||||
if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickItem)))
|
|
||||||
return ((*rtp = QPyQuickItem::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail);
|
|
||||||
|
|
||||||
+ if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickView)))
|
|
||||||
+ return ((*rtp = QPyQuickView::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail);
|
|
||||||
+
|
|
||||||
+ if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickWindow)))
|
|
||||||
+ return ((*rtp = QPyQuickWindow::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail);
|
|
||||||
+
|
|
||||||
// We don't recognise the type.
|
|
||||||
return sipErrorContinue;
|
|
||||||
}
|
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.cpp PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.cpp
|
|
||||||
--- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.cpp 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.cpp 2018-03-29 03:32:17.000000000 +0200
|
|
||||||
@@ -0,0 +1,155 @@
|
|
||||||
+// This is the implementation of the QPyQuickWindow classes.
|
|
||||||
+//
|
|
||||||
+// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
|
|
||||||
+//
|
|
||||||
+// This file is part of PyQt5.
|
|
||||||
+//
|
|
||||||
+// This file may be used under the terms of the GNU General Public License
|
|
||||||
+// version 3.0 as published by the Free Software Foundation and appearing in
|
|
||||||
+// the file LICENSE included in the packaging of this file. Please review the
|
|
||||||
+// following information to ensure the GNU General Public License version 3.0
|
|
||||||
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
+//
|
|
||||||
+// If you do not wish to use this file under the terms of the GPL version 3.0
|
|
||||||
+// then you may purchase a commercial license. For more information contact
|
|
||||||
+// info@riverbankcomputing.com.
|
|
||||||
+//
|
|
||||||
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
|
||||||
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#include <Python.h>
|
|
||||||
+
|
|
||||||
+#include <QQmlListProperty>
|
|
||||||
+
|
|
||||||
+#include "qpyquickview.h"
|
|
||||||
+
|
|
||||||
+#include "sipAPIQtQuick.h"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The maximum number of Python QQuickView types.
|
|
||||||
+const int NrOfQuickViewTypes = 20;
|
|
||||||
+
|
|
||||||
+// The list of registered Python types.
|
|
||||||
+static QList<PyTypeObject *> pyqt_types;
|
|
||||||
+
|
|
||||||
+// The registration data for the canned types.
|
|
||||||
+static QQmlPrivate::RegisterType canned_types[NrOfQuickViewTypes];
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#define QPYQUICKVIEW_INIT(n) \
|
|
||||||
+ case n##U: \
|
|
||||||
+ QPyQuickView##n::staticMetaObject = *mo; \
|
|
||||||
+ rt->typeId = qRegisterNormalizedMetaType<QPyQuickView##n *>(ptr_name); \
|
|
||||||
+ rt->listId = qRegisterNormalizedMetaType<QQmlListProperty<QPyQuickView##n> >(list_name); \
|
|
||||||
+ rt->objectSize = sizeof(QPyQuickView##n); \
|
|
||||||
+ rt->create = QQmlPrivate::createInto<QPyQuickView##n>; \
|
|
||||||
+ rt->metaObject = mo; \
|
|
||||||
+ rt->attachedPropertiesFunction = QQmlPrivate::attachedPropertiesFunc<QPyQuickView##n>(); \
|
|
||||||
+ rt->attachedPropertiesMetaObject = QQmlPrivate::attachedPropertiesMetaObject<QPyQuickView##n>(); \
|
|
||||||
+ rt->parserStatusCast = QQmlPrivate::StaticCastSelector<QPyQuickView##n,QQmlParserStatus>::cast(); \
|
|
||||||
+ rt->valueSourceCast = QQmlPrivate::StaticCastSelector<QPyQuickView##n,QQmlPropertyValueSource>::cast(); \
|
|
||||||
+ rt->valueInterceptorCast = QQmlPrivate::StaticCastSelector<QPyQuickView##n,QQmlPropertyValueInterceptor>::cast(); \
|
|
||||||
+ break
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The ctor.
|
|
||||||
+QPyQuickView::QPyQuickView(QWindow *parent) : sipQQuickView(parent)
|
|
||||||
+{
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// Add a new Python type and return its number.
|
|
||||||
+QQmlPrivate::RegisterType *QPyQuickView::addType(PyTypeObject *type,
|
|
||||||
+ const QMetaObject *mo, const QByteArray &ptr_name,
|
|
||||||
+ const QByteArray &list_name)
|
|
||||||
+{
|
|
||||||
+ int type_nr = pyqt_types.size();
|
|
||||||
+
|
|
||||||
+ // Check we have a spare canned type.
|
|
||||||
+ if (type_nr >= NrOfQuickViewTypes)
|
|
||||||
+ {
|
|
||||||
+ PyErr_Format(PyExc_TypeError,
|
|
||||||
+ "a maximum of %d QQuickView types may be registered with QML",
|
|
||||||
+ NrOfQuickViewTypes);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ pyqt_types.append(type);
|
|
||||||
+
|
|
||||||
+ QQmlPrivate::RegisterType *rt = &canned_types[type_nr];
|
|
||||||
+
|
|
||||||
+ // Initialise those members that depend on the C++ type.
|
|
||||||
+ switch (type_nr)
|
|
||||||
+ {
|
|
||||||
+ QPYQUICKVIEW_INIT(0);
|
|
||||||
+ QPYQUICKVIEW_INIT(1);
|
|
||||||
+ QPYQUICKVIEW_INIT(2);
|
|
||||||
+ QPYQUICKVIEW_INIT(3);
|
|
||||||
+ QPYQUICKVIEW_INIT(4);
|
|
||||||
+ QPYQUICKVIEW_INIT(5);
|
|
||||||
+ QPYQUICKVIEW_INIT(6);
|
|
||||||
+ QPYQUICKVIEW_INIT(7);
|
|
||||||
+ QPYQUICKVIEW_INIT(8);
|
|
||||||
+ QPYQUICKVIEW_INIT(9);
|
|
||||||
+ QPYQUICKVIEW_INIT(10);
|
|
||||||
+ QPYQUICKVIEW_INIT(11);
|
|
||||||
+ QPYQUICKVIEW_INIT(12);
|
|
||||||
+ QPYQUICKVIEW_INIT(13);
|
|
||||||
+ QPYQUICKVIEW_INIT(14);
|
|
||||||
+ QPYQUICKVIEW_INIT(15);
|
|
||||||
+ QPYQUICKVIEW_INIT(16);
|
|
||||||
+ QPYQUICKVIEW_INIT(17);
|
|
||||||
+ QPYQUICKVIEW_INIT(18);
|
|
||||||
+ QPYQUICKVIEW_INIT(19);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return rt;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// Create the Python instance.
|
|
||||||
+void QPyQuickView::createPyObject(QWindow *parent)
|
|
||||||
+{
|
|
||||||
+ SIP_BLOCK_THREADS
|
|
||||||
+
|
|
||||||
+ // Assume C++ owns everything.
|
|
||||||
+ PyObject *obj = sipConvertFromNewPyType(this, pyqt_types.at(typeNr()),
|
|
||||||
+ NULL, &sipPySelf, "D", parent, sipType_QWindow, NULL);
|
|
||||||
+
|
|
||||||
+ if (!obj)
|
|
||||||
+ pyqt5_qtquick_err_print();
|
|
||||||
+
|
|
||||||
+ SIP_UNBLOCK_THREADS
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The canned type implementations.
|
|
||||||
+#define QPYQUICKVIEW_IMPL(n) \
|
|
||||||
+QPyQuickView##n::QPyQuickView##n(QWindow *parent) : QPyQuickView(parent) \
|
|
||||||
+{ \
|
|
||||||
+ createPyObject(parent); \
|
|
||||||
+} \
|
|
||||||
+QMetaObject QPyQuickView##n::staticMetaObject
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+QPYQUICKVIEW_IMPL(0);
|
|
||||||
+QPYQUICKVIEW_IMPL(1);
|
|
||||||
+QPYQUICKVIEW_IMPL(2);
|
|
||||||
+QPYQUICKVIEW_IMPL(3);
|
|
||||||
+QPYQUICKVIEW_IMPL(4);
|
|
||||||
+QPYQUICKVIEW_IMPL(5);
|
|
||||||
+QPYQUICKVIEW_IMPL(6);
|
|
||||||
+QPYQUICKVIEW_IMPL(7);
|
|
||||||
+QPYQUICKVIEW_IMPL(8);
|
|
||||||
+QPYQUICKVIEW_IMPL(9);
|
|
||||||
+QPYQUICKVIEW_IMPL(10);
|
|
||||||
+QPYQUICKVIEW_IMPL(11);
|
|
||||||
+QPYQUICKVIEW_IMPL(12);
|
|
||||||
+QPYQUICKVIEW_IMPL(13);
|
|
||||||
+QPYQUICKVIEW_IMPL(14);
|
|
||||||
+QPYQUICKVIEW_IMPL(15);
|
|
||||||
+QPYQUICKVIEW_IMPL(16);
|
|
||||||
+QPYQUICKVIEW_IMPL(17);
|
|
||||||
+QPYQUICKVIEW_IMPL(18);
|
|
||||||
+QPYQUICKVIEW_IMPL(19);
|
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.h PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.h
|
|
||||||
--- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.h 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.h 2018-03-29 03:32:17.000000000 +0200
|
|
||||||
@@ -0,0 +1,87 @@
|
|
||||||
+// This is the definition of the QPyQuickView classes.
|
|
||||||
+//
|
|
||||||
+// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
|
|
||||||
+//
|
|
||||||
+// This file is part of PyQt5.
|
|
||||||
+//
|
|
||||||
+// This file may be used under the terms of the GNU General Public License
|
|
||||||
+// version 3.0 as published by the Free Software Foundation and appearing in
|
|
||||||
+// the file LICENSE included in the packaging of this file. Please review the
|
|
||||||
+// following information to ensure the GNU General Public License version 3.0
|
|
||||||
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
+//
|
|
||||||
+// If you do not wish to use this file under the terms of the GPL version 3.0
|
|
||||||
+// then you may purchase a commercial license. For more information contact
|
|
||||||
+// info@riverbankcomputing.com.
|
|
||||||
+//
|
|
||||||
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
|
||||||
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#ifndef _QPYQUICKVIEW_H
|
|
||||||
+#define _QPYQUICKVIEW_H
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#include <Python.h>
|
|
||||||
+
|
|
||||||
+#include <qqmlprivate.h>
|
|
||||||
+#include <QByteArray>
|
|
||||||
+#include <QMetaObject>
|
|
||||||
+#include <QQuickView>
|
|
||||||
+
|
|
||||||
+#include "sipAPIQtQuick.h"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+class QPyQuickView : public sipQQuickView
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ QPyQuickView(QWindow *parent = 0);
|
|
||||||
+
|
|
||||||
+ virtual int typeNr() const = 0;
|
|
||||||
+
|
|
||||||
+ static QQmlPrivate::RegisterType *addType(PyTypeObject *type,
|
|
||||||
+ const QMetaObject *mo, const QByteArray &ptr_name,
|
|
||||||
+ const QByteArray &list_name);
|
|
||||||
+ void createPyObject(QWindow *parent);
|
|
||||||
+
|
|
||||||
+private:
|
|
||||||
+ QPyQuickView(const QPyQuickView &);
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The canned type declarations.
|
|
||||||
+#define QPYQUICKVIEW_DECL(n) \
|
|
||||||
+class QPyQuickView##n : public QPyQuickView \
|
|
||||||
+{ \
|
|
||||||
+public: \
|
|
||||||
+ QPyQuickView##n(QWindow *parent = 0); \
|
|
||||||
+ static QMetaObject staticMetaObject; \
|
|
||||||
+ virtual int typeNr() const {return n##U;} \
|
|
||||||
+private: \
|
|
||||||
+ QPyQuickView##n(const QPyQuickView##n &); \
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+QPYQUICKVIEW_DECL(0);
|
|
||||||
+QPYQUICKVIEW_DECL(1);
|
|
||||||
+QPYQUICKVIEW_DECL(2);
|
|
||||||
+QPYQUICKVIEW_DECL(3);
|
|
||||||
+QPYQUICKVIEW_DECL(4);
|
|
||||||
+QPYQUICKVIEW_DECL(5);
|
|
||||||
+QPYQUICKVIEW_DECL(6);
|
|
||||||
+QPYQUICKVIEW_DECL(7);
|
|
||||||
+QPYQUICKVIEW_DECL(8);
|
|
||||||
+QPYQUICKVIEW_DECL(9);
|
|
||||||
+QPYQUICKVIEW_DECL(10);
|
|
||||||
+QPYQUICKVIEW_DECL(11);
|
|
||||||
+QPYQUICKVIEW_DECL(12);
|
|
||||||
+QPYQUICKVIEW_DECL(13);
|
|
||||||
+QPYQUICKVIEW_DECL(14);
|
|
||||||
+QPYQUICKVIEW_DECL(15);
|
|
||||||
+QPYQUICKVIEW_DECL(16);
|
|
||||||
+QPYQUICKVIEW_DECL(17);
|
|
||||||
+QPYQUICKVIEW_DECL(18);
|
|
||||||
+QPYQUICKVIEW_DECL(19);
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.cpp PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.cpp
|
|
||||||
--- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.cpp 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.cpp 2018-03-29 03:32:17.000000000 +0200
|
|
||||||
@@ -0,0 +1,155 @@
|
|
||||||
+// This is the implementation of the QPyQuickWindow classes.
|
|
||||||
+//
|
|
||||||
+// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
|
|
||||||
+//
|
|
||||||
+// This file is part of PyQt5.
|
|
||||||
+//
|
|
||||||
+// This file may be used under the terms of the GNU General Public License
|
|
||||||
+// version 3.0 as published by the Free Software Foundation and appearing in
|
|
||||||
+// the file LICENSE included in the packaging of this file. Please review the
|
|
||||||
+// following information to ensure the GNU General Public License version 3.0
|
|
||||||
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
+//
|
|
||||||
+// If you do not wish to use this file under the terms of the GPL version 3.0
|
|
||||||
+// then you may purchase a commercial license. For more information contact
|
|
||||||
+// info@riverbankcomputing.com.
|
|
||||||
+//
|
|
||||||
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
|
||||||
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#include <Python.h>
|
|
||||||
+
|
|
||||||
+#include <QQmlListProperty>
|
|
||||||
+
|
|
||||||
+#include "qpyquickwindow.h"
|
|
||||||
+
|
|
||||||
+#include "sipAPIQtQuick.h"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The maximum number of Python QQuickWindow types.
|
|
||||||
+const int NrOfQuickWindowTypes = 20;
|
|
||||||
+
|
|
||||||
+// The list of registered Python types.
|
|
||||||
+static QList<PyTypeObject *> pyqt_types;
|
|
||||||
+
|
|
||||||
+// The registration data for the canned types.
|
|
||||||
+static QQmlPrivate::RegisterType canned_types[NrOfQuickWindowTypes];
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#define QPYQUICKWINDOW_INIT(n) \
|
|
||||||
+ case n##U: \
|
|
||||||
+ QPyQuickWindow##n::staticMetaObject = *mo; \
|
|
||||||
+ rt->typeId = qRegisterNormalizedMetaType<QPyQuickWindow##n *>(ptr_name); \
|
|
||||||
+ rt->listId = qRegisterNormalizedMetaType<QQmlListProperty<QPyQuickWindow##n> >(list_name); \
|
|
||||||
+ rt->objectSize = sizeof(QPyQuickWindow##n); \
|
|
||||||
+ rt->create = QQmlPrivate::createInto<QPyQuickWindow##n>; \
|
|
||||||
+ rt->metaObject = mo; \
|
|
||||||
+ rt->attachedPropertiesFunction = QQmlPrivate::attachedPropertiesFunc<QPyQuickWindow##n>(); \
|
|
||||||
+ rt->attachedPropertiesMetaObject = QQmlPrivate::attachedPropertiesMetaObject<QPyQuickWindow##n>(); \
|
|
||||||
+ rt->parserStatusCast = QQmlPrivate::StaticCastSelector<QPyQuickWindow##n,QQmlParserStatus>::cast(); \
|
|
||||||
+ rt->valueSourceCast = QQmlPrivate::StaticCastSelector<QPyQuickWindow##n,QQmlPropertyValueSource>::cast(); \
|
|
||||||
+ rt->valueInterceptorCast = QQmlPrivate::StaticCastSelector<QPyQuickWindow##n,QQmlPropertyValueInterceptor>::cast(); \
|
|
||||||
+ break
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The ctor.
|
|
||||||
+QPyQuickWindow::QPyQuickWindow(QWindow *parent) : sipQQuickWindow(parent)
|
|
||||||
+{
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// Add a new Python type and return its number.
|
|
||||||
+QQmlPrivate::RegisterType *QPyQuickWindow::addType(PyTypeObject *type,
|
|
||||||
+ const QMetaObject *mo, const QByteArray &ptr_name,
|
|
||||||
+ const QByteArray &list_name)
|
|
||||||
+{
|
|
||||||
+ int type_nr = pyqt_types.size();
|
|
||||||
+
|
|
||||||
+ // Check we have a spare canned type.
|
|
||||||
+ if (type_nr >= NrOfQuickWindowTypes)
|
|
||||||
+ {
|
|
||||||
+ PyErr_Format(PyExc_TypeError,
|
|
||||||
+ "a maximum of %d QQuickWindow types may be registered with QML",
|
|
||||||
+ NrOfQuickWindowTypes);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ pyqt_types.append(type);
|
|
||||||
+
|
|
||||||
+ QQmlPrivate::RegisterType *rt = &canned_types[type_nr];
|
|
||||||
+
|
|
||||||
+ // Initialise those members that depend on the C++ type.
|
|
||||||
+ switch (type_nr)
|
|
||||||
+ {
|
|
||||||
+ QPYQUICKWINDOW_INIT(0);
|
|
||||||
+ QPYQUICKWINDOW_INIT(1);
|
|
||||||
+ QPYQUICKWINDOW_INIT(2);
|
|
||||||
+ QPYQUICKWINDOW_INIT(3);
|
|
||||||
+ QPYQUICKWINDOW_INIT(4);
|
|
||||||
+ QPYQUICKWINDOW_INIT(5);
|
|
||||||
+ QPYQUICKWINDOW_INIT(6);
|
|
||||||
+ QPYQUICKWINDOW_INIT(7);
|
|
||||||
+ QPYQUICKWINDOW_INIT(8);
|
|
||||||
+ QPYQUICKWINDOW_INIT(9);
|
|
||||||
+ QPYQUICKWINDOW_INIT(10);
|
|
||||||
+ QPYQUICKWINDOW_INIT(11);
|
|
||||||
+ QPYQUICKWINDOW_INIT(12);
|
|
||||||
+ QPYQUICKWINDOW_INIT(13);
|
|
||||||
+ QPYQUICKWINDOW_INIT(14);
|
|
||||||
+ QPYQUICKWINDOW_INIT(15);
|
|
||||||
+ QPYQUICKWINDOW_INIT(16);
|
|
||||||
+ QPYQUICKWINDOW_INIT(17);
|
|
||||||
+ QPYQUICKWINDOW_INIT(18);
|
|
||||||
+ QPYQUICKWINDOW_INIT(19);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return rt;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// Create the Python instance.
|
|
||||||
+void QPyQuickWindow::createPyObject(QWindow *parent)
|
|
||||||
+{
|
|
||||||
+ SIP_BLOCK_THREADS
|
|
||||||
+
|
|
||||||
+ // Assume C++ owns everything.
|
|
||||||
+ PyObject *obj = sipConvertFromNewPyType(this, pyqt_types.at(typeNr()),
|
|
||||||
+ NULL, &sipPySelf, "D", parent, sipType_QWindow, NULL);
|
|
||||||
+
|
|
||||||
+ if (!obj)
|
|
||||||
+ pyqt5_qtquick_err_print();
|
|
||||||
+
|
|
||||||
+ SIP_UNBLOCK_THREADS
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The canned type implementations.
|
|
||||||
+#define QPYQUICKWINDOW_IMPL(n) \
|
|
||||||
+QPyQuickWindow##n::QPyQuickWindow##n(QWindow *parent) : QPyQuickWindow(parent) \
|
|
||||||
+{ \
|
|
||||||
+ createPyObject(parent); \
|
|
||||||
+} \
|
|
||||||
+QMetaObject QPyQuickWindow##n::staticMetaObject
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+QPYQUICKWINDOW_IMPL(0);
|
|
||||||
+QPYQUICKWINDOW_IMPL(1);
|
|
||||||
+QPYQUICKWINDOW_IMPL(2);
|
|
||||||
+QPYQUICKWINDOW_IMPL(3);
|
|
||||||
+QPYQUICKWINDOW_IMPL(4);
|
|
||||||
+QPYQUICKWINDOW_IMPL(5);
|
|
||||||
+QPYQUICKWINDOW_IMPL(6);
|
|
||||||
+QPYQUICKWINDOW_IMPL(7);
|
|
||||||
+QPYQUICKWINDOW_IMPL(8);
|
|
||||||
+QPYQUICKWINDOW_IMPL(9);
|
|
||||||
+QPYQUICKWINDOW_IMPL(10);
|
|
||||||
+QPYQUICKWINDOW_IMPL(11);
|
|
||||||
+QPYQUICKWINDOW_IMPL(12);
|
|
||||||
+QPYQUICKWINDOW_IMPL(13);
|
|
||||||
+QPYQUICKWINDOW_IMPL(14);
|
|
||||||
+QPYQUICKWINDOW_IMPL(15);
|
|
||||||
+QPYQUICKWINDOW_IMPL(16);
|
|
||||||
+QPYQUICKWINDOW_IMPL(17);
|
|
||||||
+QPYQUICKWINDOW_IMPL(18);
|
|
||||||
+QPYQUICKWINDOW_IMPL(19);
|
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.h PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.h
|
|
||||||
--- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.h 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.h 2018-03-29 03:32:17.000000000 +0200
|
|
||||||
@@ -0,0 +1,87 @@
|
|
||||||
+// This is the definition of the QPyQuickWindow classes.
|
|
||||||
+//
|
|
||||||
+// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
|
|
||||||
+//
|
|
||||||
+// This file is part of PyQt5.
|
|
||||||
+//
|
|
||||||
+// This file may be used under the terms of the GNU General Public License
|
|
||||||
+// version 3.0 as published by the Free Software Foundation and appearing in
|
|
||||||
+// the file LICENSE included in the packaging of this file. Please review the
|
|
||||||
+// following information to ensure the GNU General Public License version 3.0
|
|
||||||
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
+//
|
|
||||||
+// If you do not wish to use this file under the terms of the GPL version 3.0
|
|
||||||
+// then you may purchase a commercial license. For more information contact
|
|
||||||
+// info@riverbankcomputing.com.
|
|
||||||
+//
|
|
||||||
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
|
||||||
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#ifndef _QPYQUICKWINDOW_H
|
|
||||||
+#define _QPYQUICKWINDOW_H
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#include <Python.h>
|
|
||||||
+
|
|
||||||
+#include <qqmlprivate.h>
|
|
||||||
+#include <QByteArray>
|
|
||||||
+#include <QMetaObject>
|
|
||||||
+#include <QQuickWindow>
|
|
||||||
+
|
|
||||||
+#include "sipAPIQtQuick.h"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+class QPyQuickWindow : public sipQQuickWindow
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ QPyQuickWindow(QWindow *parent = 0);
|
|
||||||
+
|
|
||||||
+ virtual int typeNr() const = 0;
|
|
||||||
+
|
|
||||||
+ static QQmlPrivate::RegisterType *addType(PyTypeObject *type,
|
|
||||||
+ const QMetaObject *mo, const QByteArray &ptr_name,
|
|
||||||
+ const QByteArray &list_name);
|
|
||||||
+ void createPyObject(QWindow *parent);
|
|
||||||
+
|
|
||||||
+private:
|
|
||||||
+ QPyQuickWindow(const QPyQuickWindow &);
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+// The canned type declarations.
|
|
||||||
+#define QPYQUICKWINDOW_DECL(n) \
|
|
||||||
+class QPyQuickWindow##n : public QPyQuickWindow \
|
|
||||||
+{ \
|
|
||||||
+public: \
|
|
||||||
+ QPyQuickWindow##n(QWindow *parent = 0); \
|
|
||||||
+ static QMetaObject staticMetaObject; \
|
|
||||||
+ virtual int typeNr() const {return n##U;} \
|
|
||||||
+private: \
|
|
||||||
+ QPyQuickWindow##n(const QPyQuickWindow##n &); \
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+QPYQUICKWINDOW_DECL(0);
|
|
||||||
+QPYQUICKWINDOW_DECL(1);
|
|
||||||
+QPYQUICKWINDOW_DECL(2);
|
|
||||||
+QPYQUICKWINDOW_DECL(3);
|
|
||||||
+QPYQUICKWINDOW_DECL(4);
|
|
||||||
+QPYQUICKWINDOW_DECL(5);
|
|
||||||
+QPYQUICKWINDOW_DECL(6);
|
|
||||||
+QPYQUICKWINDOW_DECL(7);
|
|
||||||
+QPYQUICKWINDOW_DECL(8);
|
|
||||||
+QPYQUICKWINDOW_DECL(9);
|
|
||||||
+QPYQUICKWINDOW_DECL(10);
|
|
||||||
+QPYQUICKWINDOW_DECL(11);
|
|
||||||
+QPYQUICKWINDOW_DECL(12);
|
|
||||||
+QPYQUICKWINDOW_DECL(13);
|
|
||||||
+QPYQUICKWINDOW_DECL(14);
|
|
||||||
+QPYQUICKWINDOW_DECL(15);
|
|
||||||
+QPYQUICKWINDOW_DECL(16);
|
|
||||||
+QPYQUICKWINDOW_DECL(17);
|
|
||||||
+QPYQUICKWINDOW_DECL(18);
|
|
||||||
+QPYQUICKWINDOW_DECL(19);
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/sip/QtQuick/qquickview.sip PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickview.sip
|
|
||||||
--- PyQt5_gpl-5.10.1/sip/QtQuick/qquickview.sip 2018-02-27 11:43:53.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickview.sip 2018-03-29 03:32:18.000000000 +0200
|
|
||||||
@@ -20,7 +20,7 @@
|
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
|
|
||||||
-class QQuickView : QQuickWindow
|
|
||||||
+class QQuickView : QQuickWindow /ExportDerived/
|
|
||||||
{
|
|
||||||
%TypeHeaderCode
|
|
||||||
#include <qquickview.h>
|
|
||||||
diff -ur --new-file PyQt5_gpl-5.10.1/sip/QtQuick/qquickwindow.sip PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickwindow.sip
|
|
||||||
--- PyQt5_gpl-5.10.1/sip/QtQuick/qquickwindow.sip 2018-02-27 11:43:53.000000000 +0100
|
|
||||||
+++ PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickwindow.sip 2018-03-29 03:32:18.000000000 +0200
|
|
||||||
@@ -20,7 +20,7 @@
|
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
|
|
||||||
-class QQuickWindow : QWindow
|
|
||||||
+class QQuickWindow : QWindow /ExportDerived/
|
|
||||||
{
|
|
||||||
%TypeHeaderCode
|
|
||||||
#include <qquickwindow.h>
|
|
Loading…
Reference in a new issue