From 249f08fec8e4a354fa93597c4a1d7c6b8844dfc4 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Mon, 13 Apr 2015 16:23:45 +0300 Subject: [PATCH] vcs: preselect current file in ChangeBrowser on 'Show changed files from Annotate' action fix for moved files --- .../vcs/annotate/ShowAllAffectedGenericAction.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/annotate/ShowAllAffectedGenericAction.java b/platform/vcs-api/src/com/intellij/openapi/vcs/annotate/ShowAllAffectedGenericAction.java index 4759b915aea4..b707b664f7bf 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/annotate/ShowAllAffectedGenericAction.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/annotate/ShowAllAffectedGenericAction.java @@ -33,6 +33,8 @@ import com.intellij.openapi.vcs.history.VcsFileRevision; import com.intellij.openapi.vcs.history.VcsRevisionNumber; import com.intellij.openapi.vcs.versionBrowser.ChangeBrowserSettings; import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList; +import com.intellij.openapi.vcs.vfs.VcsFileSystem; +import com.intellij.openapi.vcs.vfs.VcsVirtualFile; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; @@ -85,6 +87,7 @@ public class ShowAllAffectedGenericAction extends AnAction implements DumbAware ? ((ShortVcsRevisionNumber) revision).toShortString() : revision.asString()); final CommittedChangeList[] list = new CommittedChangeList[1]; + final FilePath[] targetPath = new FilePath[1]; final VcsException[] exc = new VcsException[1]; Task.Backgroundable task = new Task.Backgroundable(project, title, true, BackgroundFromStartOption.getInstance()) { @Override @@ -95,6 +98,7 @@ public class ShowAllAffectedGenericAction extends AnAction implements DumbAware final Pair pair = provider.getOneList(virtualFile, revision); if (pair != null) { list[0] = pair.getFirst(); + targetPath[0] = pair.getSecond(); } } else { @@ -141,7 +145,10 @@ public class ShowAllAffectedGenericAction extends AnAction implements DumbAware Messages.showErrorDialog(project, failedText(virtualFile, revision), getTitle()); } else { - instance.showChangesListBrowser(list[0], virtualFile, title); + VirtualFile navigateToFile = targetPath[0] != null ? + new VcsVirtualFile(targetPath[0].getPath(), null, VcsFileSystem.getInstance()) : + virtualFile; + instance.showChangesListBrowser(list[0], navigateToFile, title); } } };