From d353f046f92dcac10229dbaaf50840bcb868ddf5 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Sun, 30 Oct 2016 22:10:02 +0800 Subject: [PATCH 01/29] Add jump to list request event --- .../events/ui/JumpToListRequestEvent.java | 25 +++++++++++++++++++ .../agendum/model/task/UniqueTaskList.java | 6 +++++ .../seedu/agendum/ui/CompletedTasksPanel.java | 12 +++++++-- .../seedu/agendum/ui/FloatingTasksPanel.java | 15 +++++++++-- .../java/seedu/agendum/ui/MainWindow.java | 6 ++--- src/main/java/seedu/agendum/ui/UiManager.java | 16 +++++++++++- .../seedu/agendum/ui/UpcomingTasksPanel.java | 14 ++++++++--- src/main/resources/view/TasksPanel.css | 7 +++++- 8 files changed, 89 insertions(+), 12 deletions(-) create mode 100644 src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java diff --git a/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java b/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java new file mode 100644 index 000000000000..7926d30c411c --- /dev/null +++ b/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java @@ -0,0 +1,25 @@ +package seedu.agendum.commons.events.ui; + +import seedu.agendum.commons.events.BaseEvent; +import seedu.agendum.model.task.Task; + +//@@author A0148031R +/** + * Indicates a request to jump to the list of persons + */ +public class JumpToListRequestEvent extends BaseEvent { + + public final Task targetTask; + public final boolean isMultipleTasks; + + public JumpToListRequestEvent(Task task, boolean isMultipleTasks) { + this.targetTask = task; + this.isMultipleTasks = isMultipleTasks; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } + +} \ No newline at end of file diff --git a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java index a3a61cafb785..5f0c12b89d48 100644 --- a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java +++ b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java @@ -3,7 +3,9 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.agendum.commons.util.CollectionUtil; +import seedu.agendum.commons.core.EventsCenter; import seedu.agendum.commons.core.LogsCenter; +import seedu.agendum.commons.events.ui.JumpToListRequestEvent; import seedu.agendum.commons.exceptions.DuplicateDataException; import java.util.*; @@ -64,6 +66,8 @@ public void add(Task toAdd) throws DuplicateTaskException { } internalList.add(toAdd); + EventsCenter.getInstance().post(new JumpToListRequestEvent(toAdd, false)); + logger.fine("[TASK LIST] --- Added a Task: " + toAdd.getDetailedText()); } @@ -136,6 +140,7 @@ public boolean mark(ReadOnlyTask toMark) throws TaskNotFoundException { Task markedTask = new Task(toMark); markedTask.markAsCompleted(); internalList.set(taskIndex, markedTask); + EventsCenter.getInstance().post(new JumpToListRequestEvent(markedTask, true)); logger.fine("[TASK LIST] --- Marked Task: " + markedTask.getDetailedText()); @@ -161,6 +166,7 @@ public boolean unmark(ReadOnlyTask toUnmark) throws TaskNotFoundException { Task unmarkedTask = new Task(toUnmark); unmarkedTask.markAsUncompleted(); internalList.set(taskIndex, unmarkedTask); + EventsCenter.getInstance().post(new JumpToListRequestEvent(unmarkedTask, true)); logger.fine("[TASK LIST] --- Unmarked Task: " + unmarkedTask.getDetailedText()); diff --git a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java index 96177c04b8b6..7748d322e62c 100644 --- a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java @@ -6,7 +6,9 @@ import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.SelectionMode; import seedu.agendum.model.task.ReadOnlyTask; +import seedu.agendum.model.task.Task; //@@author A0148031R /** @@ -31,10 +33,16 @@ protected void setConnections(ObservableList taskList) { completedTasksListView.setCellFactory(listView -> new CompletedTasksListViewCell()); } - public void scrollTo(int index) { + public void scrollTo(Task task, boolean isMultipleTasks) { Platform.runLater(() -> { + int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> !t.isCompleted()).size(); completedTasksListView.scrollTo(index); - completedTasksListView.getSelectionModel().clearAndSelect(index); + if(isMultipleTasks) { + completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + } else { + completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + } + completedTasksListView.getSelectionModel().select(index); }); } diff --git a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java index 81d586983d13..d47d30cfeb04 100644 --- a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java @@ -6,7 +6,9 @@ import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.SelectionMode; import seedu.agendum.model.task.ReadOnlyTask; +import seedu.agendum.model.task.Task; //@@author A0148031R /** @@ -31,10 +33,18 @@ protected void setConnections(ObservableList taskList) { floatingTasksListView.setCellFactory(listView -> new FloatingTasksListViewCell()); } - public void scrollTo(int index) { + public void scrollTo(Task task, boolean isMultipleTasks) { Platform.runLater(() -> { + int index = mainTaskList.indexOf(task) - + mainTaskList.filtered(t -> (t.hasTime() && !t.isCompleted())).size(); floatingTasksListView.scrollTo(index); - floatingTasksListView.getSelectionModel().clearAndSelect(index); + if(isMultipleTasks) { + floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + floatingTasksListView.getSelectionModel().select(index); + } else { + floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + floatingTasksListView.getSelectionModel().clearAndSelect(index); + } }); } @@ -53,6 +63,7 @@ protected void updateItem(ReadOnlyTask task, boolean empty) { setText(null); } else { setGraphic(TaskCard.load(task, mainTaskList.indexOf(task) + 1).getLayout()); +// scrollTo(); } } } diff --git a/src/main/java/seedu/agendum/ui/MainWindow.java b/src/main/java/seedu/agendum/ui/MainWindow.java index a045ed68cbc5..31c84e8d5258 100644 --- a/src/main/java/seedu/agendum/ui/MainWindow.java +++ b/src/main/java/seedu/agendum/ui/MainWindow.java @@ -233,15 +233,15 @@ private void handleExit() { raise(new ExitAppRequestEvent()); } - public TasksPanel getUpcomingTasksPanel() { + public UpcomingTasksPanel getUpcomingTasksPanel() { return (UpcomingTasksPanel)this.upcomingTasksPanel; } - public TasksPanel getCompletedTasksPanel() { + public CompletedTasksPanel getCompletedTasksPanel() { return (CompletedTasksPanel)this.completedTasksPanel; } - public TasksPanel getFloatingasksPanel() { + public FloatingTasksPanel getFloatingasksPanel() { return (FloatingTasksPanel)this.floatingTasksPanel; } } diff --git a/src/main/java/seedu/agendum/ui/UiManager.java b/src/main/java/seedu/agendum/ui/UiManager.java index 42e5631490cf..23f9510a97e7 100644 --- a/src/main/java/seedu/agendum/ui/UiManager.java +++ b/src/main/java/seedu/agendum/ui/UiManager.java @@ -12,6 +12,7 @@ import seedu.agendum.commons.core.LogsCenter; import seedu.agendum.commons.events.storage.DataLoadingExceptionEvent; import seedu.agendum.commons.events.storage.DataSavingExceptionEvent; +import seedu.agendum.commons.events.ui.JumpToListRequestEvent; import seedu.agendum.commons.events.ui.ShowHelpRequestEvent; import seedu.agendum.commons.util.StringUtil; import seedu.agendum.logic.Logic; @@ -102,7 +103,7 @@ private void showFatalErrorDialogAndShutdown(String title, Throwable e) { private void handleDataLoadingExceptionEvent(DataLoadingExceptionEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event)); showFileOperationAlertAndWait("Could not load data", "Could not load data from file", event.exception); - } + } //@@author @Subscribe @@ -116,4 +117,17 @@ private void handleShowHelpEvent(ShowHelpRequestEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event)); mainWindow.handleHelp(); } + + @Subscribe + private void handleJumpToListRequestEvent(JumpToListRequestEvent event) { +// System.out.println("event received, index is :" + event.targetIndex); + logger.info(LogsCenter.getEventHandlingLogMessage(event)); + if(event.targetTask.isCompleted()) { + mainWindow.getCompletedTasksPanel().scrollTo(event.targetTask, event.isMultipleTasks); + } else if(event.targetTask.hasTime()) { + mainWindow.getUpcomingTasksPanel().scrollTo(event.targetTask, event.isMultipleTasks); + } else { + mainWindow.getFloatingasksPanel().scrollTo(event.targetTask, event.isMultipleTasks); + } + } } diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index d8d12397726b..176325157a96 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -7,7 +7,9 @@ import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.SelectionMode; import seedu.agendum.model.task.ReadOnlyTask; +import seedu.agendum.model.task.Task; //@@author A0148031R /** @@ -32,10 +34,16 @@ protected void setConnections(ObservableList taskList) { upcomingTasksListView.setCellFactory(listView -> new upcomingTasksListViewCell()); } - public void scrollTo(int index) { + public void scrollTo(Task task, boolean isMultipleTasks) { Platform.runLater(() -> { - upcomingTasksListView.scrollTo(index); - upcomingTasksListView.getSelectionModel().clearAndSelect(index); + upcomingTasksListView.scrollTo(mainTaskList.indexOf(task)); + if(isMultipleTasks) { + upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + upcomingTasksListView.getSelectionModel().select(mainTaskList.indexOf(task)); + } else { + upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + upcomingTasksListView.getSelectionModel().clearAndSelect(mainTaskList.indexOf(task)); + } }); } diff --git a/src/main/resources/view/TasksPanel.css b/src/main/resources/view/TasksPanel.css index 1b2f444e04f2..7943d84f3515 100644 --- a/src/main/resources/view/TasksPanel.css +++ b/src/main/resources/view/TasksPanel.css @@ -20,14 +20,19 @@ } .list-cell { + -fx-background-color: transparent; -fx-background-radius: 10; - -fx-background-color: transparent; } .list-cell:empty { -fx-background-color: transparent; } +.list-cell:filled:selected:focused, .list-cell:filled:selected { + -fx-background-color: #58729b; + -fx-text-fill: red; +} + .cell_big_label { -fx-font-size: 14pt; -fx-opacity: 0.9; From 945c5c31511d7b95364a4cef691b09645b354c82 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Sun, 30 Oct 2016 22:54:06 +0800 Subject: [PATCH 02/29] Make highlighting disappear after several seconds --- src/main/java/seedu/agendum/ui/CommandBox.java | 3 ++- .../java/seedu/agendum/ui/CompletedTasksPanel.java | 8 +++++++- .../java/seedu/agendum/ui/FloatingTasksPanel.java | 6 ++++++ src/main/java/seedu/agendum/ui/HelpWindow.java | 4 ++-- .../java/seedu/agendum/ui/UpcomingTasksPanel.java | 12 +++++++++--- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/CommandBox.java b/src/main/java/seedu/agendum/ui/CommandBox.java index 5f4183285dd5..9a35750fb361 100644 --- a/src/main/java/seedu/agendum/ui/CommandBox.java +++ b/src/main/java/seedu/agendum/ui/CommandBox.java @@ -32,6 +32,7 @@ public class CommandBox extends UiPart { private static final String FIND_COMMAND = "find "; private static final String HELP_COMMAND = "help"; private static final String RESULT_FEEDBACK = "Result: "; + private static final String ERROR = "error"; private static final String FIND_COMMAND_REMINDER_MESSAGE = "Showing search results now, press ESC to go back and" + " view all tasks"; @@ -182,7 +183,7 @@ private void restoreCommandText() { * Sets the command box style to indicate an error */ private void setStyleToIndicateIncorrectCommand() { - commandTextField.getStyleClass().add("error"); + commandTextField.getStyleClass().add(ERROR); } } diff --git a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java index 7748d322e62c..b56d440a50a4 100644 --- a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java @@ -1,5 +1,6 @@ package seedu.agendum.ui; +import javafx.animation.PauseTransition; import javafx.application.Platform; import javafx.collections.ObservableList; import javafx.fxml.FXML; @@ -7,6 +8,7 @@ import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.SelectionMode; +import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; import seedu.agendum.model.task.Task; @@ -39,10 +41,14 @@ public void scrollTo(Task task, boolean isMultipleTasks) { completedTasksListView.scrollTo(index); if(isMultipleTasks) { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + completedTasksListView.getSelectionModel().select(index); } else { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + completedTasksListView.getSelectionModel().clearAndSelect(index); } - completedTasksListView.getSelectionModel().select(index); + PauseTransition delay = new PauseTransition(Duration.seconds(5)); + delay.setOnFinished(event -> completedTasksListView.getSelectionModel().clearSelection(index)); + delay.play(); }); } diff --git a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java index d47d30cfeb04..64dcdb2eb8ed 100644 --- a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java @@ -1,5 +1,6 @@ package seedu.agendum.ui; +import javafx.animation.PauseTransition; import javafx.application.Platform; import javafx.collections.ObservableList; import javafx.fxml.FXML; @@ -7,6 +8,7 @@ import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.SelectionMode; +import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; import seedu.agendum.model.task.Task; @@ -45,6 +47,10 @@ public void scrollTo(Task task, boolean isMultipleTasks) { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); floatingTasksListView.getSelectionModel().clearAndSelect(index); } + PauseTransition delay = new PauseTransition(Duration.seconds(5)); + delay.setOnFinished(event -> floatingTasksListView.getSelectionModel().clearSelection(index)); + delay.play(); + }); } diff --git a/src/main/java/seedu/agendum/ui/HelpWindow.java b/src/main/java/seedu/agendum/ui/HelpWindow.java index 0c068486c355..db811b853465 100644 --- a/src/main/java/seedu/agendum/ui/HelpWindow.java +++ b/src/main/java/seedu/agendum/ui/HelpWindow.java @@ -136,7 +136,7 @@ private void configureDrag() { private void handleKeyInput(Scene scene) { scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler() { - + KeyCombination toggleHelpWindow = new KeyCodeCombination(KeyCode.H, KeyCombination.CONTROL_DOWN); @Override @@ -154,7 +154,7 @@ public void handle(KeyEvent evt) { } }); } - + public void show() { dialogStage.show(); } diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index 176325157a96..1950d17a977c 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -1,6 +1,7 @@ package seedu.agendum.ui; +import javafx.animation.PauseTransition; import javafx.application.Platform; import javafx.collections.ObservableList; import javafx.fxml.FXML; @@ -8,6 +9,7 @@ import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.SelectionMode; +import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; import seedu.agendum.model.task.Task; @@ -36,14 +38,18 @@ protected void setConnections(ObservableList taskList) { public void scrollTo(Task task, boolean isMultipleTasks) { Platform.runLater(() -> { - upcomingTasksListView.scrollTo(mainTaskList.indexOf(task)); + int index = mainTaskList.indexOf(task); + upcomingTasksListView.scrollTo(index); if(isMultipleTasks) { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); - upcomingTasksListView.getSelectionModel().select(mainTaskList.indexOf(task)); + upcomingTasksListView.getSelectionModel().select(index); } else { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); - upcomingTasksListView.getSelectionModel().clearAndSelect(mainTaskList.indexOf(task)); + upcomingTasksListView.getSelectionModel().clearAndSelect(index); } + PauseTransition delay = new PauseTransition(Duration.seconds(5)); + delay.setOnFinished(event -> upcomingTasksListView.getSelectionModel().clearSelection(index)); + delay.play(); }); } From e88e5f760f3fd7d1af81a5377226796c888061f9 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Sun, 30 Oct 2016 22:59:27 +0800 Subject: [PATCH 03/29] A bit clean up --- .../agendum/commons/events/ui/JumpToListRequestEvent.java | 6 +++--- src/main/java/seedu/agendum/ui/CompletedTasksPanel.java | 4 ++-- src/main/java/seedu/agendum/ui/FloatingTasksPanel.java | 4 ++-- src/main/java/seedu/agendum/ui/UiManager.java | 6 +++--- src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java | 4 ++-- src/main/resources/view/DarkTheme.css | 1 + src/main/resources/view/UpcomingTasksPanel.fxml | 1 + 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java b/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java index 7926d30c411c..adc73472262b 100644 --- a/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java +++ b/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java @@ -10,11 +10,11 @@ public class JumpToListRequestEvent extends BaseEvent { public final Task targetTask; - public final boolean isMultipleTasks; + public final boolean hasMultipleTasks; - public JumpToListRequestEvent(Task task, boolean isMultipleTasks) { + public JumpToListRequestEvent(Task task, boolean hasMultipleTasks) { this.targetTask = task; - this.isMultipleTasks = isMultipleTasks; + this.hasMultipleTasks = hasMultipleTasks; } @Override diff --git a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java index b56d440a50a4..91feba6343e1 100644 --- a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java @@ -35,11 +35,11 @@ protected void setConnections(ObservableList taskList) { completedTasksListView.setCellFactory(listView -> new CompletedTasksListViewCell()); } - public void scrollTo(Task task, boolean isMultipleTasks) { + public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> !t.isCompleted()).size(); completedTasksListView.scrollTo(index); - if(isMultipleTasks) { + if(hasMultipleTasks) { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); completedTasksListView.getSelectionModel().select(index); } else { diff --git a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java index 64dcdb2eb8ed..caeec79d6427 100644 --- a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java @@ -35,12 +35,12 @@ protected void setConnections(ObservableList taskList) { floatingTasksListView.setCellFactory(listView -> new FloatingTasksListViewCell()); } - public void scrollTo(Task task, boolean isMultipleTasks) { + public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> (t.hasTime() && !t.isCompleted())).size(); floatingTasksListView.scrollTo(index); - if(isMultipleTasks) { + if(hasMultipleTasks) { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); floatingTasksListView.getSelectionModel().select(index); } else { diff --git a/src/main/java/seedu/agendum/ui/UiManager.java b/src/main/java/seedu/agendum/ui/UiManager.java index 23f9510a97e7..ebd123bed187 100644 --- a/src/main/java/seedu/agendum/ui/UiManager.java +++ b/src/main/java/seedu/agendum/ui/UiManager.java @@ -123,11 +123,11 @@ private void handleJumpToListRequestEvent(JumpToListRequestEvent event) { // System.out.println("event received, index is :" + event.targetIndex); logger.info(LogsCenter.getEventHandlingLogMessage(event)); if(event.targetTask.isCompleted()) { - mainWindow.getCompletedTasksPanel().scrollTo(event.targetTask, event.isMultipleTasks); + mainWindow.getCompletedTasksPanel().scrollTo(event.targetTask, event.hasMultipleTasks); } else if(event.targetTask.hasTime()) { - mainWindow.getUpcomingTasksPanel().scrollTo(event.targetTask, event.isMultipleTasks); + mainWindow.getUpcomingTasksPanel().scrollTo(event.targetTask, event.hasMultipleTasks); } else { - mainWindow.getFloatingasksPanel().scrollTo(event.targetTask, event.isMultipleTasks); + mainWindow.getFloatingasksPanel().scrollTo(event.targetTask, event.hasMultipleTasks); } } } diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index 1950d17a977c..573386db69e1 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -36,11 +36,11 @@ protected void setConnections(ObservableList taskList) { upcomingTasksListView.setCellFactory(listView -> new upcomingTasksListViewCell()); } - public void scrollTo(Task task, boolean isMultipleTasks) { + public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task); upcomingTasksListView.scrollTo(index); - if(isMultipleTasks) { + if(hasMultipleTasks) { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); upcomingTasksListView.getSelectionModel().select(index); } else { diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index c81d500995ce..edcf840b464a 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -1,3 +1,4 @@ +/* @@author A0148031R */ .background { -fx-background-color: derive(#1d1d1d, 20%); } diff --git a/src/main/resources/view/UpcomingTasksPanel.fxml b/src/main/resources/view/UpcomingTasksPanel.fxml index edf43b71ec85..d3051d3af848 100644 --- a/src/main/resources/view/UpcomingTasksPanel.fxml +++ b/src/main/resources/view/UpcomingTasksPanel.fxml @@ -5,6 +5,7 @@ + From af49cb1816ef7cfc6fb45388d44ceecd7f0a4d45 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Sun, 30 Oct 2016 23:01:19 +0800 Subject: [PATCH 04/29] Highlight existing task when adding duplicates --- src/main/java/seedu/agendum/model/task/UniqueTaskList.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java index 5f0c12b89d48..febc45544a2f 100644 --- a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java +++ b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java @@ -62,6 +62,7 @@ public void add(Task toAdd) throws DuplicateTaskException { if (contains(toAdd)) { logger.fine("[TASK LIST] --- Duplicate Task: " + toAdd.getDetailedText()); + EventsCenter.getInstance().post(new JumpToListRequestEvent(toAdd, false)); throw new DuplicateTaskException(); } From be58ae8bbcb3794057a73e515e20450909a73ddc Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Sun, 30 Oct 2016 23:03:01 +0800 Subject: [PATCH 05/29] Remove sop --- src/main/java/seedu/agendum/ui/UiManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/agendum/ui/UiManager.java b/src/main/java/seedu/agendum/ui/UiManager.java index ebd123bed187..54c5f2957a03 100644 --- a/src/main/java/seedu/agendum/ui/UiManager.java +++ b/src/main/java/seedu/agendum/ui/UiManager.java @@ -120,7 +120,6 @@ private void handleShowHelpEvent(ShowHelpRequestEvent event) { @Subscribe private void handleJumpToListRequestEvent(JumpToListRequestEvent event) { -// System.out.println("event received, index is :" + event.targetIndex); logger.info(LogsCenter.getEventHandlingLogMessage(event)); if(event.targetTask.isCompleted()) { mainWindow.getCompletedTasksPanel().scrollTo(event.targetTask, event.hasMultipleTasks); From aff5456339fdf75d689172483444c1710ebe5beb Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Sun, 30 Oct 2016 23:06:53 +0800 Subject: [PATCH 06/29] Update ui diagrams --- docs/diagrams/Diagrams.pptx | Bin 70033 -> 70044 bytes docs/images/UiClassDiagram.png | Bin 164186 -> 186345 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/diagrams/Diagrams.pptx b/docs/diagrams/Diagrams.pptx index 015062ee1802f79c342b18e0be266c72e78f52e2..0663150177448dbb4830899b788523c5f304d2e7 100644 GIT binary patch delta 15229 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 diff --git a/docs/images/UiClassDiagram.png b/docs/images/UiClassDiagram.png index 3db1531b6fa18e600b3f2496e6d64004640ff7ea..6ce7a27bc08fc2b54cff4a75ad66d40e40cf1add 100644 GIT binary patch literal 186345 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%0A0Ab9LxkVAkSwMNTX*(D4( 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

