--- a/eric6/Tasks/TaskViewer.py Wed Jan 27 15:11:03 2021 +0100 +++ b/eric6/Tasks/TaskViewer.py Wed Jan 27 18:27:52 2021 +0100 @@ -71,7 +71,7 @@ self.copyTask = None self.projectOpen = False self.project = project - self.projectTasksScanFilter = "" + self.__projectTasksScanFilter = "" from .TaskFilter import TaskFilter self.taskFilter = TaskFilter() @@ -337,13 +337,24 @@ Task.TypeWarning, Task.TypeNote) @param description explanatory text of the task (string) @param uid unique id of the task (string) - @param parentTask reference to the parent task item (Task) + @param parentTask reference to the parent task item (Task) or the + UID of the parent task @return reference to the task item (Task) """ - if parentTask: - parentUid = parentTask.getUuid() + if isinstance(parentTask, str): + # UID of parent task + if parentTask == "": + parentUid = "" + parentTask = None + else: + parentUid = parentTask + parentTask = self.findParentTask(parentUid) else: - parentUid = "" + # parent task item + if parentTask: + parentUid = parentTask.getUuid() + else: + parentUid = "" task = Task(summary, priority, filename, lineno, completed, _time, isProjectTask, taskType, self.project, description, uid, parentUid) @@ -681,9 +692,9 @@ self.tr("Enter filename patterns of files" " to be excluded separated by a comma:"), QLineEdit.Normal, - self.projectTasksScanFilter) + self.__projectTasksScanFilter) if ok: - self.projectTasksScanFilter = scanFilter + self.__projectTasksScanFilter = scanFilter def regenerateProjectTasks(self, quiet=False): """ @@ -699,7 +710,7 @@ files = self.project.pdata["SOURCES"] # apply file filter - filterList = [f.strip() for f in self.projectTasksScanFilter.split(",") + filterList = [f.strip() for f in self.__projectTasksScanFilter.split(",") if f.strip()] if filterList: for scanFilter in filterList: @@ -785,6 +796,24 @@ """ self.__projectTaskExtractionThread.requestInterrupt() self.__projectTaskExtractionThread.wait() + + def getTasksScanFilter(self) -> str: + """ + Public method to get the project scan filter. + + @return project scan filter + @rtype str + """ + return self.__projectTasksScanFilter.strip() + + def setTasksScanFilter(self, filter: str): + """ + Public method to set the project scan filter. + + @param filter project scan filter + @type str + """ + self.__projectTasksScanFilter = filter class ProjectTaskExtractionThread(QThread):