From 987a52bb806959f6172840b0a7a2cd84da3252cf Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Mon, 27 Jul 2015 15:39:35 +0300 Subject: [PATCH] editing branch --- .../tasks/actions/EditTaskDialog.form | 4 +++- .../tasks/actions/EditTaskDialog.java | 23 ++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.form b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.form index aa4527c401e5..6d53eba76f1b 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.form +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.form @@ -54,7 +54,9 @@ - + + + diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.java index 86c8a4e43b65..a6a4482880c7 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/EditTaskDialog.java @@ -33,6 +33,8 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -56,7 +58,7 @@ public class EditTaskDialog extends DialogWrapper { protected EditTaskDialog(Project project, LocalTaskImpl task) { super(project); myTask = task; - setTitle("Edit Task " + task.getId()); + setTitle("Edit Task " + (task.isIssue() ? task.getId() : "")); // mySummary.putClientProperty(DialogWrapperPeer.HAVE_INITIAL_SELECTION, ""); mySummary.setText(task.getSummary()); @@ -71,12 +73,16 @@ public class EditTaskDialog extends DialogWrapper { else { ChangeListManager changeListManager = ChangeListManager.getInstance(project); List changeLists = changeListManager.getChangeLists(); + changeLists.add(null); myChangelist.setModel(new CollectionComboBoxModel(changeLists)); final List lists = task.getChangeLists(); if (!lists.isEmpty()) { LocalChangeList list = changeListManager.getChangeList(lists.get(0).id); myChangelist.setSelectedItem(list); } + else { + myChangelist.setSelectedItem(null); + } VcsTaskHandler[] handlers = VcsTaskHandler.getAllHandlers(project); if (handlers.length == 0) { @@ -85,7 +91,9 @@ public class EditTaskDialog extends DialogWrapper { } else { VcsTaskHandler.TaskInfo[] tasks = handlers[0].getAllExistingTasks(); - myBranch.setModel(new DefaultComboBoxModel(tasks)); + ArrayList infos = new ArrayList(Arrays.asList(tasks)); + infos.add(null); + myBranch.setModel(new CollectionComboBoxModel(infos)); final List branches = task.getBranches(); if (!branches.isEmpty()) { VcsTaskHandler.TaskInfo info = ContainerUtil.find(tasks, new Condition() { @@ -96,6 +104,9 @@ public class EditTaskDialog extends DialogWrapper { }); myBranch.setSelectedItem(info); } + else { + myBranch.setSelectedItem(null); + } } } init(); @@ -113,7 +124,13 @@ public class EditTaskDialog extends DialogWrapper { } } if (myBranch.isVisible()) { - // todo + List branches = myTask.getBranches(); + branches.clear(); + VcsTaskHandler.TaskInfo branch = (VcsTaskHandler.TaskInfo)myBranch.getSelectedItem(); + if (branch != null) { + List infos = BranchInfo.fromTaskInfo(branch, false); + branches.addAll(infos); + } } close(OK_EXIT_CODE); }