From a8a2f3cc403afb6e22c2acd45232f444543cb688 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 16:05:58 +0400 Subject: [PATCH] changelist name format moved to task settings --- .../com/intellij/tasks/TaskRepository.java | 10 ----- .../tasks/config/BaseRepositoryEditor.form | 41 +++-------------- .../tasks/config/BaseRepositoryEditor.java | 4 -- .../tasks/actions/CreateChangelistAction.java | 6 +-- .../tasks/config/TaskConfigurable.form | 44 ++++++++++++++----- .../tasks/config/TaskConfigurable.java | 3 ++ .../intellij/tasks/impl/TaskManagerImpl.java | 11 ++++- .../src/com/intellij/tasks/impl/TaskUtil.java | 10 +---- .../test/com/intellij/tasks/TaskVcsTest.java | 3 +- 9 files changed, 56 insertions(+), 76 deletions(-) diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java b/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java index 8e5f91fb2677..b252af4cae4c 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java @@ -157,16 +157,6 @@ public abstract class TaskRepository { protected boolean myShouldFormatCommitMessage; protected String myCommitMessageFormat = "{id} {summary}"; - protected String myChangelistNameFormat = "{id} {summary}"; - - @Tag("changelistNameFormat") - public String getChangelistNameFormat() { - return myChangelistNameFormat; - } - - public void setChangelistNameFormat(String changelistNameFormat) { - myChangelistNameFormat = changelistNameFormat; - } private static String trimTrailingSlashes(String url) { if (url == null) return ""; diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form index 51f340fc7e2a..4424935149e8 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form @@ -145,48 +145,17 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -194,7 +163,7 @@ - + @@ -202,7 +171,7 @@ - + diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java index 20af929af5ef..d268e4ed3bb5 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java @@ -57,7 +57,6 @@ public class BaseRepositoryEditor extends TaskReposito protected JPanel myCustomPanel; protected JPanel myCustomLabel; - private JTextField myChangelistNameFormat; private JBCheckBox myAddCommitMessage; private JLabel myComment; private JPanel myEditorPanel; @@ -94,14 +93,12 @@ public class BaseRepositoryEditor extends TaskReposito myUseHTTPAuthentication.setSelected(repository.isUseHttpAuthentication()); myUseHTTPAuthentication.setVisible(repository.getRepositoryType().isSupported(TaskRepositoryType.BASIC_HTTP_AUTHORIZATION)); - myChangelistNameFormat.setText(repository.getChangelistNameFormat()); myAddCommitMessage.setSelected(repository.isShouldFormatCommitMessage()); myDocument = EditorFactory.getInstance().createDocument(repository.getCommitMessageFormat()); myEditor = EditorFactory.getInstance().createEditor(myDocument); myEditorPanel.add(ScrollPaneFactory.createScrollPane(myEditor.getComponent(), SideBorder.NONE), BorderLayout.CENTER); myComment.setText("Available placeholders: " + repository.getComment()); - installListener(myChangelistNameFormat); installListener(myAddCommitMessage); myDocument.addDocumentListener(new com.intellij.openapi.editor.event.DocumentAdapter() { @Override @@ -185,7 +182,6 @@ public class BaseRepositoryEditor extends TaskReposito myRepository.setUseProxy(myUseProxy.isSelected()); myRepository.setUseHttpAuthentication(myUseHTTPAuthentication.isSelected()); - myRepository.setChangelistNameFormat(myChangelistNameFormat.getText()); myRepository.setShouldFormatCommitMessage(myAddCommitMessage.isSelected()); myRepository.setCommitMessageFormat(myDocument.getText()); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java index c72a4d9d9658..2c1273a15191 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java @@ -46,10 +46,10 @@ public class CreateChangelistAction extends BaseTaskAction { @Override public void actionPerformed(AnActionEvent e) { LocalTask activeTask = getActiveTask(e); - String name = Messages.showInputDialog(getProject(e), "Changelist name:", "Create Changelist", null, TaskUtil.getChangeListName(activeTask), null); + TaskManagerImpl manager = (TaskManagerImpl)getTaskManager(e); + assert manager != null; + String name = Messages.showInputDialog(getProject(e), "Changelist name:", "Create Changelist", null, manager.getChangelistName(activeTask), null); if (name != null) { - TaskManagerImpl manager = (TaskManagerImpl)getTaskManager(e); - assert manager != null; manager.createChangeList(activeTask, name); } } diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form index ad72e0947e23..e5ea5e9950be 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form @@ -1,6 +1,6 @@
- + @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@ - + @@ -29,22 +29,23 @@ - + + - + - + @@ -58,7 +59,8 @@ - + + @@ -79,10 +81,12 @@ - + - + + + @@ -108,17 +112,35 @@ - + - + + + + + + + + + + + + + + + + + + +
diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java index 389a9e515f16..a600ec0f0d61 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java @@ -44,6 +44,9 @@ public class TaskConfigurable extends BindableConfigurable implements Searchable @BindControl("saveContextOnCommit") private JCheckBox mySaveContextOnCommit; + @BindControl("changelistNameFormat") + private JTextField myChangelistNameFormat; + private final Project myProject; private Configurable[] myConfigurables; private final NotNullLazyValue myControlBinder = new NotNullLazyValue() { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java index 88aaa5724c7c..bf164b1fe19a 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java @@ -321,7 +321,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe if (createChangelist) { if (changeLists.isEmpty()) { - String name = TaskUtil.getChangeListName(task); + String name = getChangelistName(task); String comment = TaskUtil.getChangeListComment(this, origin); createChangeList(task, name, comment); } else { @@ -335,6 +335,14 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe } } + public String getChangelistName(Task task) { + TaskRepository repository = task.getRepository(); + if (repository != null) { + return TaskUtil.formatTask(task, myConfig.changelistNameFormat); + } + return task.getSummary(); + } + private void saveActiveTask() { myContextManager.saveContext(myActiveTask); myActiveTask.setActive(false); @@ -831,6 +839,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe public boolean saveContextOnCommit = true; public boolean trackContextForNewChangelist = true; public boolean markAsInProgress = false; + public String changelistNameFormat = "{id} {summary}"; @Tag("servers") public Element servers = new Element("servers"); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java index c865f50068eb..be50da7d9998 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java @@ -27,15 +27,7 @@ import org.jetbrains.annotations.Nullable; */ public class TaskUtil { - public static String getChangeListName(Task task) { - TaskRepository repository = task.getRepository(); - if (repository != null) { - return formatTask(task, repository.getChangelistNameFormat()); - } - return task.getSummary(); - } - - private static String formatTask(Task task, String format) { + public static String formatTask(Task task, String format) { return format.replace("{id}", task.getId()).replace("{number}", task.getNumber()) .replace("{project}", task.getProject()).replace("{summary}", task.getSummary()); } diff --git a/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java b/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java index bce02fb3d376..0da7ab0ded7c 100644 --- a/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java +++ b/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java @@ -22,7 +22,6 @@ import com.intellij.openapi.vcs.changes.LocalChangeList; import com.intellij.openapi.vcs.changes.committed.MockAbstractVcs; import com.intellij.openapi.vcs.impl.projectlevelman.AllVcses; import com.intellij.tasks.impl.LocalTaskImpl; -import com.intellij.tasks.impl.TaskUtil; import java.util.Collections; import java.util.List; @@ -58,7 +57,7 @@ public class TaskVcsTest extends TaskManagerTestCase { private ChangeListInfo createChangelist(LocalTaskImpl task) { clearChangeLists(); - myManager.createChangeList(task, TaskUtil.getChangeListName(task)); + myManager.createChangeList(task, myManager.getChangelistName(task)); List list = myManager.getOpenChangelists(task); assertEquals(1, list.size()); ChangeListInfo info = list.get(0);