21 Class implementing a scheme handler for the eric: scheme. |
21 Class implementing a scheme handler for the eric: scheme. |
22 """ |
22 """ |
23 SupportedPages = [ |
23 SupportedPages = [ |
24 "adblock", # error page for URLs blocked by AdBlock |
24 "adblock", # error page for URLs blocked by AdBlock |
25 "home", "start", "startpage", # eric home page |
25 "home", "start", "startpage", # eric home page |
|
26 "speeddial", # eric speeddial |
26 ] |
27 ] |
27 |
28 |
28 def __init__(self, parent=None): |
29 def __init__(self, parent=None): |
29 """ |
30 """ |
30 Constructor |
31 Constructor |
103 |
106 |
104 if self.__pageName == "adblock": |
107 if self.__pageName == "adblock": |
105 stream << self.__adBlockPage() |
108 stream << self.__adBlockPage() |
106 elif self.__pageName in ["home", "start", "startpage"]: |
109 elif self.__pageName in ["home", "start", "startpage"]: |
107 stream << self.__startPage() |
110 stream << self.__startPage() |
|
111 elif self.__pageName == "speeddial": |
|
112 stream << self.__speedDialPage() |
108 |
113 |
109 stream.flush() |
114 stream.flush() |
110 self.__buffer.reset() |
115 self.__buffer.reset() |
111 self.__loaded = True |
116 self.__loaded = True |
112 |
117 |
179 else: |
184 else: |
180 ltr = "RTL" |
185 ltr = "RTL" |
181 page = page.replace("@QT_LAYOUT_DIRECTION@", ltr) |
186 page = page.replace("@QT_LAYOUT_DIRECTION@", ltr) |
182 |
187 |
183 return page |
188 return page |
|
189 |
|
190 def __speedDialPage(self): |
|
191 """ |
|
192 Private method to create the Speeddial page. |
|
193 |
|
194 @return prepared speeddial page (QByteArray) |
|
195 """ |
|
196 if not self._speedDialPage: |
|
197 page = readAllFileContents(":/html/speeddialPage.html") |
|
198 page = ( |
|
199 page.replace("@FAVICON@", "qrc:icons/ericWeb16.png") |
|
200 .replace("@IMG_PLUS@", "qrc:icons/plus.png") |
|
201 .replace("@IMG_CLOSE@", "qrc:icons/close.png") |
|
202 .replace("@IMG_EDIT@", "qrc:icons/edit.png") |
|
203 .replace("@IMG_RELOAD@", "qrc:icons/reload.png") |
|
204 .replace("@IMG_SETTINGS@", "qrc:icons/setting.png") |
|
205 .replace("@LOADING-IMG@", "qrc:icons/loading.gif") |
|
206 .replace("@BOX-BORDER@", "qrc:icons/box-border-small.png") |
|
207 |
|
208 .replace("@JQUERY@", "qrc:javascript/jquery.js") |
|
209 .replace("@JQUERY-UI@", "qrc:javascript/jquery-ui.js") |
|
210 |
|
211 .replace("@SITE-TITLE@", self.tr("Speed Dial")) |
|
212 .replace("@URL@", self.tr("URL")) |
|
213 .replace("@TITLE@", self.tr("Title")) |
|
214 .replace("@APPLY@", self.tr("Apply")) |
|
215 .replace("@CLOSE@", self.tr("Close")) |
|
216 .replace("@NEW-PAGE@", self.tr("New Page")) |
|
217 .replace("@TITLE-EDIT@", self.tr("Edit")) |
|
218 .replace("@TITLE-REMOVE@", self.tr("Remove")) |
|
219 .replace("@TITLE-RELOAD@", self.tr("Reload")) |
|
220 .replace("@TITLE-WARN@", |
|
221 self.tr("Are you sure to remove this speed dial?")) |
|
222 .replace("@TITLE-FETCHTITLE@", |
|
223 self.tr("Load title from page")) |
|
224 .replace("@SETTINGS-TITLE@", |
|
225 self.tr("Speed Dial Settings")) |
|
226 .replace("@ADD-TITLE@", self.tr("Add New Page")) |
|
227 .replace("@TXT_NRROWS@", |
|
228 self.tr("Maximum pages in a row:")) |
|
229 .replace("@TXT_SDSIZE@", self.tr("Change size of pages:")) |
|
230 ) |
|
231 |
|
232 self._speedDialPage = page |
|
233 |
|
234 from WebBrowser.WebBrowserWindow import WebBrowserWindow |
|
235 dial = WebBrowserWindow.speedDial() |
|
236 page = ( |
|
237 self._speedDialPage |
|
238 .replace("@INITIAL-SCRIPT@", dial.initialScript()) |
|
239 .replace("@ROW-PAGES@", str(dial.pagesInRow())) |
|
240 .replace("@SD-SIZE@", str(dial.sdSize())) |
|
241 ) |
|
242 |
|
243 return page |