eric6/Tasks/TaskFilter.py

changeset 7775
4a1db75550bd
parent 7360
9190402e4505
child 7923
91e843545d9a
diff -r 9eed155411f0 -r 4a1db75550bd eric6/Tasks/TaskFilter.py
--- a/eric6/Tasks/TaskFilter.py	Sat Oct 10 16:03:53 2020 +0200
+++ b/eric6/Tasks/TaskFilter.py	Sun Oct 11 17:54:52 2020 +0200
@@ -7,8 +7,8 @@
 Module implementing a class to store task data.
 """
 
-
-from PyQt5.QtCore import QRegExp
+import fnmatch
+import re
 
 from .Task import Task
 
@@ -24,7 +24,7 @@
         self.active = False
         
         self.summaryFilter = None
-        self.filenameFilter = None
+        self.filenameFilter = ""
         self.typeFilter = Task.TypeNone
         # task type
         
@@ -55,7 +55,7 @@
         if not filterStr:
             self.summaryFilter = None
         else:
-            self.summaryFilter = QRegExp(filterStr)
+            self.summaryFilter = re.compile(filterStr)
     
     def setFileNameFilter(self, filterStr):
         """
@@ -64,11 +64,7 @@
         @param filterStr a wildcard expression for the filename filter
             to set (string) or None
         """
-        if not filterStr:
-            self.filenameFilter = None
-        else:
-            self.filenameFilter = QRegExp(filterStr)
-            self.filenameFilter.setPatternSyntax(QRegExp.Wildcard)
+        self.filenameFilter = filterStr
     
     def setTypeFilter(self, taskType):
         """
@@ -111,7 +107,7 @@
         """
         return (
             self.summaryFilter is not None or
-            self.filenameFilter is not None or
+            bool(self.filenameFilter) or
             self.typeFilter != Task.TypeNone or
             self.scopeFilter is not None or
             self.statusFilter is not None or
@@ -130,13 +126,13 @@
         
         if (
             self.summaryFilter and
-            self.summaryFilter.indexIn(task.summary) == -1
+            self.summaryFilter.search(task.summary) is None
         ):
             return False
         
         if (
             self.filenameFilter and
-            not self.filenameFilter.exactMatch(task.filename)
+            not fnmatch.fnmatch(task.filename, self.filenameFilter)
         ):
             return False
         

eric ide

mercurial