eric6/WebBrowser/Network/EricSchemeHandler.py

changeset 7717
f32d7965a17e
parent 7716
313e09453306
child 7761
ed2c67d20328
equal deleted inserted replaced
7716:313e09453306 7717:f32d7965a17e
4 # 4 #
5 5
6 """ 6 """
7 Module implementing a scheme handler for the eric: scheme. 7 Module implementing a scheme handler for the eric: scheme.
8 """ 8 """
9
10 9
11 from PyQt5.QtCore import ( 10 from PyQt5.QtCore import (
12 pyqtSignal, QByteArray, QBuffer, QIODevice, QUrlQuery, QMutex, QMutexLocker 11 pyqtSignal, QByteArray, QBuffer, QIODevice, QUrlQuery, QMutex, QMutexLocker
13 ) 12 )
14 from PyQt5.QtWidgets import qApp 13 from PyQt5.QtWidgets import qApp
15 from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler 14 from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler
16 15
17 from ..Tools.WebBrowserTools import readAllFileContents 16 from ..Tools.WebBrowserTools import (
17 getHtmlPage, getJavascript, pixmapFileToDataUrl
18 )
18 19
19 20
20 class EricSchemeHandler(QWebEngineUrlSchemeHandler): 21 class EricSchemeHandler(QWebEngineUrlSchemeHandler):
21 """ 22 """
22 Class implementing a scheme handler for the eric: scheme. 23 Class implementing a scheme handler for the eric: scheme.
161 subscription = query.queryItemValue("subscription") 162 subscription = query.queryItemValue("subscription")
162 title = self.tr("Content blocked by AdBlock Plus") 163 title = self.tr("Content blocked by AdBlock Plus")
163 message = self.tr( 164 message = self.tr(
164 "Blocked by rule: <i>{0} ({1})</i>").format(rule, subscription) 165 "Blocked by rule: <i>{0} ({1})</i>").format(rule, subscription)
165 166
166 # TODO: convert this to not use .qrc 167 page = getHtmlPage("adblockPage.html")
167 page = readAllFileContents(":/html/adblockPage.html") 168 page = page.replace(
168 page = page.replace( 169 "@FAVICON@", pixmapFileToDataUrl("adBlockPlus16.png", True))
169 "@FAVICON@", "qrc:icons/adBlockPlus16.png") 170 page = page.replace(
170 page = page.replace( 171 "@IMAGE@", pixmapFileToDataUrl("adBlockPlus64.png", True))
171 "@IMAGE@", "qrc:icons/adBlockPlus64.png")
172 page = page.replace("@TITLE@", title) 172 page = page.replace("@TITLE@", title)
173 page = page.replace("@MESSAGE@", message) 173 page = page.replace("@MESSAGE@", message)
174 174
175 return page 175 return page
176 176
179 Private method to build the Start page. 179 Private method to build the Start page.
180 180
181 @return built Start page 181 @return built Start page
182 @rtype str 182 @rtype str
183 """ 183 """
184 # TODO: convert this to not use .qrc 184 page = getHtmlPage("startPage.html")
185 page = readAllFileContents(":/html/startPage.html") 185 page = page.replace(
186 page = page.replace("@FAVICON@", "qrc:icons/ericWeb16.png") 186 "@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
187 page = page.replace("@IMAGE@", "qrc:icons/ericWeb32.png") 187 page = page.replace(
188 page = page.replace("@TITLE@", 188 "@IMAGE@", pixmapFileToDataUrl("ericWeb32.png", True))
189 self.tr("Welcome to eric6 Web Browser!")) 189 page = page.replace(
190 "@TITLE@", self.tr("Welcome to eric6 Web Browser!"))
190 page = page.replace("@ERIC_LINK@", self.tr("About eric6")) 191 page = page.replace("@ERIC_LINK@", self.tr("About eric6"))
191 page = page.replace("@HEADER_TITLE@", self.tr("eric6 Web Browser")) 192 page = page.replace("@HEADER_TITLE@", self.tr("eric6 Web Browser"))
192 page = page.replace("@SUBMIT@", self.tr("Search!")) 193 page = page.replace("@SUBMIT@", self.tr("Search!"))
193 if qApp.isLeftToRight(): 194 if qApp.isLeftToRight():
194 ltr = "LTR" 195 ltr = "LTR"
200 201
201 def __speedDialPage(self): 202 def __speedDialPage(self):
202 """ 203 """
203 Private method to create the Speeddial page. 204 Private method to create the Speeddial page.
204 205
205 @return prepared speeddial page (QByteArray) 206 @return prepared speeddial page
206 """ 207 @rtype str
207 # TODO: convert this to not use .qrc 208 """
208 if not self._speedDialPage: 209 if not self._speedDialPage:
209 page = readAllFileContents(":/html/speeddialPage.html") 210 page = getHtmlPage("speeddialPage.html")
210 page = page.replace("@FAVICON@", "qrc:icons/ericWeb16.png") 211 page = page.replace(
211 page = page.replace("@IMG_PLUS@", "qrc:icons/plus.png") 212 "@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
212 page = page.replace("@IMG_CLOSE@", "qrc:icons/close.png") 213 page = page.replace(
213 page = page.replace("@IMG_EDIT@", "qrc:icons/edit.png") 214 "@IMG_PLUS@", pixmapFileToDataUrl("plus.png", True))
214 page = page.replace("@IMG_RELOAD@", "qrc:icons/reload.png") 215 page = page.replace(
215 page = page.replace("@IMG_SETTINGS@", "qrc:icons/setting.png") 216 "@IMG_CLOSE@", pixmapFileToDataUrl("close.png", True))
216 page = page.replace("@LOADING-IMG@", "qrc:icons/loading.gif") 217 page = page.replace(
217 page = page.replace("@BOX-BORDER@", 218 "@IMG_EDIT@", pixmapFileToDataUrl("edit.png", True))
218 "qrc:icons/box-border-small.png") 219 page = page.replace(
220 "@IMG_RELOAD@", pixmapFileToDataUrl("reload.png", True))
221 page = page.replace(
222 "@IMG_SETTINGS@", pixmapFileToDataUrl("setting.png", True))
223 page = page.replace(
224 "@LOADING-IMG@", pixmapFileToDataUrl("loading.gif", True))
225 page = page.replace(
226 "@BOX-BORDER@",
227 pixmapFileToDataUrl("box-border-small.png", True))
219 228
220 page = page.replace("@JQUERY@", "qrc:javascript/jquery.js") 229 page = page.replace("@JQUERY@", getJavascript("jquery.js"))
221 page = page.replace("@JQUERY-UI@", "qrc:javascript/jquery-ui.js") 230 page = page.replace("@JQUERY-UI@", getJavascript("jquery-ui.js"))
222 231
223 page = page.replace("@SITE-TITLE@", self.tr("Speed Dial")) 232 page = page.replace("@SITE-TITLE@", self.tr("Speed Dial"))
224 page = page.replace("@URL@", self.tr("URL")) 233 page = page.replace("@URL@", self.tr("URL"))
225 page = page.replace("@TITLE@", self.tr("Title")) 234 page = page.replace("@TITLE@", self.tr("Title"))
226 page = page.replace("@APPLY@", self.tr("Apply")) 235 page = page.replace("@APPLY@", self.tr("Apply"))

eric ide

mercurial