--- a/src/eric7/WebBrowser/WebBrowserView.py Sat Sep 24 14:19:37 2022 +0200 +++ b/src/eric7/WebBrowser/WebBrowserView.py Sun Sep 25 12:10:44 2022 +0200 @@ -56,6 +56,8 @@ import UI.PixmapCache import Utilities +from Globals import qVersionTuple + class WebBrowserView(QWebEngineView): """ @@ -2382,58 +2384,59 @@ ## Methods below implement slots for Qt 6.4+ ########################################################################### -## @pyqtSlot("QWebEngineFileSystemAccessRequest") - def __fileSystemAccessRequested(self, accessRequest): - """ - Private slot to handle file system access requests of the web page. + if qVersionTuple() >= (6, 4, 0): + @pyqtSlot("QWebEngineFileSystemAccessRequest") + def __fileSystemAccessRequested(self, accessRequest): + """ + Private slot to handle file system access requests of the web page. - @param accessRequest reference to the file system access request object - @type QWebEngineFileSystemAccessRequest - """ - from PyQt6.QtWebEngineCore import QWebEngineFileSystemAccessRequest + @param accessRequest reference to the file system access request object + @type QWebEngineFileSystemAccessRequest + """ + from PyQt6.QtWebEngineCore import QWebEngineFileSystemAccessRequest - acceptRequest = Preferences.getWebBrowser("AcceptFileSystemAccessRequest") - # map yes/no/ask from (0, 1, 2) - if acceptRequest == 0: - # always yes - ok = True - elif acceptRequest == 1: - # always no - ok = False - else: - # ask user - if ( - accessRequest.accessFlags() - == QWebEngineFileSystemAccessRequest.AccessFlag.Read - ): - msgTemplate = self.tr( - "<p>Grant the website at <b>{0}</b> <b>Read</b> access" - " to '{1}'?</p>" - ) - elif ( - accessRequest.accessFlags() - == QWebEngineFileSystemAccessRequest.AccessFlag.Write - ): - msgTemplate = self.tr( - "<p>Grant the website at <b>{0}</b> <b>Write</b> access" - " to '{1}'?</p>" - ) + acceptRequest = Preferences.getWebBrowser("AcceptFileSystemAccessRequest") + # map yes/no/ask from (0, 1, 2) + if acceptRequest == 0: + # always yes + ok = True + elif acceptRequest == 1: + # always no + ok = False else: - msgTemplate = self.tr( - "<p>Grant the website at <b>{0}</b> <b>Read and Write</b> access" - " to '{1}'?</p>" + # ask user + if ( + accessRequest.accessFlags() + == QWebEngineFileSystemAccessRequest.AccessFlag.Read + ): + msgTemplate = self.tr( + "<p>Grant the website at <b>{0}</b> <b>Read</b> access" + " to '{1}'?</p>" + ) + elif ( + accessRequest.accessFlags() + == QWebEngineFileSystemAccessRequest.AccessFlag.Write + ): + msgTemplate = self.tr( + "<p>Grant the website at <b>{0}</b> <b>Write</b> access" + " to '{1}'?</p>" + ) + else: + msgTemplate = self.tr( + "<p>Grant the website at <b>{0}</b> <b>Read and Write</b> access" + " to '{1}'?</p>" + ) + + ok = EricMessageBox.yesNo( + self, + self.tr("File System Access Request"), + msgTemplate.format( + accessRequest.origin().host(), + accessRequest.filePath().toLocalFile(), + ), ) - ok = EricMessageBox.yesNo( - self, - self.tr("File System Access Request"), - msgTemplate.format( - accessRequest.origin().host(), - accessRequest.filePath().toLocalFile(), - ), - ) - - if ok: - accessRequest.accept() - else: - accessRequest.reject() + if ok: + accessRequest.accept() + else: + accessRequest.reject()