36 @type QObject (optional) |
36 @type QObject (optional) |
37 """ |
37 """ |
38 super().__init__(parent) |
38 super().__init__(parent) |
39 self.__isGlobal = isGlobal |
39 self.__isGlobal = isGlobal |
40 |
40 |
|
41 # Do not scan compiled PyQt6 form files of projects. |
|
42 self.__projectDefaultScanFilter = "*/Ui_*.py" |
|
43 |
41 def writeFile(self, filename: str) -> bool: |
44 def writeFile(self, filename: str) -> bool: |
42 """ |
45 """ |
43 Public method to write the tasks data to a tasks JSON file. |
46 Public method to write the tasks data to a tasks JSON file. |
44 |
47 |
45 @param filename name of the tasks file |
48 @param filename name of the tasks file |
58 tasksDict["header"] = { |
61 tasksDict["header"] = { |
59 "comment": "eric tasks file", |
62 "comment": "eric tasks file", |
60 "saved": time.strftime("%Y-%m-%d, %H:%M:%S"), |
63 "saved": time.strftime("%Y-%m-%d, %H:%M:%S"), |
61 "warning": ("This file was generated automatically, do not edit."), |
64 "warning": ("This file was generated automatically, do not edit."), |
62 } |
65 } |
|
66 |
63 # step 1: project scan filter |
67 # step 1: project scan filter |
64 tasksDict["ProjectScanFilter"] = "" |
68 tasksDict["ProjectScanFilter"] = "" |
65 |
69 |
66 # step 2: tasks |
70 # step 2: tasks |
67 tasksDict["Tasks"] = [ |
71 tasksDict["Tasks"] = [ |
75 ), |
79 ), |
76 "warning": ("This file was generated automatically, do not edit."), |
80 "warning": ("This file was generated automatically, do not edit."), |
77 } |
81 } |
78 if Preferences.getProject("TimestampFile"): |
82 if Preferences.getProject("TimestampFile"): |
79 tasksDict["header"]["saved"] = time.strftime("%Y-%m-%d, %H:%M:%S") |
83 tasksDict["header"]["saved"] = time.strftime("%Y-%m-%d, %H:%M:%S") |
|
84 |
80 # step 1: project scan filter |
85 # step 1: project scan filter |
|
86 tasksScanFilter = ( |
|
87 ericApp().getObject("TaskViewer").getProjectTasksScanFilter() |
|
88 ) |
81 tasksDict["ProjectScanFilter"] = ( |
89 tasksDict["ProjectScanFilter"] = ( |
82 ericApp().getObject("TaskViewer").getTasksScanFilter() |
90 tasksScanFilter if tasksScanFilter else self.__projectDefaultScanFilter |
83 ) |
91 ) |
84 |
92 |
85 # step 2: tasks |
93 # step 2: tasks |
86 tasksDict["Tasks"] = [ |
94 tasksDict["Tasks"] = [ |
87 task.toDict() |
95 task.toDict() |
143 ).format(filename, str(err)), |
151 ).format(filename, str(err)), |
144 ) |
152 ) |
145 return False |
153 return False |
146 |
154 |
147 viewer = ericApp().getObject("TaskViewer") |
155 viewer = ericApp().getObject("TaskViewer") |
148 if tasksDict["ProjectScanFilter"]: |
156 viewer.setProjectTasksScanFilter( |
149 viewer.setTasksScanFilter(tasksDict["ProjectScanFilter"]) |
157 tasksDict["ProjectScanFilter"] |
|
158 if tasksDict["ProjectScanFilter"] |
|
159 else self.__projectDefaultScanFilter |
|
160 ) |
150 |
161 |
151 addedTasks = [] |
162 addedTasks = [] |
152 for task in tasksDict["Tasks"]: |
163 for task in tasksDict["Tasks"]: |
153 addedTask = viewer.addTask( |
164 addedTask = viewer.addTask( |
154 task["summary"], |
165 task["summary"], |