Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py

branch
Py2 comp.
changeset 3178
f25fc1364c88
parent 3161
06f57a834adf
parent 3175
1a6638ccce9d
child 3456
96232974dcdb
equal deleted inserted replaced
3161:06f57a834adf 3178:f25fc1364c88
145 self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) 145 self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
146 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) 146 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
147 self.checkProgress.setVisible(True) 147 self.checkProgress.setVisible(True)
148 QApplication.processEvents() 148 QApplication.processEvents()
149 149
150 self.__clearErrors()
151
152 if isinstance(fn, list): 150 if isinstance(fn, list):
153 files = fn 151 files = fn
154 elif os.path.isdir(fn): 152 elif os.path.isdir(fn):
155 files = [] 153 files = []
156 extensions = set(Preferences.getPython("PythonExtensions") + 154 extensions = set(Preferences.getPython("PythonExtensions") +
158 for ext in extensions: 156 for ext in extensions:
159 files.extend( 157 files.extend(
160 Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) 158 Utilities.direntries(fn, True, '*{0}'.format(ext), 0))
161 else: 159 else:
162 files = [fn] 160 files = [fn]
161
162 self.__clearErrors(files)
163 163
164 if codestring or len(files) > 0: 164 if codestring or len(files) > 0:
165 self.checkProgress.setMaximum(max(1, len(files))) 165 self.checkProgress.setMaximum(max(1, len(files)))
166 self.checkProgress.setVisible(len(files) > 1) 166 self.checkProgress.setVisible(len(files) > 1)
167 self.checkProgressLabel.setVisible(len(files) > 1) 167 self.checkProgressLabel.setVisible(len(files) > 1)
245 245
246 if self.noResults: 246 if self.noResults:
247 QTreeWidgetItem(self.resultList, [self.trUtf8('No issues found.')]) 247 QTreeWidgetItem(self.resultList, [self.trUtf8('No issues found.')])
248 QApplication.processEvents() 248 QApplication.processEvents()
249 self.showButton.setEnabled(False) 249 self.showButton.setEnabled(False)
250 self.__clearErrors()
251 else: 250 else:
252 self.showButton.setEnabled(True) 251 self.showButton.setEnabled(True)
253 self.resultList.header().resizeSections(QHeaderView.ResizeToContents) 252 self.resultList.header().resizeSections(QHeaderView.ResizeToContents)
254 self.resultList.header().setStretchLastSection(True) 253 self.resultList.header().setStretchLastSection(True)
255 254
377 if not file in errorFiles: 376 if not file in errorFiles:
378 editor = vm.getOpenEditor(file) 377 editor = vm.getOpenEditor(file)
379 editor.clearSyntaxError() 378 editor.clearSyntaxError()
380 editor.clearFlakesWarnings() 379 editor.clearFlakesWarnings()
381 380
382 def __clearErrors(self): 381 def __clearErrors(self, files):
383 """ 382 """
384 Private method to clear all error markers of open editors. 383 Private method to clear all error and warning markers of
384 open editors to be checked.
385
386 @param files list of files to be checked (list of string)
385 """ 387 """
386 vm = e5App().getObject("ViewManager") 388 vm = e5App().getObject("ViewManager")
387 openFiles = vm.getOpenFilenames() 389 openFiles = vm.getOpenFilenames()
388 for file in openFiles: 390 for file in [f for f in openFiles if f in files]:
389 editor = vm.getOpenEditor(file) 391 editor = vm.getOpenEditor(file)
390 editor.clearSyntaxError() 392 editor.clearSyntaxError()
391 editor.clearFlakesWarnings() 393 editor.clearFlakesWarnings()

eric ide

mercurial