88 |
88 |
89 self.__page = WebBrowserPage(self) |
89 self.__page = WebBrowserPage(self) |
90 self.setPage(self.__page) |
90 self.setPage(self.__page) |
91 |
91 |
92 self.__mw = mainWindow |
92 self.__mw = mainWindow |
93 self.__ctrlPressed = False |
|
94 self.__isLoading = False |
93 self.__isLoading = False |
95 self.__progress = 0 |
94 self.__progress = 0 |
96 self.__siteIconLoader = None |
95 self.__siteIconLoader = None |
97 self.__siteIcon = QIcon() |
96 self.__siteIcon = QIcon() |
98 self.__menu = QMenu(self) |
97 self.__menu = QMenu(self) |
210 ## self.load(req.url()) |
209 ## self.load(req.url()) |
211 ## else: |
210 ## else: |
212 ## self.page().runJavaScript( |
211 ## self.page().runJavaScript( |
213 ## Scripts.sendPostData(req.url(), req.data())) |
212 ## Scripts.sendPostData(req.url(), req.data())) |
214 |
213 |
215 # TODO: eliminate requestData, add param to get rid of __ctrlPressed |
214 def setSource(self, name, newTab=False): |
216 def setSource(self, name, requestData=None): |
|
217 """ |
215 """ |
218 Public method used to set the source to be displayed. |
216 Public method used to set the source to be displayed. |
219 |
217 |
220 @param name filename to be shown (QUrl) |
218 @param name filename to be shown (QUrl) |
221 @param requestData tuple containing the request data (QNetworkRequest, |
219 @param newTab flag indicating to open the URL in a new tab (bool) |
222 QNetworkAccessManager.Operation, QByteArray) |
220 """ |
223 """ |
|
224 ## if (name is None or not name.isValid()) and requestData is None: |
|
225 if name is None or not name.isValid(): |
221 if name is None or not name.isValid(): |
226 return |
222 return |
227 |
223 |
228 ## if name is None and requestData is not None: |
224 if newTab: |
229 ## name = requestData[0].url() |
225 # open in a new tab |
230 ## |
|
231 if self.__ctrlPressed: |
|
232 # open in a new window |
|
233 self.__mw.newTab(name) |
226 self.__mw.newTab(name) |
234 self.__ctrlPressed = False |
|
235 return |
227 return |
236 |
228 |
237 if not name.scheme(): |
229 if not name.scheme(): |
238 name.setUrl(Preferences.getWebBrowser("DefaultScheme") + |
230 name.setUrl(Preferences.getWebBrowser("DefaultScheme") + |
239 name.toString()) |
231 name.toString()) |
293 """<p>Could not start a viewer""" |
285 """<p>Could not start a viewer""" |
294 """ for file <b>{0}</b>.</p>""") |
286 """ for file <b>{0}</b>.</p>""") |
295 .format(name.path())) |
287 .format(name.path())) |
296 return |
288 return |
297 |
289 |
298 if requestData is not None: |
290 self.load(name) |
299 self.load(*requestData) |
|
300 else: |
|
301 self.load(name) |
|
302 |
291 |
303 def source(self): |
292 def source(self): |
304 """ |
293 """ |
305 Public method to return the URL of the loaded page. |
294 Public method to return the URL of the loaded page. |
306 |
295 |
1277 if self.isFullScreen(): |
1263 if self.isFullScreen(): |
1278 self.triggerPageAction(QWebEnginePage.ExitFullScreen) |
1264 self.triggerPageAction(QWebEnginePage.ExitFullScreen) |
1279 evt.accept() |
1265 evt.accept() |
1280 return |
1266 return |
1281 |
1267 |
1282 self.__ctrlPressed = (evt.key() == Qt.Key_Control) |
|
1283 super(WebBrowserView, self).keyPressEvent(evt) |
1268 super(WebBrowserView, self).keyPressEvent(evt) |
1284 |
1269 |
1285 def _keyReleaseEvent(self, evt): |
1270 def _keyReleaseEvent(self, evt): |
1286 """ |
1271 """ |
1287 Protected method called by a key release. |
1272 Protected method called by a key release. |
1288 |
1273 |
1289 @param evt reference to the key event (QKeyEvent) |
1274 @param evt reference to the key event (QKeyEvent) |
1290 """ |
1275 """ |
1291 self.__ctrlPressed = False |
|
1292 super(WebBrowserView, self).keyReleaseEvent(evt) |
1276 super(WebBrowserView, self).keyReleaseEvent(evt) |
1293 |
1277 |
1294 def focusOutEvent(self, evt): |
1278 def focusOutEvent(self, evt): |
1295 """ |
1279 """ |
1296 Protected method called by a focus out event. |
1280 Protected method called by a focus out event. |