Tasks/TaskViewer.py

changeset 5851
8f8b264e5d5f
parent 5603
4f2dd0850803
child 6048
82ad8ec9548c
diff -r 7fae79975686 -r 8f8b264e5d5f Tasks/TaskViewer.py
--- a/Tasks/TaskViewer.py	Sat Aug 26 19:26:07 2017 +0200
+++ b/Tasks/TaskViewer.py	Sat Aug 26 19:41:18 2017 +0200
@@ -253,7 +253,11 @@
             self.__activating = True
             fn = itm.getFilename()
             if fn:
-                self.displayFile.emit(fn, itm.getLineno())
+                if os.path.exists(fn):
+                    self.displayFile.emit(fn, itm.getLineno())
+                else:
+                    if itm.isProjectTask():
+                        self.__deleteTask(itm)
             else:
                 self.__editTaskProperties()
             self.__activating = False
@@ -578,12 +582,18 @@
                 self.__deleteSubTasks(subtask)
             self.tasks.remove(subtask)
     
-    def __deleteTask(self):
+    def __deleteTask(self, task=None):
         """
-        Private slot to handle the "Delete Task" context menu entry.
+        Private slot to delete a task.
+        
+        @param task task to be deleted
+        @type Task
         """
-        task = self.currentItem()
-        if self.copyTask == task:
+        if task is None:
+            # called via "Delete Task" context menu entry
+            task = self.currentItem()
+        
+        if self.copyTask is task:
             self.copyTask = None
         if task.childCount() > 0:
             self.__deleteSubTasks(task)

eric ide

mercurial