--- a/WebBrowser/WebBrowserWindow.py Wed Jul 13 08:48:54 2016 +0200 +++ b/WebBrowser/WebBrowserWindow.py Wed Jul 13 09:44:59 2016 +0200 @@ -607,24 +607,26 @@ if not self.__initShortcutsOnly: self.openTabAct.triggered.connect(self.__openFileNewTab) self.__actions.append(self.openTabAct) - # TODO: Qt 5.7: Save -## -## self.saveAsAct = E5Action( -## self.tr('Save As'), -## UI.PixmapCache.getIcon("fileSaveAs.png"), -## self.tr('&Save As...'), -## QKeySequence(self.tr("Shift+Ctrl+S", "File|Save As")), -## 0, self, 'webbrowser_file_save_as') -## self.saveAsAct.setStatusTip( -## self.tr('Save the current page to disk')) -## self.saveAsAct.setWhatsThis(self.tr( -## """<b>Save As...</b>""" -## """<p>Saves the current page to disk.</p>""" -## )) -## if not self.__initShortcutsOnly: -## self.saveAsAct.triggered.connect(self.__savePageAs) -## self.__actions.append(self.saveAsAct) -## + + if hasattr(QWebEnginePage, "SavePage"): + self.saveAsAct = E5Action( + self.tr('Save As'), + UI.PixmapCache.getIcon("fileSaveAs.png"), + self.tr('&Save As...'), + QKeySequence(self.tr("Shift+Ctrl+S", "File|Save As")), + 0, self, 'webbrowser_file_save_as') + self.saveAsAct.setStatusTip( + self.tr('Save the current page to disk')) + self.saveAsAct.setWhatsThis(self.tr( + """<b>Save As...</b>""" + """<p>Saves the current page to disk.</p>""" + )) + if not self.__initShortcutsOnly: + self.saveAsAct.triggered.connect(self.__savePageAs) + self.__actions.append(self.saveAsAct) + else: + self.saveAsAct = None + self.savePageScreenAct = E5Action( self.tr('Save Page Screen'), UI.PixmapCache.getIcon("fileSavePixmap.png"), @@ -1739,8 +1741,8 @@ menu.addAction(self.openAct) menu.addAction(self.openTabAct) menu.addSeparator() - # TODO: Qt 5.7: Save -## menu.addAction(self.saveAsAct) + if self.saveAsAct is not None: + menu.addAction(self.saveAsAct) menu.addAction(self.savePageScreenAct) menu.addAction(self.saveVisiblePageScreenAct) menu.addSeparator() @@ -1901,8 +1903,8 @@ filetb.addAction(self.openAct) filetb.addAction(self.openTabAct) filetb.addSeparator() - # TODO: Qt 5.7: Save -## filetb.addAction(self.saveAsAct) + if self.saveAsAct is not None: + filetb.addAction(self.saveAsAct) filetb.addAction(self.savePageScreenAct) filetb.addSeparator() filetb.addAction(self.printPreviewAct) @@ -2187,7 +2189,7 @@ self, self.tr("Open File"), "", - self.tr("Help Files (*.html *.htm);;" + self.tr("HTML Files (*.html *.htm *.mhtml);;" "PDF Files (*.pdf);;" "CHM Files (*.chm);;" "All Files (*)" @@ -2207,7 +2209,7 @@ self, self.tr("Open File"), "", - self.tr("Help Files (*.html *.htm);;" + self.tr("HTML Files (*.html *.htm *.mhtml);;" "PDF Files (*.pdf);;" "CHM Files (*.chm);;" "All Files (*)" @@ -2219,15 +2221,14 @@ url = "file://" + fn self.newTab(url) - # TODO: Qt 5.7: Save -## def __savePageAs(self): -## """ -## Private slot to save the current page. -## """ -## browser = self.currentBrowser() -## if browser is not None: -## browser.saveAs() -## + def __savePageAs(self): + """ + Private slot to save the current page. + """ + browser = self.currentBrowser() + if browser is not None: + browser.saveAs() + @pyqtSlot() def __savePageScreen(self, visibleOnly=False): """