private void TopicView_TaskStatusChanged(TopicView2 topicView, Tasklib.Task task, bool newStatus) { if (newStatus != task.Done) { // Remove the Task from the TopicView2 it was in topicView.RemoveTask(task); if (newStatus) // status is done, was open { task.SetDone(); MoveTask(task, stkpnlCompletedTasks); if (topicView.Tasks == 0) { stkpnlOpenTasks.Children.Remove(topicView); } } else { task.SetUndone(); MoveTask(task, stkpnlOpenTasks); if (topicView.Tasks == 0) { stkpnlCompletedTasks.Children.Remove(topicView); } } this.Save(); } topicView.OrderTasks(); }
private void tbNewTask_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { TextBox?tb = sender as TextBox; if (tb == null || string.IsNullOrWhiteSpace(tb.Text)) { e.Handled = true; return; } string text = tb.Text; Tasklib.Task?t = this.Parse(text); if (t != null) { TopicView2 topicView = GetTopicView(stkpnlOpenTasks.Children, t.Topic); topicView.AddTask(t); topicView.OrderTasks(); } tb.Clear(); this.Save(); e.Handled = true; } }