Wed, 07 Oct 2020 19:14:36 +0200
Web Browser
-- added a SSL information page to the site info dialog
-- added a clickable SSL info label to the URL entry
--- a/docs/changelog Wed Oct 07 17:58:51 2020 +0200 +++ b/docs/changelog Wed Oct 07 19:14:36 2020 +0200 @@ -10,6 +10,9 @@ -- added zoom actions menu and toolbar - Syntax Checker -- added a syntax checker for TOML files +- Web Browser + -- added a SSL information page to the site info dialog + -- added a clickable SSL info label to the URL entry Version 20.10: - bug fixes
--- a/eric6.e4p Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6.e4p Wed Oct 07 19:14:36 2020 +0200 @@ -1515,6 +1515,7 @@ <Source>eric6/WebBrowser/UrlBar/BookmarkActionSelectionDialog.py</Source> <Source>eric6/WebBrowser/UrlBar/BookmarkInfoDialog.py</Source> <Source>eric6/WebBrowser/UrlBar/FavIconLabel.py</Source> + <Source>eric6/WebBrowser/UrlBar/SslLabel.py</Source> <Source>eric6/WebBrowser/UrlBar/StackedUrlBar.py</Source> <Source>eric6/WebBrowser/UrlBar/UrlBar.py</Source> <Source>eric6/WebBrowser/UrlBar/__init__.py</Source> @@ -2094,9 +2095,6 @@ <Other>eric6/APIs/MicroPython/circuitpython.api</Other> <Other>eric6/APIs/MicroPython/microbit.api</Other> <Other>eric6/APIs/MicroPython/micropython.api</Other> - <Other>eric6/APIs/Python/zope-2.10.7.api</Other> - <Other>eric6/APIs/Python/zope-2.11.2.api</Other> - <Other>eric6/APIs/Python/zope-3.3.1.api</Other> <Other>eric6/APIs/Python3/PyQt4.bas</Other> <Other>eric6/APIs/Python3/PyQt5.bas</Other> <Other>eric6/APIs/Python3/PyQtChart.bas</Other> @@ -2104,6 +2102,9 @@ <Other>eric6/APIs/Python3/QScintilla2.bas</Other> <Other>eric6/APIs/Python3/eric6.api</Other> <Other>eric6/APIs/Python3/eric6.bas</Other> + <Other>eric6/APIs/Python/zope-2.10.7.api</Other> + <Other>eric6/APIs/Python/zope-2.11.2.api</Other> + <Other>eric6/APIs/Python/zope-3.3.1.api</Other> <Other>eric6/APIs/QSS/qss.api</Other> <Other>eric6/APIs/Ruby/Ruby-1.8.7.api</Other> <Other>eric6/APIs/Ruby/Ruby-1.8.7.bas</Other>
--- a/eric6/APIs/Python3/eric6.api Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/APIs/Python3/eric6.api Wed Oct 07 19:14:36 2020 +0200 @@ -11053,6 +11053,7 @@ eric6.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog.showEvent?4(evt) eric6.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog?1(parent=None) eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.on_imagesTree_currentItemChanged?4(current, previous) +eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.on_securityDetailsButton_clicked?4() eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.securityStyleFormat?7 eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog?1(browser, parent=None) eric6.WebBrowser.SiteInfo.SiteInfoWidget.SiteInfoWidget.accept?4() @@ -11267,7 +11268,9 @@ eric6.WebBrowser.Tools.WebIconDialog.WebIconDialog.on_removeAllButton_clicked?4() eric6.WebBrowser.Tools.WebIconDialog.WebIconDialog.on_removeButton_clicked?4() eric6.WebBrowser.Tools.WebIconDialog.WebIconDialog?1(iconsDB, parent=None) +eric6.WebBrowser.Tools.WebIconLoader.WebIconLoader.clearSslConfiguration?7 eric6.WebBrowser.Tools.WebIconLoader.WebIconLoader.iconLoaded?7 +eric6.WebBrowser.Tools.WebIconLoader.WebIconLoader.sslConfiguration?7 eric6.WebBrowser.Tools.WebIconLoader.WebIconLoader?1(url, parent=None) eric6.WebBrowser.Tools.WebIconProvider.WebIconProvider.changed?7 eric6.WebBrowser.Tools.WebIconProvider.WebIconProvider.clear?4() @@ -11299,6 +11302,10 @@ eric6.WebBrowser.UrlBar.FavIconLabel.FavIconLabel.mouseReleaseEvent?4(evt) eric6.WebBrowser.UrlBar.FavIconLabel.FavIconLabel.setBrowser?4(browser) eric6.WebBrowser.UrlBar.FavIconLabel.FavIconLabel?1(parent=None) +eric6.WebBrowser.UrlBar.SslLabel.SslLabel.nokStyle?7 +eric6.WebBrowser.UrlBar.SslLabel.SslLabel.okStyle?7 +eric6.WebBrowser.UrlBar.SslLabel.SslLabel.setValidity?4(valid) +eric6.WebBrowser.UrlBar.SslLabel.SslLabel?1(parent=None) eric6.WebBrowser.UrlBar.StackedUrlBar.StackedUrlBar.currentUrlBar?4() eric6.WebBrowser.UrlBar.StackedUrlBar.StackedUrlBar.moveBar?4(from_, to_) eric6.WebBrowser.UrlBar.StackedUrlBar.StackedUrlBar.urlBar?4(index) @@ -11386,9 +11393,14 @@ eric6.WebBrowser.WebBrowserPage.WebBrowserPage.UnsafeJsWorld?7 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.acceptNavigationRequest?4(url, type_, isMainFrame) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.certificateError?4(error) +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.clearSslConfiguration?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.execJavaScript?4(script, worldId=QWebEngineScript.MainWorld, timeout=500) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.execPrintPage?4(printer, timeout=1000) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.getSafeBrowsingStatus?4() +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.getSslCertificate?4() +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.getSslCertificateChain?4() +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.getSslConfiguration?4() +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.hasValidSslInfo?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.hitTestContent?4(pos) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.icon?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.isJavaScriptEnabled?4() @@ -11406,7 +11418,10 @@ eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scroll?4(x, y) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scrollPosition?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scrollTo?4(pos) +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.setSslConfiguration?4(sslConfiguration) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.setUserAgent?4(agent) +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.showSslInfo?4(pos) +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.sslConfigurationChanged?7 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.userAgent?4(resolveEmpty=False) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.userAgentForUrl?4(url) eric6.WebBrowser.WebBrowserPage.WebBrowserPage?1(parent=None)
--- a/eric6/APIs/Python3/eric6.bas Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/APIs/Python3/eric6.bas Wed Oct 07 19:14:36 2020 +0200 @@ -834,6 +834,7 @@ SqlConnectionDialog QDialog Ui_SqlConnectionDialog SqlConnectionWidget QWidget SslErrorExceptionsDialog QDialog Ui_SslErrorExceptionsDialog +SslLabel E5ClickableLabel StackedUrlBar QStackedWidget StackedWidget QStackedWidget StandardReport BaseReport
--- a/eric6/Documentation/Help/source.qhp Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/Documentation/Help/source.qhp Wed Oct 07 19:14:36 2020 +0200 @@ -1282,6 +1282,7 @@ <section title="eric6.WebBrowser.UrlBar.BookmarkActionSelectionDialog" ref="eric6.WebBrowser.UrlBar.BookmarkActionSelectionDialog.html" /> <section title="eric6.WebBrowser.UrlBar.BookmarkInfoDialog" ref="eric6.WebBrowser.UrlBar.BookmarkInfoDialog.html" /> <section title="eric6.WebBrowser.UrlBar.FavIconLabel" ref="eric6.WebBrowser.UrlBar.FavIconLabel.html" /> + <section title="eric6.WebBrowser.UrlBar.SslLabel" ref="eric6.WebBrowser.UrlBar.SslLabel.html" /> <section title="eric6.WebBrowser.UrlBar.StackedUrlBar" ref="eric6.WebBrowser.UrlBar.StackedUrlBar.html" /> <section title="eric6.WebBrowser.UrlBar.UrlBar" ref="eric6.WebBrowser.UrlBar.UrlBar.html" /> </section> @@ -13151,6 +13152,7 @@ <keyword name="SiteInfoDialog.__showLoadingText" id="SiteInfoDialog.__showLoadingText" ref="eric6.WebBrowser.SiteInfo.SiteInfoDialog.html#SiteInfoDialog.__showLoadingText" /> <keyword name="SiteInfoDialog.__showPixmap" id="SiteInfoDialog.__showPixmap" ref="eric6.WebBrowser.SiteInfo.SiteInfoDialog.html#SiteInfoDialog.__showPixmap" /> <keyword name="SiteInfoDialog.on_imagesTree_currentItemChanged" id="SiteInfoDialog.on_imagesTree_currentItemChanged" ref="eric6.WebBrowser.SiteInfo.SiteInfoDialog.html#SiteInfoDialog.on_imagesTree_currentItemChanged" /> + <keyword name="SiteInfoDialog.on_securityDetailsButton_clicked" id="SiteInfoDialog.on_securityDetailsButton_clicked" ref="eric6.WebBrowser.SiteInfo.SiteInfoDialog.html#SiteInfoDialog.on_securityDetailsButton_clicked" /> <keyword name="SiteInfoWidget" id="SiteInfoWidget" ref="eric6.WebBrowser.SiteInfo.SiteInfoWidget.html#SiteInfoWidget" /> <keyword name="SiteInfoWidget (Constructor)" id="SiteInfoWidget (Constructor)" ref="eric6.WebBrowser.SiteInfo.SiteInfoWidget.html#SiteInfoWidget.__init__" /> <keyword name="SiteInfoWidget (Module)" id="SiteInfoWidget (Module)" ref="eric6.WebBrowser.SiteInfo.SiteInfoWidget.html" /> @@ -13420,6 +13422,10 @@ <keyword name="SslErrorExceptionsDialog.on_errorsTree_itemSelectionChanged" id="SslErrorExceptionsDialog.on_errorsTree_itemSelectionChanged" ref="eric6.WebBrowser.Network.SslErrorExceptionsDialog.html#SslErrorExceptionsDialog.on_errorsTree_itemSelectionChanged" /> <keyword name="SslErrorExceptionsDialog.on_removeAllButton_clicked" id="SslErrorExceptionsDialog.on_removeAllButton_clicked" ref="eric6.WebBrowser.Network.SslErrorExceptionsDialog.html#SslErrorExceptionsDialog.on_removeAllButton_clicked" /> <keyword name="SslErrorExceptionsDialog.on_removeButton_clicked" id="SslErrorExceptionsDialog.on_removeButton_clicked" ref="eric6.WebBrowser.Network.SslErrorExceptionsDialog.html#SslErrorExceptionsDialog.on_removeButton_clicked" /> + <keyword name="SslLabel" id="SslLabel" ref="eric6.WebBrowser.UrlBar.SslLabel.html#SslLabel" /> + <keyword name="SslLabel (Constructor)" id="SslLabel (Constructor)" ref="eric6.WebBrowser.UrlBar.SslLabel.html#SslLabel.__init__" /> + <keyword name="SslLabel (Module)" id="SslLabel (Module)" ref="eric6.WebBrowser.UrlBar.SslLabel.html" /> + <keyword name="SslLabel.setValidity" id="SslLabel.setValidity" ref="eric6.WebBrowser.UrlBar.SslLabel.html#SslLabel.setValidity" /> <keyword name="StackedUrlBar" id="StackedUrlBar" ref="eric6.WebBrowser.UrlBar.StackedUrlBar.html#StackedUrlBar" /> <keyword name="StackedUrlBar (Constructor)" id="StackedUrlBar (Constructor)" ref="eric6.WebBrowser.UrlBar.StackedUrlBar.html#StackedUrlBar.__init__" /> <keyword name="StackedUrlBar (Module)" id="StackedUrlBar (Module)" ref="eric6.WebBrowser.UrlBar.StackedUrlBar.html" /> @@ -15232,6 +15238,7 @@ <keyword name="UrlBar.__setRssButton" id="UrlBar.__setRssButton" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__setRssButton" /> <keyword name="UrlBar.__showBookmarkInfo" id="UrlBar.__showBookmarkInfo" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__showBookmarkInfo" /> <keyword name="UrlBar.__showThreatInfo" id="UrlBar.__showThreatInfo" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__showThreatInfo" /> + <keyword name="UrlBar.__sslConfigurationChanged" id="UrlBar.__sslConfigurationChanged" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__sslConfigurationChanged" /> <keyword name="UrlBar.__textChanged" id="UrlBar.__textChanged" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__textChanged" /> <keyword name="UrlBar.browser" id="UrlBar.browser" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.browser" /> <keyword name="UrlBar.dragEnterEvent" id="UrlBar.dragEnterEvent" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.dragEnterEvent" /> @@ -16318,9 +16325,14 @@ <keyword name="WebBrowserPage.__urlChanged" id="WebBrowserPage.__urlChanged" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.__urlChanged" /> <keyword name="WebBrowserPage.acceptNavigationRequest" id="WebBrowserPage.acceptNavigationRequest" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.acceptNavigationRequest" /> <keyword name="WebBrowserPage.certificateError" id="WebBrowserPage.certificateError" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.certificateError" /> + <keyword name="WebBrowserPage.clearSslConfiguration" id="WebBrowserPage.clearSslConfiguration" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.clearSslConfiguration" /> <keyword name="WebBrowserPage.execJavaScript" id="WebBrowserPage.execJavaScript" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.execJavaScript" /> <keyword name="WebBrowserPage.execPrintPage" id="WebBrowserPage.execPrintPage" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.execPrintPage" /> <keyword name="WebBrowserPage.getSafeBrowsingStatus" id="WebBrowserPage.getSafeBrowsingStatus" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.getSafeBrowsingStatus" /> + <keyword name="WebBrowserPage.getSslCertificate" id="WebBrowserPage.getSslCertificate" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.getSslCertificate" /> + <keyword name="WebBrowserPage.getSslCertificateChain" id="WebBrowserPage.getSslCertificateChain" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.getSslCertificateChain" /> + <keyword name="WebBrowserPage.getSslConfiguration" id="WebBrowserPage.getSslConfiguration" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.getSslConfiguration" /> + <keyword name="WebBrowserPage.hasValidSslInfo" id="WebBrowserPage.hasValidSslInfo" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.hasValidSslInfo" /> <keyword name="WebBrowserPage.hitTestContent" id="WebBrowserPage.hitTestContent" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.hitTestContent" /> <keyword name="WebBrowserPage.icon" id="WebBrowserPage.icon" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.icon" /> <keyword name="WebBrowserPage.isJavaScriptEnabled" id="WebBrowserPage.isJavaScriptEnabled" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.isJavaScriptEnabled" /> @@ -16339,7 +16351,9 @@ <keyword name="WebBrowserPage.scroll" id="WebBrowserPage.scroll" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.scroll" /> <keyword name="WebBrowserPage.scrollPosition" id="WebBrowserPage.scrollPosition" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.scrollPosition" /> <keyword name="WebBrowserPage.scrollTo" id="WebBrowserPage.scrollTo" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.scrollTo" /> + <keyword name="WebBrowserPage.setSslConfiguration" id="WebBrowserPage.setSslConfiguration" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.setSslConfiguration" /> <keyword name="WebBrowserPage.setUserAgent" id="WebBrowserPage.setUserAgent" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.setUserAgent" /> + <keyword name="WebBrowserPage.showSslInfo" id="WebBrowserPage.showSslInfo" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.showSslInfo" /> <keyword name="WebBrowserPage.userAgent" id="WebBrowserPage.userAgent" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.userAgent" /> <keyword name="WebBrowserPage.userAgentForUrl" id="WebBrowserPage.userAgentForUrl" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.userAgentForUrl" /> <keyword name="WebBrowserSingleApplication (Module)" id="WebBrowserSingleApplication (Module)" ref="eric6.WebBrowser.WebBrowserSingleApplication.html" /> @@ -19048,6 +19062,7 @@ <file>eric6.WebBrowser.UrlBar.BookmarkActionSelectionDialog.html</file> <file>eric6.WebBrowser.UrlBar.BookmarkInfoDialog.html</file> <file>eric6.WebBrowser.UrlBar.FavIconLabel.html</file> + <file>eric6.WebBrowser.UrlBar.SslLabel.html</file> <file>eric6.WebBrowser.UrlBar.StackedUrlBar.html</file> <file>eric6.WebBrowser.UrlBar.UrlBar.html</file> <file>eric6.WebBrowser.UserAgent.UserAgentManager.html</file>
--- a/eric6/Documentation/Source/eric6.WebBrowser.SiteInfo.SiteInfoDialog.html Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.SiteInfo.SiteInfoDialog.html Wed Oct 07 19:14:36 2020 +0200 @@ -108,6 +108,10 @@ <td><a href="#SiteInfoDialog.on_imagesTree_currentItemChanged">on_imagesTree_currentItemChanged</a></td> <td>Private slot to show a preview of the selected image.</td> </tr> +<tr> +<td><a href="#SiteInfoDialog.on_securityDetailsButton_clicked">on_securityDetailsButton_clicked</a></td> +<td>Private slot to show security details.</td> +</tr> </table> <h3>Static Methods</h3> @@ -249,6 +253,13 @@ old current entry (QTreeWidgetItem) </dd> </dl> +<a NAME="SiteInfoDialog.on_securityDetailsButton_clicked" ID="SiteInfoDialog.on_securityDetailsButton_clicked"></a> +<h4>SiteInfoDialog.on_securityDetailsButton_clicked</h4> +<b>on_securityDetailsButton_clicked</b>(<i></i>) + +<p> + Private slot to show security details. +</p> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.WebBrowser.Tools.WebIconLoader.html Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.Tools.WebIconLoader.html Wed Oct 07 19:14:36 2020 +0200 @@ -55,10 +55,18 @@ <h3>Signals</h3> <dl> +<dt>clearSslConfiguration()</dt> +<dd> +emitted to clear stored SSL data +</dd> <dt>iconLoaded(icon)</dt> <dd> emitted when the icon has been loaded </dd> +<dt>sslConfiguration(config)</dt> +<dd> +emitted to pass the SSL data +</dd> </dl> <h3>Derived from</h3> QObject
--- a/eric6/Documentation/Source/eric6.WebBrowser.UrlBar.UrlBar.html Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.UrlBar.UrlBar.html Wed Oct 07 19:14:36 2020 +0200 @@ -109,6 +109,10 @@ <td>Private slot to show the threat info widget.</td> </tr> <tr> +<td><a href="#UrlBar.__sslConfigurationChanged">__sslConfigurationChanged</a></td> +<td>Private slot to handle a change of the associated web page SSL configuration.</td> +</tr> +<tr> <td><a href="#UrlBar.__textChanged">__textChanged</a></td> <td>Private slot to handle changes of the text.</td> </tr> @@ -261,6 +265,14 @@ position to show the info at </dd> </dl> +<a NAME="UrlBar.__sslConfigurationChanged" ID="UrlBar.__sslConfigurationChanged"></a> +<h4>UrlBar.__sslConfigurationChanged</h4> +<b>__sslConfigurationChanged</b>(<i></i>) + +<p> + Private slot to handle a change of the associated web page SSL + configuration. +</p> <a NAME="UrlBar.__textChanged" ID="UrlBar.__textChanged"></a> <h4>UrlBar.__textChanged</h4> <b>__textChanged</b>(<i>txt</i>)
--- a/eric6/Documentation/Source/eric6.WebBrowser.WebBrowserPage.html Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.WebBrowserPage.html Wed Oct 07 19:14:36 2020 +0200 @@ -75,6 +75,11 @@ emitted to indicate a malicious web site as determined by safe browsing </dd> +<dt>sslConfigurationChanged()</dt> +<dd> +emitted to indicate a change of the + stored SSL configuration data +</dd> </dl> <h3>Derived from</h3> QWebEnginePage @@ -145,6 +150,10 @@ <td>Public method to handle SSL certificate errors.</td> </tr> <tr> +<td><a href="#WebBrowserPage.clearSslConfiguration">clearSslConfiguration</a></td> +<td>Public slot to clear the stored SSL configuration data.</td> +</tr> +<tr> <td><a href="#WebBrowserPage.execJavaScript">execJavaScript</a></td> <td>Public method to execute a JavaScript function synchroneously.</td> </tr> @@ -157,6 +166,22 @@ <td>Public method to get the safe browsing status of the current page.</td> </tr> <tr> +<td><a href="#WebBrowserPage.getSslCertificate">getSslCertificate</a></td> +<td>Public method to get a reference to the SSL certificate.</td> +</tr> +<tr> +<td><a href="#WebBrowserPage.getSslCertificateChain">getSslCertificateChain</a></td> +<td>Public method to get a reference to the SSL certificate chain.</td> +</tr> +<tr> +<td><a href="#WebBrowserPage.getSslConfiguration">getSslConfiguration</a></td> +<td>Public method to return a reference to the current SSL configuration.</td> +</tr> +<tr> +<td><a href="#WebBrowserPage.hasValidSslInfo">hasValidSslInfo</a></td> +<td>Public method to check, if the page has a valid SSL certificate.</td> +</tr> +<tr> <td><a href="#WebBrowserPage.hitTestContent">hitTestContent</a></td> <td>Public method to test the content at a specified position.</td> </tr> @@ -208,6 +233,14 @@ <td><a href="#WebBrowserPage.scrollTo">scrollTo</a></td> <td>Public method to scroll to the given position.</td> </tr> +<tr> +<td><a href="#WebBrowserPage.setSslConfiguration">setSslConfiguration</a></td> +<td>Public slot to set the SSL configuration data of the page.</td> +</tr> +<tr> +<td><a href="#WebBrowserPage.showSslInfo">showSslInfo</a></td> +<td>Public slot to show some SSL information for the loaded page.</td> +</tr> </table> <h3>Static Methods</h3> @@ -442,6 +475,13 @@ bool </dd> </dl> +<a NAME="WebBrowserPage.clearSslConfiguration" ID="WebBrowserPage.clearSslConfiguration"></a> +<h4>WebBrowserPage.clearSslConfiguration</h4> +<b>clearSslConfiguration</b>(<i></i>) + +<p> + Public slot to clear the stored SSL configuration data. +</p> <a NAME="WebBrowserPage.execJavaScript" ID="WebBrowserPage.execJavaScript"></a> <h4>WebBrowserPage.execJavaScript</h4> <b>execJavaScript</b>(<i>script, worldId=QWebEngineScript.MainWorld, timeout=500</i>) @@ -525,6 +565,82 @@ bool </dd> </dl> +<a NAME="WebBrowserPage.getSslCertificate" ID="WebBrowserPage.getSslCertificate"></a> +<h4>WebBrowserPage.getSslCertificate</h4> +<b>getSslCertificate</b>(<i></i>) + +<p> + Public method to get a reference to the SSL certificate. +</p> +<dl> +<dt>Returns:</dt> +<dd> +amended SSL certificate +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +QSslCertificate +</dd> +</dl> +<a NAME="WebBrowserPage.getSslCertificateChain" ID="WebBrowserPage.getSslCertificateChain"></a> +<h4>WebBrowserPage.getSslCertificateChain</h4> +<b>getSslCertificateChain</b>(<i></i>) + +<p> + Public method to get a reference to the SSL certificate chain. +</p> +<dl> +<dt>Returns:</dt> +<dd> +SSL certificate chain +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +list of QSslCertificate +</dd> +</dl> +<a NAME="WebBrowserPage.getSslConfiguration" ID="WebBrowserPage.getSslConfiguration"></a> +<h4>WebBrowserPage.getSslConfiguration</h4> +<b>getSslConfiguration</b>(<i></i>) + +<p> + Public method to return a reference to the current SSL configuration. +</p> +<dl> +<dt>Returns:</dt> +<dd> +reference to the SSL configuration in use +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +QSslConfiguration +</dd> +</dl> +<a NAME="WebBrowserPage.hasValidSslInfo" ID="WebBrowserPage.hasValidSslInfo"></a> +<h4>WebBrowserPage.hasValidSslInfo</h4> +<b>hasValidSslInfo</b>(<i></i>) + +<p> + Public method to check, if the page has a valid SSL certificate. +</p> +<dl> +<dt>Returns:</dt> +<dd> +flag indicating a valid SSL certificate +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> <a NAME="WebBrowserPage.hitTestContent" ID="WebBrowserPage.hitTestContent"></a> <h4>WebBrowserPage.hitTestContent</h4> <b>hitTestContent</b>(<i>pos</i>) @@ -761,6 +877,34 @@ position to scroll to </dd> </dl> +<a NAME="WebBrowserPage.setSslConfiguration" ID="WebBrowserPage.setSslConfiguration"></a> +<h4>WebBrowserPage.setSslConfiguration</h4> +<b>setSslConfiguration</b>(<i>sslConfiguration</i>) + +<p> + Public slot to set the SSL configuration data of the page. +</p> +<dl> + +<dt><i>sslConfiguration</i> (QSslConfiguration)</dt> +<dd> +SSL configuration to be set +</dd> +</dl> +<a NAME="WebBrowserPage.showSslInfo" ID="WebBrowserPage.showSslInfo"></a> +<h4>WebBrowserPage.showSslInfo</h4> +<b>showSslInfo</b>(<i>pos</i>) + +<p> + Public slot to show some SSL information for the loaded page. +</p> +<dl> + +<dt><i>pos</i> (QPoint)</dt> +<dd> +position to show the info at +</dd> +</dl> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/index-eric6.WebBrowser.UrlBar.html Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/Documentation/Source/index-eric6.WebBrowser.UrlBar.html Wed Oct 07 19:14:36 2020 +0200 @@ -42,6 +42,10 @@ <td>Module implementing the label to show the web site icon.</td> </tr> <tr> +<td><a href="eric6.WebBrowser.UrlBar.SslLabel.html">SslLabel</a></td> +<td>Module implementing the label to show some SSL info (if available).</td> +</tr> +<tr> <td><a href="eric6.WebBrowser.UrlBar.StackedUrlBar.html">StackedUrlBar</a></td> <td>Module implementing a widget to stack url bars.</td> </tr>
--- a/eric6/E5Network/E5SslCertificatesInfoWidget.py Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/E5Network/E5SslCertificatesInfoWidget.py Wed Oct 07 19:14:36 2020 +0200 @@ -10,7 +10,10 @@ from PyQt5.QtCore import pyqtSlot, QCryptographicHash, QDateTime from PyQt5.QtWidgets import QWidget -from PyQt5.QtNetwork import QSslCertificate +try: + from PyQt5.QtNetwork import QSslCertificate +except ImportError: + QSslCertificate = None from .Ui_E5SslCertificatesInfoWidget import Ui_E5SslCertificatesInfoWidget @@ -39,22 +42,23 @@ @param certificateChain list od SSL certificates (list of QSslCertificate) """ - self.chainLabel.show() - self.chainComboBox.show() - self.chainComboBox.clear() - - self.__chain = certificateChain[:] - - for cert in self.__chain: - name = ", ".join(cert.subjectInfo(QSslCertificate.CommonName)) - if not name: - name = ", ".join( - cert.subjectInfo(QSslCertificate.Organization)) - if not name: - name = cert.serialNumber() - self.chainComboBox.addItem(name) - - self.on_chainComboBox_activated(0) + if QSslCertificate: + self.chainLabel.show() + self.chainComboBox.show() + self.chainComboBox.clear() + + self.__chain = certificateChain[:] + + for cert in self.__chain: + name = ", ".join(cert.subjectInfo(QSslCertificate.CommonName)) + if not name: + name = ", ".join( + cert.subjectInfo(QSslCertificate.Organization)) + if not name: + name = cert.serialNumber() + self.chainComboBox.addItem(name) + + self.on_chainComboBox_activated(0) def showCertificate(self, certificate): """ @@ -68,7 +72,8 @@ self.__chain = [] - self.__showCertificate(certificate) + if QSslCertificate: + self.__showCertificate(certificate) def __showCertificate(self, certificate): """ @@ -76,51 +81,52 @@ @param certificate reference to the SSL certificate (QSslCertificate) """ - self.blacklistedLabel.setVisible(False) - self.blacklistedLabel.setStyleSheet( - "QLabel { color : white; background-color : red; }") - self.expiredLabel.setVisible(False) - self.expiredLabel.setStyleSheet( - "QLabel { color : white; background-color : red; }") - - self.subjectCommonNameLabel.setText(self.__certificateString( - ", ".join(certificate.subjectInfo( - QSslCertificate.CommonName)))) - self.subjectOrganizationLabel.setText(self.__certificateString( - ", ".join(certificate.subjectInfo( - QSslCertificate.Organization)))) - self.subjectOrganizationalUnitLabel.setText( - self.__certificateString(", ".join( - certificate.subjectInfo( - QSslCertificate.OrganizationalUnitName)))) - self.issuerCommonNameLabel.setText(self.__certificateString( - ", ".join(certificate.issuerInfo(QSslCertificate.CommonName)))) - self.issuerOrganizationLabel.setText(self.__certificateString( - ", ".join(certificate.issuerInfo( - QSslCertificate.Organization)))) - self.issuerOrganizationalUnitLabel.setText( - self.__certificateString(", ".join( - certificate.issuerInfo( - QSslCertificate.OrganizationalUnitName)))) - self.serialNumberLabel.setText(self.__serialNumber(certificate)) - self.effectiveLabel.setText( - certificate.effectiveDate().toString("yyyy-MM-dd")) - self.expiresLabel.setText( - certificate.expiryDate().toString("yyyy-MM-dd")) - self.sha1Label.setText(self.__formatHexString( - str(certificate.digest(QCryptographicHash.Sha1).toHex(), - encoding="ascii"))) - self.md5Label.setText(self.__formatHexString( - str(certificate.digest(QCryptographicHash.Md5).toHex(), - encoding="ascii"))) - - if certificate.isBlacklisted(): - # something is wrong; indicate it to the user - if self.__hasExpired(certificate.effectiveDate(), - certificate.expiryDate()): - self.expiredLabel.setVisible(True) - else: - self.blacklistedLabel.setVisible(True) + if QSslCertificate: + self.blacklistedLabel.setVisible(False) + self.blacklistedLabel.setStyleSheet( + "QLabel { color : white; background-color : red; }") + self.expiredLabel.setVisible(False) + self.expiredLabel.setStyleSheet( + "QLabel { color : white; background-color : red; }") + + self.subjectCommonNameLabel.setText(self.__certificateString( + ", ".join(certificate.subjectInfo( + QSslCertificate.CommonName)))) + self.subjectOrganizationLabel.setText(self.__certificateString( + ", ".join(certificate.subjectInfo( + QSslCertificate.Organization)))) + self.subjectOrganizationalUnitLabel.setText( + self.__certificateString(", ".join( + certificate.subjectInfo( + QSslCertificate.OrganizationalUnitName)))) + self.issuerCommonNameLabel.setText(self.__certificateString( + ", ".join(certificate.issuerInfo(QSslCertificate.CommonName)))) + self.issuerOrganizationLabel.setText(self.__certificateString( + ", ".join(certificate.issuerInfo( + QSslCertificate.Organization)))) + self.issuerOrganizationalUnitLabel.setText( + self.__certificateString(", ".join( + certificate.issuerInfo( + QSslCertificate.OrganizationalUnitName)))) + self.serialNumberLabel.setText(self.__serialNumber(certificate)) + self.effectiveLabel.setText( + certificate.effectiveDate().toString("yyyy-MM-dd")) + self.expiresLabel.setText( + certificate.expiryDate().toString("yyyy-MM-dd")) + self.sha1Label.setText(self.__formatHexString( + str(certificate.digest(QCryptographicHash.Sha1).toHex(), + encoding="ascii"))) + self.md5Label.setText(self.__formatHexString( + str(certificate.digest(QCryptographicHash.Md5).toHex(), + encoding="ascii"))) + + if certificate.isBlacklisted(): + # something is wrong; indicate it to the user + if self.__hasExpired(certificate.effectiveDate(), + certificate.expiryDate()): + self.expiredLabel.setVisible(True) + else: + self.blacklistedLabel.setVisible(True) def __certificateString(self, txt): """
--- a/eric6/WebBrowser/SiteInfo/SiteInfoDialog.py Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/WebBrowser/SiteInfo/SiteInfoDialog.py Wed Oct 07 19:14:36 2020 +0200 @@ -15,6 +15,11 @@ QDialog, QTreeWidgetItem, QGraphicsScene, QMenu, QApplication, QGraphicsPixmapItem ) +try: + from PyQt5.QtNetwork import QSslCertificate # __IGNORE_WARNING__ + SSL = True +except ImportError: + SSL = False from E5Gui import E5MessageBox, E5FileDialog @@ -51,11 +56,15 @@ 0, UI.PixmapCache.getIcon("siteinfo-general")) self.tabWidget.setTabIcon( 1, UI.PixmapCache.getIcon("siteinfo-media")) + if SSL: + self.tabWidget.setTabIcon( + 2, UI.PixmapCache.getIcon("siteinfo-security")) self.__imageReply = None self.__baseUrl = browser.url() title = browser.title() + sslInfo = browser.page().getSslCertificateChain() #prepare background of image preview self.__imagePreviewStandardBackground = ( @@ -105,6 +114,13 @@ "document.charset", WebBrowserPage.SafeJsWorld, lambda res: self.encodingLabel.setText(res)) + # populate the Security tab + if sslInfo: + if SSL: + self.sslWidget.showCertificateChain(sslInfo) + self.tabWidget.setTabEnabled(2, SSL) + self.securityDetailsButton.setEnabled(SSL) + # populate Meta tags browser.page().runJavaScript(Scripts.getAllMetaAttributes(), WebBrowserPage.SafeJsWorld, @@ -115,6 +131,16 @@ WebBrowserPage.SafeJsWorld, self.__processImageTags) + self.tabWidget.setCurrentIndex(0) + + @pyqtSlot() + def on_securityDetailsButton_clicked(self): + """ + Private slot to show security details. + """ + self.tabWidget.setCurrentIndex( + self.tabWidget.indexOf(self.securityTab)) + def __processImageTags(self, res): """ Private method to process the image tags.
--- a/eric6/WebBrowser/SiteInfo/SiteInfoDialog.ui Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/WebBrowser/SiteInfo/SiteInfoDialog.ui Wed Oct 07 19:14:36 2020 +0200 @@ -110,6 +110,22 @@ </item> <item> <layout class="QGridLayout" name="gridLayout_2"> + <item row="1" column="3"> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="securityIconLabel"/> + </item> <item row="0" column="0" colspan="4"> <widget class="QLabel" name="label_4"> <property name="sizePolicy"> @@ -123,6 +139,13 @@ </property> </widget> </item> + <item row="1" column="2"> + <widget class="QLabel" name="securityLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> <item row="1" column="0"> <spacer name="horizontalSpacer"> <property name="orientation"> @@ -139,29 +162,22 @@ </property> </spacer> </item> - <item row="1" column="1"> - <widget class="QLabel" name="securityIconLabel"/> - </item> - <item row="1" column="2"> - <widget class="QLabel" name="securityLabel"> + <item row="1" column="4"> + <widget class="QPushButton" name="securityDetailsButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="text"> - <string/> + <string>Details</string> + </property> + <property name="autoDefault"> + <bool>false</bool> </property> </widget> </item> - <item row="1" column="3"> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> </layout> </item> </layout> @@ -206,6 +222,20 @@ </item> </layout> </widget> + <widget class="QWidget" name="securityTab"> + <attribute name="title"> + <string>Security</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="E5SslCertificatesInfoWidget" name="sslWidget" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + </widget> + </item> + </layout> + </widget> </widget> </item> <item> @@ -220,12 +250,21 @@ </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>E5SslCertificatesInfoWidget</class> + <extends>QWidget</extends> + <header>E5Network/E5SslCertificatesInfoWidget.h</header> + <container>1</container> + </customwidget> + </customwidgets> <tabstops> <tabstop>tabWidget</tabstop> <tabstop>tagsTree</tabstop> + <tabstop>securityDetailsButton</tabstop> <tabstop>imagesTree</tabstop> <tabstop>imagePreview</tabstop> - <tabstop>buttonBox</tabstop> + <tabstop>sslWidget</tabstop> </tabstops> <resources/> <connections>
--- a/eric6/WebBrowser/Tools/WebIconLoader.py Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/WebBrowser/Tools/WebIconLoader.py Wed Oct 07 19:14:36 2020 +0200 @@ -12,6 +12,12 @@ from PyQt5.QtGui import QIcon, QPixmap, QImage from PyQt5.QtNetwork import QNetworkRequest, QSslConfiguration +try: + from PyQt5.QtNetwork import QSslConfiguration # __IGNORE_WARNING__ + SSL_AVAILABLE = True +except ImportError: + SSL_AVAILABLE = False + import WebBrowser.WebBrowserWindow @@ -21,9 +27,12 @@ @signal iconLoaded(icon) emitted when the icon has been loaded @signal sslConfiguration(config) emitted to pass the SSL data + @signal clearSslConfiguration() emitted to clear stored SSL data """ iconLoaded = pyqtSignal(QIcon) - sslConfiguration = pyqtSignal(QSslConfiguration) + if SSL_AVAILABLE: + sslConfiguration = pyqtSignal(QSslConfiguration) + clearSslConfiguration = pyqtSignal() def __init__(self, url, parent=None): """ @@ -52,10 +61,12 @@ icon = QIcon(QPixmap.fromImage(QImage.fromData(data))) self.iconLoaded.emit(icon) - # TODO: extract SSL data as a by-product - if self.__reply.url().scheme().lower() == "https": - sslConfiguration = self.__reply.sslConfiguration() - self.sslConfiguration.emit(sslConfiguration) + if SSL_AVAILABLE: + if self.__reply.url().scheme().lower() == "https": + sslConfiguration = self.__reply.sslConfiguration() + self.sslConfiguration.emit(sslConfiguration) + else: + self.clearSslConfiguration.emit() self.__reply.deleteLater() self.__reply = None
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/WebBrowser/UrlBar/SslLabel.py Wed Oct 07 19:14:36 2020 +0200 @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2020 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the label to show some SSL info (if available). +""" + +from __future__ import unicode_literals + +from PyQt5.QtCore import Qt + +from E5Gui.E5ClickableLabel import E5ClickableLabel + + +class SslLabel(E5ClickableLabel): + """ + Class implementing the label to show some SSL info (if available). + """ + okStyle = "QLabel { color : white; background-color : green; }" + nokStyle = "QLabel { color : white; background-color : red; }" + + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent widget (QWidget) + """ + super(SslLabel, self).__init__(parent) + + self.setFocusPolicy(Qt.NoFocus) + + def setValidity(self, valid): + """ + Public method to set the validity indication. + + @param valid flag indicating the certificate validity (boolean) + """ + if valid: + self.setStyleSheet(SslLabel.okStyle) + else: + self.setStyleSheet(SslLabel.nokStyle)
--- a/eric6/WebBrowser/UrlBar/UrlBar.py Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/WebBrowser/UrlBar/UrlBar.py Wed Oct 07 19:14:36 2020 +0200 @@ -12,6 +12,10 @@ from PyQt5.QtGui import QColor, QPalette, QLinearGradient, QIcon from PyQt5.QtWidgets import QDialog, QApplication from PyQt5.QtWebEngineWidgets import QWebEnginePage +try: + from PyQt5.QtNetwork import QSslCertificate # __IGNORE_EXCEPTION__ +except ImportError: + QSslCertificate = None # __IGNORE_WARNING__ from E5Gui.E5LineEdit import E5LineEdit from E5Gui.E5LineEditButton import E5LineEditButton @@ -21,9 +25,11 @@ from WebBrowser.SafeBrowsing.SafeBrowsingLabel import SafeBrowsingLabel from .FavIconLabel import FavIconLabel +from .SslLabel import SslLabel import UI.PixmapCache import Preferences +import Utilities class UrlBar(E5LineEdit): @@ -56,6 +62,10 @@ self.__favicon = FavIconLabel(self) self.addWidget(self.__favicon, E5LineEdit.LeftSide) + self.__sslLabel = SslLabel(self) + self.addWidget(self.__sslLabel, E5LineEdit.LeftSide) + self.__sslLabel.setVisible(False) + self.__rssButton = E5LineEditButton(self) self.__rssButton.setIcon(UI.PixmapCache.getIcon("rss16")) self.addWidget(self.__rssButton, E5LineEdit.RightSide) @@ -101,6 +111,10 @@ self.__browser.safeBrowsingBad.connect( self.__safeBrowsingLabel.setThreatInfo) + + self.__sslLabel.clicked.connect(self.__browser.page().showSslInfo) + self.__browser.page().sslConfigurationChanged.connect( + self.__sslConfigurationChanged) def browser(self): """ @@ -131,6 +145,7 @@ """ self.__bookmarkButton.setVisible(False) self.__rssButton.setVisible(False) + self.__sslLabel.setVisible(False) def __checkBookmark(self): """ @@ -417,3 +432,36 @@ ) widget = SafeBrowsingInfoWidget(threatInfo, self.__browser) widget.showAt(pos) + + @pyqtSlot() + def __sslConfigurationChanged(self): + """ + Private slot to handle a change of the associated web page SSL + configuration. + """ + sslConfiguration = self.__browser.page().getSslConfiguration() + if sslConfiguration is not None and QSslCertificate is not None: + sslCertificate = self.__browser.page().getSslCertificate() + if sslCertificate is not None: + org = Utilities.decodeString(", ".join( + sslCertificate.subjectInfo(QSslCertificate.Organization))) + if org == "": + cn = Utilities.decodeString(", ".join( + sslCertificate.subjectInfo( + QSslCertificate.CommonName))) + if cn != "": + org = cn.split(".", 1)[1] + if org == "": + org = self.tr("Unknown") + self.__sslLabel.setText(" {0} ".format(org)) + self.__sslLabel.setVisible(True) + valid = not sslCertificate.isBlacklisted() + if valid: + config = self.__browser.page().getSslConfiguration() + if config is None or config.sessionCipher().isNull(): + valid = False + self.__sslLabel.setValidity(valid) + else: + self.__sslLabel.setVisible(False) + else: + self.__sslLabel.setVisible(False)
--- a/eric6/WebBrowser/WebBrowserPage.py Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/WebBrowser/WebBrowserPage.py Wed Oct 07 19:14:36 2020 +0200 @@ -23,6 +23,12 @@ PYQT_WEBENGINE_VERSION = QT_VERSION from PyQt5.QtWebChannel import QWebChannel +try: + from PyQt5.QtNetwork import QSslConfiguration, QSslCertificate + SSL_AVAILABLE = True +except ImportError: + SSL_AVAILABLE = False + from E5Gui import E5MessageBox from WebBrowser.WebBrowserWindow import WebBrowserWindow @@ -33,6 +39,7 @@ from .Tools import Scripts import Preferences +import Globals class WebBrowserPage(QWebEnginePage): @@ -47,6 +54,8 @@ shown web page @signal navigationRequestAccepted(url, navigation type, main frame) emitted to signal an accepted navigation request + @signal sslConfigurationChanged() emitted to indicate a change of the + stored SSL configuration data """ SafeJsWorld = QWebEngineScript.ApplicationWorld UnsafeJsWorld = QWebEngineScript.MainWorld @@ -58,6 +67,8 @@ navigationRequestAccepted = pyqtSignal(QUrl, QWebEnginePage.NavigationType, bool) + sslConfigurationChanged = pyqtSignal() + def __init__(self, parent=None): """ Constructor @@ -89,6 +100,8 @@ # defined for Qt >= 5.11 pass + self.__sslConfiguration = None + # Workaround for changing webchannel world inside # acceptNavigationRequest not working self.__channelUrl = QUrl() @@ -614,3 +627,107 @@ return self.__registerProtocolHandlerRequest.scheme() else: return "" + + ############################################################# + ## SSL configuration handling below + ############################################################# + + def setSslConfiguration(self, sslConfiguration): + """ + Public slot to set the SSL configuration data of the page. + + @param sslConfiguration SSL configuration to be set + @type QSslConfiguration + """ + self.__sslConfiguration = QSslConfiguration(sslConfiguration) + self.__sslConfiguration.url = self.url() + self.sslConfigurationChanged.emit() + + def getSslConfiguration(self): + """ + Public method to return a reference to the current SSL configuration. + + @return reference to the SSL configuration in use + @rtype QSslConfiguration + """ + return self.__sslConfiguration + + def clearSslConfiguration(self): + """ + Public slot to clear the stored SSL configuration data. + """ + self.__sslConfiguration = None + self.sslConfigurationChanged.emit() + + def getSslCertificate(self): + """ + Public method to get a reference to the SSL certificate. + + @return amended SSL certificate + @rtype QSslCertificate + """ + if self.__sslConfiguration is None: + return None + + sslCertificate = self.__sslConfiguration.peerCertificate() + sslCertificate.url = QUrl(self.__sslConfiguration.url) + return sslCertificate + + def getSslCertificateChain(self): + """ + Public method to get a reference to the SSL certificate chain. + + @return SSL certificate chain + @rtype list of QSslCertificate + """ + if self.__sslConfiguration is None: + return [] + + chain = self.__sslConfiguration.peerCertificateChain() + return chain + + def showSslInfo(self, pos): + """ + Public slot to show some SSL information for the loaded page. + + @param pos position to show the info at + @type QPoint + """ + if SSL_AVAILABLE and self.__sslConfiguration is not None: + from E5Network.E5SslInfoWidget import E5SslInfoWidget + widget = E5SslInfoWidget(self.url(), self.__sslConfiguration, + self.view()) + widget.showAt(pos) + else: + E5MessageBox.warning( + self.view(), + self.tr("SSL Info"), + self.tr("""This site does not contain SSL information.""")) + + def hasValidSslInfo(self): + """ + Public method to check, if the page has a valid SSL certificate. + + @return flag indicating a valid SSL certificate + @rtype bool + """ + if self.__sslConfiguration is None: + return False + + certList = self.__sslConfiguration.peerCertificateChain() + if not certList: + return False + + certificateDict = Globals.toDict( + Preferences.Prefs.settings.value("Ssl/CaCertificatesDict")) + for server in certificateDict: + localCAList = QSslCertificate.fromData(certificateDict[server]) + for cert in certList: + if cert in localCAList: + return True + + for cert in certList: + if cert.isBlacklisted(): + return False + + return True
--- a/eric6/WebBrowser/WebBrowserView.py Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/WebBrowser/WebBrowserView.py Wed Oct 07 19:14:36 2020 +0200 @@ -1685,6 +1685,14 @@ self.__siteIconLoader.deleteLater() self.__siteIconLoader = WebIconLoader(url, self) self.__siteIconLoader.iconLoaded.connect(self.__iconLoaded) + try: + self.__siteIconLoader.sslConfiguration.connect( + self.page().setSslConfiguration) + self.__siteIconLoader.clearSslConfiguration.connect( + self.page().clearSslConfiguration) + except AttributeError: + # no SSL available + pass def __iconLoaded(self, icon): """
--- a/eric6/i18n/eric6_cs.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_cs.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5815,7 +5815,7 @@ <translation>Viewmanager</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Chyba na straně konfigurace</translation> </message> @@ -5850,12 +5850,12 @@ <translation>Nastavení</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Předvolby</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Pro zobrazení strany s konfigurací vyberte položku ze seznamu.</translation> @@ -5876,7 +5876,7 @@ <translation></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>Konfigurační stranu <b>{0}</b> nelze načíst.</p></translation> </message> @@ -10671,7 +10671,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation type="unfinished"></translation> </message> @@ -66562,57 +66562,57 @@ <translation type="unfinished">Hodnota</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished">Kopírovat cestu obrázku do schránky</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation type="unfinished">Uložit obrázek</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation type="unfinished">Všechny soubory (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> @@ -66627,30 +66627,40 @@ <translation type="obsolete">Cesta:</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished">Načítám...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished">Bezpečnost</translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -78248,12 +78258,12 @@ <context> <name>UrlBar</name> <message> - <location filename="../Helpviewer/UrlBar/UrlBar.py" line="209"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> <source>Unknown</source> - <translation type="obsolete">Neznámý</translation> - </message> - <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <translation type="unfinished">Neznámý</translation> + </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation type="unfinished"></translation> </message> @@ -87607,12 +87617,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -87850,6 +87860,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -88278,7 +88298,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -88298,22 +88318,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -88323,37 +88343,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_de.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_de.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5725,12 +5725,12 @@ <translation>Ansichtenmanager</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Konfigurationsseitenfehler</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>Die Konfigurationsseite <b>{0}</b> konnte nicht geladen werden.</p></translation> </message> @@ -5765,12 +5765,12 @@ <translation>Einstellungen</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Einstellungen</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Wähle einen Listeneintrag aus, @@ -10347,7 +10347,7 @@ <translation>MD5-Prüfsumme:</translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation><kein Teil des Zertifikates></translation> </message> @@ -63321,85 +63321,95 @@ <translation>Wert</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation><b>Sicherheitsinformationen</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation>Bilder</translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation>Bilder</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation>Bild</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation>Bildadresse</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation><b>Vorschau</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation>Vorschau nicht verfügbar.</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation>Bildadresse in die Zwischenablage kopieren</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation>Bildbezeichnung in die Zwischenablage kopieren</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation>Bild speichern</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation>Alle Dateien (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation><p>In die Datei <b>{0}</b> kann nicht geschrieben werden.</p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation>Lade...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation><p>Diese Vorschau ist nicht verfügbar.</p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation><b>Verbindung ist verschlüsselt.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation><b>Verbindung ist nicht verschlüsselt.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation><b>Verbindung ist verschlüsselt aber möglicherweise unsicher.</b></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation>Details</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation>Sicherheit</translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -74914,10 +74924,15 @@ <context> <name>UrlBar</name> <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>Geben Sie die URL hier ein.</translation> </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> + <source>Unknown</source> + <translation>Unbekannt</translation> + </message> </context> <context> <name>UserAgentManager</name> @@ -84099,12 +84114,12 @@ <translation> s</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation>Fragwürdige URL entdeckt</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation><p>Die URL <b>{0}</b> wurde in der Safe Browsing Datenbank gefunden.</p>{1}</translation> </message> @@ -84361,6 +84376,16 @@ <source>Enable internal PDF Viewer</source> <translation>Interne PDF-Anzeige aktivieren</translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation>SSL Info</translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation>Diese Seite enthält keine SSL Information.</translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -84790,7 +84815,7 @@ <translation>Zur Websuchleiste hinzufügen</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation>Versuche die Seite neu zu laden oder schließe einige Register, um Speicher freizumachen.</translation> </message> @@ -84810,22 +84835,22 @@ <translation>Bild suchen mit ...</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation>Renderprozess wurde unnormal terminiert</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation>Der Renderprozess ist beim Laden der Seite abgestürzt.</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation>Der Renderprozess wurde abgeschossen.</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation>Der Renderprozess terminierte beim Laden der Seite.</translation> </message> @@ -84835,37 +84860,37 @@ <translation>Keine Vorschläge</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation>Web Archiv (*.mhtml *.mht)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation>HTML Datei (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation>HTML Datei mit allen Resourcen (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation>Web Seite speichern</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation>Leere Seite</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation>Speicherplatzanfrage</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation><p>Der Website <b>{0}</b> gestatten, <b>{1}</b> permanenten Speicherplatz zu verwenden?</p></translation> </message>
--- a/eric6/i18n/eric6_empty.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_empty.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5794,23 +5794,23 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation type="unfinished"></translation> </message> @@ -10243,7 +10243,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation type="unfinished"></translation> </message> @@ -62825,85 +62825,95 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -74296,10 +74306,15 @@ <context> <name>UrlBar</name> <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> + <source>Unknown</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>UserAgentManager</name> @@ -83432,12 +83447,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -83680,6 +83695,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -84121,27 +84146,27 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> - <source>Render Process terminated abnormally</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> - <source>The render process crashed while loading this page.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> - <source>The render process was killed.</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <source>Render Process terminated abnormally</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <source>The render process crashed while loading this page.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> + <source>The render process was killed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -84151,37 +84176,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_en.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_en.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5732,23 +5732,23 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation type="unfinished"></translation> </message> @@ -10258,7 +10258,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation type="unfinished"></translation> </message> @@ -62869,85 +62869,95 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -74343,10 +74353,15 @@ <context> <name>UrlBar</name> <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> + <source>Unknown</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>UserAgentManager</name> @@ -83479,12 +83494,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -83727,6 +83742,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -84156,7 +84181,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -84176,22 +84201,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -84201,37 +84226,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_es.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_es.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5720,7 +5720,7 @@ <translation>Gestor de vistas</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Error de Configuración de Página</translation> </message> @@ -5755,12 +5755,12 @@ <translation>Propiedades</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Preferencias</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Por favor, seleccione una entrada de la lista @@ -5782,7 +5782,7 @@ <translation>Python3</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>La página de configuración <b>{0}</b> no puede ser cargada.</p></translation> </message> @@ -10342,7 +10342,7 @@ <translation>MD5-Fingerprint:</translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation><no es parte del certificado></translation> </message> @@ -63302,85 +63302,95 @@ <translation>Valor</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation><b>Información de Seguridad</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation>Media</translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation>Media</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation>Imagen</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation>Dirección de la Imagen</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation><b>Vista preliminar</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation>Vista preliminar no disponible.</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation>Copiar Ubicación de la Imagen al Portapapeles</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation>Copiar Nombre de la Imagen al Portapapeles</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation>Guardar imagen</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation>Todos los archivos (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation><p>No es posible escribir en el archivo <b>{0}</b>.</p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation>Cargando...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation><p>Esta vista previa no está disponible.</p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation><b>La Conexión está encriptada.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation><b>La Conexión no está encriptada.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation><b>La connection está encriptada pero puede ser insegura.</b></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished">Detalles</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished">Seguridad</translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -74881,10 +74891,15 @@ <context> <name>UrlBar</name> <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>Introducir aquí la URL.</translation> </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> + <source>Unknown</source> + <translation type="unfinished">Desconocido</translation> + </message> </context> <context> <name>UserAgentManager</name> @@ -84065,12 +84080,12 @@ <translation> s</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation>Detectada URL sospechosa</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation><p>La URL <b>{0}</b> se ha encontrado en la base de datos de Navegación Segura.</p>{1}</translation> </message> @@ -84327,6 +84342,16 @@ <source>Enable internal PDF Viewer</source> <translation>Habilitar Visor PDF Interno</translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -84751,7 +84776,7 @@ <translation>Añadir a la barra de búsqueda web</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation>Intente recargar la página o cerrar algunas pestañas para que haya más memoria disponible.</translation> </message> @@ -84771,22 +84796,22 @@ <translation>Buscar imagen con...</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation>El Proceso de Dibujado ha terminado anomalamente</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation>El proceso de dibujado ha fallado mientras se cargaba esta página.</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation>El proceso de dibujado se ha eliminado.</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation>El proceso de dibujado ha terminado mientras se cargaba esta página.</translation> </message> @@ -84796,37 +84821,37 @@ <translation>No hay sugerencias</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation>Archivo Web (*.mhtml *.mht)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation>Archivo HTML (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation>Archivo HTML con todos los recursos (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation>Guardar Página Web</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation>Página en Blanco</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation>Solicitud de Cuota</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation><p> ¿Permitir al sitio web <b>{0}</b> utilizar <b>{1}</b> de almacenamiento persistente?</p></translation> </message>
--- a/eric6/i18n/eric6_fr.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_fr.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5849,7 +5849,7 @@ <translation>Gestionnaire d'affichage</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Erreur de la page de configuration</translation> </message> @@ -5884,12 +5884,12 @@ <translation>Propriétés</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Préférences</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Choisir une entrée dans la liste @@ -5911,7 +5911,7 @@ <translation>Python3</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>La page de configuration <b>{0}</b> n'a pas pu être chargée.</p></translation> </message> @@ -10621,7 +10621,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation type="unfinished"></translation> </message> @@ -65865,57 +65865,57 @@ <translation>Valeur</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation><b>Information de sécurité</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation>Média</translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation>Média</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation>Image</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation>Adresse de l'image</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation><b>Aperçu</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation>Aperçu non disponible.</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation>Copier le nom d'image dans le presse papier</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation>Enregistrer l'image</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation>Tous les fichiers (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation><p>Ne peut écrire sur le fichier <b>{0}</b>.</p></translation> </message> @@ -65925,30 +65925,40 @@ <translation type="obsolete">Nom:</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation>Chargement en cours...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation><p>Cette aperçu n'est pas disponible.</p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation><b>La connection est chiffrée.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation><b>La connection n'est pas chiffrée.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation><b>La connection est chiffrée mais peut être non sécurisée.</b></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished">Détails</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished">Sécurité</translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -77585,12 +77595,12 @@ <context> <name>UrlBar</name> <message> - <location filename="../Helpviewer/UrlBar/UrlBar.py" line="209"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> <source>Unknown</source> - <translation type="obsolete">Inconnu</translation> - </message> - <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <translation type="unfinished">Inconnu</translation> + </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>Entrer l'URL ici.</translation> </message> @@ -86915,12 +86925,12 @@ <translation> s</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation>URL suspectes détectées</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -87163,6 +87173,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -87592,7 +87612,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -87612,22 +87632,22 @@ <translation>Chercher l'image avec...</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -87637,37 +87657,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation>Fichiers HTML (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation>Enregistrer la page web</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation>Page vide</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_it.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_it.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5939,7 +5939,7 @@ <translation>Gestrore viste</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Configurazione pagine errore</translation> </message> @@ -5974,12 +5974,12 @@ <translation>Proprietà</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Preferenze</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Selezionare un elemento della lista @@ -6001,7 +6001,7 @@ <translation>Python3</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>La pagina di configurazione <b>{0}</b> non può essere caricata.</p></translation> </message> @@ -10868,7 +10868,7 @@ <translation>Firma digitale MD5:</translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation><non parte del certificato></translation> </message> @@ -68333,62 +68333,62 @@ <translation type="unfinished">Valore</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Helpviewer/SiteInfo/SiteInfoDialog.ui" line="348"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> <source>Security</source> - <translation type="obsolete">Sicurezza</translation> - </message> - <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <translation type="unfinished">Sicurezza</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished">Copia la posizione dell'immagine nella Clipboard</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation type="unfinished">Salva immagine</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> @@ -68403,30 +68403,35 @@ <translation type="obsolete">Percorso:</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished">Caricamento...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -80094,12 +80099,12 @@ <context> <name>UrlBar</name> <message> - <location filename="../Helpviewer/UrlBar/UrlBar.py" line="209"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> <source>Unknown</source> - <translation type="obsolete">Sconosciuto</translation> - </message> - <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <translation type="unfinished">Sconosciuto</translation> + </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>Imettere qui l'URL.</translation> </message> @@ -89457,12 +89462,12 @@ <translation type="unfinished"> s</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -89700,6 +89705,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished">Informazioni SSL</translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished">Questo sito non contiene informazioni SSL.</translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -90129,7 +90144,7 @@ <translation type="unfinished">Aggiungi alla toolbar delle ricerche web</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -90149,22 +90164,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -90174,37 +90189,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_pt.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_pt.ts Wed Oct 07 19:14:36 2020 +0200 @@ -6003,24 +6003,24 @@ <translation>Gestor de Vista</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Preferências</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Por favor selecione uma entrada da lista para mostrar a página de configuração.</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Erro na Página de Configuração</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>A página de configuração <b>{0}</b> não pôde ser carregada.</p></translation> </message> @@ -10872,7 +10872,7 @@ <translation>Impressão Digital MD5:</translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation><Não faz parte do certificado></translation> </message> @@ -67674,62 +67674,62 @@ <translation>Valor</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Helpviewer/SiteInfo/SiteInfoDialog.ui" line="348"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> <source>Security</source> - <translation type="obsolete">Segurança</translation> - </message> - <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <translation type="unfinished">Segurança</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished">Copiar Localização da Imagem para a Área de Transferência</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation>Gravar Imagem</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation>Ficheiros Todos (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> @@ -67744,30 +67744,35 @@ <translation type="obsolete">Rota:</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished">Carregando...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -79334,12 +79339,12 @@ <context> <name>UrlBar</name> <message> - <location filename="../Helpviewer/UrlBar/UrlBar.py" line="209"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> <source>Unknown</source> - <translation type="obsolete">Desconhecido</translation> - </message> - <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <translation type="unfinished">Desconhecido</translation> + </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>Introduza URL aqui.</translation> </message> @@ -88646,12 +88651,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -88889,6 +88894,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished">Informação SSL</translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished">Este sítio não tem informação SSL.</translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -89318,7 +89333,7 @@ <translation type="unfinished">Adicionar á barra de pesquisa web</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -89338,22 +89353,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -89363,37 +89378,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_ru.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_ru.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5786,24 +5786,24 @@ <translation>Менеджер видов</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Предпочтения</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Выберите пункт в списке слева для отображения страницы его настроек.</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Ошибка страницы конфигурации</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>Страница конфигурации <b>{0}</b> не может быть загружена.</p></translation> </message> @@ -10387,7 +10387,7 @@ <translation>MD5-хэш подписи:</translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation><не является частью сертификата></translation> </message> @@ -63583,85 +63583,95 @@ <translation>Значение</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation><b>Информация о безопасности</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation>Мультимедиа</translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation>Мультимедиа</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation>Изображение</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation>Адрес изображения</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation><b>Предварительный просмотр</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation>Предварительный просмотр не возможен.</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation>Копировать адрес изображения в буфер</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation>Копировать имя изображения в буфер</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation>Сохранить изображение</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation>Все файлы (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation><p>Невозможно записать в файл: <b>{0}</b></p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation>Загрузка...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation><p>Предварительный просмотр недоступен.</p></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation><b>Соединение зашифровано.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation><b>Соединение не зашифровано.</b></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation><b>Соединение зашифровано, но может быть небезопасно.</b></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished">Подробности</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished">Безопасность</translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -75176,10 +75186,15 @@ <context> <name>UrlBar</name> <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>Введите здесь URL.</translation> </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> + <source>Unknown</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>UserAgentManager</name> @@ -84419,12 +84434,12 @@ <translation> сек</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation>Обнаружен подозрительный URL</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation><p>URL <b>{0}</b> был найден в базе Safe Browsing.</p>{1}</translation> </message> @@ -84681,6 +84696,16 @@ <source>Enable internal PDF Viewer</source> <translation>Встроенный просмотрщик PDF</translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -85112,7 +85137,7 @@ <translation>Добавить в панель инструментов web-поиска</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation>Попробуйте перезагрузить страницу или закрыть некоторые вкладки, чтобы увеличить доступную память.</translation> </message> @@ -85132,22 +85157,22 @@ <translation>Поиск изображений с...</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation>Рендер процес завершился анормально</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation>Рендер процесс упал при загрузке этой страницы.</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation>Рендер процесс был убит.</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation>Рендер процесс завершается при загрузке этой страницы.</translation> </message> @@ -85157,37 +85182,37 @@ <translation>Нет предложений</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation>Web архив (*.mhtml *.mht)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation>Файлы HTML (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation>Файлы HTML со всеми ресурсами (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation>Сохранить web-страницу</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation>Пустая страница</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation>Запрос квоты</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation><p> Разрешить вебсайту <b>{0}</b> использовать <b>{1}</b> постоянного хранилища?</p></translation> </message>
--- a/eric6/i18n/eric6_tr.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_tr.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5871,24 +5871,24 @@ <translation>Görünüm Yönetcisi</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>Seçenekler</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>Lütfen ayarlama sayfasını göstermek için gelen listeyi seçiniz.</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>Ayarlama Sayfası Hatası</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>TAyarlama sayfası <b>{0}</b> yüklenemiyor.</p></translation> </message> @@ -10716,7 +10716,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation type="unfinished"></translation> </message> @@ -66704,57 +66704,57 @@ <translation type="unfinished">Değer</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation type="unfinished">Görüntünün Yerini Panoya kopyala</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation type="unfinished">Görüntüyü Kaydet</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation type="unfinished">Tüm Dosyalar (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> @@ -66769,30 +66769,40 @@ <translation type="obsolete">Yol:</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished">Yükleniyor...</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> + <source>Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> + <source>Security</source> + <translation type="unfinished">Güvenlik</translation> + </message> </context> <context> <name>SiteInfoWidget</name> @@ -78349,12 +78359,12 @@ <context> <name>UrlBar</name> <message> - <location filename="../Helpviewer/UrlBar/UrlBar.py" line="209"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> <source>Unknown</source> - <translation type="obsolete">Bilinmeyen</translation> - </message> - <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <translation type="unfinished">Bilinmeyen</translation> + </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation type="unfinished"></translation> </message> @@ -87662,12 +87672,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -87905,6 +87915,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -88332,7 +88352,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -88352,22 +88372,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -88377,37 +88397,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_zh_CN.ts Wed Oct 07 17:58:51 2020 +0200 +++ b/eric6/i18n/eric6_zh_CN.ts Wed Oct 07 19:14:36 2020 +0200 @@ -5910,18 +5910,18 @@ <translation>外观</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="579"/> + <location filename="../Preferences/ConfigurationDialog.py" line="580"/> <source>Preferences</source> <translation>首选项</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="584"/> + <location filename="../Preferences/ConfigurationDialog.py" line="585"/> <source>Please select an entry of the list to display the configuration page.</source> <translation>请在左边选择一个列表项以显示配置页面。</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source>Configuration Page Error</source> <translation>配置页面错误</translation> </message> @@ -5931,7 +5931,7 @@ <translation>Python3</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="661"/> + <location filename="../Preferences/ConfigurationDialog.py" line="662"/> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>配置页面 <b>{0}</b> 无法载入。</p></translation> </message> @@ -10695,7 +10695,7 @@ <translation>MD5 指纹:</translation> </message> <message> - <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="146"/> + <location filename="../E5Network/E5SslCertificatesInfoWidget.py" line="152"/> <source><not part of the certificate></source> <translation type="unfinished"></translation> </message> @@ -67539,57 +67539,57 @@ <translation>值</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="122"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="138"/> <source><b>Security information</b></source> <translation><b>安全信息</b></translation> </message> <message> - <location filename="../Helpviewer/SiteInfo/SiteInfoNoSslDialog.ui" line="188"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="174"/> <source>Details</source> - <translation type="obsolete">详情</translation> - </message> - <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="171"/> - <source>Media</source> - <translation>媒体</translation> + <translation type="unfinished">详情</translation> </message> <message> <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="187"/> + <source>Media</source> + <translation>媒体</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="203"/> <source>Image</source> <translation>图像</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="192"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="208"/> <source>Image Address</source> <translation>图像地址</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="200"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="216"/> <source><b>Preview</b></source> <translation><b>预览</b></translation> </message> <message> - <location filename="../Helpviewer/SiteInfo/SiteInfoDialog.ui" line="348"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.ui" line="227"/> <source>Security</source> - <translation type="obsolete">安全</translation> - </message> - <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="238"/> + <translation type="unfinished">安全</translation> + </message> + <message> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="264"/> <source>Preview not available.</source> <translation>预览不可用。</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="265"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="291"/> <source>Copy Image Location to Clipboard</source> <translation>将图像位置复制至剪贴板</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="268"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="294"/> <source>Copy Image Name to Clipboard</source> <translation>将图像名称复制至剪贴板</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source>Save Image</source> <translation>保存图像</translation> </message> @@ -67599,12 +67599,12 @@ <translation type="obsolete">图像不可用。</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="321"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="347"/> <source>All Files (*)</source> <translation>所有文件 (*)</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="332"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="358"/> <source><p>Cannot write to file <b>{0}</b>.</p></source> <translation><p>无法写入文件 <b>{0}</b>。</p></translation> </message> @@ -67644,27 +67644,27 @@ <translation type="obsolete">显示该站点使用的数据库的列表</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="251"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="277"/> <source>Loading...</source> <translation type="unfinished">正在加载…</translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="309"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="335"/> <source><p>This preview is not available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="97"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="106"/> <source><b>Connection is encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="102"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="111"/> <source><b>Connection is not encrypted.</b></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="87"/> + <location filename="../WebBrowser/SiteInfo/SiteInfoDialog.py" line="96"/> <source><b>Connection is encrypted but may be insecure.</b></source> <translation type="unfinished"></translation> </message> @@ -79319,12 +79319,12 @@ <context> <name>UrlBar</name> <message> - <location filename="../Helpviewer/UrlBar/UrlBar.py" line="209"/> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="455"/> <source>Unknown</source> - <translation type="obsolete">未知</translation> - </message> - <message> - <location filename="../WebBrowser/UrlBar/UrlBar.py" line="42"/> + <translation type="unfinished">未知</translation> + </message> + <message> + <location filename="../WebBrowser/UrlBar/UrlBar.py" line="48"/> <source>Enter the URL here.</source> <translation>在此处输入 URL。</translation> </message> @@ -88692,12 +88692,12 @@ <translation type="unfinished"> 秒</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source>Suspicuous URL detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserPage.py" line="172"/> + <location filename="../WebBrowser/WebBrowserPage.py" line="185"/> <source><p>The URL <b>{0}</b> was found in the Safe Browsing database.</p>{1}</source> <translation type="unfinished"></translation> </message> @@ -88935,6 +88935,16 @@ <source>Enable internal PDF Viewer</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>SSL Info</source> + <translation type="unfinished">SSL 信息</translation> + </message> + <message> + <location filename="../WebBrowser/WebBrowserPage.py" line="702"/> + <source>This site does not contain SSL information.</source> + <translation type="unfinished">这个站点未包括 SSL 信息。</translation> + </message> </context> <context> <name>WebBrowserSpellCheckingPage</name> @@ -89362,7 +89372,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1803"/> <source>Try reloading the page or closing some tabs to make more memory available.</source> <translation type="unfinished"></translation> </message> @@ -89382,22 +89392,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1784"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> <source>Render Process terminated abnormally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1787"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1795"/> <source>The render process crashed while loading this page.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1790"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1798"/> <source>The render process was killed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1792"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1800"/> <source>The render process terminated while loading this page.</source> <translation type="unfinished"></translation> </message> @@ -89407,37 +89417,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1918"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1926"/> <source>Web Archive (*.mhtml *.mht)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1919"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1927"/> <source>HTML File (*.html *.htm)</source> <translation type="unfinished">HTML 文件 (*.html *.htm)</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1920"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1928"/> <source>HTML File with all resources (*.html *.htm)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1943"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1951"/> <source>Save Web Page</source> <translation type="unfinished">保存网页</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="1735"/> + <location filename="../WebBrowser/WebBrowserView.py" line="1743"/> <source>Empty Page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source>Quota Request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../WebBrowser/WebBrowserView.py" line="2294"/> + <location filename="../WebBrowser/WebBrowserView.py" line="2302"/> <source><p> Allow the website at <b>{0}</b> to use <b>{1}</b> of persistent storage?</p></source> <translation type="unfinished"></translation> </message>