示例#1
0
 private void add_Click(object sender, RoutedEventArgs e)
 {
     HideEmptyTaskTextBlockIfNeeded(false);
     EnableTaskEditMode();
     ClearTaskDetails();
     selectedTask = null;
 }
示例#2
0
        /* Handler for click event on item of tasksView.
         * Shows up dialog if TaskEdit mode is ON.
         */
        async private void tasksView_ItemClick(object sender, ItemClickEventArgs e)
        {
            Kompitu.Data.Model.Task t = (Kompitu.Data.Model.Task)e.ClickedItem;
            TaskDetails.Opacity = 0;

            await showTask(t);

            ShowTask.Begin();
        }
示例#3
0
        async private Task showTask(Data.Model.Task t)
        {
            if (editMode)
            {
                await PopupEditWarningDialog();

                return;
            }

            this.taskListTextBox.Text  = t.ListTitle;
            this.taskTitleTextBox.Text = t.Title;
            this.taskNotesTextBox.Text = t.Notes;

            if (t.Status == "completed")
            {
                hideTaskEditButtons();
                this.delete.Visibility           = Windows.UI.Xaml.Visibility.Visible;
                this.taskUpdatedDateLabel.Text   = "Completed:";
                this.taskUpdatedDateTextBox.Text = t.Completed.ToString();

                taskDueDateLabel.Visibility   = Visibility.Collapsed;
                taskDueDateTextBox.Visibility = Visibility.Collapsed;
                editDueDate.Visibility        = Visibility.Collapsed;
            }
            else
            {
                showTaskEditButtons();
                this.taskUpdatedDateLabel.Text   = "Updated:";
                this.taskUpdatedDateTextBox.Text = t.Updated.ToString();

                taskDueDateLabel.Visibility   = Visibility.Visible;
                taskDueDateTextBox.Visibility = Visibility.Visible;
                editDueDate.Visibility        = Visibility.Visible;
                this.taskDueDateLabel.Text    = "Due:";
                taskDueDateLabel.Foreground   = new SolidColorBrush(Colors.Gray);
                taskDueDateTextBox.Foreground = new SolidColorBrush(Colors.Gray);
                if (t.Due != DateTime.MinValue)
                {
                    this.taskDueDateTextBox.Text = t.Due.Date.ToString();
                    if (t.IsOverdue)
                    {
                        taskDueDateLabel.Foreground   = new SolidColorBrush(Colors.Red);
                        taskDueDateTextBox.Foreground = new SolidColorBrush(Colors.Red);
                    }
                }
                else
                {
                    this.taskDueDateTextBox.Text = "None";
                }
            }

            HideEmptyTaskTextBlockIfNeeded(t.Status == "completed");
            this.selectedTask = t;
        }
示例#4
0
 /* Disables task edit mode, where user can modify selected tasks properties.
  */
 private void DisableTaskEditMode(Kompitu.Data.Model.Task task)
 {
     this.add.Visibility = Windows.UI.Xaml.Visibility.Visible;
     if (task == null || task.Status == "completed")
     {
         //completed task - blocking possiblity to mark completed and delete
         this.markCompleted.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
         this.delete.Visibility        = Windows.UI.Xaml.Visibility.Visible;
     }
     else
     {
         this.markCompleted.Visibility = Windows.UI.Xaml.Visibility.Visible;
         this.delete.Visibility        = Windows.UI.Xaml.Visibility.Visible;
     }
     this.save.Visibility   = Windows.UI.Xaml.Visibility.Collapsed;
     this.cancel.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
     editMode = false;
 }
