Sun, 25 Sep 2022 12:10:44 +0200
Updated source docu and refined the support for the QWebEnginePage.fileSystemAccessRequested signal.
--- a/src/eric7/APIs/Python3/eric7.api Sat Sep 24 14:19:37 2022 +0200 +++ b/src/eric7/APIs/Python3/eric7.api Sun Sep 25 12:10:44 2022 +0200 @@ -12699,7 +12699,7 @@ eric7.eric7_pluginrepository.main?4() eric7.eric7_pluginuninstall.createMainWidget?4(argv) eric7.eric7_pluginuninstall.main?4() -eric7.eric7_post_install.copyDesktopFile?4(src, dst, scriptsdir) +eric7.eric7_post_install.copyDesktopFile?4(src, dstPath, dstFile, scriptsdir) eric7.eric7_post_install.copyLinuxMetaData?4() eric7.eric7_post_install.copyMetaFile?4(srcname, dstpath, dstname) eric7.eric7_post_install.createWindowsLinks?4()
--- a/src/eric7/Documentation/Help/source.qhp Sat Sep 24 14:19:37 2022 +0200 +++ b/src/eric7/Documentation/Help/source.qhp Sun Sep 25 12:10:44 2022 +0200 @@ -17805,6 +17805,7 @@ <keyword name="WebBrowserView.__downloadImage" id="WebBrowserView.__downloadImage" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__downloadImage" /> <keyword name="WebBrowserView.__downloadLink" id="WebBrowserView.__downloadLink" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__downloadLink" /> <keyword name="WebBrowserView.__downloadMedia" id="WebBrowserView.__downloadMedia" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__downloadMedia" /> + <keyword name="WebBrowserView.__fileSystemAccessRequested" id="WebBrowserView.__fileSystemAccessRequested" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__fileSystemAccessRequested" /> <keyword name="WebBrowserView.__findTextFinished" id="WebBrowserView.__findTextFinished" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__findTextFinished" /> <keyword name="WebBrowserView.__getSavePageFileNameAndFormat" id="WebBrowserView.__getSavePageFileNameAndFormat" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__getSavePageFileNameAndFormat" /> <keyword name="WebBrowserView.__iconLoaded" id="WebBrowserView.__iconLoaded" ref="eric7.WebBrowser.WebBrowserView.html#WebBrowserView.__iconLoaded" />
--- a/src/eric7/Documentation/Source/eric7.WebBrowser.WebBrowserView.html Sat Sep 24 14:19:37 2022 +0200 +++ b/src/eric7/Documentation/Source/eric7.WebBrowser.WebBrowserView.html Sun Sep 25 12:10:44 2022 +0200 @@ -194,6 +194,10 @@ <td>Private slot to download a media and save it to disk.</td> </tr> <tr> +<td><a href="#WebBrowserView.__fileSystemAccessRequested">__fileSystemAccessRequested</a></td> +<td>Private slot to handle file system access requests of the web page.</td> +</tr> +<tr> <td><a href="#WebBrowserView.__findTextFinished">__findTextFinished</a></td> <td>Private slot handling the findTextFinished signal of the web page.</td> </tr> @@ -892,6 +896,20 @@ <p> Private slot to download a media and save it to disk. </p> +<a NAME="WebBrowserView.__fileSystemAccessRequested" ID="WebBrowserView.__fileSystemAccessRequested"></a> +<h4>WebBrowserView.__fileSystemAccessRequested</h4> +<b>__fileSystemAccessRequested</b>(<i>accessRequest</i>) + +<p> + Private slot to handle file system access requests of the web page. +</p> +<dl> + +<dt><i>accessRequest</i> (QWebEngineFileSystemAccessRequest)</dt> +<dd> +reference to the file system access request object +</dd> +</dl> <a NAME="WebBrowserView.__findTextFinished" ID="WebBrowserView.__findTextFinished"></a> <h4>WebBrowserView.__findTextFinished</h4> <b>__findTextFinished</b>(<i>result</i>)
--- a/src/eric7/Documentation/Source/eric7.eric7_post_install.html Sat Sep 24 14:19:37 2022 +0200 +++ b/src/eric7/Documentation/Source/eric7.eric7_post_install.html Sun Sep 25 12:10:44 2022 +0200 @@ -66,24 +66,28 @@ <hr /> <a NAME="copyDesktopFile" ID="copyDesktopFile"></a> <h2>copyDesktopFile</h2> -<b>copyDesktopFile</b>(<i>src, dst, scriptsdir</i>) +<b>copyDesktopFile</b>(<i>src, dstPath, dstFile, scriptsdir</i>) <p> Modify a desktop file and write it to its destination. </p> <dl> -<dt><i>src</i></dt> +<dt><i>src</i> (str)</dt> <dd> -source file name (string) +source file name </dd> -<dt><i>dst</i></dt> +<dt><i>dstPath</i> (str)</dt> <dd> -destination file name (string) +path name of the directory for the file to be written </dd> -<dt><i>scriptsdir</i></dt> +<dt><i>dstFile</i> (str)</dt> <dd> -directory containing the scripts (string) +name of the file to be written +</dd> +<dt><i>scriptsdir</i> (str)</dt> +<dd> +directory containing the scripts </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- 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()