WebBrowser/Network/EricSchemeHandler.py

branch
QtWebEngine
changeset 4868
985d275502c8
parent 4861
d419f153925d
child 4885
362360f9a979
--- a/WebBrowser/Network/EricSchemeHandler.py	Thu Mar 17 20:22:20 2016 +0100
+++ b/WebBrowser/Network/EricSchemeHandler.py	Fri Mar 18 20:05:12 2016 +0100
@@ -23,6 +23,7 @@
     SupportedPages = [
         "adblock",          # error page for URLs blocked by AdBlock
         "home", "start", "startpage",       # eric home page
+        "speeddial",                        # eric speeddial
     ]
     
     def __init__(self, parent=None):
@@ -70,6 +71,8 @@
     """
     closed = pyqtSignal()
     
+    _speedDialPage = ""
+    
     def __init__(self, job, parent=None):
         """
         Constructor
@@ -105,6 +108,8 @@
             stream << self.__adBlockPage()
         elif self.__pageName in ["home", "start", "startpage"]:
             stream << self.__startPage()
+        elif self.__pageName == "speeddial":
+            stream << self.__speedDialPage()
         
         stream.flush()
         self.__buffer.reset()
@@ -181,3 +186,58 @@
         page = page.replace("@QT_LAYOUT_DIRECTION@", ltr)
         
         return page
+    
+    def __speedDialPage(self):
+        """
+        Private method to create the Speeddial page.
+        
+        @return prepared speeddial page (QByteArray)
+        """
+        if not self._speedDialPage:
+            page = readAllFileContents(":/html/speeddialPage.html")
+            page = (
+                page.replace("@FAVICON@", "qrc:icons/ericWeb16.png")
+                .replace("@IMG_PLUS@", "qrc:icons/plus.png")
+                .replace("@IMG_CLOSE@", "qrc:icons/close.png")
+                .replace("@IMG_EDIT@", "qrc:icons/edit.png")
+                .replace("@IMG_RELOAD@", "qrc:icons/reload.png")
+                .replace("@IMG_SETTINGS@", "qrc:icons/setting.png")
+                .replace("@LOADING-IMG@", "qrc:icons/loading.gif")
+                .replace("@BOX-BORDER@", "qrc:icons/box-border-small.png")
+                
+                .replace("@JQUERY@", "qrc:javascript/jquery.js")
+                .replace("@JQUERY-UI@", "qrc:javascript/jquery-ui.js")
+                
+                .replace("@SITE-TITLE@", self.tr("Speed Dial"))
+                .replace("@URL@", self.tr("URL"))
+                .replace("@TITLE@", self.tr("Title"))
+                .replace("@APPLY@", self.tr("Apply"))
+                .replace("@CLOSE@", self.tr("Close"))
+                .replace("@NEW-PAGE@", self.tr("New Page"))
+                .replace("@TITLE-EDIT@", self.tr("Edit"))
+                .replace("@TITLE-REMOVE@", self.tr("Remove"))
+                .replace("@TITLE-RELOAD@", self.tr("Reload"))
+                .replace("@TITLE-WARN@",
+                         self.tr("Are you sure to remove this speed dial?"))
+                .replace("@TITLE-FETCHTITLE@",
+                         self.tr("Load title from page"))
+                .replace("@SETTINGS-TITLE@",
+                         self.tr("Speed Dial Settings"))
+                .replace("@ADD-TITLE@", self.tr("Add New Page"))
+                .replace("@TXT_NRROWS@",
+                         self.tr("Maximum pages in a row:"))
+                .replace("@TXT_SDSIZE@", self.tr("Change size of pages:"))
+            )
+            
+            self._speedDialPage = page
+        
+        from WebBrowser.WebBrowserWindow import WebBrowserWindow
+        dial = WebBrowserWindow.speedDial()
+        page = (
+            self._speedDialPage
+            .replace("@INITIAL-SCRIPT@", dial.initialScript())
+            .replace("@ROW-PAGES@", str(dial.pagesInRow()))
+            .replace("@SD-SIZE@", str(dial.sdSize()))
+        )
+        
+        return page

eric ide

mercurial