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() |