WebBrowser/WebBrowserView.py

changeset 6410
98a5d0cd72f5
parent 6402
bdc273bb66c5
child 6451
72c58236ab7e
equal deleted inserted replaced
6405:2763348bf9a6 6410:98a5d0cd72f5
153 self.setPage(self.__page) 153 self.setPage(self.__page)
154 154
155 self.__page.safeBrowsingAbort.connect(self.safeBrowsingAbort) 155 self.__page.safeBrowsingAbort.connect(self.safeBrowsingAbort)
156 self.__page.safeBrowsingBad.connect(self.safeBrowsingBad) 156 self.__page.safeBrowsingBad.connect(self.safeBrowsingBad)
157 self.__page.printRequested.connect(self.__printPage) 157 self.__page.printRequested.connect(self.__printPage)
158 try:
159 self.__page.quotaRequested.connect(self.__quotaRequested)
160 self.__page.registerProtocolHandlerRequested.connect(
161 self.__registerProtocolHandlerRequested)
162 except AttributeError:
163 # pre Qt 5.11
164 pass
158 165
159 def __setRwhvqt(self): 166 def __setRwhvqt(self):
160 """ 167 """
161 Private slot to set widget that receives input events. 168 Private slot to set widget that receives input events.
162 """ 169 """
2206 def __printPage(self): 2213 def __printPage(self):
2207 """ 2214 """
2208 Private slot to support printing from the web page. 2215 Private slot to support printing from the web page.
2209 """ 2216 """
2210 self.__mw.tabWidget.printBrowser(browser=self) 2217 self.__mw.tabWidget.printBrowser(browser=self)
2218
2219 ###########################################################################
2220 ## Methods below implement slots for Qt 5.11+
2221 ###########################################################################
2222
2223 @pyqtSlot("QWebEngineQuotaRequest")
2224 def __quotaRequested(self, quotaRequest):
2225 """
2226 Private slot to handle quota requests of the web page.
2227
2228 @param quotaRequest reference to the quota request object
2229 @type QWebEngineQuotaRequest
2230 """
2231 acceptRequest = Preferences.getWebBrowser("AcceptQuotaRequest")
2232 # yes/no/ask (0, 1, 2)
2233 if acceptRequest == 0:
2234 # always yes
2235 ok = True
2236 elif acceptRequest == 1:
2237 # always no
2238 ok = False
2239 else:
2240 # ask user
2241 from .Download.DownloadUtilities import dataString
2242 sizeStr = dataString(quotaRequest.requestedSize())
2243
2244 ok = E5MessageBox.yesNo(
2245 self,
2246 self.tr("Quota Request"),
2247 self.tr("""<p> Allow the website at <b>{0}</b> to use"""
2248 """ <b>{1}</b> of persistent storage?</p>""")
2249 .format(quotaRequest.origin().host(), sizeStr)
2250 )
2251
2252 if ok:
2253 quotaRequest.accept()
2254 else:
2255 quotaRequest.reject()
2256
2257 @pyqtSlot("QWebEngineRegisterProtocolHandlerRequest")
2258 def __registerProtocolHandlerRequested(self, request):
2259 """
2260 Private slot to handle requests for registration of a protocol handler.
2261
2262 @param request reference to the protocol handler request object
2263 @type QWebEngineRegisterProtocolHandlerRequest
2264 """
2265 acceptRequest = Preferences.getWebBrowser(
2266 "AcceptProtocolHandlerRequest")
2267 # yes/no/ask (0, 1, 2)
2268 if acceptRequest == 0:
2269 # always yes
2270 ok = True
2271 elif acceptRequest == 1:
2272 # always no
2273 ok = False
2274 else:
2275 # ask user
2276 ok = E5MessageBox.yesNo(
2277 self,
2278 self.tr("Protocol Handler Request"),
2279 self.tr("""<p> Allow the website at <b>{0}</b> to open all"""
2280 """ <b>{1}</b> links?</p>""")
2281 .format(request.origin().host(), request.scheme())
2282 )
2283
2284 if ok:
2285 request.accept()
2286 else:
2287 request.reject()

eric ide

mercurial