eric6/Helpviewer/PageScreenDialog.py

branch
maintenance
changeset 7286
7eb04391adf7
parent 7226
babe80d84a3e
parent 7285
1ff497f33f31
child 7287
1c17f2191bdd
--- a/eric6/Helpviewer/PageScreenDialog.py	Mon Sep 09 18:52:08 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2012 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a dialog to save a screenshot of a web page.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import pyqtSlot, Qt, QFile, QFileInfo
-from PyQt5.QtGui import QImage, QPainter, QPixmap
-from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QAbstractButton
-
-from E5Gui import E5FileDialog, E5MessageBox
-
-from .Ui_PageScreenDialog import Ui_PageScreenDialog
-
-
-class PageScreenDialog(QDialog, Ui_PageScreenDialog):
-    """
-    Class implementing a dialog to save a screenshot of a web page.
-    """
-    def __init__(self, view, visibleOnly=False, parent=None):
-        """
-        Constructor
-        
-        @param view reference to the web view containing the page to be saved
-            (HelpBrowser)
-        @param visibleOnly flag indicating to just save the visible part
-            of the page (boolean)
-        @param parent reference to the parent widget (QWidget)
-        """
-        super(PageScreenDialog, self).__init__(parent)
-        self.setupUi(self)
-        self.setWindowFlags(Qt.Window)
-        
-        self.__view = view
-        self.__createPixmap(visibleOnly)
-        self.pageScreenLabel.setPixmap(self.__pagePixmap)
-    
-    def __createPixmap(self, visibleOnly):
-        """
-        Private slot to create a pixmap of the associated view's page.
-        
-        @param visibleOnly flag indicating to just save the visible part
-            of the page (boolean)
-        """
-        page = self.__view.page()
-        origSize = page.viewportSize()
-        if not visibleOnly:
-            page.setViewportSize(page.mainFrame().contentsSize())
-        
-        image = QImage(page.viewportSize(), QImage.Format_ARGB32)
-        painter = QPainter(image)
-        page.mainFrame().render(painter)
-        painter.end()
-        
-        self.__pagePixmap = QPixmap.fromImage(image)
-        
-        page.setViewportSize(origSize)
-    
-    def __savePageScreen(self):
-        """
-        Private slot to save the page screen.
-        
-        @return flag indicating success (boolean)
-        """
-        fileName = E5FileDialog.getSaveFileName(
-            self,
-            self.tr("Save Page Screen"),
-            self.tr("screen.png"),
-            self.tr("Portable Network Graphics File (*.png)"),
-            E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
-        if not fileName:
-            return False
-        
-        if QFileInfo(fileName).exists():
-            res = E5MessageBox.yesNo(
-                self,
-                self.tr("Save Page Screen"),
-                self.tr("<p>The file <b>{0}</b> already exists."
-                        " Overwrite it?</p>").format(fileName),
-                icon=E5MessageBox.Warning)
-            if not res:
-                return False
-        
-        file = QFile(fileName)
-        if not file.open(QFile.WriteOnly):
-            E5MessageBox.warning(
-                self,
-                self.tr("Save Page Screen"),
-                self.tr("Cannot write file '{0}:\n{1}.")
-                .format(fileName, file.errorString()))
-            return False
-        
-        res = self.__pagePixmap.save(file)
-        file.close()
-        
-        if not res:
-            E5MessageBox.warning(
-                self,
-                self.tr("Save Page Screen"),
-                self.tr("Cannot write file '{0}:\n{1}.")
-                .format(fileName, file.errorString()))
-            return False
-        
-        return True
-    
-    @pyqtSlot(QAbstractButton)
-    def on_buttonBox_clicked(self, button):
-        """
-        Private slot to handle clicks of the dialog buttons.
-        
-        @param button button that was clicked (QAbstractButton)
-        """
-        if button == self.buttonBox.button(QDialogButtonBox.Cancel):
-            self.reject()
-        elif button == self.buttonBox.button(QDialogButtonBox.Save):
-            if self.__savePageScreen():
-                self.accept()

eric ide

mercurial