171 msg = "{0} ({1})".format(self.__project.getRelativePath(filename), message) |
171 msg = "{0} ({1})".format(self.__project.getRelativePath(filename), message) |
172 if not self.resultList.findItems(msg, Qt.MatchFlag.MatchExactly): |
172 if not self.resultList.findItems(msg, Qt.MatchFlag.MatchExactly): |
173 itm = QTreeWidgetItem(self.__errorItem, [msg]) |
173 itm = QTreeWidgetItem(self.__errorItem, [msg]) |
174 itm.setForeground(0, Qt.GlobalColor.red) |
174 itm.setForeground(0, Qt.GlobalColor.red) |
175 itm.setFirstColumnSpanned(True) |
175 itm.setFirstColumnSpanned(True) |
|
176 itm.setData(0, self.filenameRole, filename) |
176 |
177 |
177 def __createHeaderItem(self, filename, fileStatistics=None): |
178 def __createHeaderItem(self, filename, fileStatistics=None): |
178 """ |
179 """ |
179 Private method to create a header item in the result list. |
180 Private method to create a header item in the result list. |
180 |
181 |
727 selectedIndexes.append(index) |
728 selectedIndexes.append(index) |
728 if len(selectedIndexes) == 0: |
729 if len(selectedIndexes) == 0: |
729 selectedIndexes = list(range(self.resultList.topLevelItemCount())) |
730 selectedIndexes = list(range(self.resultList.topLevelItemCount())) |
730 for index in selectedIndexes: |
731 for index in selectedIndexes: |
731 itm = self.resultList.topLevelItem(index) |
732 itm = self.resultList.topLevelItem(index) |
732 fn = os.path.abspath(itm.data(0, self.filenameRole)) |
733 if itm.data(0, self.filenameRole) is not None: |
733 vm.openSourceFile(fn, 1) |
734 fn = os.path.abspath(itm.data(0, self.filenameRole)) |
734 editor = vm.getOpenEditor(fn) |
735 vm.openSourceFile(fn, 1) |
735 editor.clearSyntaxError() |
736 editor = vm.getOpenEditor(fn) |
736 editor.clearFlakesWarnings() |
737 editor.clearSyntaxError() |
737 for cindex in range(itm.childCount()): |
738 editor.clearFlakesWarnings() |
738 citm = itm.child(cindex) |
739 for cindex in range(itm.childCount()): |
739 lineno = citm.data(0, self.lineRole) |
740 citm = itm.child(cindex) |
740 index = citm.data(0, self.indexRole) |
741 lineno = citm.data(0, self.lineRole) |
741 error = citm.data(0, self.errorRole) |
742 index = citm.data(0, self.indexRole) |
742 if citm.data(0, self.warningRole): |
743 error = citm.data(0, self.errorRole) |
743 editor.toggleWarning(lineno, 0, True, error) |
744 if citm.data(0, self.warningRole): |
744 else: |
745 editor.toggleWarning(lineno, 0, True, error) |
745 editor.toggleSyntaxError(lineno, index, True, error, show=True) |
746 else: |
|
747 editor.toggleSyntaxError(lineno, index, True, error, show=True) |
746 |
748 |
747 # go through the list again to clear syntax error and |
749 # go through the list again to clear syntax error and |
748 # flakes warning markers for files, that are ok |
750 # flakes warning markers for files, that are ok |
749 openFiles = vm.getOpenFilenames() |
|
750 errorFiles = [] |
751 errorFiles = [] |
751 for index in range(self.resultList.topLevelItemCount()): |
752 for index in range(self.resultList.topLevelItemCount()): |
752 itm = self.resultList.topLevelItem(index) |
753 itm = self.resultList.topLevelItem(index) |
753 errorFiles.append(os.path.abspath(itm.data(0, self.filenameRole))) |
754 errorFiles.append(os.path.abspath(itm.data(0, self.filenameRole))) |
754 for file in openFiles: |
755 for fn in vm.getOpenFilenames(): |
755 if file not in errorFiles: |
756 if fn not in errorFiles: |
756 editor = vm.getOpenEditor(file) |
757 editor = vm.getOpenEditor(fn) |
757 editor.clearSyntaxError() |
758 editor.clearSyntaxError() |
758 editor.clearFlakesWarnings() |
759 editor.clearFlakesWarnings() |
759 |
760 |
760 editor = vm.activeWindow() |
761 editor = vm.activeWindow() |
761 editor.updateVerticalScrollBar() |
762 editor.updateVerticalScrollBar() |