QScintilla/Editor.py

changeset 4503
d68dcbe1deb3
parent 4498
1eeb430df3a2
child 4631
5c1a96925da4
diff -r 76f2b46437a6 -r d68dcbe1deb3 QScintilla/Editor.py
--- a/QScintilla/Editor.py	Tue Oct 20 19:19:12 2015 +0200
+++ b/QScintilla/Editor.py	Thu Oct 22 19:48:40 2015 +0200
@@ -320,7 +320,10 @@
         # initialize the online syntax check timer
         try:
             self.syntaxCheckService = e5App().getObject('SyntaxCheckService')
-            self.syntaxCheckService.syntaxChecked.connect(self.__processResult)
+            self.syntaxCheckService.syntaxChecked.connect(
+                self.__processSyntaxCheckResult)
+            self.syntaxCheckService.error.connect(
+                self.__processSyntaxCheckError)
             self.__initOnlineSyntaxCheck()
         except KeyError:
             self.syntaxCheckService = None
@@ -5368,9 +5371,29 @@
             self.syntaxCheckService.syntaxCheck(
                 self.filetype, self.fileName or "(Unnamed)", self.text())
 
-    def __processResult(self, fn, problems):
-        """
-        Private slot to report the resulting messages.
+    def __processSyntaxCheckError(self, fn, msg):
+        """
+        Private slot to report an error message of a syntax check.
+        
+        @param fn filename of the file
+        @type str
+        @param msg error message
+        @type str
+        """
+        if fn != self.fileName and (
+                self.fileName is not None or fn != "(Unnamed)"):
+            return
+        
+        self.clearSyntaxError()
+        self.clearFlakesWarnings()
+        
+        self.toggleWarning(0, 0, True, msg)
+        
+        self.updateVerticalScrollBar()
+    
+    def __processSyntaxCheckResult(self, fn, problems):
+        """
+        Private slot to report the resulting messages of a syntax check.
         
         @param fn filename of the checked file (str)
         @param problems dictionary with the keys 'error' and 'warnings' which
@@ -6332,7 +6355,9 @@
         
         if self.syntaxCheckService is not None:
             self.syntaxCheckService.syntaxChecked.disconnect(
-                self.__processResult)
+                self.__processSyntaxCheckResult)
+            self.syntaxCheckService.error.disconnect(
+                self.__processSyntaxCheckError)
         
         if self.spell:
             self.spell.stopIncrementalCheck()

eric ide

mercurial