eric6/Tasks/TaskViewer.py

branch
maintenance
changeset 8142
43248bafe9b2
parent 8043
0acf98cd089a
parent 8068
28457602b8f8
child 8176
31965986ecd1
equal deleted inserted replaced
8044:874fdd14d3a2 8142:43248bafe9b2
69 69
70 self.tasks = [] 70 self.tasks = []
71 self.copyTask = None 71 self.copyTask = None
72 self.projectOpen = False 72 self.projectOpen = False
73 self.project = project 73 self.project = project
74 self.projectTasksScanFilter = "" 74 self.__projectTasksScanFilter = ""
75 75
76 from .TaskFilter import TaskFilter 76 from .TaskFilter import TaskFilter
77 self.taskFilter = TaskFilter() 77 self.taskFilter = TaskFilter()
78 self.taskFilter.setActive(False) 78 self.taskFilter.setActive(False)
79 79
335 project (boolean) 335 project (boolean)
336 @param taskType type of the task (one of Task.TypeFixme, Task.TypeTodo, 336 @param taskType type of the task (one of Task.TypeFixme, Task.TypeTodo,
337 Task.TypeWarning, Task.TypeNote) 337 Task.TypeWarning, Task.TypeNote)
338 @param description explanatory text of the task (string) 338 @param description explanatory text of the task (string)
339 @param uid unique id of the task (string) 339 @param uid unique id of the task (string)
340 @param parentTask reference to the parent task item (Task) 340 @param parentTask reference to the parent task item (Task) or the
341 UID of the parent task
341 @return reference to the task item (Task) 342 @return reference to the task item (Task)
342 """ 343 """
343 if parentTask: 344 if isinstance(parentTask, str):
344 parentUid = parentTask.getUuid() 345 # UID of parent task
346 if parentTask == "":
347 parentUid = ""
348 parentTask = None
349 else:
350 parentUid = parentTask
351 parentTask = self.findParentTask(parentUid)
345 else: 352 else:
346 parentUid = "" 353 # parent task item
354 if parentTask:
355 parentUid = parentTask.getUuid()
356 else:
357 parentUid = ""
347 task = Task(summary, priority, filename, lineno, completed, 358 task = Task(summary, priority, filename, lineno, completed,
348 _time, isProjectTask, taskType, 359 _time, isProjectTask, taskType,
349 self.project, description, uid, parentUid) 360 self.project, description, uid, parentUid)
350 self.tasks.append(task) 361 self.tasks.append(task)
351 if parentTask: 362 if parentTask:
679 self, 690 self,
680 self.tr("Scan Filter Patterns"), 691 self.tr("Scan Filter Patterns"),
681 self.tr("Enter filename patterns of files" 692 self.tr("Enter filename patterns of files"
682 " to be excluded separated by a comma:"), 693 " to be excluded separated by a comma:"),
683 QLineEdit.Normal, 694 QLineEdit.Normal,
684 self.projectTasksScanFilter) 695 self.__projectTasksScanFilter)
685 if ok: 696 if ok:
686 self.projectTasksScanFilter = scanFilter 697 self.__projectTasksScanFilter = scanFilter
687 698
688 def regenerateProjectTasks(self, quiet=False): 699 def regenerateProjectTasks(self, quiet=False):
689 """ 700 """
690 Public slot to regenerate project related tasks. 701 Public slot to regenerate project related tasks.
691 702
697 for taskType, markersName in Task.TaskType2MarkersName.items() 708 for taskType, markersName in Task.TaskType2MarkersName.items()
698 } 709 }
699 files = self.project.pdata["SOURCES"] 710 files = self.project.pdata["SOURCES"]
700 711
701 # apply file filter 712 # apply file filter
702 filterList = [f.strip() for f in self.projectTasksScanFilter.split(",") 713 filterList = [f.strip()
714 for f in self.__projectTasksScanFilter.split(",")
703 if f.strip()] 715 if f.strip()]
704 if filterList: 716 if filterList:
705 for scanFilter in filterList: 717 for scanFilter in filterList:
706 files = [f for f in files 718 files = [f for f in files
707 if not fnmatch.fnmatch(f, scanFilter)] 719 if not fnmatch.fnmatch(f, scanFilter)]
783 """ 795 """
784 Public method to stop the project task extraction thread. 796 Public method to stop the project task extraction thread.
785 """ 797 """
786 self.__projectTaskExtractionThread.requestInterrupt() 798 self.__projectTaskExtractionThread.requestInterrupt()
787 self.__projectTaskExtractionThread.wait() 799 self.__projectTaskExtractionThread.wait()
800
801 def getTasksScanFilter(self) -> str:
802 """
803 Public method to get the project scan filter.
804
805 @return project scan filter
806 @rtype str
807 """
808 return self.__projectTasksScanFilter.strip()
809
810 def setTasksScanFilter(self, filterStr: str):
811 """
812 Public method to set the project scan filter.
813
814 @param filterStr project scan filter
815 @type str
816 """
817 self.__projectTasksScanFilter = filterStr
788 818
789 819
790 class ProjectTaskExtractionThread(QThread): 820 class ProjectTaskExtractionThread(QThread):
791 """ 821 """
792 Class implementing a thread to extract tasks related to a project. 822 Class implementing a thread to extract tasks related to a project.

eric ide

mercurial