summaryrefslogtreecommitdiff
path: root/platform/vcs-api/src/com/intellij/openapi/vcs
diff options
context:
space:
mode:
Diffstat (limited to 'platform/vcs-api/src/com/intellij/openapi/vcs')
-rw-r--r--platform/vcs-api/src/com/intellij/openapi/vcs/VcsTaskHandler.java17
-rw-r--r--platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListManagerGate.java8
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);