w_OGntizH=0I$$E6Zg*(a^4ZmR?ge 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 Oe|K+dC>F_^Kly*HqvMVM literal 164186 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%0DX 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

  • G1|3pe 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 U?h7 Date: Mon, 31 Oct 2016 14:09:04 +0800 Subject: [PATCH 07/29] Enable selection only when needed --- src/main/java/seedu/agendum/ui/CompletedTasksPanel.java | 5 +++++ src/main/java/seedu/agendum/ui/FloatingTasksPanel.java | 8 ++++++-- src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java | 5 +++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java index 91feba6343e1..49a261bdc710 100644 --- a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java @@ -7,6 +7,7 @@ import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.MultipleSelectionModel; import javafx.scene.control.SelectionMode; import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; @@ -19,6 +20,7 @@ public class CompletedTasksPanel extends TasksPanel { private static final String FXML = "CompletedTasksPanel.fxml"; private static ObservableList mainTaskList; + private MultipleSelectionModel selectionModel; @FXML private ListView completedTasksListView; @@ -33,12 +35,15 @@ protected void setConnections(ObservableList taskList) { mainTaskList = taskList; completedTasksListView.setItems(taskList.filtered(task -> task.isCompleted())); completedTasksListView.setCellFactory(listView -> new CompletedTasksListViewCell()); + selectionModel = completedTasksListView.getSelectionModel(); + completedTasksListView.setSelectionModel(null); } public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> !t.isCompleted()).size(); completedTasksListView.scrollTo(index); + completedTasksListView.setSelectionModel(selectionModel); if(hasMultipleTasks) { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); completedTasksListView.getSelectionModel().select(index); diff --git a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java index caeec79d6427..094da72c382d 100644 --- a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java @@ -7,6 +7,7 @@ import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.MultipleSelectionModel; import javafx.scene.control.SelectionMode; import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; @@ -19,6 +20,7 @@ public class FloatingTasksPanel extends TasksPanel { private static final String FXML = "FloatingTasksPanel.fxml"; private static ObservableList mainTaskList; + private MultipleSelectionModel selectionModel; @FXML private ListView floatingTasksListView; @@ -33,6 +35,8 @@ protected void setConnections(ObservableList taskList) { mainTaskList = taskList; floatingTasksListView.setItems(taskList.filtered(task -> !task.isCompleted() && !task.hasTime())); floatingTasksListView.setCellFactory(listView -> new FloatingTasksListViewCell()); + selectionModel = floatingTasksListView.getSelectionModel(); + floatingTasksListView.setSelectionModel(null); } public void scrollTo(Task task, boolean hasMultipleTasks) { @@ -40,6 +44,7 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> (t.hasTime() && !t.isCompleted())).size(); floatingTasksListView.scrollTo(index); + floatingTasksListView.setSelectionModel(selectionModel); if(hasMultipleTasks) { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); floatingTasksListView.getSelectionModel().select(index); @@ -47,10 +52,9 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); floatingTasksListView.getSelectionModel().clearAndSelect(index); } - PauseTransition delay = new PauseTransition(Duration.seconds(5)); + PauseTransition delay = new PauseTransition(Duration.seconds(4)); delay.setOnFinished(event -> floatingTasksListView.getSelectionModel().clearSelection(index)); delay.play(); - }); } diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index 573386db69e1..04df131393b5 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -8,6 +8,7 @@ import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.MultipleSelectionModel; import javafx.scene.control.SelectionMode; import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; @@ -20,6 +21,7 @@ public class UpcomingTasksPanel extends TasksPanel { private static final String FXML = "UpcomingTasksPanel.fxml"; private static ObservableList mainTaskList; + private MultipleSelectionModel selectionModel; @FXML private ListView upcomingTasksListView; @@ -34,12 +36,15 @@ protected void setConnections(ObservableList taskList) { mainTaskList = taskList; upcomingTasksListView.setItems(taskList.filtered(task -> task.hasTime() && !task.isCompleted())); upcomingTasksListView.setCellFactory(listView -> new upcomingTasksListViewCell()); + selectionModel = upcomingTasksListView.getSelectionModel(); + upcomingTasksListView.setSelectionModel(null); } public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task); upcomingTasksListView.scrollTo(index); + upcomingTasksListView.setSelectionModel(selectionModel); if(hasMultipleTasks) { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); upcomingTasksListView.getSelectionModel().select(index); From 1c6dceb20520493d4ce02f46107261b69cca544c Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 14:15:14 +0800 Subject: [PATCH 08/29] Update color to be more obvious --- src/main/resources/view/TasksPanel.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/TasksPanel.css b/src/main/resources/view/TasksPanel.css index 7943d84f3515..c01a4e555fe3 100644 --- a/src/main/resources/view/TasksPanel.css +++ b/src/main/resources/view/TasksPanel.css @@ -29,7 +29,7 @@ } .list-cell:filled:selected:focused, .list-cell:filled:selected { - -fx-background-color: #58729b; + -fx-background-color: #5f20b2; -fx-text-fill: red; } From c6a04ccb59ce7a74c9d6405ea9b8e38357485135 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 17:07:22 +0800 Subject: [PATCH 09/29] Support highlighting for rename/schedule task --- src/main/java/seedu/agendum/model/task/UniqueTaskList.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java index febc45544a2f..31ed20b1c584 100644 --- a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java +++ b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java @@ -112,10 +112,12 @@ public boolean update(ReadOnlyTask toUpdate, Task updatedTask) if (contains(updatedTask)) { logger.fine("[TASK LIST] --- Duplicate Task: " + toUpdate.getDetailedText()); + EventsCenter.getInstance().post(new JumpToListRequestEvent(updatedTask, false)); throw new DuplicateTaskException(); } internalList.set(taskIndex, updatedTask); + EventsCenter.getInstance().post(new JumpToListRequestEvent(updatedTask, false)); logger.fine("[TASK LIST] --- Updated Task: " + toUpdate.getDetailedText() + " updated to " + updatedTask.getDetailedText()); From 7bd139a39595f80356541cddf37be5624c492df1 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 17:09:32 +0800 Subject: [PATCH 10/29] Update highlight color --- src/main/resources/view/TasksPanel.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/TasksPanel.css b/src/main/resources/view/TasksPanel.css index c01a4e555fe3..13974ecd193e 100644 --- a/src/main/resources/view/TasksPanel.css +++ b/src/main/resources/view/TasksPanel.css @@ -29,7 +29,7 @@ } .list-cell:filled:selected:focused, .list-cell:filled:selected { - -fx-background-color: #5f20b2; + -fx-background-color: #f93636; -fx-text-fill: red; } From a199551e3ef432e3731784a229b8da2eb1aa3d58 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 19:32:58 +0800 Subject: [PATCH 11/29] Disable click on the list --- .../seedu/agendum/ui/CompletedTasksPanel.java | 16 ++++++++++++++++ .../seedu/agendum/ui/FloatingTasksPanel.java | 16 ++++++++++++++++ .../seedu/agendum/ui/UpcomingTasksPanel.java | 16 ++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java index 49a261bdc710..8da10560899b 100644 --- a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java @@ -3,12 +3,14 @@ import javafx.animation.PauseTransition; import javafx.application.Platform; import javafx.collections.ObservableList; +import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.MultipleSelectionModel; import javafx.scene.control.SelectionMode; +import javafx.scene.input.MouseEvent; import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; import seedu.agendum.model.task.Task; @@ -35,22 +37,36 @@ protected void setConnections(ObservableList taskList) { mainTaskList = taskList; completedTasksListView.setItems(taskList.filtered(task -> task.isCompleted())); completedTasksListView.setCellFactory(listView -> new CompletedTasksListViewCell()); + configure(); + } + + private void configure() { selectionModel = completedTasksListView.getSelectionModel(); completedTasksListView.setSelectionModel(null); + completedTasksListView.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler() { + @Override + public void handle(MouseEvent event) { + event.consume(); + } + }); } public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { + int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> !t.isCompleted()).size(); completedTasksListView.scrollTo(index); completedTasksListView.setSelectionModel(selectionModel); + if(hasMultipleTasks) { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); completedTasksListView.getSelectionModel().select(index); } else { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); completedTasksListView.getSelectionModel().clearAndSelect(index); + completedTasksListView.setSelectionModel(null); } + PauseTransition delay = new PauseTransition(Duration.seconds(5)); delay.setOnFinished(event -> completedTasksListView.getSelectionModel().clearSelection(index)); delay.play(); diff --git a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java index 094da72c382d..befa7a0d0b19 100644 --- a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java @@ -3,12 +3,14 @@ import javafx.animation.PauseTransition; import javafx.application.Platform; import javafx.collections.ObservableList; +import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.MultipleSelectionModel; import javafx.scene.control.SelectionMode; +import javafx.scene.input.MouseEvent; import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; import seedu.agendum.model.task.Task; @@ -35,23 +37,37 @@ protected void setConnections(ObservableList taskList) { mainTaskList = taskList; floatingTasksListView.setItems(taskList.filtered(task -> !task.isCompleted() && !task.hasTime())); floatingTasksListView.setCellFactory(listView -> new FloatingTasksListViewCell()); + configure(); + } + + private void configure() { selectionModel = floatingTasksListView.getSelectionModel(); floatingTasksListView.setSelectionModel(null); + floatingTasksListView.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler() { + @Override + public void handle(MouseEvent event) { + event.consume(); + } + }); } public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { + int index = mainTaskList.indexOf(task) - mainTaskList.filtered(t -> (t.hasTime() && !t.isCompleted())).size(); floatingTasksListView.scrollTo(index); floatingTasksListView.setSelectionModel(selectionModel); + if(hasMultipleTasks) { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); floatingTasksListView.getSelectionModel().select(index); } else { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); floatingTasksListView.getSelectionModel().clearAndSelect(index); + floatingTasksListView.setSelectionModel(null); } + PauseTransition delay = new PauseTransition(Duration.seconds(4)); delay.setOnFinished(event -> floatingTasksListView.getSelectionModel().clearSelection(index)); delay.play(); diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index 04df131393b5..ffb277b5fac3 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -4,12 +4,14 @@ import javafx.animation.PauseTransition; import javafx.application.Platform; import javafx.collections.ObservableList; +import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.Control; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.MultipleSelectionModel; import javafx.scene.control.SelectionMode; +import javafx.scene.input.MouseEvent; import javafx.util.Duration; import seedu.agendum.model.task.ReadOnlyTask; import seedu.agendum.model.task.Task; @@ -36,22 +38,36 @@ protected void setConnections(ObservableList taskList) { mainTaskList = taskList; upcomingTasksListView.setItems(taskList.filtered(task -> task.hasTime() && !task.isCompleted())); upcomingTasksListView.setCellFactory(listView -> new upcomingTasksListViewCell()); + configure(); + } + + private void configure() { selectionModel = upcomingTasksListView.getSelectionModel(); upcomingTasksListView.setSelectionModel(null); + upcomingTasksListView.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler() { + @Override + public void handle(MouseEvent event) { + event.consume(); + } + }); } public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { + int index = mainTaskList.indexOf(task); upcomingTasksListView.scrollTo(index); upcomingTasksListView.setSelectionModel(selectionModel); + if(hasMultipleTasks) { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); upcomingTasksListView.getSelectionModel().select(index); } else { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); upcomingTasksListView.getSelectionModel().clearAndSelect(index); + upcomingTasksListView.setSelectionModel(null); } + PauseTransition delay = new PauseTransition(Duration.seconds(5)); delay.setOnFinished(event -> upcomingTasksListView.getSelectionModel().clearSelection(index)); delay.play(); From a9409ed2a71837aaf118a6500186b5a01ddb96f5 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 19:56:48 +0800 Subject: [PATCH 12/29] Change shortcut key of helpwindow to be ctrl+H --- src/main/java/seedu/agendum/ui/MainWindow.java | 2 +- src/test/java/guitests/HelpWindowTest.java | 4 ---- src/test/java/guitests/guihandles/HelpWindowHandle.java | 2 +- src/test/java/guitests/guihandles/MainMenuHandle.java | 8 ++------ 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/MainWindow.java b/src/main/java/seedu/agendum/ui/MainWindow.java index 31c84e8d5258..568ec192d51f 100644 --- a/src/main/java/seedu/agendum/ui/MainWindow.java +++ b/src/main/java/seedu/agendum/ui/MainWindow.java @@ -113,7 +113,7 @@ private void configure(String appTitle, String toDoListName, Config config, User } private void setAccelerators() { - helpMenuItem.setAccelerator(KeyCombination.valueOf("F5")); + helpMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.H, KeyCombination.CONTROL_DOWN)); } private void configureHelpWindowToggle() { diff --git a/src/test/java/guitests/HelpWindowTest.java b/src/test/java/guitests/HelpWindowTest.java index 509ad9169549..69e960dad0c1 100644 --- a/src/test/java/guitests/HelpWindowTest.java +++ b/src/test/java/guitests/HelpWindowTest.java @@ -13,12 +13,8 @@ public class HelpWindowTest extends ToDoListGuiTest { @Test public void openHelpWindow() { - doItAnytimePanel.clickOnListView(); - assertHelpWindowOpen(mainMenu.openHelpWindowUsingAccelerator()); - assertHelpWindowOpen(mainMenu.openHelpWindowUsingMenu()); - assertHelpWindowOpen(commandBox.runHelpCommand()); } diff --git a/src/test/java/guitests/guihandles/HelpWindowHandle.java b/src/test/java/guitests/guihandles/HelpWindowHandle.java index 30195a1d8a8a..f972eeead43c 100644 --- a/src/test/java/guitests/guihandles/HelpWindowHandle.java +++ b/src/test/java/guitests/guihandles/HelpWindowHandle.java @@ -14,7 +14,7 @@ public class HelpWindowHandle extends GuiHandle { public HelpWindowHandle(GuiRobot guiRobot, Stage primaryStage) { super(guiRobot, primaryStage, HELP_WINDOW_TITLE); - guiRobot.sleep(1000); + guiRobot.sleep(500); } public boolean isWindowOpen() { diff --git a/src/test/java/guitests/guihandles/MainMenuHandle.java b/src/test/java/guitests/guihandles/MainMenuHandle.java index b5ee8d743ef4..c825e10cd91f 100644 --- a/src/test/java/guitests/guihandles/MainMenuHandle.java +++ b/src/test/java/guitests/guihandles/MainMenuHandle.java @@ -3,6 +3,7 @@ import guitests.GuiRobot; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCodeCombination; +import javafx.scene.input.KeyCombination; import javafx.stage.Stage; import seedu.agendum.TestApp; @@ -22,11 +23,6 @@ public GuiHandle clickOn(String... menuText) { return this; } - public HelpWindowHandle openHelpWindowUsingMenu() { - clickOn("Help", "F5"); - return new HelpWindowHandle(guiRobot, primaryStage); - } - public HelpWindowHandle openHelpWindowUsingAccelerator() { useAcceleratorToOpenHelpWindow(); return new HelpWindowHandle(guiRobot, primaryStage); @@ -38,7 +34,7 @@ public MainGuiHandle closeHelpWindowUsingAccelerator() { } private void useAcceleratorToOpenHelpWindow() { - guiRobot.push(new KeyCodeCombination(KeyCode.F5)); + guiRobot.push(new KeyCodeCombination(KeyCode.H, KeyCombination.CONTROL_DOWN)); guiRobot.sleep(500); } From 20470404043e20346d6792f0cd77f80eb0543153 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 19:57:09 +0800 Subject: [PATCH 13/29] Update task card date time format --- .../seedu/agendum/ui/CompletedTasksPanel.java | 1 - .../seedu/agendum/ui/FloatingTasksPanel.java | 1 - src/main/java/seedu/agendum/ui/TaskCard.java | 80 ++++++++++++------- .../seedu/agendum/ui/UpcomingTasksPanel.java | 2 +- src/main/resources/view/TaskCard.fxml | 29 ++----- src/main/resources/view/TasksPanel.css | 8 +- 6 files changed, 59 insertions(+), 62 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java index 8da10560899b..5e4e271bdc21 100644 --- a/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/CompletedTasksPanel.java @@ -64,7 +64,6 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { } else { completedTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); completedTasksListView.getSelectionModel().clearAndSelect(index); - completedTasksListView.setSelectionModel(null); } PauseTransition delay = new PauseTransition(Duration.seconds(5)); diff --git a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java index befa7a0d0b19..a88fe3d15bc1 100644 --- a/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/FloatingTasksPanel.java @@ -65,7 +65,6 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { } else { floatingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); floatingTasksListView.getSelectionModel().clearAndSelect(index); - floatingTasksListView.setSelectionModel(null); } PauseTransition delay = new PauseTransition(Duration.seconds(4)); diff --git a/src/main/java/seedu/agendum/ui/TaskCard.java b/src/main/java/seedu/agendum/ui/TaskCard.java index 3cbf55b6b12b..404afe7a7893 100644 --- a/src/main/java/seedu/agendum/ui/TaskCard.java +++ b/src/main/java/seedu/agendum/ui/TaskCard.java @@ -5,9 +5,12 @@ import java.util.Optional; import javafx.fxml.FXML; +import javafx.geometry.Pos; import javafx.scene.Node; +import javafx.scene.control.Control; import javafx.scene.control.Label; import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import seedu.agendum.model.task.ReadOnlyTask; @@ -15,15 +18,25 @@ public class TaskCard extends UiPart { private static final String FXML = "TaskCard.fxml"; - + private static final String OVERDUE_PREFIX = "Overdue\nScheduled: "; + private static final String COMPLETED_PREFIX = "Completed "; + private static final String NAME_COLOR = "#3a3d42"; + private static final String TIME_COLOR = "#4172c1"; + private static final String NON_COMPLETED_TIME_PATTERN = "HH:mm EEE, dd MMM"; + private static final String COMPLETED_TIME_PATTERN = "EEE, dd MMM"; + private static final String START_TIME_PREFIX = " from "; + private static final String END_TIME_PREFIX = " to "; + private static final String DEADLINE_PREFIX = "by "; + private static final String EMPTY_PREFIX = ""; + @FXML private HBox cardPane; @FXML + private VBox taskVbox; + @FXML private Label name; @FXML private Label id; - @FXML - private Label time; private ReadOnlyTask task; private String displayedIndex; @@ -36,13 +49,6 @@ public static TaskCard load(ReadOnlyTask task, int Index){ card.displayedIndex = String.valueOf(Index) + "."; return UiPartLoader.loadUiPart(card); } - - public static TaskCard load(ReadOnlyTask task){ - TaskCard card = new TaskCard(); - card.task = task; - card.displayedIndex = ""; - return UiPartLoader.loadUiPart(card); - } @FXML public void initialize() { @@ -55,35 +61,51 @@ public void initialize() { cardPane.setStyle("-fx-background-color: rgba(255,255,255,0.6)"); } - name.setTextFill(Color.web("#555555")); - + name.setTextFill(Color.web(NAME_COLOR)); name.setText(task.getName().fullName); id.setText(displayedIndex); + Label time = new Label(); + time.setMaxHeight(Control.USE_COMPUTED_SIZE); + time.setTextFill(Color.web(TIME_COLOR)); + time.setWrapText(true); + if(task.isOverdue()) { - time.setText("Overdue\nScheduled: "+ formatTime()); - } else { - time.setText(formatTime()); + time.setText(OVERDUE_PREFIX + + formatTime(NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) + + formatTime(NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); + } else if(task.hasTime()){ + time.setText(formatTime(NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) + + formatTime(NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); + } else if(task.isCompleted()) { + time.setText(COMPLETED_PREFIX + + formatTime(COMPLETED_TIME_PATTERN, EMPTY_PREFIX, + Optional.ofNullable(task.getLastUpdatedTime()))); } + if(task.hasTime() || task.isCompleted()) { + taskVbox.getChildren().add(time); + taskVbox.setAlignment(Pos.CENTER_LEFT); + time.setAlignment(Pos.CENTER_LEFT); + } } - public String formatTime() { + public String formatTime(String dateTimePattern, String prefix, Optional dateTime) { + StringBuilder sb = new StringBuilder(); - Optional start = task.getStartDateTime(); - Optional end = task.getEndDateTime(); - - DateTimeFormatter startFormat = DateTimeFormatter.ofPattern("HH:mm EEE, dd MMM"); - - if (start.isPresent()) { - sb.append("from ").append(start.get().format(startFormat)); - } - if (end.isPresent()) { - sb.append(sb.length() > 0 ? " to " : "by "); - sb.append(end.get().format(startFormat)); + DateTimeFormatter format = DateTimeFormatter.ofPattern(dateTimePattern); + + if(task.isCompleted()) { + sb.append(dateTime.get().format(format)); + } else if (dateTime.isPresent() && task.getStartDateTime().isPresent()) { + sb.append(prefix).append(dateTime.get().format(format)); + } else if(dateTime.isPresent()) { + sb.append(DEADLINE_PREFIX).append(dateTime.get().format(format)); + } else { + sb.append(EMPTY_PREFIX); } - - return sb.toString().replace("AM", "am").replace("PM", "pm"); + + return sb.toString().toLowerCase(); } public HBox getLayout() { diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index ffb277b5fac3..71aed0db1704 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -56,6 +56,7 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task); + System.out.println(index); upcomingTasksListView.scrollTo(index); upcomingTasksListView.setSelectionModel(selectionModel); @@ -65,7 +66,6 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { } else { upcomingTasksListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); upcomingTasksListView.getSelectionModel().clearAndSelect(index); - upcomingTasksListView.setSelectionModel(null); } PauseTransition delay = new PauseTransition(Duration.seconds(5)); diff --git a/src/main/resources/view/TaskCard.fxml b/src/main/resources/view/TaskCard.fxml index 57ef97345db5..34d6ddc4da63 100644 --- a/src/main/resources/view/TaskCard.fxml +++ b/src/main/resources/view/TaskCard.fxml @@ -7,7 +7,6 @@ - @@ -26,29 +25,13 @@ diff --git a/src/main/resources/view/TasksPanel.css b/src/main/resources/view/TasksPanel.css index 13974ecd193e..79f8348775da 100644 --- a/src/main/resources/view/TasksPanel.css +++ b/src/main/resources/view/TasksPanel.css @@ -40,16 +40,10 @@ .cell_small_label { -fx-font-size: 11pt; - -fx-text-fill: #555555; + -fx-text-fill: #3a3d42; -fx-opacity: 0.9; } -.cell_time_label { - -fx-text-fill: #5284f2; - -fx-font-family: "Segoe UI Light"; - -fx-opacity: 0.9; -} - .hbox { -fx-background-radius: 10; } From b6bd25664f50bf75fc07d282ef11fd7d704362b5 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 20:00:22 +0800 Subject: [PATCH 14/29] add shortchut key as ctrl-z for undo --- src/main/java/seedu/agendum/ui/MainWindow.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/agendum/ui/MainWindow.java b/src/main/java/seedu/agendum/ui/MainWindow.java index 568ec192d51f..cf5296353373 100644 --- a/src/main/java/seedu/agendum/ui/MainWindow.java +++ b/src/main/java/seedu/agendum/ui/MainWindow.java @@ -28,7 +28,8 @@ public class MainWindow extends UiPart { private static final String ICON = "/images/agendum_icon.png"; private static final String FXML = "MainWindow.fxml"; - public static final String LIST_COMMAND = "list"; + private static final String LIST_COMMAND = "list"; + private static final String UNDO_COMMAND = "undo"; private Logic logic; @@ -119,6 +120,7 @@ private void setAccelerators() { private void configureHelpWindowToggle() { scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler() { KeyCombination toggleHelpWindow = new KeyCodeCombination(KeyCode.H, KeyCombination.CONTROL_DOWN); + KeyCombination undo = new KeyCodeCombination(KeyCode.Z, KeyCombination.CONTROL_DOWN); @Override public void handle(KeyEvent evt) { if(toggleHelpWindow.match(evt) && helpWindowStage != null) { @@ -127,6 +129,8 @@ public void handle(KeyEvent evt) { } else { helpWindowStage.requestFocus(); } + } else if(undo.match(evt)) { + logic.execute(UNDO_COMMAND); } } }); From 204cdc05de9048acb6c25c5f189da06739e895f8 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 20:07:29 +0800 Subject: [PATCH 15/29] Fix the mainwindow request focusing automatically issue --- src/main/java/seedu/agendum/ui/ResultPopUp.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/ResultPopUp.java b/src/main/java/seedu/agendum/ui/ResultPopUp.java index 19c312c248fd..c0daee062c9b 100644 --- a/src/main/java/seedu/agendum/ui/ResultPopUp.java +++ b/src/main/java/seedu/agendum/ui/ResultPopUp.java @@ -69,15 +69,10 @@ public void postMessage(String message) { show(); PauseTransition delay = new PauseTransition(Duration.seconds(5)); - delay.setOnFinished(event -> reFocusRoot()); + delay.setOnFinished(event -> dialogStage.setOpacity(0)); delay.play(); } - public void reFocusRoot() { - dialogStage.setOpacity(0); - root.requestFocus(); - } - public void show() { dialogStage.setOpacity(1.0); dialogStage.sizeToScene(); From be16c05d6427f698b5ab5b60217de4f8d8b2d39e Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 20:37:06 +0800 Subject: [PATCH 16/29] Update task card handle for gui tests --- src/main/java/seedu/agendum/ui/TaskCard.java | 2 +- .../guitests/guihandles/TaskCardHandle.java | 52 +++++++++++++------ 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/TaskCard.java b/src/main/java/seedu/agendum/ui/TaskCard.java index 404afe7a7893..646b83ff51e2 100644 --- a/src/main/java/seedu/agendum/ui/TaskCard.java +++ b/src/main/java/seedu/agendum/ui/TaskCard.java @@ -18,7 +18,7 @@ public class TaskCard extends UiPart { private static final String FXML = "TaskCard.fxml"; - private static final String OVERDUE_PREFIX = "Overdue\nScheduled: "; + private static final String OVERDUE_PREFIX = "Overdue"; private static final String COMPLETED_PREFIX = "Completed "; private static final String NAME_COLOR = "#3a3d42"; private static final String TIME_COLOR = "#4172c1"; diff --git a/src/test/java/guitests/guihandles/TaskCardHandle.java b/src/test/java/guitests/guihandles/TaskCardHandle.java index 001f8a2c0c26..8deac6100a08 100644 --- a/src/test/java/guitests/guihandles/TaskCardHandle.java +++ b/src/test/java/guitests/guihandles/TaskCardHandle.java @@ -17,6 +17,14 @@ public class TaskCardHandle extends GuiHandle { private static final String NAME_FIELD_ID = "#name"; private static final String INDEX_FIELD_ID = "#id"; private static final String TIME_FIELD_ID = "#time"; + private static final String NON_COMPLETED_TIME_PATTERN = "HH:mm EEE, dd MMM"; + private static final String COMPLETED_TIME_PATTERN = "EEE, dd MMM"; + private static final String START_TIME_PREFIX = " from "; + private static final String END_TIME_PREFIX = " to "; + private static final String DEADLINE_PREFIX = "by "; + private static final String EMPTY_PREFIX = ""; + private static final String OVERDUE_PREFIX = "Overdue\n"; + private static final String COMPLETED_PREFIX = "Completed "; private Node node; @@ -43,8 +51,20 @@ public String getTime() { public boolean isSameTask(ReadOnlyTask task){ // the completion status will be checked by which panel it belongs in - return getName().equals(task.getName().fullName) - && getTime().equals(formatTime(task)); + if (task.isOverdue()) { + return getName().equals(task.getName().fullName) && getTime().equals(OVERDUE_PREFIX + + formatTime(task, NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) + + formatTime(task, NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); + } else if (task.hasTime()) { + return getName().equals(task.getName().fullName) && getTime() + .equals(formatTime(task, NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) + + formatTime(task, NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); + } else if (task.isCompleted()) { + return getName().equals(task.getName().fullName) && getTime().equals(COMPLETED_PREFIX + formatTime(task, + COMPLETED_TIME_PATTERN, EMPTY_PREFIX, Optional.ofNullable(task.getLastUpdatedTime()))); + } else { + return getName().equals(task.getName().fullName); + } } @@ -64,21 +84,21 @@ public String toString() { return getTaskIndex() + " " + getName() + "Time: " + getTime(); } - private String formatTime(ReadOnlyTask task) { + public String formatTime(ReadOnlyTask task, String dateTimePattern, String prefix, Optional dateTime) { + StringBuilder sb = new StringBuilder(); - Optional start = task.getStartDateTime(); - Optional end = task.getEndDateTime(); - - DateTimeFormatter startFormat = DateTimeFormatter.ofPattern("HH:mm EEE, dd MMM"); - - if (start.isPresent()) { - sb.append("from ").append(start.get().format(startFormat)); + DateTimeFormatter format = DateTimeFormatter.ofPattern(dateTimePattern); + + if(task.isCompleted()) { + sb.append(dateTime.get().format(format)); + } else if (dateTime.isPresent() && task.getStartDateTime().isPresent()) { + sb.append(prefix).append(dateTime.get().format(format)); + } else if(dateTime.isPresent()) { + sb.append(DEADLINE_PREFIX).append(dateTime.get().format(format)); + } else { + sb.append(EMPTY_PREFIX); } - if (end.isPresent()) { - sb.append(sb.length() > 0 ? " to " : "by "); - sb.append(end.get().format(startFormat)); - } - - return sb.toString().replace("AM", "am").replace("PM", "pm"); + + return sb.toString().toLowerCase(); } } From 1be0e59340e1c00de4409e5b0391f6e675c411f7 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 20:47:09 +0800 Subject: [PATCH 17/29] Extend gui test time --- src/test/java/guitests/guihandles/HelpWindowHandle.java | 2 +- src/test/java/guitests/guihandles/MainMenuHandle.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/guitests/guihandles/HelpWindowHandle.java b/src/test/java/guitests/guihandles/HelpWindowHandle.java index f972eeead43c..30195a1d8a8a 100644 --- a/src/test/java/guitests/guihandles/HelpWindowHandle.java +++ b/src/test/java/guitests/guihandles/HelpWindowHandle.java @@ -14,7 +14,7 @@ public class HelpWindowHandle extends GuiHandle { public HelpWindowHandle(GuiRobot guiRobot, Stage primaryStage) { super(guiRobot, primaryStage, HELP_WINDOW_TITLE); - guiRobot.sleep(500); + guiRobot.sleep(1000); } public boolean isWindowOpen() { diff --git a/src/test/java/guitests/guihandles/MainMenuHandle.java b/src/test/java/guitests/guihandles/MainMenuHandle.java index c825e10cd91f..faebb63bd1a8 100644 --- a/src/test/java/guitests/guihandles/MainMenuHandle.java +++ b/src/test/java/guitests/guihandles/MainMenuHandle.java @@ -35,7 +35,7 @@ public MainGuiHandle closeHelpWindowUsingAccelerator() { private void useAcceleratorToOpenHelpWindow() { guiRobot.push(new KeyCodeCombination(KeyCode.H, KeyCombination.CONTROL_DOWN)); - guiRobot.sleep(500); + guiRobot.sleep(1000); } private void useAcceleratorToCloseHelpWindow() { From 18a9b5ea62622688a7378070e921f73ecc5cfb40 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:03:48 +0800 Subject: [PATCH 18/29] Extend some gui test time --- src/test/java/guitests/guihandles/FloatingTasksPanelHandle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/guitests/guihandles/FloatingTasksPanelHandle.java b/src/test/java/guitests/guihandles/FloatingTasksPanelHandle.java index 7f5906e4c101..1eed1e16e88f 100644 --- a/src/test/java/guitests/guihandles/FloatingTasksPanelHandle.java +++ b/src/test/java/guitests/guihandles/FloatingTasksPanelHandle.java @@ -92,7 +92,7 @@ public boolean isListMatching(int startPosition, ReadOnlyTask... tasks) throws I for (int i = 0; i < tasks.length; i++) { final int scrollTo = i + startPosition; guiRobot.interact(() -> getListView().scrollTo(scrollTo)); - guiRobot.sleep(200); + guiRobot.sleep(500); if (!TestUtil.compareCardAndTask(getTaskCardHandle(startPosition + i), tasks[i])) { return false; } From 95f03a5697a6fe039114a9f1b05fb63e0b373e4e Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:18:25 +0800 Subject: [PATCH 19/29] Add icons for different panels --- .../resources/images/completedTasksPanel.png | Bin 0 -> 11514 bytes .../resources/images/floatingTasksPanel.png | Bin 0 -> 4201 bytes .../resources/images/upcomingTasksPanel.png | Bin 0 -> 13757 bytes .../resources/view/CompletedTasksPanel.fxml | 9 ++++++++- src/main/resources/view/FloatingTasksPanel.fxml | 10 +++++++++- src/main/resources/view/UpcomingTasksPanel.fxml | 10 +++++++++- 6 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/images/completedTasksPanel.png create mode 100644 src/main/resources/images/floatingTasksPanel.png create mode 100644 src/main/resources/images/upcomingTasksPanel.png diff --git a/src/main/resources/images/completedTasksPanel.png b/src/main/resources/images/completedTasksPanel.png new file mode 100644 index 0000000000000000000000000000000000000000..a2daa979517de5f55ceb9549ec6d6e40c632a3b0 GIT binary patch literal 11514 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 z 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 )tZT?>Xxp{LwHu#q#~qs07XMJ&gOr?Fz=ti^ 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/view/CompletedTasksPanel.fxml b/src/main/resources/view/CompletedTasksPanel.fxml index b21f5ef8593b..87bcfc1a80e2 100644 --- a/src/main/resources/view/CompletedTasksPanel.fxml +++ b/src/main/resources/view/CompletedTasksPanel.fxml @@ -1,6 +1,8 @@ + + @@ -13,7 +15,12 @@ - + + + + + + diff --git a/src/main/resources/view/FloatingTasksPanel.fxml b/src/main/resources/view/FloatingTasksPanel.fxml index 28c0833a34ce..c8d9b68998f6 100644 --- a/src/main/resources/view/FloatingTasksPanel.fxml +++ b/src/main/resources/view/FloatingTasksPanel.fxml @@ -1,18 +1,26 @@ + + + - + + + + + + diff --git a/src/main/resources/view/UpcomingTasksPanel.fxml b/src/main/resources/view/UpcomingTasksPanel.fxml index d3051d3af848..70b05c14b7e1 100644 --- a/src/main/resources/view/UpcomingTasksPanel.fxml +++ b/src/main/resources/view/UpcomingTasksPanel.fxml @@ -1,18 +1,26 @@ + + + - + + + + + + From 52a3cc062186b83222fd162f15448f1dedd6dc11 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:48:10 +0800 Subject: [PATCH 20/29] Some ui updates --- src/main/java/seedu/agendum/ui/TaskCard.java | 7 +++- .../resources/view/CompletedTasksPanel.fxml | 8 ++-- src/main/resources/view/DarkTheme.css | 38 +++++++++---------- .../resources/view/FloatingTasksPanel.fxml | 8 ++-- src/main/resources/view/TasksPanel.css | 7 ++-- .../resources/view/UpcomingTasksPanel.fxml | 8 ++-- 6 files changed, 39 insertions(+), 37 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/TaskCard.java b/src/main/java/seedu/agendum/ui/TaskCard.java index 646b83ff51e2..0a60db79cd54 100644 --- a/src/main/java/seedu/agendum/ui/TaskCard.java +++ b/src/main/java/seedu/agendum/ui/TaskCard.java @@ -12,19 +12,21 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; +import javafx.scene.text.Font; +import javafx.scene.text.FontPosture; import seedu.agendum.model.task.ReadOnlyTask; //@@author A0148031R public class TaskCard extends UiPart { private static final String FXML = "TaskCard.fxml"; - private static final String OVERDUE_PREFIX = "Overdue"; + private static final String OVERDUE_PREFIX = "Overdue\n"; private static final String COMPLETED_PREFIX = "Completed "; private static final String NAME_COLOR = "#3a3d42"; private static final String TIME_COLOR = "#4172c1"; private static final String NON_COMPLETED_TIME_PATTERN = "HH:mm EEE, dd MMM"; private static final String COMPLETED_TIME_PATTERN = "EEE, dd MMM"; - private static final String START_TIME_PREFIX = " from "; + private static final String START_TIME_PREFIX = "from "; private static final String END_TIME_PREFIX = " to "; private static final String DEADLINE_PREFIX = "by "; private static final String EMPTY_PREFIX = ""; @@ -87,6 +89,7 @@ public void initialize() { taskVbox.getChildren().add(time); taskVbox.setAlignment(Pos.CENTER_LEFT); time.setAlignment(Pos.CENTER_LEFT); + time.setFont(Font.font("Verdana", FontPosture.ITALIC, 11)); } } diff --git a/src/main/resources/view/CompletedTasksPanel.fxml b/src/main/resources/view/CompletedTasksPanel.fxml index 87bcfc1a80e2..ef339b6c83e7 100644 --- a/src/main/resources/view/CompletedTasksPanel.fxml +++ b/src/main/resources/view/CompletedTasksPanel.fxml @@ -12,17 +12,17 @@ - + - + - + - + diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index edcf840b464a..c5154c95e868 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -1,6 +1,6 @@ /* @@author A0148031R */ .background { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); } .text-field { @@ -20,33 +20,33 @@ .split-pane:horizontal .split-pane-divider { -fx-border-color: transparent; - -fx-background-color: transparent, derive(#1d1d1d, 10%); + -fx-background-color: transparent, derive(#263238, 10%); } .split-pane { -fx-border-radius: 1; -fx-border-width: 1; - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); } .anchor-pane { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); } .anchor-pane-with-border { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); -fx-border-color: transparent; -fx-border-top-width: 1px; } .stack-pane { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); -fx-border-color: transparent; -fx-border-top-width: 1px; } .status-bar { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); -fx-border-color: transparent; -fx-text-fill: white; } @@ -65,7 +65,7 @@ } .status-bar-with-border { - -fx-background-color: derive(#1d1d1d, 30%); + -fx-background-color: derive(#263238, 30%); -fx-border-color: transparent; -fx-border-width: 1px; } @@ -75,17 +75,17 @@ } .grid-pane { - -fx-background-color: derive(#1d1d1d, 30%); - -fx-border-color: derive(#1d1d1d, 30%); + -fx-background-color: derive(#263238, 30%); + -fx-border-color: derive(#263238, 30%); -fx-border-width: 1px; } .grid-pane .anchor-pane { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); } .context-menu { - -fx-background-color: derive(#1d1d1d, 50%); + -fx-background-color: derive(#263238, 50%); } .context-menu .label { @@ -93,7 +93,7 @@ } .menu-bar { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#263238, 20%); } .menu-bar .label { @@ -117,7 +117,7 @@ -fx-border-color: #e2e2e2; -fx-border-width: 2; -fx-background-radius: 0; - -fx-background-color: #1d1d1d; + -fx-background-color: #263238; -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; -fx-font-size: 11pt; -fx-text-fill: #d8d8d8; @@ -130,7 +130,7 @@ .button:pressed, .button:default:hover:pressed { -fx-background-color: white; - -fx-text-fill: #1d1d1d; + -fx-text-fill: #263238; } .button:focused { @@ -143,7 +143,7 @@ .button:disabled, .button:default:disabled { -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; + -fx-background-color: #263238; -fx-text-fill: white; } @@ -157,11 +157,11 @@ } .dialog-pane { - -fx-background-color: #1d1d1d; + -fx-background-color: #263238; } .dialog-pane > *.button-bar > *.container { - -fx-background-color: #1d1d1d; + -fx-background-color: #263238; } .dialog-pane > *.label.content { @@ -171,7 +171,7 @@ } .dialog-pane:header *.header-panel { - -fx-background-color: derive(#1d1d1d, 25%); + -fx-background-color: derive(#263238, 25%); } .dialog-pane:header *.header-panel *.label { diff --git a/src/main/resources/view/FloatingTasksPanel.fxml b/src/main/resources/view/FloatingTasksPanel.fxml index c8d9b68998f6..e80d4cd1e859 100644 --- a/src/main/resources/view/FloatingTasksPanel.fxml +++ b/src/main/resources/view/FloatingTasksPanel.fxml @@ -12,17 +12,17 @@ - + - + - + - + diff --git a/src/main/resources/view/TasksPanel.css b/src/main/resources/view/TasksPanel.css index 79f8348775da..6c5cd43f43ef 100644 --- a/src/main/resources/view/TasksPanel.css +++ b/src/main/resources/view/TasksPanel.css @@ -1,11 +1,11 @@ /* @@author A0148031R */ .all-pane { - -fx-background-color: #F39C12; + -fx-background-color: #FFA000; -fx-background-radius: 10; } .completed-pane { - -fx-background-color: #03C9A9; + -fx-background-color: #727a87; -fx-background-radius: 10; } @@ -29,7 +29,7 @@ } .list-cell:filled:selected:focused, .list-cell:filled:selected { - -fx-background-color: #f93636; + -fx-background-color: #4DD0E1; -fx-text-fill: red; } @@ -39,7 +39,6 @@ } .cell_small_label { - -fx-font-size: 11pt; -fx-text-fill: #3a3d42; -fx-opacity: 0.9; } diff --git a/src/main/resources/view/UpcomingTasksPanel.fxml b/src/main/resources/view/UpcomingTasksPanel.fxml index 70b05c14b7e1..fb1f265238ad 100644 --- a/src/main/resources/view/UpcomingTasksPanel.fxml +++ b/src/main/resources/view/UpcomingTasksPanel.fxml @@ -12,17 +12,17 @@ - + - + - + - + From 43ef8f14b73085644b0fc83a169ce062adc8f4ab Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:50:55 +0800 Subject: [PATCH 21/29] Updates for gui tests --- src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java | 1 - src/test/java/guitests/HelpWindowTest.java | 2 -- src/test/java/guitests/guihandles/MainMenuHandle.java | 10 ---------- 3 files changed, 13 deletions(-) diff --git a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java index 71aed0db1704..8dd4f14cf292 100644 --- a/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java +++ b/src/main/java/seedu/agendum/ui/UpcomingTasksPanel.java @@ -56,7 +56,6 @@ public void scrollTo(Task task, boolean hasMultipleTasks) { Platform.runLater(() -> { int index = mainTaskList.indexOf(task); - System.out.println(index); upcomingTasksListView.scrollTo(index); upcomingTasksListView.setSelectionModel(selectionModel); diff --git a/src/test/java/guitests/HelpWindowTest.java b/src/test/java/guitests/HelpWindowTest.java index 69e960dad0c1..06a15fef9a17 100644 --- a/src/test/java/guitests/HelpWindowTest.java +++ b/src/test/java/guitests/HelpWindowTest.java @@ -13,8 +13,6 @@ public class HelpWindowTest extends ToDoListGuiTest { @Test public void openHelpWindow() { - assertHelpWindowOpen(mainMenu.openHelpWindowUsingAccelerator()); - assertHelpWindowOpen(commandBox.runHelpCommand()); } diff --git a/src/test/java/guitests/guihandles/MainMenuHandle.java b/src/test/java/guitests/guihandles/MainMenuHandle.java index faebb63bd1a8..450c46d57418 100644 --- a/src/test/java/guitests/guihandles/MainMenuHandle.java +++ b/src/test/java/guitests/guihandles/MainMenuHandle.java @@ -22,21 +22,11 @@ public GuiHandle clickOn(String... menuText) { Arrays.stream(menuText).forEach((menuItem) -> guiRobot.clickOn(menuItem)); return this; } - - public HelpWindowHandle openHelpWindowUsingAccelerator() { - useAcceleratorToOpenHelpWindow(); - return new HelpWindowHandle(guiRobot, primaryStage); - } public MainGuiHandle closeHelpWindowUsingAccelerator() { useAcceleratorToCloseHelpWindow(); return new MainGuiHandle(guiRobot, primaryStage); } - - private void useAcceleratorToOpenHelpWindow() { - guiRobot.push(new KeyCodeCombination(KeyCode.H, KeyCombination.CONTROL_DOWN)); - guiRobot.sleep(1000); - } private void useAcceleratorToCloseHelpWindow() { guiRobot.push(new KeyCodeCombination(KeyCode.ESCAPE)); From ad2c93361bff478bdeba98de47fd7aa9e7ebb47f Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:53:13 +0800 Subject: [PATCH 22/29] Some font size changes --- src/main/resources/view/CompletedTasksPanel.fxml | 6 +++--- src/main/resources/view/FloatingTasksPanel.fxml | 6 +++--- src/main/resources/view/UpcomingTasksPanel.fxml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/resources/view/CompletedTasksPanel.fxml b/src/main/resources/view/CompletedTasksPanel.fxml index ef339b6c83e7..ac0c7203bcab 100644 --- a/src/main/resources/view/CompletedTasksPanel.fxml +++ b/src/main/resources/view/CompletedTasksPanel.fxml @@ -15,14 +15,14 @@ - + - + - + diff --git a/src/main/resources/view/FloatingTasksPanel.fxml b/src/main/resources/view/FloatingTasksPanel.fxml index e80d4cd1e859..7ac9a40bd5a3 100644 --- a/src/main/resources/view/FloatingTasksPanel.fxml +++ b/src/main/resources/view/FloatingTasksPanel.fxml @@ -15,14 +15,14 @@ - + - + - + diff --git a/src/main/resources/view/UpcomingTasksPanel.fxml b/src/main/resources/view/UpcomingTasksPanel.fxml index fb1f265238ad..cfd8a42c76ed 100644 --- a/src/main/resources/view/UpcomingTasksPanel.fxml +++ b/src/main/resources/view/UpcomingTasksPanel.fxml @@ -15,14 +15,14 @@ - + - + - + From 6b94919af16744b7e7848d8b6e5a30676054f754 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:57:36 +0800 Subject: [PATCH 23/29] Remove split divider --- src/main/resources/view/DarkTheme.css | 2 +- src/main/resources/view/MainWindow.fxml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index c5154c95e868..dbb4c5a66a3d 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -20,7 +20,7 @@ .split-pane:horizontal .split-pane-divider { -fx-border-color: transparent; - -fx-background-color: transparent, derive(#263238, 10%); + -fx-background-color: transparent; } .split-pane { diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 8283222a495d..7d73c8c55691 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -46,7 +46,7 @@ - + @@ -57,7 +57,7 @@ - + @@ -65,7 +65,7 @@ - + From 19ac3e6e6807af913d93c488c318925182ea7741 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Mon, 31 Oct 2016 21:58:42 +0800 Subject: [PATCH 24/29] Remove unnecessary imports --- src/test/java/guitests/guihandles/MainMenuHandle.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/guitests/guihandles/MainMenuHandle.java b/src/test/java/guitests/guihandles/MainMenuHandle.java index 450c46d57418..c76a7e97bcb4 100644 --- a/src/test/java/guitests/guihandles/MainMenuHandle.java +++ b/src/test/java/guitests/guihandles/MainMenuHandle.java @@ -3,7 +3,6 @@ import guitests.GuiRobot; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCodeCombination; -import javafx.scene.input.KeyCombination; import javafx.stage.Stage; import seedu.agendum.TestApp; From efec90093b6caedf76280b0ded97610ff38f0ad2 Mon Sep 17 00:00:00 2001 From: rachx Date: Tue, 1 Nov 2016 22:54:22 +0800 Subject: [PATCH 25/29] Format time --- .../agendum/model/task/ReadOnlyTask.java | 2 + .../java/seedu/agendum/model/task/Task.java | 10 ++ src/main/java/seedu/agendum/ui/TaskCard.java | 96 +++++++++++-------- .../java/seedu/agendum/testutil/TestTask.java | 10 ++ 4 files changed, 80 insertions(+), 38 deletions(-) diff --git a/src/main/java/seedu/agendum/model/task/ReadOnlyTask.java b/src/main/java/seedu/agendum/model/task/ReadOnlyTask.java index 9a1a55709b70..815b89d9debe 100644 --- a/src/main/java/seedu/agendum/model/task/ReadOnlyTask.java +++ b/src/main/java/seedu/agendum/model/task/ReadOnlyTask.java @@ -13,6 +13,8 @@ public interface ReadOnlyTask { boolean isCompleted(); boolean isUpcoming(); boolean isOverdue(); + boolean isEvent(); + boolean hasDeadline(); boolean hasTime(); Optional getStartDateTime(); Optional getEndDateTime(); diff --git a/src/main/java/seedu/agendum/model/task/Task.java b/src/main/java/seedu/agendum/model/task/Task.java index 50ead626e3f6..867c2bc438c7 100644 --- a/src/main/java/seedu/agendum/model/task/Task.java +++ b/src/main/java/seedu/agendum/model/task/Task.java @@ -99,6 +99,16 @@ public boolean hasTime() { return (getStartDateTime().isPresent() || getEndDateTime().isPresent()); } + @Override + public boolean isEvent() { + return getStartDateTime().isPresent(); + } + + @Override + public boolean hasDeadline() { + return !getStartDateTime().isPresent() && getEndDateTime().isPresent(); + } + @Override public Optional getStartDateTime() { return Optional.ofNullable(startDateTime); diff --git a/src/main/java/seedu/agendum/ui/TaskCard.java b/src/main/java/seedu/agendum/ui/TaskCard.java index 0a60db79cd54..1a082fd9f84e 100644 --- a/src/main/java/seedu/agendum/ui/TaskCard.java +++ b/src/main/java/seedu/agendum/ui/TaskCard.java @@ -18,19 +18,19 @@ //@@author A0148031R public class TaskCard extends UiPart { - + private static final String FXML = "TaskCard.fxml"; private static final String OVERDUE_PREFIX = "Overdue\n"; - private static final String COMPLETED_PREFIX = "Completed "; + private static final String COMPLETED_PREFIX = "Completed on "; private static final String NAME_COLOR = "#3a3d42"; private static final String TIME_COLOR = "#4172c1"; - private static final String NON_COMPLETED_TIME_PATTERN = "HH:mm EEE, dd MMM"; + private static final String TASK_TIME_PATTERN = "HH:mm EEE, dd MMM"; private static final String COMPLETED_TIME_PATTERN = "EEE, dd MMM"; private static final String START_TIME_PREFIX = "from "; private static final String END_TIME_PREFIX = " to "; private static final String DEADLINE_PREFIX = "by "; private static final String EMPTY_PREFIX = ""; - + @FXML private HBox cardPane; @FXML @@ -43,9 +43,10 @@ public class TaskCard extends UiPart { private ReadOnlyTask task; private String displayedIndex; - public TaskCard() {} + public TaskCard() { + } - public static TaskCard load(ReadOnlyTask task, int Index){ + public static TaskCard load(ReadOnlyTask task, int Index) { TaskCard card = new TaskCard(); card.task = task; card.displayedIndex = String.valueOf(Index) + "."; @@ -54,61 +55,80 @@ public static TaskCard load(ReadOnlyTask task, int Index){ @FXML public void initialize() { - - if(task.isOverdue()) { + + if (task.isOverdue()) { cardPane.setStyle("-fx-background-color: rgb(255, 169, 147)"); - } else if(task.isUpcoming()) { + } else if (task.isUpcoming()) { cardPane.setStyle("-fx-background-color: rgb(255, 229, 86)"); } else { cardPane.setStyle("-fx-background-color: rgba(255,255,255,0.6)"); } - + name.setTextFill(Color.web(NAME_COLOR)); name.setText(task.getName().fullName); id.setText(displayedIndex); - + Label time = new Label(); time.setMaxHeight(Control.USE_COMPUTED_SIZE); time.setTextFill(Color.web(TIME_COLOR)); time.setWrapText(true); - - if(task.isOverdue()) { - time.setText(OVERDUE_PREFIX - + formatTime(NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) - + formatTime(NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); - } else if(task.hasTime()){ - time.setText(formatTime(NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) - + formatTime(NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); - } else if(task.isCompleted()) { - time.setText(COMPLETED_PREFIX - + formatTime(COMPLETED_TIME_PATTERN, EMPTY_PREFIX, - Optional.ofNullable(task.getLastUpdatedTime()))); + + StringBuilder timeDescription = new StringBuilder(); + timeDescription.append(formatTaskTime(task)); + + if (task.isCompleted()) { + timeDescription.append(formatUpdatedTime(task)); } - - if(task.hasTime() || task.isCompleted()) { + + time.setText(timeDescription.toString()); + + if (task.hasTime() || task.isCompleted()) { taskVbox.getChildren().add(time); taskVbox.setAlignment(Pos.CENTER_LEFT); time.setAlignment(Pos.CENTER_LEFT); time.setFont(Font.font("Verdana", FontPosture.ITALIC, 11)); } } - + public String formatTime(String dateTimePattern, String prefix, Optional dateTime) { - + StringBuilder sb = new StringBuilder(); DateTimeFormatter format = DateTimeFormatter.ofPattern(dateTimePattern); + sb.append(prefix).append(dateTime.get().format(format)); - if(task.isCompleted()) { - sb.append(dateTime.get().format(format)); - } else if (dateTime.isPresent() && task.getStartDateTime().isPresent()) { - sb.append(prefix).append(dateTime.get().format(format)); - } else if(dateTime.isPresent()) { - sb.append(DEADLINE_PREFIX).append(dateTime.get().format(format)); - } else { - sb.append(EMPTY_PREFIX); - } + return sb.toString(); + } + + public String formatTaskTime(ReadOnlyTask task) { - return sb.toString().toLowerCase(); + StringBuilder timeStringBuilder = new StringBuilder(); + + if (task.isOverdue()) { + timeStringBuilder.append(OVERDUE_PREFIX); + } + + if (task.isEvent()) { + String startTime = formatTime(TASK_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()); + String endTime = formatTime(TASK_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime()); + timeStringBuilder.append(startTime); + timeStringBuilder.append(endTime); + } else if (task.hasDeadline()) { + String deadline = formatTime(TASK_TIME_PATTERN, DEADLINE_PREFIX, task.getEndDateTime()); + timeStringBuilder.append(deadline); + } + + return timeStringBuilder.toString(); + } + + public String formatUpdatedTime(ReadOnlyTask task) { + StringBuilder timeStringBuilder = new StringBuilder(); + if (task.hasTime()) { + timeStringBuilder.append("\n"); + } + timeStringBuilder.append(COMPLETED_PREFIX); + timeStringBuilder.append(formatTime(COMPLETED_TIME_PATTERN, EMPTY_PREFIX, + Optional.ofNullable(task.getLastUpdatedTime()))); + return timeStringBuilder.toString(); } public HBox getLayout() { @@ -117,7 +137,7 @@ public HBox getLayout() { @Override public void setNode(Node node) { - cardPane = (HBox)node; + cardPane = (HBox) node; } @Override diff --git a/src/test/java/seedu/agendum/testutil/TestTask.java b/src/test/java/seedu/agendum/testutil/TestTask.java index 2a27462ea7f5..41178c480799 100644 --- a/src/test/java/seedu/agendum/testutil/TestTask.java +++ b/src/test/java/seedu/agendum/testutil/TestTask.java @@ -94,6 +94,16 @@ public boolean isOverdue() { public boolean hasTime() { return (getStartDateTime().isPresent() || getEndDateTime().isPresent()); } + + @Override + public boolean isEvent() { + return getStartDateTime().isPresent(); + } + + @Override + public boolean hasDeadline() { + return !getStartDateTime().isPresent() && getEndDateTime().isPresent(); + } @Override public Optional getStartDateTime() { From b6fc141b22bc67b16aa9bf99989eee53e08e8e73 Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Tue, 1 Nov 2016 23:55:50 +0800 Subject: [PATCH 26/29] Update time format in gui task card handle --- .../guitests/guihandles/TaskCardHandle.java | 69 ++++++++++++++----- 1 file changed, 53 insertions(+), 16 deletions(-) diff --git a/src/test/java/guitests/guihandles/TaskCardHandle.java b/src/test/java/guitests/guihandles/TaskCardHandle.java index 8deac6100a08..563eabd5f3d2 100644 --- a/src/test/java/guitests/guihandles/TaskCardHandle.java +++ b/src/test/java/guitests/guihandles/TaskCardHandle.java @@ -17,14 +17,14 @@ public class TaskCardHandle extends GuiHandle { private static final String NAME_FIELD_ID = "#name"; private static final String INDEX_FIELD_ID = "#id"; private static final String TIME_FIELD_ID = "#time"; - private static final String NON_COMPLETED_TIME_PATTERN = "HH:mm EEE, dd MMM"; + private static final String TASK_TIME_PATTERN = "HH:mm EEE, dd MMM"; private static final String COMPLETED_TIME_PATTERN = "EEE, dd MMM"; + private static final String OVERDUE_PREFIX = "Overdue\n"; + private static final String COMPLETED_PREFIX = "Completed on "; private static final String START_TIME_PREFIX = " from "; private static final String END_TIME_PREFIX = " to "; private static final String DEADLINE_PREFIX = "by "; private static final String EMPTY_PREFIX = ""; - private static final String OVERDUE_PREFIX = "Overdue\n"; - private static final String COMPLETED_PREFIX = "Completed "; private Node node; @@ -50,21 +50,58 @@ public String getTime() { } public boolean isSameTask(ReadOnlyTask task){ - // the completion status will be checked by which panel it belongs in - if (task.isOverdue()) { - return getName().equals(task.getName().fullName) && getTime().equals(OVERDUE_PREFIX - + formatTime(task, NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) - + formatTime(task, NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); - } else if (task.hasTime()) { - return getName().equals(task.getName().fullName) && getTime() - .equals(formatTime(task, NON_COMPLETED_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()) - + formatTime(task, NON_COMPLETED_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime())); - } else if (task.isCompleted()) { - return getName().equals(task.getName().fullName) && getTime().equals(COMPLETED_PREFIX + formatTime(task, - COMPLETED_TIME_PATTERN, EMPTY_PREFIX, Optional.ofNullable(task.getLastUpdatedTime()))); + + StringBuilder timeDescription = new StringBuilder(); + String name = task.getName().fullName; + timeDescription.append(formatTaskTime(task)); + + if(task.isCompleted()) { + timeDescription.append(formatUpdatedTime(task)); + return getName().equals(name) && getTime().equals(timeDescription); } else { - return getName().equals(task.getName().fullName); + return getName().equals(name) && getTime().equals(timeDescription); + } + } + + public String formatTime(String dateTimePattern, String prefix, Optional dateTime) { + + StringBuilder sb = new StringBuilder(); + DateTimeFormatter format = DateTimeFormatter.ofPattern(dateTimePattern); + sb.append(prefix).append(dateTime.get().format(format)); + + return sb.toString(); + } + + public String formatTaskTime(ReadOnlyTask task) { + + StringBuilder timeStringBuilder = new StringBuilder(); + + if (task.isOverdue()) { + timeStringBuilder.append(OVERDUE_PREFIX); + } + + if (task.isEvent()) { + String startTime = formatTime(TASK_TIME_PATTERN, START_TIME_PREFIX, task.getStartDateTime()); + String endTime = formatTime(TASK_TIME_PATTERN, END_TIME_PREFIX, task.getEndDateTime()); + timeStringBuilder.append(startTime); + timeStringBuilder.append(endTime); + } else if (task.hasDeadline()) { + String deadline = formatTime(TASK_TIME_PATTERN, DEADLINE_PREFIX, task.getEndDateTime()); + timeStringBuilder.append(deadline); + } + + return timeStringBuilder.toString(); + } + + public String formatUpdatedTime(ReadOnlyTask task) { + StringBuilder timeStringBuilder = new StringBuilder(); + if (task.hasTime()) { + timeStringBuilder.append("\n"); } + timeStringBuilder.append(COMPLETED_PREFIX); + timeStringBuilder.append(formatTime(COMPLETED_TIME_PATTERN, EMPTY_PREFIX, + Optional.ofNullable(task.getLastUpdatedTime()))); + return timeStringBuilder.toString(); } From d14ca512033dbe58e2a9fbf63375dc46bc19515d Mon Sep 17 00:00:00 2001 From: rachx Date: Wed, 2 Nov 2016 00:12:46 +0800 Subject: [PATCH 27/29] Update messages to remove any index --- .../events/ui/JumpToListRequestEvent.java | 2 +- .../agendum/logic/commands/MarkCommand.java | 5 +- .../agendum/logic/commands/RenameCommand.java | 4 +- .../logic/commands/ScheduleCommand.java | 4 +- .../agendum/logic/commands/UnmarkCommand.java | 5 +- .../agendum/model/task/UniqueTaskList.java | 2 +- .../java/seedu/agendum/ui/MainWindow.java | 10 ++-- src/test/java/guitests/RenameCommandTest.java | 3 +- .../seedu/agendum/logic/LogicManagerTest.java | 50 +++---------------- 9 files changed, 24 insertions(+), 61 deletions(-) diff --git a/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java b/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java index adc73472262b..0446602c06a2 100644 --- a/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java +++ b/src/main/java/seedu/agendum/commons/events/ui/JumpToListRequestEvent.java @@ -5,7 +5,7 @@ //@@author A0148031R /** - * Indicates a request to jump to the list of persons + * Indicates a request to jump to the list of tasks */ public class JumpToListRequestEvent extends BaseEvent { diff --git a/src/main/java/seedu/agendum/logic/commands/MarkCommand.java b/src/main/java/seedu/agendum/logic/commands/MarkCommand.java index 3027bacb3022..e918e751c274 100644 --- a/src/main/java/seedu/agendum/logic/commands/MarkCommand.java +++ b/src/main/java/seedu/agendum/logic/commands/MarkCommand.java @@ -25,7 +25,7 @@ public class MarkCommand extends Command { + "(The id must be a positive number)\n" + "Example: " + COMMAND_WORD + " 1 3 5-6"; - public static final String MESSAGE_MARK_TASK_SUCCESS = "Marked Task(s): %1$s"; + public static final String MESSAGE_MARK_TASK_SUCCESS = "Marked Task(s)!"; public static final String MESSAGE_DUPLICATE = "Hey, the task already exists"; public ArrayList targetIndexes; @@ -63,8 +63,7 @@ public CommandResult execute() { return new CommandResult(MESSAGE_DUPLICATE); } - return new CommandResult(String.format(MESSAGE_MARK_TASK_SUCCESS, - CommandResult.tasksToString(tasksToMark, targetIndexes))); + return new CommandResult(MESSAGE_MARK_TASK_SUCCESS); } private boolean isAnyIndexInvalid(UnmodifiableObservableList lastShownList) { diff --git a/src/main/java/seedu/agendum/logic/commands/RenameCommand.java b/src/main/java/seedu/agendum/logic/commands/RenameCommand.java index adc855d248d2..c8eb30866d79 100644 --- a/src/main/java/seedu/agendum/logic/commands/RenameCommand.java +++ b/src/main/java/seedu/agendum/logic/commands/RenameCommand.java @@ -21,7 +21,7 @@ public class RenameCommand extends Command { + COMMAND_FORMAT + "\n" + "Example: " + COMMAND_WORD + " 2 Watch Star Trek"; - public static final String MESSAGE_SUCCESS = "Task #%1$s renamed: %2$s"; + public static final String MESSAGE_SUCCESS = "Task renamed: %1$s"; public static final String MESSAGE_DUPLICATE_TASK = "Hey, the task already exists"; public int targetIndex = -1; @@ -60,7 +60,7 @@ public CommandResult execute() { } catch (TaskNotFoundException e) { assert false : "The target task cannot be missing"; } - return new CommandResult(String.format(MESSAGE_SUCCESS, targetIndex, newTaskName)); + return new CommandResult(String.format(MESSAGE_SUCCESS, newTaskName)); } diff --git a/src/main/java/seedu/agendum/logic/commands/ScheduleCommand.java b/src/main/java/seedu/agendum/logic/commands/ScheduleCommand.java index c80fb5d6adef..e11b9ea64e2e 100644 --- a/src/main/java/seedu/agendum/logic/commands/ScheduleCommand.java +++ b/src/main/java/seedu/agendum/logic/commands/ScheduleCommand.java @@ -28,7 +28,7 @@ public class ScheduleCommand extends Command { + "(The id must be a positive number)\n" + "Example: " + COMMAND_WORD + " 2 from 7am to 9am"; - public static final String MESSAGE_SUCCESS = "Rescheduled Task #%1$s: %2$s"; + public static final String MESSAGE_SUCCESS = "Task rescheduled: %1$s"; public static final String MESSAGE_DUPLICATE_TASK = "This task already exists!"; public int targetIndex = -1; @@ -71,7 +71,7 @@ public CommandResult execute() { assert false : "The target task cannot be missing"; } - return new CommandResult(String.format(MESSAGE_SUCCESS, targetIndex, updatedTask)); + return new CommandResult(String.format(MESSAGE_SUCCESS, updatedTask)); } //@author diff --git a/src/main/java/seedu/agendum/logic/commands/UnmarkCommand.java b/src/main/java/seedu/agendum/logic/commands/UnmarkCommand.java index dc171bde3baf..a8b39c6ad566 100644 --- a/src/main/java/seedu/agendum/logic/commands/UnmarkCommand.java +++ b/src/main/java/seedu/agendum/logic/commands/UnmarkCommand.java @@ -25,7 +25,7 @@ public class UnmarkCommand extends Command { + "(The id must be a positive number)\n" + "Example: " + COMMAND_WORD + " 11-13 15"; - public static final String MESSAGE_UNMARK_TASK_SUCCESS = "Unmarked Task(s): %1$s"; + public static final String MESSAGE_UNMARK_TASK_SUCCESS = "Unmarked Task(s)!"; public static final String MESSAGE_DUPLICATE = "Hey, the task already exists"; public ArrayList targetIndexes; @@ -63,8 +63,7 @@ public CommandResult execute() { return new CommandResult(MESSAGE_DUPLICATE); } - return new CommandResult(String.format(MESSAGE_UNMARK_TASK_SUCCESS, - CommandResult.tasksToString(tasksToUnmark, targetIndexes))); + return new CommandResult(MESSAGE_UNMARK_TASK_SUCCESS); } private boolean isAnyIndexInvalid(UnmodifiableObservableList lastShownList) { diff --git a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java index ed3b1969c36c..8c08a2f07b27 100644 --- a/src/main/java/seedu/agendum/model/task/UniqueTaskList.java +++ b/src/main/java/seedu/agendum/model/task/UniqueTaskList.java @@ -156,7 +156,7 @@ public boolean unmark(ReadOnlyTask toUnmark) throws TaskNotFoundException, Dupli Task unmarkedTask = new Task(toUnmark); unmarkedTask.markAsUncompleted(); boolean taskFoundAndUnmarked = update(toUnmark, unmarkedTask); - + return taskFoundAndUnmarked; } diff --git a/src/main/java/seedu/agendum/ui/MainWindow.java b/src/main/java/seedu/agendum/ui/MainWindow.java index cf5296353373..f7b023673c34 100644 --- a/src/main/java/seedu/agendum/ui/MainWindow.java +++ b/src/main/java/seedu/agendum/ui/MainWindow.java @@ -238,14 +238,14 @@ private void handleExit() { } public UpcomingTasksPanel getUpcomingTasksPanel() { - return (UpcomingTasksPanel)this.upcomingTasksPanel; + return (UpcomingTasksPanel) this.upcomingTasksPanel; } - + public CompletedTasksPanel getCompletedTasksPanel() { - return (CompletedTasksPanel)this.completedTasksPanel; + return (CompletedTasksPanel) this.completedTasksPanel; } - + public FloatingTasksPanel getFloatingasksPanel() { - return (FloatingTasksPanel)this.floatingTasksPanel; + return (FloatingTasksPanel) this.floatingTasksPanel; } } diff --git a/src/test/java/guitests/RenameCommandTest.java b/src/test/java/guitests/RenameCommandTest.java index 2b59b32f2190..1aaa0a81e7aa 100644 --- a/src/test/java/guitests/RenameCommandTest.java +++ b/src/test/java/guitests/RenameCommandTest.java @@ -61,8 +61,7 @@ private void assertRenameSuccess(int targetIndexOneIndexed, final TestTask[] cur assertAllPanelsMatch(expectedList); //confirm the result message is correct - assertResultMessage(String.format(RenameCommand.MESSAGE_SUCCESS, - Integer.toString(targetIndexOneIndexed), newTaskName)); + assertResultMessage(String.format(RenameCommand.MESSAGE_SUCCESS, newTaskName)); } catch (IllegalValueException e) { e.printStackTrace(); diff --git a/src/test/java/seedu/agendum/logic/LogicManagerTest.java b/src/test/java/seedu/agendum/logic/LogicManagerTest.java index 08dcea5160f0..5704a6d4647c 100644 --- a/src/test/java/seedu/agendum/logic/LogicManagerTest.java +++ b/src/test/java/seedu/agendum/logic/LogicManagerTest.java @@ -455,14 +455,9 @@ public void executeMarkMarksCorrectSingleTaskAsCompleted() throws Exception { model.resetData(new ToDoList()); helper.addToModel(model, threeTasks); - // prepare for message - List markedTaskVisibleIndices = helper.generateNumberList(1); - List markedTasks = helper.generateReadOnlyTaskList(threeTasks.get(0)); - String tasksAsString = CommandResult.tasksToString(markedTasks, markedTaskVisibleIndices); - // test boundary value (first task in the list) assertCommandBehavior("mark 1", - String.format(MarkCommand.MESSAGE_MARK_TASK_SUCCESS, tasksAsString), + MarkCommand.MESSAGE_MARK_TASK_SUCCESS, expectedTDL, expectedTDL.getTaskList()); } @@ -481,15 +476,9 @@ public void executeMarkMarksCorrectRangeOfTasks() throws Exception { model.resetData(new ToDoList()); helper.addToModel(model, fourTasks); - // prepare for message - List markedTaskVisibleIndices = helper.generateNumberList(3, 4); - List markedTasks = helper.generateReadOnlyTaskList( - fourTasks.get(2), fourTasks.get(3)); - String tasksAsString = CommandResult.tasksToString(markedTasks, markedTaskVisibleIndices); - // test boundary value (up to last task in the list) assertCommandBehavior("mark 3-4", - String.format(MarkCommand.MESSAGE_MARK_TASK_SUCCESS, tasksAsString), + MarkCommand.MESSAGE_MARK_TASK_SUCCESS, expectedTDL, expectedTDL.getTaskList()); } @@ -508,14 +497,8 @@ public void executeMarkMarksCorrectMultipleTasks() throws Exception { // prepare model helper.addToModel(model, fourTasks); - // prepare for message - List markedTaskVisibleIndices = helper.generateNumberList(2, 3, 4); - List markedTasks = helper.generateReadOnlyTaskList( - fourTasks.get(1), fourTasks.get(2), fourTasks.get(3)); - String tasksAsString = CommandResult.tasksToString(markedTasks, markedTaskVisibleIndices); - assertCommandBehavior("mark 2,3 4", - String.format(MarkCommand.MESSAGE_MARK_TASK_SUCCESS, tasksAsString), + MarkCommand.MESSAGE_MARK_TASK_SUCCESS, expectedTDL, expectedTDL.getTaskList()); } @@ -546,14 +529,9 @@ public void executeUnmarkUnmarksCorrectSingleTaskFromCompleted() throws Exceptio model.resetData(new ToDoList()); helper.addToModel(model, threeTasks); - // prepare for message - List unmarkedTaskVisibleIndices = helper.generateNumberList(3); - List unmarkedTasks = helper.generateReadOnlyTaskList(threeTasks.get(2)); - String tasksAsString = CommandResult.tasksToString(unmarkedTasks, unmarkedTaskVisibleIndices); - // test boundary value - last task in the list assertCommandBehavior("unmark 3", - String.format(UnmarkCommand.MESSAGE_UNMARK_TASK_SUCCESS, tasksAsString), + UnmarkCommand.MESSAGE_UNMARK_TASK_SUCCESS, expectedTDL, expectedTDL.getTaskList()); } @@ -576,14 +554,8 @@ public void executeUnmarkUnmarksCorrectRangeOfTasks() throws Exception { model.resetData(new ToDoList()); helper.addToModel(model, fourTasks); - // prepare for message - List unmarkedTaskVisibleIndices = helper.generateNumberList(3, 4); - List unmarkedTasks = helper.generateReadOnlyTaskList( - fourTasks.get(2), fourTasks.get(3)); - String tasksAsString = CommandResult.tasksToString(unmarkedTasks, unmarkedTaskVisibleIndices); - assertCommandBehavior("unmark 3-4", - String.format(UnmarkCommand.MESSAGE_UNMARK_TASK_SUCCESS, tasksAsString), + UnmarkCommand.MESSAGE_UNMARK_TASK_SUCCESS, expectedTDL, expectedTDL.getTaskList()); } @@ -604,14 +576,8 @@ public void executeUnmarkUnmarksCorrectMultipleTasks() throws Exception { // prepare model helper.addToModel(model, fourTasks); - // prepare for message - List unmarkedTaskVisibleIndices = helper.generateNumberList(2, 3, 4); - List unmarkedTasks = helper.generateReadOnlyTaskList( - fourTasks.get(1), fourTasks.get(2), fourTasks.get(3)); - String tasksAsString = CommandResult.tasksToString(unmarkedTasks, unmarkedTaskVisibleIndices); - assertCommandBehavior("unmark 2,3 4", - String.format(UnmarkCommand.MESSAGE_UNMARK_TASK_SUCCESS, tasksAsString), + String.format(UnmarkCommand.MESSAGE_UNMARK_TASK_SUCCESS), expectedTDL, expectedTDL.getTaskList()); } @@ -684,7 +650,7 @@ public void executeRenameRenamesCorrectTask() throws Exception { //boundary value: use the last task assertCommandBehavior("rename 3 " + newTaskName, - String.format(RenameCommand.MESSAGE_SUCCESS, "3", newTaskName), + String.format(RenameCommand.MESSAGE_SUCCESS, newTaskName), expectedTDL, expectedTDL.getTaskList()); } @@ -764,7 +730,7 @@ public void executeScheduleScheduleCorrectTask() throws Exception { helper.addToModel(model, threeTasks); assertCommandBehavior("schedule 3 from Sep 9 9:10 to Oct 10 10:10", - String.format(ScheduleCommand.MESSAGE_SUCCESS, "3", eventTask), + String.format(ScheduleCommand.MESSAGE_SUCCESS, eventTask), expectedTDL, expectedTDL.getTaskList()); } From 56f107afc2632e33c2ab4871c2edee60e215bb0d Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Wed, 2 Nov 2016 00:26:37 +0800 Subject: [PATCH 28/29] Update gui test --- src/test/java/guitests/ToDoListGuiTest.java | 16 +++---- .../guitests/guihandles/TaskCardHandle.java | 42 ++++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/src/test/java/guitests/ToDoListGuiTest.java b/src/test/java/guitests/ToDoListGuiTest.java index a19cdb168aa0..750af9fdb52e 100644 --- a/src/test/java/guitests/ToDoListGuiTest.java +++ b/src/test/java/guitests/ToDoListGuiTest.java @@ -40,8 +40,8 @@ public abstract class ToDoListGuiTest { */ protected MainGuiHandle mainGui; protected MainMenuHandle mainMenu; - protected UpcomingTasksHandle doItSoonPanel; - protected FloatingTasksPanelHandle doItAnytimePanel; + protected UpcomingTasksHandle upcomingTasksPanel; + protected FloatingTasksPanelHandle floatingTasksPanel; protected CompletedTasksPanelHandle completedTasksPanel; protected ResultDisplayHandle resultDisplay; protected CommandBoxHandle commandBox; @@ -62,8 +62,8 @@ public void setup() throws Exception { FxToolkit.setupStage((stage) -> { mainGui = new MainGuiHandle(new GuiRobot(), stage); mainMenu = mainGui.getMainMenu(); - doItSoonPanel = mainGui.getDoItSoonPanel(); - doItAnytimePanel = mainGui.getDoItAnytimePanel(); + upcomingTasksPanel = mainGui.getDoItSoonPanel(); + floatingTasksPanel = mainGui.getDoItAnytimePanel(); completedTasksPanel = mainGui.getCompletedTasksPanel(); resultDisplay = mainGui.getResultDisplay(); commandBox = mainGui.getCommandBox(); @@ -109,8 +109,8 @@ public void assertMatching(ReadOnlyTask task, TaskCardHandle card) { * Asserts the size of the task list is equal to the given number. */ protected void assertListSize(int size) { - int numberOfTasks = doItSoonPanel.getNumberOfTasks() - + doItAnytimePanel.getNumberOfTasks() + int numberOfTasks = upcomingTasksPanel.getNumberOfTasks() + + floatingTasksPanel.getNumberOfTasks() + completedTasksPanel.getNumberOfTasks(); assertEquals(size, numberOfTasks); } @@ -130,8 +130,8 @@ protected void assertAllPanelsMatch(TestTask[] expectedList) { TestTask[] expectedDoItSoonTasks = TestUtil.getDoItSoonTasks(expectedList); TestTask[] expectedDoItAnytimeTasks = TestUtil.getDoItAnytimeTasks(expectedList); TestTask[] expectedDoneTasks = TestUtil.getDoneTasks(expectedList); - assertTrue(doItSoonPanel.isListMatching(expectedDoItSoonTasks)); - assertTrue(doItAnytimePanel.isListMatching(expectedDoItAnytimeTasks)); + assertTrue(upcomingTasksPanel.isListMatching(expectedDoItSoonTasks)); + assertTrue(floatingTasksPanel.isListMatching(expectedDoItAnytimeTasks)); assertTrue(completedTasksPanel.isListMatching(expectedDoneTasks)); } } diff --git a/src/test/java/guitests/guihandles/TaskCardHandle.java b/src/test/java/guitests/guihandles/TaskCardHandle.java index 563eabd5f3d2..92353f80f413 100644 --- a/src/test/java/guitests/guihandles/TaskCardHandle.java +++ b/src/test/java/guitests/guihandles/TaskCardHandle.java @@ -28,7 +28,7 @@ public class TaskCardHandle extends GuiHandle { private Node node; - public TaskCardHandle(GuiRobot guiRobot, Stage primaryStage, Node node){ + public TaskCardHandle(GuiRobot guiRobot, Stage primaryStage, Node node) { super(guiRobot, primaryStage, null); this.node = node; } @@ -49,31 +49,34 @@ public String getTime() { return getTextFromLabel(TIME_FIELD_ID); } - public boolean isSameTask(ReadOnlyTask task){ + public boolean isSameTask(ReadOnlyTask task) { + + String name = task.getName().fullName; + if(!task.hasTime()) { + return getName().equals(name); + } StringBuilder timeDescription = new StringBuilder(); - String name = task.getName().fullName; timeDescription.append(formatTaskTime(task)); - - if(task.isCompleted()) { + if (task.isCompleted()) { timeDescription.append(formatUpdatedTime(task)); return getName().equals(name) && getTime().equals(timeDescription); } else { return getName().equals(name) && getTime().equals(timeDescription); } } - + public String formatTime(String dateTimePattern, String prefix, Optional dateTime) { StringBuilder sb = new StringBuilder(); DateTimeFormatter format = DateTimeFormatter.ofPattern(dateTimePattern); sb.append(prefix).append(dateTime.get().format(format)); - + return sb.toString(); } public String formatTaskTime(ReadOnlyTask task) { - + StringBuilder timeStringBuilder = new StringBuilder(); if (task.isOverdue()) { @@ -99,19 +102,17 @@ public String formatUpdatedTime(ReadOnlyTask task) { timeStringBuilder.append("\n"); } timeStringBuilder.append(COMPLETED_PREFIX); - timeStringBuilder.append(formatTime(COMPLETED_TIME_PATTERN, EMPTY_PREFIX, + timeStringBuilder.append(formatTime(COMPLETED_TIME_PATTERN, EMPTY_PREFIX, Optional.ofNullable(task.getLastUpdatedTime()))); return timeStringBuilder.toString(); } - @Override public boolean equals(Object obj) { - if(obj instanceof TaskCardHandle) { + if (obj instanceof TaskCardHandle) { TaskCardHandle handle = (TaskCardHandle) obj; - return getName().equals(handle.getName()) - && getTaskIndex().equals(handle.getTaskIndex()) - && getTime().equals(handle.getTime()); + return getName().equals(handle.getName()) && getTaskIndex().equals(handle.getTaskIndex()) + && getTime().equals(handle.getTime()); } return super.equals(obj); } @@ -121,21 +122,22 @@ public String toString() { return getTaskIndex() + " " + getName() + "Time: " + getTime(); } - public String formatTime(ReadOnlyTask task, String dateTimePattern, String prefix, Optional dateTime) { - + public String formatTime(ReadOnlyTask task, String dateTimePattern, String prefix, + Optional dateTime) { + StringBuilder sb = new StringBuilder(); DateTimeFormatter format = DateTimeFormatter.ofPattern(dateTimePattern); - - if(task.isCompleted()) { + + if (task.isCompleted()) { sb.append(dateTime.get().format(format)); } else if (dateTime.isPresent() && task.getStartDateTime().isPresent()) { sb.append(prefix).append(dateTime.get().format(format)); - } else if(dateTime.isPresent()) { + } else if (dateTime.isPresent()) { sb.append(DEADLINE_PREFIX).append(dateTime.get().format(format)); } else { sb.append(EMPTY_PREFIX); } - + return sb.toString().toLowerCase(); } } From 4d2b02629c20c4bec290862742919a1282ef84ec Mon Sep 17 00:00:00 2001 From: Fan Weiguang Date: Wed, 2 Nov 2016 00:29:05 +0800 Subject: [PATCH 29/29] Update task panel name --- src/test/java/guitests/AddCommandTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/guitests/AddCommandTest.java b/src/test/java/guitests/AddCommandTest.java index 725f32fec5e0..b0047e226722 100644 --- a/src/test/java/guitests/AddCommandTest.java +++ b/src/test/java/guitests/AddCommandTest.java @@ -44,7 +44,7 @@ private void assertAddSuccess(TestTask taskToAdd, TestTask... currentList) { //confirm the new card contains the right data if (!taskToAdd.isCompleted() && !taskToAdd.hasTime()) { - TaskCardHandle addedCard = doItAnytimePanel.navigateToTask(taskToAdd.getName().fullName); + TaskCardHandle addedCard = floatingTasksPanel.navigateToTask(taskToAdd.getName().fullName); assertMatching(taskToAdd, addedCard); }