251 itm is not self.__extractedItem and \ |
251 itm is not self.__extractedItem and \ |
252 itm is not self.__manualItem: |
252 itm is not self.__manualItem: |
253 self.__activating = True |
253 self.__activating = True |
254 fn = itm.getFilename() |
254 fn = itm.getFilename() |
255 if fn: |
255 if fn: |
256 self.displayFile.emit(fn, itm.getLineno()) |
256 if os.path.exists(fn): |
|
257 self.displayFile.emit(fn, itm.getLineno()) |
|
258 else: |
|
259 if itm.isProjectTask(): |
|
260 self.__deleteTask(itm) |
257 else: |
261 else: |
258 self.__editTaskProperties() |
262 self.__editTaskProperties() |
259 self.__activating = False |
263 self.__activating = False |
260 |
264 |
261 def __showContextMenu(self, coord): |
265 def __showContextMenu(self, coord): |
576 self.copyTask = None |
580 self.copyTask = None |
577 if subtask.childCount() > 0: |
581 if subtask.childCount() > 0: |
578 self.__deleteSubTasks(subtask) |
582 self.__deleteSubTasks(subtask) |
579 self.tasks.remove(subtask) |
583 self.tasks.remove(subtask) |
580 |
584 |
581 def __deleteTask(self): |
585 def __deleteTask(self, task=None): |
582 """ |
586 """ |
583 Private slot to handle the "Delete Task" context menu entry. |
587 Private slot to delete a task. |
584 """ |
588 |
585 task = self.currentItem() |
589 @param task task to be deleted |
586 if self.copyTask == task: |
590 @type Task |
|
591 """ |
|
592 if task is None: |
|
593 # called via "Delete Task" context menu entry |
|
594 task = self.currentItem() |
|
595 |
|
596 if self.copyTask is task: |
587 self.copyTask = None |
597 self.copyTask = None |
588 if task.childCount() > 0: |
598 if task.childCount() > 0: |
589 self.__deleteSubTasks(task) |
599 self.__deleteSubTasks(task) |
590 parent = task.parent() |
600 parent = task.parent() |
591 parent.removeChild(task) |
601 parent.removeChild(task) |