mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-145314 Task management: Edit task: pre-selected branch in the dialog is always master
This commit is contained in:
@@ -17,6 +17,7 @@ package com.intellij.openapi.vcs;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -39,7 +40,7 @@ public abstract class VcsTaskHandler {
|
||||
return handlers.toArray(new VcsTaskHandler[handlers.size()]);
|
||||
}
|
||||
|
||||
public static class TaskInfo {
|
||||
public static class TaskInfo implements Comparable<TaskInfo> {
|
||||
|
||||
private final String myBranch;
|
||||
private final Collection<String> myRepositories;
|
||||
@@ -61,6 +62,11 @@ public abstract class VcsTaskHandler {
|
||||
public String toString() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(TaskInfo o) {
|
||||
return Comparing.compare(myBranch, o.myBranch);
|
||||
}
|
||||
}
|
||||
|
||||
private static final ExtensionPointName<VcsTaskHandler> EXTENSION_POINT_NAME = ExtensionPointName.create("com.intellij.vcs.taskHandler");
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -92,9 +93,10 @@ public class EditTaskDialog extends DialogWrapper {
|
||||
else {
|
||||
VcsTaskHandler.TaskInfo[] tasks = handlers[0].getAllExistingTasks();
|
||||
ArrayList<VcsTaskHandler.TaskInfo> infos = new ArrayList<VcsTaskHandler.TaskInfo>(Arrays.asList(tasks));
|
||||
Collections.sort(infos);
|
||||
infos.add(null);
|
||||
myBranch.setModel(new CollectionComboBoxModel<VcsTaskHandler.TaskInfo>(infos));
|
||||
final List<BranchInfo> branches = task.getBranches();
|
||||
final List<BranchInfo> branches = task.getBranches(false);
|
||||
if (!branches.isEmpty()) {
|
||||
VcsTaskHandler.TaskInfo info = ContainerUtil.find(tasks, new Condition<VcsTaskHandler.TaskInfo>() {
|
||||
@Override
|
||||
|
||||
@@ -45,7 +45,6 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
@@ -135,12 +134,7 @@ public class OpenTaskDialog extends DialogWrapper {
|
||||
VcsTaskHandler.TaskInfo[] tasks = handler.getAllExistingTasks();
|
||||
if (tasks.length > 0) {
|
||||
myVcsTaskHandler = handler;
|
||||
Arrays.sort(tasks, new Comparator<VcsTaskHandler.TaskInfo>() {
|
||||
@Override
|
||||
public int compare(VcsTaskHandler.TaskInfo o1, VcsTaskHandler.TaskInfo o2) {
|
||||
return o1.getName().compareTo(o2.getName());
|
||||
}
|
||||
});
|
||||
Arrays.sort(tasks);
|
||||
//noinspection unchecked
|
||||
myBranchFrom.setModel(new DefaultComboBoxModel(tasks));
|
||||
myBranchFrom.setEnabled(true);
|
||||
|
||||
Reference in New Issue
Block a user