src/eric7/UI/Previewer.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/UI/Previewer.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/UI/Previewer.py	Wed Jul 13 14:55:47 2022 +0200
@@ -20,132 +20,129 @@
     Class implementing a previewer widget containing a stack of
     specialized previewers.
     """
+
     def __init__(self, viewmanager, parent=None):
         """
         Constructor
-        
+
         @param viewmanager reference to the viewmanager object
         @type ViewManager
         @param parent reference to the parent widget
         @type QWidget
         """
         super().__init__(parent)
-        
+
         self.__vm = viewmanager
-        
+
         self.__firstShow = True
-        
+
         self.__htmlPreviewer = None
         self.__qssPreviewer = None
-        
+
         # Don't update too often because the UI might become sluggish
         self.__typingTimer = QTimer()
         self.__typingTimer.setInterval(
-            Preferences.getEditor("PreviewRefreshWaitTimer"))   # default 500ms
+            Preferences.getEditor("PreviewRefreshWaitTimer")
+        )  # default 500ms
         self.__typingTimer.timeout.connect(self.__processEditor)
-        
+
         self.__vm.editorChangedEd.connect(self.__editorChanged)
         self.__vm.editorLanguageChanged.connect(self.__editorLanguageChanged)
         self.__vm.editorTextChanged.connect(self.__editorTextChanged)
 
         self.__vm.previewStateChanged.connect(self.__previewStateChanged)
-        
+
         self.hide()
-    
+
     def setSplitter(self, splitter):
         """
         Public method to set the splitter.
-        
+
         @param splitter reference to the embedding splitter
         @type QSplitter
         """
         self.__splitter = splitter
         self.__splitter.splitterMoved.connect(self.__splitterMoved)
-    
+
     @pyqtSlot()
     def preferencesChanged(self):
         """
         Public slot handling a change of preferences.
         """
-        self.__typingTimer.setInterval(
-            Preferences.getEditor("PreviewRefreshWaitTimer"))
-    
+        self.__typingTimer.setInterval(Preferences.getEditor("PreviewRefreshWaitTimer"))
+
     def show(self):
         """
         Public method to show the preview widget.
         """
         super().show()
         if self.__firstShow:
-            self.__splitter.restoreState(
-                Preferences.getUI("PreviewSplitterState"))
+            self.__splitter.restoreState(Preferences.getUI("PreviewSplitterState"))
             self.__firstShow = False
         self.__typingTimer.start()
-    
+
     def hide(self):
         """
         Public method to hide the preview widget.
         """
         super().hide()
         self.__typingTimer.stop()
-    
+
     def shutdown(self):
         """
         Public method to perform shutdown actions.
         """
         self.__typingTimer.stop()
         self.__htmlPreviewer and self.__htmlPreviewer.shutdown()
-    
+
     def __splitterMoved(self):
         """
         Private slot to handle the movement of the embedding splitter's handle.
         """
         state = self.__splitter.saveState()
         Preferences.setUI("PreviewSplitterState", state)
-    
+
     def __editorChanged(self, editor):
         """
         Private slot to handle a change of the current editor.
-        
+
         @param editor reference to the editor
         @type Editor
         """
         if editor is None:
             self.hide()
             return
-        
-        if (
-            Preferences.getUI("ShowFilePreview") and
-            self.__isPreviewable(editor)
-        ):
+
+        if Preferences.getUI("ShowFilePreview") and self.__isPreviewable(editor):
             self.show()
             self.__processEditor()
         else:
             self.hide()
-    
+
     def __editorLanguageChanged(self, editor):
         """
         Private slot to handle a change of the current editor's language.
-        
+
         @param editor reference to the editor
         @type Editor
         """
         self.__editorChanged(editor)
-    
+
     def __editorTextChanged(self, editor):
         """
         Private slot to handle changes of an editor's text.
-        
+
         @param editor reference to the editor
         @type Editor
         """
         if self.isVisible():
             self.__typingTimer.stop()
             self.__typingTimer.start()
-    
+
     def __previewStateChanged(self, on):
         """
         Private slot to toggle the display of the preview.
