Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py

branch
Py2 comp.
changeset 3080
6c0a430b19df
parent 3065
070b35dde35e
parent 3064
2e7054d62218
child 3099
d5dcda74d839
--- a/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Wed Nov 13 23:30:59 2013 +0100
+++ b/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Sat Nov 16 10:06:28 2013 +0100
@@ -142,6 +142,8 @@
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         QApplication.processEvents()
         
+        self.__clearErrors()
+        
         if isinstance(fn, list):
             files = fn
         elif os.path.isdir(fn):
@@ -301,7 +303,7 @@
             editor = vm.getOpenEditor(fn)
             
             if itm.data(0, self.warningRole):
-                editor.toggleFlakesWarning(lineno, True, error)
+                editor.toggleWarning(lineno, True, error)
             else:
                 editor.toggleSyntaxError(lineno, index, True, error, show=True)
         else:
@@ -315,7 +317,7 @@
                 index = citm.data(0, self.indexRole)
                 error = citm.data(0, self.errorRole)
                 if citm.data(0, self.warningRole):
-                    editor.toggleFlakesWarning(lineno, True, error)
+                    editor.toggleWarning(lineno, True, error)
                 else:
                     editor.toggleSyntaxError(
                         lineno, index, True, error, show=True)
@@ -327,13 +329,32 @@
         """
         vm = e5App().getObject("ViewManager")
         
+        selectedIndexes = []
         for index in range(self.resultList.topLevelItemCount()):
+            if self.resultList.topLevelItem(index).isSelected():
+                selectedIndexes.append(index)
+        if len(selectedIndexes) == 0:
+            selectedIndexes = list(range(self.resultList.topLevelItemCount()))
+        for index in selectedIndexes:
             itm = self.resultList.topLevelItem(index)
             fn = Utilities.normabspath(itm.data(0, self.filenameRole))
             vm.openSourceFile(fn, 1)
+            editor = vm.getOpenEditor(fn)
+            editor.clearSyntaxError()
+            editor.clearFlakesWarnings()
+            for cindex in range(itm.childCount()):
+                citm = itm.child(cindex)
+                lineno = citm.data(0, self.lineRole)
+                index = citm.data(0, self.indexRole)
+                error = citm.data(0, self.errorRole)
+                if citm.data(0, self.warningRole):
+                    editor.toggleWarning(lineno, True, error)
+                else:
+                    editor.toggleSyntaxError(
+                        lineno, index, True, error, show=True)
         
         # go through the list again to clear syntax error and
-        # py3flakes warning markers for files, that are ok
+        # flakes warning markers for files, that are ok
         openFiles = vm.getOpenFilenames()
         errorFiles = []
         for index in range(self.resultList.topLevelItemCount()):

eric ide

mercurial