--- 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)