eric6/WebBrowser/WebBrowserWindow.py

branch
maintenance
changeset 8273
698ae46f40a4
parent 8176
31965986ecd1
parent 8265
0090cfa83159
child 8576
fe1957c69854
--- a/eric6/WebBrowser/WebBrowserWindow.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/WebBrowser/WebBrowserWindow.py	Sat May 01 14:27:20 2021 +0200
@@ -11,6 +11,7 @@
 import shutil
 import sys
 import functools
+import contextlib
 
 from PyQt5.QtCore import (
     pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, QUrl, QProcess,
@@ -140,7 +141,7 @@
         """
         self.__hideNavigationTimer = None
         
-        super(WebBrowserWindow, self).__init__(parent)
+        super().__init__(parent)
         self.setObjectName(name)
         if private:
             self.setWindowTitle(self.tr("eric Web Browser (Private Mode)"))
@@ -295,10 +296,11 @@
         self.addDockWidget(Qt.DockWidgetArea.BottomDockWidgetArea,
                            self.__javascriptConsoleDock)
         
-        if Preferences.getWebBrowser("SaveGeometry"):
-            g = Preferences.getGeometry("WebBrowserGeometry")
-        else:
-            g = QByteArray()
+        g = (
+            Preferences.getGeometry("WebBrowserGeometry")
+            if Preferences.getWebBrowser("SaveGeometry") else
+            QByteArray()
+        )
         if g.isEmpty():
             s = QSize(800, 800)
             self.resize(s)
@@ -646,14 +648,12 @@
             Preferences.getWebBrowser(
                 "DnsPrefetchEnabled"))
         
-        try:
+        with contextlib.suppress(AttributeError, KeyError):
             # Qt 5.13
             settings.setAttribute(
                 QWebEngineSettings.WebAttribute.PdfViewerEnabled,
                 Preferences.getWebBrowser(
                     "PdfViewerEnabled"))
-        except (AttributeError, KeyError):
-            pass
     
     def __initActions(self):
         """
@@ -2760,9 +2760,12 @@
         
         @return flag indicating successful shutdown (boolean)
         """
-        if not WebBrowserWindow._performingShutdown and not self.__forcedClose:
-            if not self.__tabWidget.shallShutDown():
-                return False
+        if (
+            not WebBrowserWindow._performingShutdown and
+            not self.__forcedClose and
+            not self.__tabWidget.shallShutDown()
+        ):
+            return False
         
         self.__isClosing = True
         
@@ -2802,25 +2805,22 @@
         else:
             Preferences.setGeometry("WebBrowserGeometry", QByteArray())
         
-        try:
+        with contextlib.suppress(ValueError):
             browserIndex = WebBrowserWindow.BrowserWindows.index(self)
-            if len(WebBrowserWindow.BrowserWindows):
-                if browserIndex == 0:
-                    if len(WebBrowserWindow.BrowserWindows) > 1:
-                        # first window will be deleted
-                        QDesktopServices.setUrlHandler(
-                            "http",
-                            WebBrowserWindow.BrowserWindows[1].urlHandler)
-                        QDesktopServices.setUrlHandler(
-                            "https",
-                            WebBrowserWindow.BrowserWindows[1].urlHandler)
-                    else:
-                        QDesktopServices.unsetUrlHandler("http")
-                        QDesktopServices.unsetUrlHandler("https")
+            if len(WebBrowserWindow.BrowserWindows) and browserIndex == 0:
+                if len(WebBrowserWindow.BrowserWindows) > 1:
+                    # first window will be deleted
+                    QDesktopServices.setUrlHandler(
+                        "http",
+                        WebBrowserWindow.BrowserWindows[1].urlHandler)
+                    QDesktopServices.setUrlHandler(
+                        "https",
+                        WebBrowserWindow.BrowserWindows[1].urlHandler)
+                else:
+                    QDesktopServices.unsetUrlHandler("http")
+                    QDesktopServices.unsetUrlHandler("https")
             if len(WebBrowserWindow.BrowserWindows) > 0:
                 del WebBrowserWindow.BrowserWindows[browserIndex]
-        except ValueError:
-            pass
         
         Preferences.syncPreferences()
         if (
@@ -3161,10 +3161,12 @@
         """
         Private slot to set the preferences.
         """
-        from Preferences.ConfigurationDialog import ConfigurationDialog
+        from Preferences.ConfigurationDialog import (
+            ConfigurationDialog, ConfigurationMode
+        )
         dlg = ConfigurationDialog(
             self, 'Configuration', True, fromEric=False,
-            displayMode=ConfigurationDialog.WebBrowserMode)
+            displayMode=ConfigurationMode.WEBBROWSERMODE)
         dlg.preferencesChanged.connect(self.preferencesChanged)
         dlg.masterPasswordChanged.connect(
             lambda old, new: self.masterPasswordChanged(old, new, local=True))
@@ -3212,14 +3214,11 @@
                     QWebEngineProfile.HttpCacheType.MemoryHttpCache)
                 profile.setHttpCacheMaximumSize(0)
         
-        try:
+        with contextlib.suppress(AttributeError):
             profile.setSpellCheckEnabled(
                 Preferences.getWebBrowser("SpellCheckEnabled"))
             profile.setSpellCheckLanguages(
                 Preferences.getWebBrowser("SpellCheckLanguages"))
-        except AttributeError:
-            # not yet supported
-            pass
         
         self.__virusTotal.preferencesChanged()
         if (
@@ -4083,10 +4082,7 @@
         @param name name for the action
         @type str
         """
-        if name:
-            act = QAction(name, parentMenu)
-        else:
-            act = QAction(codec, parentMenu)
+        act = QAction(name, parentMenu) if name else QAction(codec, parentMenu)
         act.setData(codec)
         act.setCheckable(True)
         if defaultCodec == codec:
@@ -4121,10 +4117,11 @@
         self.__textEncodingMenu.clear()
         
         defaultTextEncoding = self.webSettings().defaultTextEncoding().lower()
-        if defaultTextEncoding in Utilities.supportedCodecs:
-            currentCodec = defaultTextEncoding
-        else:
-            currentCodec = ""
+        currentCodec = (
+            defaultTextEncoding
+            if defaultTextEncoding in Utilities.supportedCodecs else
+            ""
+        )
         
         isoCodecs = []
         winCodecs = []
@@ -4358,7 +4355,7 @@
             self.currentBrowser().triggerPageAction(
                 QWebEnginePage.WebAction.Forward)
         else:
-            super(WebBrowserWindow, self).mousePressEvent(evt)
+            super().mousePressEvent(evt)
     
     @classmethod
     def feedsManager(cls):
@@ -4510,7 +4507,7 @@
                     self.__linkActivated(url)
                     return
         
-        super(WebBrowserWindow, self).keyPressEvent(evt)
+        super().keyPressEvent(evt)
     
     def event(self, evt):
         """
@@ -4559,7 +4556,7 @@
             if self.__hideNavigationTimer:
                 self.__hideNavigationTimer.stop()
         
-        return super(WebBrowserWindow, self).event(evt)
+        return super().event(evt)
     
     ###########################################################################
     ## Interface to VirusTotal below                                         ##
@@ -4690,7 +4687,7 @@
     
     @classmethod
     def showNotification(cls, icon, heading, text,
-                         kind=NotificationTypes.Information, timeout=None):
+                         kind=NotificationTypes.INFORMATION, timeout=None):
         """
         Class method to show a desktop notification.
         
@@ -4796,14 +4793,11 @@
                     QWebEngineProfile.PersistentCookiesPolicy
                     .AllowPersistentCookies)
             
-            try:
+            with contextlib.suppress(AttributeError):
                 cls._webProfile.setSpellCheckEnabled(
                     Preferences.getWebBrowser("SpellCheckEnabled"))
                 cls._webProfile.setSpellCheckLanguages(
                     Preferences.getWebBrowser("SpellCheckLanguages"))
-            except AttributeError:
-                # not yet supported
-                pass
             
             # Setup QWebChannel user scripts
             from .WebBrowserPage import WebBrowserPage
@@ -5007,14 +5001,15 @@
             if ex:
                 fn += ex
         
-        if os.path.exists(fn):
-            ok = E5MessageBox.yesNo(
+        ok = (
+            E5MessageBox.yesNo(
                 self,
                 self.tr("Export Keyboard Shortcuts"),
                 self.tr("""<p>The keyboard shortcuts file <b>{0}</b> exists"""
                         """ already. Overwrite it?</p>""").format(fn))
-        else:
-            ok = True
+            if os.path.exists(fn) else
+            True
+        )
         
         if ok:
             from Preferences import Shortcuts

eric ide

mercurial