20 """ |
20 """ |
21 Constructor |
21 Constructor |
22 """ |
22 """ |
23 self.active = False |
23 self.active = False |
24 |
24 |
25 self.descriptionFilter = None |
25 self.summaryFilter = None |
26 self.filenameFilter = None |
26 self.filenameFilter = None |
27 self.typeFilter = Task.TypeNone # task type |
27 self.typeFilter = Task.TypeNone # task type |
28 self.scopeFilter = None # global (False) or project (True) |
28 self.scopeFilter = None # global (False) or project (True) |
29 self.statusFilter = None # uncompleted (False) or completed (True) |
29 self.statusFilter = None # uncompleted (False) or completed (True) |
30 self.prioritiesFilter = None # list of priorities |
30 self.prioritiesFilter = None # list of priorities |
36 |
36 |
37 @param enabled flag indicating the activation state (boolean) |
37 @param enabled flag indicating the activation state (boolean) |
38 """ |
38 """ |
39 self.active = enabled |
39 self.active = enabled |
40 |
40 |
41 def setDescriptionFilter(self, filter): |
41 def setSummaryFilter(self, filter): |
42 """ |
42 """ |
43 Public method to set the description filter. |
43 Public method to set the description filter. |
44 |
44 |
45 @param filter a regular expression for the description filter |
45 @param filter a regular expression for the description filter |
46 to set (string) or None |
46 to set (string) or None |
47 """ |
47 """ |
48 if not filter: |
48 if not filter: |
49 self.descriptionFilter = None |
49 self.summaryFilter = None |
50 else: |
50 else: |
51 self.descriptionFilter = QRegExp(filter) |
51 self.summaryFilter = QRegExp(filter) |
52 |
52 |
53 def setFileNameFilter(self, filter): |
53 def setFileNameFilter(self, filter): |
54 """ |
54 """ |
55 Public method to set the filename filter. |
55 Public method to set the filename filter. |
56 |
56 |
100 """ |
100 """ |
101 Public method to check for active filters. |
101 Public method to check for active filters. |
102 |
102 |
103 @return flag indicating an active filter was found (boolean) |
103 @return flag indicating an active filter was found (boolean) |
104 """ |
104 """ |
105 return self.descriptionFilter is not None or \ |
105 return self.summaryFilter is not None or \ |
106 self.filenameFilter is not None or \ |
106 self.filenameFilter is not None or \ |
107 self.typeFilter != Task.TypeNone or \ |
107 self.typeFilter != Task.TypeNone or \ |
108 self.scopeFilter is not None or \ |
108 self.scopeFilter is not None or \ |
109 self.statusFilter is not None or \ |
109 self.statusFilter is not None or \ |
110 self.prioritiesFilter is not None |
110 self.prioritiesFilter is not None |
117 @return flag indicating whether the task should be shown (boolean) |
117 @return flag indicating whether the task should be shown (boolean) |
118 """ |
118 """ |
119 if not self.active: |
119 if not self.active: |
120 return True |
120 return True |
121 |
121 |
122 if self.descriptionFilter and \ |
122 if self.summaryFilter and \ |
123 self.descriptionFilter.indexIn(task.description) == -1: |
123 self.summaryFilter.indexIn(task.summary) == -1: |
124 return False |
124 return False |
125 |
125 |
126 if self.filenameFilter and \ |
126 if self.filenameFilter and \ |
127 not self.filenameFilter.exactMatch(task.filename): |
127 not self.filenameFilter.exactMatch(task.filename): |
128 return False |
128 return False |