From a61e32a71b41b4be47c93e1cfce76bf2e0e08e79 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Wed, 3 Dec 2014 15:46:04 +0300 Subject: [PATCH] diff: set correct window title on fail --- .../openapi/diff/impl/CompositeDiffPanel.java | 2 +- .../intellij/openapi/diff/impl/ErrorDiffViewer.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/CompositeDiffPanel.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/CompositeDiffPanel.java index 855bedf0ec2e..5310addbf6b8 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/CompositeDiffPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/CompositeDiffPanel.java @@ -99,7 +99,7 @@ public class CompositeDiffPanel implements DiffViewer { } if (myMap.isEmpty()) { - final ErrorDiffViewer errorDiffViewer = new ErrorDiffViewer(request); + final ErrorDiffViewer errorDiffViewer = new ErrorDiffViewer(myWindow, request); final Content content = myUi.createContent(FICTIVE_KEY, errorDiffViewer.getComponent(), FICTIVE_KEY, null, errorDiffViewer.getPreferredFocusedComponent()); content.setCloseable(false); diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/ErrorDiffViewer.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/ErrorDiffViewer.java index 4549b818e23f..99ff6abebae5 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/ErrorDiffViewer.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/ErrorDiffViewer.java @@ -39,7 +39,7 @@ public class ErrorDiffViewer implements DiffViewer { @NotNull private final JPanel myPanel; @NotNull private final DiffToolbarComponent myToolbar; - protected ErrorDiffViewer(@NotNull DiffRequest request) { + protected ErrorDiffViewer(Window window, @NotNull DiffRequest request) { myRequest = request; myPanel = new AbstractDataProviderPanel(new BorderLayout(), false) { @@ -84,6 +84,16 @@ public class ErrorDiffViewer implements DiffViewer { final JPanel messagePanel = createMessagePanel(message); myPanel.add(messagePanel, BorderLayout.CENTER); + + setWindowTitle(window, request.getWindowTitle()); + } + + private static void setWindowTitle(Window window, String title) { + if (title == null || title.isEmpty()) title = "Diff"; + if (window instanceof JDialog) { + ((JDialog)window).setTitle(title); + } + else if (window instanceof JFrame) ((JFrame)window).setTitle(title); } @Override