diff --git a/platform/diff-api/src/com/intellij/diff/DiffRequestFactory.java b/platform/diff-api/src/com/intellij/diff/DiffRequestFactory.java index 2fa06bf1948a..c47a0659e435 100644 --- a/platform/diff-api/src/com/intellij/diff/DiffRequestFactory.java +++ b/platform/diff-api/src/com/intellij/diff/DiffRequestFactory.java @@ -43,4 +43,7 @@ public abstract class DiffRequestFactory { @NotNull public abstract String getTitle(@NotNull VirtualFile file1, @NotNull VirtualFile file2); + + @NotNull + public abstract String getTitle(@NotNull VirtualFile file); } diff --git a/platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java b/platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java index ea172e5791ea..6d5ae7efe08a 100644 --- a/platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java +++ b/platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java @@ -79,6 +79,12 @@ public class DiffRequestFactoryImpl extends DiffRequestFactory { " vs "); } + @Override + @NotNull + public String getTitle(@NotNull VirtualFile file) { + return getTitle(file, file); + } + @NotNull public static String getContentTitle(@NotNull FilePath path) { if (path.isDirectory()) return path.getPath(); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/DiffActionExecutor.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/DiffActionExecutor.java index dc10e4473d89..9497de99c8e9 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/DiffActionExecutor.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/DiffActionExecutor.java @@ -18,6 +18,7 @@ package com.intellij.openapi.vcs.actions; import com.intellij.diff.DiffContentFactory; import com.intellij.diff.DiffDialogHints; import com.intellij.diff.DiffManager; +import com.intellij.diff.DiffRequestFactory; import com.intellij.diff.contents.DiffContent; import com.intellij.diff.contents.DocumentContent; import com.intellij.diff.requests.DiffRequest; @@ -106,7 +107,7 @@ public abstract class DiffActionExecutor { if (content1 == null) return; DiffContent content2 = DiffContentFactory.getInstance().create(myProject, mySelectedFile); - String title = mySelectedFile.getPresentableUrl(); + String title = DiffRequestFactory.getInstance().getTitle(mySelectedFile); boolean inverted = false; String title1; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/diff/ChangeDiffRequestProducer.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/diff/ChangeDiffRequestProducer.java index 9cc14fc4a82b..28b7c1447c06 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/diff/ChangeDiffRequestProducer.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/diff/ChangeDiffRequestProducer.java @@ -17,6 +17,7 @@ package com.intellij.openapi.vcs.changes.actions.diff; import com.intellij.CommonBundle; import com.intellij.diff.DiffContentFactory; +import com.intellij.diff.DiffRequestFactory; import com.intellij.diff.DiffRequestFactoryImpl; import com.intellij.diff.chains.DiffRequestProducer; import com.intellij.diff.chains.DiffRequestProducerException; @@ -275,7 +276,7 @@ public class ChangeDiffRequestProducer implements DiffRequestProducer { String beforeRevisionTitle = getRevisionTitle(bRev, "Your version"); String afterRevisionTitle = getRevisionTitle(aRev, "Server version"); - String title = FileUtil.toSystemDependentName(file.getPresentableUrl()); + String title = DiffRequestFactory.getInstance().getTitle(file); List titles = ContainerUtil.list(beforeRevisionTitle, "Base Version", afterRevisionTitle); // Yep, we hope that it's a text file. And that charset wasn't changed.