From 1e8896f509bd3435b97b6036c02fb177e5f5e526 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 11 Jun 2019 13:31:40 +0200 Subject: TabbedBrowser Example: Fix "Open in new tab" Restore override of QWebEngineView::createWindow() broken by 90c1c767095e583d0315e87c0592597020858246. Change-Id: I6cdc05c3b8edbfb9da24ca3d6502cec2ccce870a Fixes: PYSIDE-1022 Reviewed-by: Cristian Maureira-Fredes --- examples/webenginewidgets/tabbedbrowser/webengineview.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/webenginewidgets/tabbedbrowser/webengineview.py b/examples/webenginewidgets/tabbedbrowser/webengineview.py index 7b5775bc8..4fdbf1801 100644 --- a/examples/webenginewidgets/tabbedbrowser/webengineview.py +++ b/examples/webenginewidgets/tabbedbrowser/webengineview.py @@ -79,7 +79,7 @@ class WebEngineView(QWebEngineView): def is_web_action_enabled(self, web_action): return self.page().action(web_action).isEnabled() - def create_window(self, window_type): + def createWindow(self, window_type): if window_type == QWebEnginePage.WebBrowserTab or window_type == QWebEnginePage.WebBrowserBackgroundTab: return self._tab_factory_func() return self._window_factory_func() -- cgit v1.2.3 From 077db7a4a432c78490ae34ead3f1d5338175b81c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 12 Jun 2019 10:32:21 +0200 Subject: Examples: Use QSaveFile QSaveFile should preferably used for writing out files from editor applications to ensure files are properly written and existing files are not overwritten should writing fail. Change-Id: I5d9b98c168649d23f5ee31171b1729fd230dc8de Reviewed-by: Christian Tismer --- .../widgets/mainwindows/application/application.py | 23 ++++++++++++--------- examples/widgets/mainwindows/mdi/mdi.py | 24 +++++++++++++--------- 2 files changed, 27 insertions(+), 20 deletions(-) (limited to 'examples') diff --git a/examples/widgets/mainwindows/application/application.py b/examples/widgets/mainwindows/application/application.py index e0a46bdad..624fb47d5 100644 --- a/examples/widgets/mainwindows/application/application.py +++ b/examples/widgets/mainwindows/application/application.py @@ -229,19 +229,22 @@ class MainWindow(QtWidgets.QMainWindow): self.statusBar().showMessage("File loaded", 2000) def saveFile(self, fileName): - file = QtCore.QFile(fileName) - if not file.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): - QtWidgets.QMessageBox.warning(self, "Application", - "Cannot write file %s:\n%s." % (fileName, file.errorString())) - return False - - outf = QtCore.QTextStream(file) + error = None QtWidgets.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor) - - # FIXME: Once file is out of scope, the file is empty, instead of having text. - outf << self.textEdit.toPlainText() + file = QtCore.QSaveFile(fileName) + if file.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): + outf = QtCore.QTextStream(file) + outf << self.textEdit.toPlainText() + if not file.commit(): + error = "Cannot write file %s:\n%s." % (fileName, file.errorString()) + else: + error = "Cannot open file %s:\n%s." % (fileName, file.errorString()) QtWidgets.QApplication.restoreOverrideCursor() + if error: + QtWidgets.QMessageBox.warning(self, "Application", error) + return False + self.setCurrentFile(fileName) self.statusBar().showMessage("File saved", 2000) return True diff --git a/examples/widgets/mainwindows/mdi/mdi.py b/examples/widgets/mainwindows/mdi/mdi.py index b3c1c1eb9..9daca826d 100644 --- a/examples/widgets/mainwindows/mdi/mdi.py +++ b/examples/widgets/mainwindows/mdi/mdi.py @@ -43,7 +43,7 @@ """PySide2 port of the widgets/draganddrop/draggabletext example from Qt v5.x, originating from PyQt""" from PySide2.QtCore import (QFile, QFileInfo, QPoint, QSettings, QSignalMapper, - QSize, QTextStream, Qt) + QSaveFile, QSize, QTextStream, Qt) from PySide2.QtGui import QIcon, QKeySequence from PySide2.QtWidgets import (QAction, QApplication, QFileDialog, QMainWindow, QMdiArea, QMessageBox, QTextEdit, QWidget) @@ -100,18 +100,22 @@ class MdiChild(QTextEdit): return self.saveFile(fileName) def saveFile(self, fileName): - file = QFile(fileName) - - if not file.open(QFile.WriteOnly | QFile.Text): - QMessageBox.warning(self, "MDI", - "Cannot write file %s:\n%s." % (fileName, file.errorString())) - return False - - outstr = QTextStream(file) + error = None QApplication.setOverrideCursor(Qt.WaitCursor) - outstr << self.toPlainText() + file = QSaveFile(fileName) + if file.open(QFile.WriteOnly | QFile.Text): + outstr = QTextStream(file) + outstr << self.toPlainText() + if not file.commit(): + error = "Cannot write file %s:\n%s." % (fileName, file.errorString()) + else: + error = "Cannot open file %s:\n%s." % (fileName, file.errorString()) QApplication.restoreOverrideCursor() + if error: + QMessageBox.warning(self, "MDI", error) + return False + self.setCurrentFile(fileName) return True -- cgit v1.2.3