WebBrowser/WebBrowserView.py

branch
QtWebEngine
changeset 4908
f1859c36d564
parent 4906
939ff20f712d
child 4910
e97af1181efd
equal deleted inserted replaced
4907:1e3d61349671 4908:f1859c36d564
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
935 act = self.sender() 924 act = self.sender()
936 url = act.data() 925 url = act.data()
937 if url.isEmpty(): 926 if url.isEmpty():
938 return 927 return
939 928
940 # TODO: check, if this can be done simpler 929 self.setSource(url, newTab=True)
941 self.__ctrlPressed = True
942 self.setSource(url)
943 self.__ctrlPressed = False
944 930
945 def __openLinkInNewWindow(self): 931 def __openLinkInNewWindow(self):
946 """ 932 """
947 Private slot called by the context menu to open a link in a new 933 Private slot called by the context menu to open a link in a new
948 window. 934 window.
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.

eric ide

mercurial