eric6/Helpviewer/SpeedDial/PageThumbnailer.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
--- a/eric6/Helpviewer/SpeedDial/PageThumbnailer.py	Sat Sep 07 14:45:27 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2012 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing an object to create a thumbnail image of a web site.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import pyqtSignal, QObject, QSize, Qt, QUrl
-from PyQt5.QtGui import QPixmap, QImage, QPainter
-from PyQt5.QtWebKitWidgets import QWebPage
-
-from ..Network.NetworkAccessManagerProxy import NetworkAccessManagerProxy
-
-
-class PageThumbnailer(QObject):
-    """
-    Class implementing a thumbnail creator for web sites.
-    
-    @signal thumbnailCreated(QPixmap) emitted after the thumbnail has been
-        created
-    """
-    thumbnailCreated = pyqtSignal(QPixmap)
-    
-    def __init__(self, parent=None):
-        """
-        Constructor
-        
-        @param parent reference to the parent object (QObject)
-        """
-        super(PageThumbnailer, self).__init__(parent)
-        
-        self.__page = QWebPage(self)
-        self.__size = QSize(231, 130)
-        self.__loadTitle = False
-        self.__title = ""
-        self.__url = QUrl()
-        
-        self.__proxy = NetworkAccessManagerProxy(self)
-        import Helpviewer.HelpWindow
-        self.__proxy.setPrimaryNetworkAccessManager(
-            Helpviewer.HelpWindow.HelpWindow.networkAccessManager())
-        self.__page.setNetworkAccessManager(self.__proxy)
-        
-        self.__page.mainFrame().setScrollBarPolicy(
-            Qt.Horizontal, Qt.ScrollBarAlwaysOff)
-        self.__page.mainFrame().setScrollBarPolicy(
-            Qt.Vertical, Qt.ScrollBarAlwaysOff)
-        
-        # Full HD
-        # Every page should fit in this resolution
-        self.__page.setViewportSize(QSize(1920, 1080))
-    
-    def setSize(self, size):
-        """
-        Public method to set the size of the image.
-        
-        @param size size of the image (QSize)
-        """
-        if size.isValid():
-            self.__size = QSize(size)
-    
-    def setUrl(self, url):
-        """
-        Public method to set the URL of the site to be thumbnailed.
-        
-        @param url URL of the web site (QUrl)
-        """
-        if url.isValid():
-            self.__url = QUrl(url)
-    
-    def url(self):
-        """
-        Public method to get the URL of the thumbnail.
-        
-        @return URL of the thumbnail (QUrl)
-        """
-        return QUrl(self.__url)
-    
-    def loadTitle(self):
-        """
-        Public method to check, if the title is loaded from the web site.
-        
-        @return flag indicating, that the title is loaded (boolean)
-        """
-        return self.__loadTitle
-    
-    def setLoadTitle(self, load):
-        """
-        Public method to set a flag indicating to load the title from
-        the web site.
-        
-        @param load flag indicating to load the title (boolean)
-        """
-        self.__loadTitle = load
-    
-    def title(self):
-        """
-        Public method to get the title of the thumbnail.
-        
-        @return title of the thumbnail (string)
-        """
-        return self.__title
-    
-    def start(self):
-        """
-        Public method to start the thumbnailing action.
-        """
-        self.__page.loadFinished.connect(self.__createThumbnail)
-        self.__page.mainFrame().load(self.__url)
-    
-    def __createThumbnail(self, status):
-        """
-        Private slot creating the thumbnail of the web site.
-        
-        @param status flag indicating a successful load of the web site
-            (boolean)
-        """
-        if not status:
-            self.thumbnailCreated.emit(QPixmap())
-            return
-        
-        self.__title = self.__page.mainFrame().title()
-        
-        image = QImage(self.__page.viewportSize(), QImage.Format_ARGB32)
-        painter = QPainter(image)
-        self.__page.mainFrame().render(painter)
-        painter.end()
-        
-        scaledImage = image.scaled(self.__size,
-                                   Qt.KeepAspectRatioByExpanding,
-                                   Qt.SmoothTransformation)
-        
-        self.thumbnailCreated.emit(QPixmap.fromImage(scaledImage))

eric ide

mercurial