WebBrowser/Network/EricSchemeHandler.py

branch
QtWebEngine
changeset 4861
d419f153925d
parent 4859
36c4b21c9f7b
child 4868
985d275502c8
diff -r 0a44aff88bfa -r d419f153925d WebBrowser/Network/EricSchemeHandler.py
--- a/WebBrowser/Network/EricSchemeHandler.py	Tue Mar 15 19:47:54 2016 +0100
+++ b/WebBrowser/Network/EricSchemeHandler.py	Tue Mar 15 21:15:07 2016 +0100
@@ -11,6 +11,7 @@
 
 from PyQt5.QtCore import pyqtSignal, QByteArray, QBuffer, QIODevice, \
     QTextStream, QUrlQuery
+from PyQt5.QtWidgets import qApp
 from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler
 
 from ..Tools.WebBrowserTools import readAllFileContents
@@ -21,6 +22,7 @@
     """
     SupportedPages = [
         "adblock",          # error page for URLs blocked by AdBlock
+        "home", "start", "startpage",       # eric home page
     ]
     
     def __init__(self, parent=None):
@@ -101,6 +103,8 @@
         
         if self.__pageName == "adblock":
             stream << self.__adBlockPage()
+        elif self.__pageName in ["home", "start", "startpage"]:
+            stream << self.__startPage()
         
         stream.flush()
         self.__buffer.reset()
@@ -154,3 +158,26 @@
         page = page.replace("@MESSAGE@", message)
         
         return page
+    
+    def __startPage(self):
+        """
+        Private method to build the Start page.
+        
+        @return built Start page
+        @rtype str
+        """
+        page = readAllFileContents(":/html/startPage.html")
+        page = page.replace("@FAVICON@", "qrc:icons/ericWeb16.png")
+        page = page.replace("@IMAGE@", "qrc:icons/ericWeb32.png")
+        page = page.replace("@TITLE@",
+                            self.tr("Welcome to eric6 Web Browser!"))
+        page = page.replace("@ERIC_LINK@", self.tr("About eric6"))
+        page = page.replace("@HEADER_TITLE@", self.tr("eric6 Web Browser"))
+        page = page.replace("@SUBMIT@", self.tr("Search!"))
+        if qApp.isLeftToRight():
+            ltr = "LTR"
+        else:
+            ltr = "RTL"
+        page = page.replace("@QT_LAYOUT_DIRECTION@", ltr)
+        
+        return page

eric ide

mercurial