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() |
|