From 62dc79cffe2e8320acda2638be0329f61ce881da Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 20 Feb 2012 21:09:06 +0100 Subject: [PATCH] allow to shelve changes from p4 offline mode (IDEA-69121) --- .../openapi/vcs/checkin/BeforeCheckinDialogHandler.java | 8 ++++++-- .../openapi/vcs/changes/ui/CommitChangeListDialog.java | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/checkin/BeforeCheckinDialogHandler.java b/platform/vcs-api/src/com/intellij/openapi/vcs/checkin/BeforeCheckinDialogHandler.java index cbb51c59b205..1c9ec8dcd07e 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/checkin/BeforeCheckinDialogHandler.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/checkin/BeforeCheckinDialogHandler.java @@ -1,13 +1,17 @@ package com.intellij.openapi.vcs.checkin; +import com.intellij.openapi.vcs.changes.CommitExecutor; + /** * @author irengrig * Date: 5/24/11 * Time: 7:23 PM */ -public interface BeforeCheckinDialogHandler { +public abstract class BeforeCheckinDialogHandler { /** * @return false to cancel commit + * @param executors + * @param showVcsCommit */ - boolean beforeCommitDialogShownCallback(); + public abstract boolean beforeCommitDialogShownCallback(Iterable executors, boolean showVcsCommit); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java index c46617082086..67923aa96abb 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java @@ -143,8 +143,8 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj CheckinHandlersManager.getInstance().getMatchingVcsFactories(Arrays.asList(allActiveVcss)); for (BaseCheckinHandlerFactory factory : factoryList) { final BeforeCheckinDialogHandler handler = factory.createSystemReadyHandler(project); - if (handler != null) { - if (! handler.beforeCommitDialogShownCallback()) return false; + if (handler != null && !handler.beforeCommitDialogShownCallback(Collections.unmodifiableList(executors), showVcsCommit)) { + return false; } }