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);
}