aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-03-01 08:19:26 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-03-01 08:19:26 +0100
commit639c5df6ad397ba98ca727c744278372087b2d46 (patch)
tree31e84eab330cb8a0a1f1236c85c8fad968918ceb /sources/pyside2/PySide2
parentb97ccab8c268d260f704e11b33d64fa31f74e258 (diff)
parent099f3f46ca9ec1362f211278df4b3e4949b0a339 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Diffstat (limited to 'sources/pyside2/PySide2')
-rw-r--r--sources/pyside2/PySide2/QtPrintSupport/CMakeLists.txt6
-rw-r--r--sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml.in46
-rw-r--r--sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport_common.xml (renamed from sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml)7
-rw-r--r--sources/pyside2/PySide2/QtUiTools/typesystem_uitools.xml3
-rw-r--r--sources/pyside2/PySide2/QtWebEngineWidgets/CMakeLists.txt4
-rw-r--r--sources/pyside2/PySide2/QtWebEngineWidgets/typesystem_webenginewidgets.xml1
-rw-r--r--sources/pyside2/PySide2/glue/qtprintsupport.cpp43
-rw-r--r--sources/pyside2/PySide2/support/generate_pyi.py10
8 files changed, 117 insertions, 3 deletions
diff --git a/sources/pyside2/PySide2/QtPrintSupport/CMakeLists.txt b/sources/pyside2/PySide2/QtPrintSupport/CMakeLists.txt
index 3482c68fe..74d3dfb88 100644
--- a/sources/pyside2/PySide2/QtPrintSupport/CMakeLists.txt
+++ b/sources/pyside2/PySide2/QtPrintSupport/CMakeLists.txt
@@ -13,6 +13,9 @@ ${QtPrintSupport_GEN_DIR}/qprintpreviewwidget_wrapper.cpp
${QtPrintSupport_GEN_DIR}/qtprintsupport_module_wrapper.cpp
)
+configure_file("${QtPrintSupport_SOURCE_DIR}/typesystem_printsupport.xml.in"
+ "${QtPrintSupport_BINARY_DIR}/typesystem_printsupport.xml" @ONLY)
+
set(QtPrintSupport_include_dirs ${QtPrintSupport_SOURCE_DIR}
${QtPrintSupport_BINARY_DIR}
${Qt5Core_INCLUDE_DIRS}
@@ -36,4 +39,5 @@ create_pyside_module(NAME QtPrintSupport
LIBRARIES QtPrintSupport_libraries
DEPS QtPrintSupport_deps
TYPESYSTEM_PATH QtPrintSupport_SOURCE_DIR
- SOURCES QtPrintSupport_SRC)
+ SOURCES QtPrintSupport_SRC
+ TYPESYSTEM_NAME ${QtPrintSupport_BINARY_DIR}/typesystem_printsupport.xml)
diff --git a/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml.in b/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml.in
new file mode 100644
index 000000000..7949b2daa
--- /dev/null
+++ b/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml.in
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt for Python.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+-->
+<typesystem package="PySide2.QtPrintSupport">
+ <load-typesystem name="QtGui/typesystem_gui.xml" generate="no"/>
+ <load-typesystem name="QtWidgets/typesystem_widgets.xml" generate="no"/>
+ <load-typesystem name="QtPrintSupport/typesystem_printsupport_common.xml" generate="yes"/>
+</typesystem>
diff --git a/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml b/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport_common.xml
index f85aadc79..5026997c1 100644
--- a/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml
+++ b/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport_common.xml
@@ -40,7 +40,6 @@
****************************************************************************/
-->
<typesystem package="PySide2.QtPrintSupport">
- <load-typesystem name="QtWidgets/typesystem_widgets.xml" generate="no"/>
<object-type name="QPageSetupDialog">
<modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
@@ -105,6 +104,12 @@
<extra-includes>
<include file-name="QPrinterInfo" location="global"/>
</extra-includes>
+ <!-- fixme: Check if this is still required in Qt 6:
+ bool QPagedPaintDevice::setPageSize(QPageSize)
+ void QPagedPaintDevice::setPageSize(QPagedPaintDevice::PageSize) -->
+ <add-function signature="setPageSize(const QPageSize&amp;)" return-type="bool">
+ <inject-code file="../glue/qtprintsupport.cpp" snippet="setpagesize" />
+ </add-function>
</object-type>
<object-type name="QPrintPreviewDialog"/>
diff --git a/sources/pyside2/PySide2/QtUiTools/typesystem_uitools.xml b/sources/pyside2/PySide2/QtUiTools/typesystem_uitools.xml
index 8086da01e..2cbe490aa 100644
--- a/sources/pyside2/PySide2/QtUiTools/typesystem_uitools.xml
+++ b/sources/pyside2/PySide2/QtUiTools/typesystem_uitools.xml
@@ -90,18 +90,21 @@
<modify-function signature="createAction(QObject*,const QString&amp;)">
<modify-argument index="return">
<parent index="1" action="add"/>
+ <define-ownership class="target" owner="default"/>
</modify-argument>
</modify-function>
<modify-function signature="createActionGroup(QObject*,const QString&amp;)">
<modify-argument index="return">
<parent index="1" action="add"/>
+ <define-ownership class="target" owner="default"/>
</modify-argument>
</modify-function>
<modify-function signature="createLayout(const QString&amp;,QObject*,const QString&amp;)">
<modify-argument index="return">
<parent index="2" action="add"/>
+ <define-ownership class="target" owner="default"/>
</modify-argument>
</modify-function>
diff --git a/sources/pyside2/PySide2/QtWebEngineWidgets/CMakeLists.txt b/sources/pyside2/PySide2/QtWebEngineWidgets/CMakeLists.txt
index 555be9c41..214ebc56b 100644
--- a/sources/pyside2/PySide2/QtWebEngineWidgets/CMakeLists.txt
+++ b/sources/pyside2/PySide2/QtWebEngineWidgets/CMakeLists.txt
@@ -34,6 +34,7 @@ set(QtWebEngineWidgets_include_dirs
${QtNetwork_GEN_DIR}
${QtWebChannel_GEN_DIR}
${QtWebEngineCore_GEN_DIR}
+ ${QtPrintSupport_GEN_DIR}
)
set(QtWebEngineWidgets_libraries pyside2
${Qt5WebEngineWidgets_LIBRARIES}
@@ -42,8 +43,9 @@ set(QtWebEngineWidgets_libraries pyside2
${Qt5Widgets_LIBRARIES}
${Qt5Gui_LIBRARIES}
${Qt5Core_LIBRARIES}
+ ${Qt5PrintSupport_LIBRARIES}
)
-set(QtWebEngineWidgets_deps QtGui QtWidgets QtNetwork QtWebChannel)
+set(QtWebEngineWidgets_deps QtGui QtWidgets QtNetwork QtWebChannel QtPrintSupport)
create_pyside_module(NAME QtWebEngineWidgets
INCLUDE_DIRS QtWebEngineWidgets_include_dirs
LIBRARIES QtWebEngineWidgets_libraries
diff --git a/sources/pyside2/PySide2/QtWebEngineWidgets/typesystem_webenginewidgets.xml b/sources/pyside2/PySide2/QtWebEngineWidgets/typesystem_webenginewidgets.xml
index e51303c42..cd4cd8a91 100644
--- a/sources/pyside2/PySide2/QtWebEngineWidgets/typesystem_webenginewidgets.xml
+++ b/sources/pyside2/PySide2/QtWebEngineWidgets/typesystem_webenginewidgets.xml
@@ -46,6 +46,7 @@
<load-typesystem name="QtNetwork/typesystem_network.xml" generate="no"/>
<load-typesystem name="QtWebChannel/typesystem_webchannel.xml" generate="no"/>
<load-typesystem name="QtWebEngineCore/typesystem_webenginecore.xml" generate="no"/>
+ <load-typesystem name="QtPrintSupport/typesystem_printsupport.xml" generate="no"/>
<object-type name="QWebEngineCertificateError">
diff --git a/sources/pyside2/PySide2/glue/qtprintsupport.cpp b/sources/pyside2/PySide2/glue/qtprintsupport.cpp
new file mode 100644
index 000000000..300a498c0
--- /dev/null
+++ b/sources/pyside2/PySide2/glue/qtprintsupport.cpp
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt for Python.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// @snippet setpagesize
+bool out = %CPPSELF.setPageSize(%1);
+%PYARG_0 = %CONVERTTOPYTHON[bool](out);
+// @snippet setpagesize
diff --git a/sources/pyside2/PySide2/support/generate_pyi.py b/sources/pyside2/PySide2/support/generate_pyi.py
index a92ee76f0..21ef841fe 100644
--- a/sources/pyside2/PySide2/support/generate_pyi.py
+++ b/sources/pyside2/PySide2/support/generate_pyi.py
@@ -53,6 +53,13 @@ import re
import subprocess
import argparse
import glob
+# PYSIDE-953: Use a newer contextlib for Python 3.5
+skip_creation = False
+if sys.version_info[:2] == (3, 5):
+ try:
+ import PySide2.support.signature # gets new contextlib
+ except:
+ skip_creation = True
from contextlib import contextmanager
from textwrap import dedent
@@ -272,6 +279,9 @@ def single_process(lockdir):
def generate_all_pyi(outpath, options):
+ if skip_creation:
+ logger.warn("Sorry, we cannot create .pyi files with Python 3.5 while PySide")
+ logger.warn(" is not installed. Please run it by hand!")
ps = os.pathsep
if options.sys_path:
# make sure to propagate the paths from sys_path to subprocesses