示例#5
0
        private void SaveNewTask()
        {
            string selectedList = null;
            // show select list popup
            Popup myPopup = new Popup();

            myPopup.HorizontalAlignment   = HorizontalAlignment.Center;
            myPopup.VerticalAlignment     = VerticalAlignment.Center;
            myPopup.IsLightDismissEnabled = false;

            Border b = new Border();

            b.BorderBrush     = new SolidColorBrush(Colors.Gray);
            b.BorderThickness = new Thickness(2);
            b.Width           = 400;

            StackPanel s = new StackPanel();

            b.Child       = s;
            s.Orientation = Orientation.Vertical;
            s.Width       = 400;
            s.Background  = new SolidColorBrush(Colors.White);

            TextBlock text = new TextBlock();

            text.Text       = "Select a list for the task:";
            text.Margin     = new Thickness(10, 5, 20, 0);
            text.Foreground = new SolidColorBrush(Colors.SteelBlue);
            text.FontSize   = 16;
            s.Children.Add(text);

            ComboBox       combo          = new ComboBox();
            TaskDataSource taskDataSource = (TaskDataSource)App.Current.Resources["taskDataSource"];

            combo.ItemsSource       = taskDataSource.VisibleTaskLists;
            combo.DisplayMemberPath = "Title";

            s.Children.Add(combo);
            combo.Margin        = new Thickness(10, 5, 10, 5);
            combo.SelectedIndex = combo.Items.Count - 1;

            Button ok = new Button();

            ok.HorizontalAlignment = HorizontalAlignment.Right;
            ok.Margin  = new Thickness(10, 0, 10, 5);
            ok.Content = "OK";
            ok.Click  += new RoutedEventHandler(async delegate(object sender1, RoutedEventArgs ev)
            {
                selectedList
                    = ((Data.Model.TaskList)combo.SelectedValue).Title;
                Data.Model.TaskList selectedListObject = Data.Model.TaskList.GetByTitle(selectedList, taskDataSource.VisibleTaskLists);
                foreach (Data.Model.Task selectedListTask in selectedListObject.Tasks)
                {
                    if (selectedListTask.Title == taskTitleTextBox.Text)
                    {
                        var messageDialog =
                            new Windows.UI.Popups.MessageDialog(
                                Messages.GetMsgValue(MessageKey.TASK_TITLE_EXISTS_CNTNT), Messages.GetMsgValue(MessageKey.TASK_TITLE_EXISTS_HDR));

                        messageDialog.Commands.Add(new UICommand("OK"));

                        messageDialog.DefaultCommandIndex = 0;
                        await messageDialog.ShowAsync();
                        myPopup.IsOpen = false;
                        return;
                    }
                }
                myPopup.IsOpen                   = false;
                Data.Model.Task task             = new Data.Model.Task();
                task.Updated                     = DateTime.Now;
                this.taskUpdatedDateLabel.Text   = "Updated";
                this.taskUpdatedDateTextBox.Text = task.Updated.ToString();
                task.Title     = taskTitleTextBox.Text;
                task.ListTitle = selectedList;
                task.Status    = "needsAction";
                if (taskDueDateTextBox.Text == "None")
                {
                    task.Due = DateTime.MinValue;
                }
                else
                {
                    task.Due = DateTime.Parse(taskDueDateTextBox.Text);
                }
                if (task.Due == DateTime.MinValue || DateTime.Compare(task.Due, DateTime.Now) >= 0)
                {
                    // not overdue
                    taskDueDateLabel.Foreground   = new SolidColorBrush(Colors.Gray);
                    taskDueDateTextBox.Foreground = new SolidColorBrush(Colors.Gray);
                }
                else if (task.Due != DateTime.MinValue && DateTime.Compare(task.Due, DateTime.Now) < 0)
                {
                    taskDueDateLabel.Foreground   = new SolidColorBrush(Colors.Red);
                    taskDueDateTextBox.Foreground = new SolidColorBrush(Colors.Red);
                }
                task.Notes     = taskNotesTextBox.Text;
                task.ListTitle = selectedList;
                bool added     = false;
                foreach (Data.Model.TaskList list in taskDataSource.TaskLists.Where(l => l.Title == selectedList))
                {
                    list.Tasks.Add(task);
                    added = true;
                }
                if (added)
                {
                    taskListTextBox.Text = selectedList;
                    selectedTask         = task;
                    taskDataSource.RefreshLists();
                    RefreshCounters(taskDataSource);
                    DisableTaskEditMode(selectedTask);
                    if (selectedTaskList != null)
                    {
                        if (selectedList == selectedTaskList.Title)
                        {
                            ((ObservableCollection <Data.Model.Task>)tasksView.ItemsSource).Add(task);
                        }
                    }
                }
            });
            s.Children.Add(ok);

            myPopup.Child = b;

            myPopup.IsOpen = true;
            myCanvas1.Children.Add(myPopup);
        }