src/eric7/WebBrowser/WebBrowserView.py

branch
eric7
changeset 9352
8c28b0f77388
parent 9351
b5f360405f12
child 9358
4ad1fcd03875
equal deleted inserted replaced
9351:b5f360405f12 9352:8c28b0f77388
53 from .Tools.WebBrowserTools import getHtmlPage, pixmapToDataUrl 53 from .Tools.WebBrowserTools import getHtmlPage, pixmapToDataUrl
54 54
55 import Preferences 55 import Preferences
56 import UI.PixmapCache 56 import UI.PixmapCache
57 import Utilities 57 import Utilities
58
59 from Globals import qVersionTuple
58 60
59 61
60 class WebBrowserView(QWebEngineView): 62 class WebBrowserView(QWebEngineView):
61 """ 63 """
62 Class implementing the web browser view widget. 64 Class implementing the web browser view widget.
2380 2382
2381 ########################################################################### 2383 ###########################################################################
2382 ## Methods below implement slots for Qt 6.4+ 2384 ## Methods below implement slots for Qt 6.4+
2383 ########################################################################### 2385 ###########################################################################
2384 2386
2385 ## @pyqtSlot("QWebEngineFileSystemAccessRequest") 2387 if qVersionTuple() >= (6, 4, 0):
2386 def __fileSystemAccessRequested(self, accessRequest): 2388 @pyqtSlot("QWebEngineFileSystemAccessRequest")
2387 """ 2389 def __fileSystemAccessRequested(self, accessRequest):
2388 Private slot to handle file system access requests of the web page. 2390 """
2389 2391 Private slot to handle file system access requests of the web page.
2390 @param accessRequest reference to the file system access request object 2392
2391 @type QWebEngineFileSystemAccessRequest 2393 @param accessRequest reference to the file system access request object
2392 """ 2394 @type QWebEngineFileSystemAccessRequest
2393 from PyQt6.QtWebEngineCore import QWebEngineFileSystemAccessRequest 2395 """
2394 2396 from PyQt6.QtWebEngineCore import QWebEngineFileSystemAccessRequest
2395 acceptRequest = Preferences.getWebBrowser("AcceptFileSystemAccessRequest") 2397
2396 # map yes/no/ask from (0, 1, 2) 2398 acceptRequest = Preferences.getWebBrowser("AcceptFileSystemAccessRequest")
2397 if acceptRequest == 0: 2399 # map yes/no/ask from (0, 1, 2)
2398 # always yes 2400 if acceptRequest == 0:
2399 ok = True 2401 # always yes
2400 elif acceptRequest == 1: 2402 ok = True
2401 # always no 2403 elif acceptRequest == 1:
2402 ok = False 2404 # always no
2403 else: 2405 ok = False
2404 # ask user 2406 else:
2405 if ( 2407 # ask user
2406 accessRequest.accessFlags() 2408 if (
2407 == QWebEngineFileSystemAccessRequest.AccessFlag.Read 2409 accessRequest.accessFlags()
2408 ): 2410 == QWebEngineFileSystemAccessRequest.AccessFlag.Read
2409 msgTemplate = self.tr( 2411 ):
2410 "<p>Grant the website at <b>{0}</b> <b>Read</b> access" 2412 msgTemplate = self.tr(
2411 " to '{1}'?</p>" 2413 "<p>Grant the website at <b>{0}</b> <b>Read</b> access"
2414 " to '{1}'?</p>"
2415 )
2416 elif (
2417 accessRequest.accessFlags()
2418 == QWebEngineFileSystemAccessRequest.AccessFlag.Write
2419 ):
2420 msgTemplate = self.tr(
2421 "<p>Grant the website at <b>{0}</b> <b>Write</b> access"
2422 " to '{1}'?</p>"
2423 )
2424 else:
2425 msgTemplate = self.tr(
2426 "<p>Grant the website at <b>{0}</b> <b>Read and Write</b> access"
2427 " to '{1}'?</p>"
2428 )
2429
2430 ok = EricMessageBox.yesNo(
2431 self,
2432 self.tr("File System Access Request"),
2433 msgTemplate.format(
2434 accessRequest.origin().host(),
2435 accessRequest.filePath().toLocalFile(),
2436 ),
2412 ) 2437 )
2413 elif ( 2438
2414 accessRequest.accessFlags() 2439 if ok:
2415 == QWebEngineFileSystemAccessRequest.AccessFlag.Write 2440 accessRequest.accept()
2416 ):
2417 msgTemplate = self.tr(
2418 "<p>Grant the website at <b>{0}</b> <b>Write</b> access"
2419 " to '{1}'?</p>"
2420 )
2421 else: 2441 else:
2422 msgTemplate = self.tr( 2442 accessRequest.reject()
2423 "<p>Grant the website at <b>{0}</b> <b>Read and Write</b> access"
2424 " to '{1}'?</p>"
2425 )
2426
2427 ok = EricMessageBox.yesNo(
2428 self,
2429 self.tr("File System Access Request"),
2430 msgTemplate.format(
2431 accessRequest.origin().host(),
2432 accessRequest.filePath().toLocalFile(),
2433 ),
2434 )
2435
2436 if ok:
2437 accessRequest.accept()
2438 else:
2439 accessRequest.reject()

eric ide

mercurial