diff options
Diffstat (limited to 'platform/vcs-api/src/com/intellij/openapi/vcs')
-rw-r--r-- | platform/vcs-api/src/com/intellij/openapi/vcs/VcsTaskHandler.java | 17 | ||||
-rw-r--r-- | platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListManagerGate.java | 8 |
2 files changed, 21 insertions, 4 deletions
diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsTaskHandler.java b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsTaskHandler.java index 6f5ea05abea3..28f162908a20 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsTaskHandler.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsTaskHandler.java @@ -17,16 +17,27 @@ package com.intellij.openapi.vcs; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Condition; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; +import java.util.List; + /** * @author Dmitry Avdeev * Date: 16.07.13 */ public abstract class VcsTaskHandler { - public static VcsTaskHandler[] getAllHandlers(Project project) { - return EXTENSION_POINT_NAME.getExtensions(project); + public static VcsTaskHandler[] getAllHandlers(final Project project) { + VcsTaskHandler[] extensions = EXTENSION_POINT_NAME.getExtensions(project); + List<VcsTaskHandler> handlers = ContainerUtil.filter(extensions, new Condition<VcsTaskHandler>() { + @Override + public boolean value(VcsTaskHandler handler) { + return handler.isEnabled(project); + } + }); + return handlers.toArray(new VcsTaskHandler[handlers.size()]); } public static class TaskInfo { @@ -49,6 +60,8 @@ public abstract class VcsTaskHandler { private static final ExtensionPointName<VcsTaskHandler> EXTENSION_POINT_NAME = ExtensionPointName.create("com.intellij.vcs.taskHandler"); + public abstract boolean isEnabled(Project project); + public abstract TaskInfo startNewTask(String taskName); public abstract void switchToTask(TaskInfo taskInfo, Runnable invokeAfter); diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListManagerGate.java b/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListManagerGate.java index 376188e477eb..d0c28f5583fc 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListManagerGate.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListManagerGate.java @@ -15,7 +15,6 @@ */ package com.intellij.openapi.vcs.changes; -import com.intellij.openapi.vcs.FilePath; import com.intellij.openapi.vcs.FileStatus; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; @@ -39,8 +38,13 @@ public interface ChangeListManagerGate { void editComment(final String name, final String comment); void editName(final String oldName, final String newName); - // must be allowed only for perforce change synchronizer, not during normal update + + + /** + * @deprecated unused, to be removed in IDEA 15 + */ void moveChanges(final String toList, final Collection<Change> changes); + void setListsToDisappear(final Collection<String> names); FileStatus getStatus(final VirtualFile file); FileStatus getStatus(final File file); |