diff -r 4adc526bc4b3 -r 985d275502c8 WebBrowser/Network/EricSchemeHandler.py --- 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