diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-03-01 08:19:26 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-03-01 08:19:26 +0100 |
commit | 639c5df6ad397ba98ca727c744278372087b2d46 (patch) | |
tree | 31e84eab330cb8a0a1f1236c85c8fad968918ceb /sources/pyside2/PySide2 | |
parent | b97ccab8c268d260f704e11b33d64fa31f74e258 (diff) | |
parent | 099f3f46ca9ec1362f211278df4b3e4949b0a339 (diff) |
Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I0f3c2de6195b863dc60ecbb988e4e14182e3ad03
Diffstat (limited to 'sources/pyside2/PySide2')
-rw-r--r-- | sources/pyside2/PySide2/QtPrintSupport/CMakeLists.txt | 6 | ||||
-rw-r--r-- | sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml.in | 46 | ||||
-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.xml | 3 | ||||
-rw-r--r-- | sources/pyside2/PySide2/QtWebEngineWidgets/CMakeLists.txt | 4 | ||||
-rw-r--r-- | sources/pyside2/PySide2/QtWebEngineWidgets/typesystem_webenginewidgets.xml | 1 | ||||
-rw-r--r-- | sources/pyside2/PySide2/glue/qtprintsupport.cpp | 43 | ||||
-rw-r--r-- | sources/pyside2/PySide2/support/generate_pyi.py | 10 |
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&)" 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&)"> <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&)"> <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&,QObject*,const QString&)"> <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 |