diff --git a/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java b/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java index 034d30e7195d..8e5b8506bd70 100644 --- a/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java +++ b/platform/platform-api/src/com/intellij/ide/diff/DirDiffSettings.java @@ -67,7 +67,7 @@ public class DirDiffSettings { return filterPattern; } - public static enum CompareMode { + public enum CompareMode { CONTENT, // the most honest, the slowest. Compares size, if equal compares contents. Ignores timestamps SIZE, // Compares size only TIMESTAMP; // Compares size, if equal compares timestamps @@ -84,16 +84,10 @@ public class DirDiffSettings { } } - public void addExtraAction(@NotNull T action) { + public void addExtraAction(@NotNull T action) { extraToolbarActions.add(action); } - public void setModelToExtraActions(DirDiffModel model) { - for (AnAction action : extraToolbarActions) { - ((DirDiffModelHolder)action).setModel(model); - } - } - public List getExtraActions() { return extraToolbarActions; } diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffPanelImpl.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffPanelImpl.java index 39ef4bbb306e..8b10264ac8cc 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffPanelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffPanelImpl.java @@ -323,8 +323,9 @@ public class DiffPanelImpl implements DiffPanelEx, ContentChangeListener, TwoSid } } - private static String addReadOnly(@NotNull String title, @Nullable Editor editor) { - if (editor == null) { + @Nullable + private static String addReadOnly(@Nullable String title, @Nullable Editor editor) { + if (editor == null || title == null) { return title; } boolean readonly = editor.isViewer() || !editor.getDocument().isWritable(); @@ -578,7 +579,7 @@ public class DiffPanelImpl implements DiffPanelEx, ContentChangeListener, TwoSid String title1 = addReadOnly(data.getContentTitles()[0], myLeftSide.getEditor()); String title2 = addReadOnly(data.getContentTitles()[1], myRightSide.getEditor()); - if (sep1 != null && sep2 != null && !sep1.equals(sep2)) { + if (title1 != null && title2 != null && sep1 != null && sep2 != null && !sep1.equals(sep2)) { setTitle1(createComponentForTitle(title1, sep1, true)); setTitle2(createComponentForTitle(title2, sep2, false)); } diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffSideView.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffSideView.java index de59385798de..dd9198d2bb4c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffSideView.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffSideView.java @@ -253,10 +253,12 @@ public class DiffSideView { SyncScrollSupport.scrollEditor(editor, logicalLine); } + @Nullable public Editor getEditor() { return myEditorSource.getEditor(); } + @Nullable public FragmentSide getSide() { return myEditorSource.getSide(); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DirDiffPanel.form b/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DirDiffPanel.form index 058754e895dd..609f9a117247 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DirDiffPanel.form +++ b/platform/vcs-impl/src/com/intellij/openapi/diff/impl/dir/DirDiffPanel.form @@ -91,11 +91,6 @@ - - - - - @@ -106,7 +101,7 @@ - + @@ -121,6 +116,11 @@ + + + + +