22 Constructor |
22 Constructor |
23 """ |
23 """ |
24 self.active = False |
24 self.active = False |
25 |
25 |
26 self.summaryFilter = None |
26 self.summaryFilter = None |
27 self.filenameFilter = None |
27 self.filenameFilter = "" |
28 self.typeFilter = Task.TypeNone |
28 self.typeFilter = Task.TypeNone |
29 # task type |
29 # task type |
30 |
30 |
31 self.scopeFilter = None |
31 self.scopeFilter = None |
32 ## global (False) or project (True) |
32 ## global (False) or project (True) |
53 to set (string) or None |
53 to set (string) or None |
54 """ |
54 """ |
55 if not filterStr: |
55 if not filterStr: |
56 self.summaryFilter = None |
56 self.summaryFilter = None |
57 else: |
57 else: |
58 self.summaryFilter = QRegExp(filterStr) |
58 self.summaryFilter = re.compile(filterStr) |
59 |
59 |
60 def setFileNameFilter(self, filterStr): |
60 def setFileNameFilter(self, filterStr): |
61 """ |
61 """ |
62 Public method to set the filename filter. |
62 Public method to set the filename filter. |
63 |
63 |
64 @param filterStr a wildcard expression for the filename filter |
64 @param filterStr a wildcard expression for the filename filter |
65 to set (string) or None |
65 to set (string) or None |
66 """ |
66 """ |
67 if not filterStr: |
67 self.filenameFilter = filterStr |
68 self.filenameFilter = None |
|
69 else: |
|
70 self.filenameFilter = QRegExp(filterStr) |
|
71 self.filenameFilter.setPatternSyntax(QRegExp.Wildcard) |
|
72 |
68 |
73 def setTypeFilter(self, taskType): |
69 def setTypeFilter(self, taskType): |
74 """ |
70 """ |
75 Public method to set the type filter. |
71 Public method to set the type filter. |
76 |
72 |
109 |
105 |
110 @return flag indicating an active filter was found (boolean) |
106 @return flag indicating an active filter was found (boolean) |
111 """ |
107 """ |
112 return ( |
108 return ( |
113 self.summaryFilter is not None or |
109 self.summaryFilter is not None or |
114 self.filenameFilter is not None or |
110 bool(self.filenameFilter) or |
115 self.typeFilter != Task.TypeNone or |
111 self.typeFilter != Task.TypeNone or |
116 self.scopeFilter is not None or |
112 self.scopeFilter is not None or |
117 self.statusFilter is not None or |
113 self.statusFilter is not None or |
118 self.prioritiesFilter is not None |
114 self.prioritiesFilter is not None |
119 ) |
115 ) |
128 if not self.active: |
124 if not self.active: |
129 return True |
125 return True |
130 |
126 |
131 if ( |
127 if ( |
132 self.summaryFilter and |
128 self.summaryFilter and |
133 self.summaryFilter.indexIn(task.summary) == -1 |
129 self.summaryFilter.search(task.summary) is None |
134 ): |
130 ): |
135 return False |
131 return False |
136 |
132 |
137 if ( |
133 if ( |
138 self.filenameFilter and |
134 self.filenameFilter and |
139 not self.filenameFilter.exactMatch(task.filename) |
135 not fnmatch.fnmatch(task.filename, self.filenameFilter) |
140 ): |
136 ): |
141 return False |
137 return False |
142 |
138 |
143 if ( |
139 if ( |
144 self.typeFilter != Task.TypeNone and |
140 self.typeFilter != Task.TypeNone and |