-        
+
         @param on flag indicating to show a preview
         @type bool
         """
@@ -154,12 +151,12 @@
             self.show()
         else:
             self.hide()
-    
+
     def __isPreviewable(self, editor):
         """
         Private method to check, if a preview can be shown for the given
         editor.
-        
+
         @param editor reference to an editor
         @type Editor
         @return flag indicating if a preview can be shown
@@ -168,64 +165,65 @@
         if editor:
             if bool(editor.getFileName()):
                 extension = os.path.normcase(
-                    os.path.splitext(editor.getFileName())[1][1:])
+                    os.path.splitext(editor.getFileName())[1][1:]
+                )
                 return extension in (
-                    Preferences.getEditor("PreviewHtmlFileNameExtensions") +
-                    Preferences.getEditor(
-                        "PreviewMarkdownFileNameExtensions") +
-                    Preferences.getEditor("PreviewRestFileNameExtensions") +
-                    Preferences.getEditor("PreviewQssFileNameExtensions")
+                    Preferences.getEditor("PreviewHtmlFileNameExtensions")
+                    + Preferences.getEditor("PreviewMarkdownFileNameExtensions")
+                    + Preferences.getEditor("PreviewRestFileNameExtensions")
+                    + Preferences.getEditor("PreviewQssFileNameExtensions")
                 )
             elif editor.getLanguage().lower() in [
-                    "html", "markdown", "restructuredtext", "qss"]:
+                "html",
+                "markdown",
+                "restructuredtext",
+                "qss",
+            ]:
                 return True
-        
+
         return False
-    
+
     def __processEditor(self):
         """
         Private slot to schedule the processing of the current editor's text.
         """
         self.__typingTimer.stop()
-        
+
         editor = self.__vm.activeWindow()
         if editor is not None:
             fn = editor.getFileName()
-            
+
             if fn:
                 extension = os.path.normcase(os.path.splitext(fn)[1][1:])
             else:
                 extension = ""
             if (
-                extension in Preferences.getEditor(
-                    "PreviewHtmlFileNameExtensions") or
-                editor.getLanguage().lower() == "html"
+                extension in Preferences.getEditor("PreviewHtmlFileNameExtensions")
+                or editor.getLanguage().lower() == "html"
             ):
                 language = "HTML"
             elif (
-                extension in Preferences.getEditor(
-                    "PreviewMarkdownFileNameExtensions") or
-                editor.getLanguage().lower() == "markdown"
+                extension in Preferences.getEditor("PreviewMarkdownFileNameExtensions")
+                or editor.getLanguage().lower() == "markdown"
             ):
                 language = "Markdown"
             elif (
-                extension in Preferences.getEditor(
-                    "PreviewRestFileNameExtensions") or
-                editor.getLanguage().lower() == "restructuredtext"
+                extension in Preferences.getEditor("PreviewRestFileNameExtensions")
+                or editor.getLanguage().lower() == "restructuredtext"
             ):
                 language = "ReST"
             elif (
-                extension in Preferences.getEditor(
-                    "PreviewQssFileNameExtensions") or
-                editor.getLanguage().lower() == "qss"
+                extension in Preferences.getEditor("PreviewQssFileNameExtensions")
+                or editor.getLanguage().lower() == "qss"
             ):
                 language = "QSS"
             else:
                 language = ""
-            
+
             if language in ["HTML", "Markdown", "ReST"]:
                 if self.__htmlPreviewer is None:
                     from .Previewers.PreviewerHTML import PreviewerHTML
+
                     self.__htmlPreviewer = PreviewerHTML()
                     self.addWidget(self.__htmlPreviewer)
                 self.setCurrentWidget(self.__htmlPreviewer)
@@ -233,6 +231,7 @@
             elif language == "QSS":
                 if self.__qssPreviewer is None:
                     from .Previewers.PreviewerQSS import PreviewerQSS
+
                     self.__qssPreviewer = PreviewerQSS()
                     self.addWidget(self.__qssPreviewer)
                 self.setCurrentWidget(self.__qssPreviewer)

eric ide

mercurial