def onStartDate(self, event): task = event.source() if not task.recurrence(True): # Let Task.recur() handle the change in start date self.__setStartDateChildren(task) if task.parent(): self.__setStartDateParent(task.parent(), task)
def onCompletionDate(self, event): task = event.source() if task.parent(): self.__markParentCompletedOrUncompletedIfNecessary(task.parent(), task) if task.completed(): self.__markUncompletedChildrenCompleted(task) if task.isBeingTracked(): task.stopTracking()
def onDueDate(self, event): task = event.source() self.__setDueDateChildren(task) if task.parent(): self.__setDueDateParent(task.parent(), task)
def rootItems(self): return [task for task in self if task.parent() is None]