Fixed an issue with the task manager.

Sun, 12 Aug 2012 13:42:23 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 12 Aug 2012 13:42:23 +0200
changeset 2000
a81bf687e4ee
parent 1994
84d55b34ba5a
child 2001
92a4e822aefe

Fixed an issue with the task manager.

Tasks/Task.py file | annotate | diff | comparison | revisions
Tasks/TaskViewer.py file | annotate | diff | comparison | revisions
--- a/Tasks/Task.py	Sun Aug 12 12:50:29 2012 +0200
+++ b/Tasks/Task.py	Sun Aug 12 13:42:23 2012 +0200
@@ -220,3 +220,11 @@
         @return flag indicating the project relation status (boolean)
         """
         return self._isProjectTask
+    
+    def isProjectFileTask(self):
+        """
+        Public slot to get an indication, if this task is related to a project file.
+        
+        @return flag indicating a project file task (boolean)
+        """
+        return self._isProjectTask and self.filename != ""
--- a/Tasks/TaskViewer.py	Sun Aug 12 12:50:29 2012 +0200
+++ b/Tasks/TaskViewer.py	Sun Aug 12 13:42:23 2012 +0200
@@ -300,12 +300,16 @@
         self.tasks = []
         self.clear()
         
-    def clearProjectTasks(self):
+    def clearProjectTasks(self, fileOnly=False):
         """
         Public slot to clear project related tasks.
+        
+        @keyparam fileOnly flag indicating to clear only file related
+            project tasks (boolean)
         """
         for task in self.tasks[:]:
-            if task.isProjectTask():
+            if (fileOnly and task.isProjectFileTask()) or \
+               (not fileOnly and task.isProjectTask()):
                 if self.copyTask == task:
                     self.copyTask = None
                 index = self.indexOfTopLevelItem(task)
@@ -508,7 +512,7 @@
                 files = [f for f in files if not fnmatch.fnmatch(f, filter)]
         
         # remove all project tasks
-        self.clearProjectTasks()
+        self.clearProjectTasks(fileOnly=True)
         
         # now process them
         progress = QProgressDialog(self.trUtf8("Extracting project tasks..."),

eric ide

mercurial