diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/actions/HighlightModeAction.java b/platform/platform-impl/src/com/intellij/openapi/diff/actions/HighlightModeAction.java index 06e25a95fe57..5c7760fa117c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/actions/HighlightModeAction.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/actions/HighlightModeAction.java @@ -26,6 +26,7 @@ import com.intellij.openapi.diff.ex.DiffPanelEx; import com.intellij.openapi.diff.impl.DiffPanelImpl; import com.intellij.openapi.diff.impl.processing.HighlightMode; import com.intellij.openapi.project.DumbAware; +import com.intellij.openapi.project.DumbAwareAction; import com.intellij.util.containers.HashMap; import org.jetbrains.annotations.NotNull; @@ -85,7 +86,7 @@ public class HighlightModeAction extends ComboBoxAction implements DumbAware { } } - private static class SetHighlightModeAction extends AnAction implements DumbAware { + private static class SetHighlightModeAction extends DumbAwareAction { private final HighlightMode myHighlightMode; public SetHighlightModeAction(String text, HighlightMode mode) { diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/actions/IgnoreWhiteSpacesAction.java b/platform/platform-impl/src/com/intellij/openapi/diff/actions/IgnoreWhiteSpacesAction.java index 6a68ad75d5d8..d47067167966 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/actions/IgnoreWhiteSpacesAction.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/actions/IgnoreWhiteSpacesAction.java @@ -26,6 +26,7 @@ import com.intellij.openapi.diff.ex.DiffPanelEx; import com.intellij.openapi.diff.impl.ComparisonPolicy; import com.intellij.openapi.diff.impl.DiffPanelImpl; import com.intellij.openapi.project.DumbAware; +import com.intellij.openapi.project.DumbAwareAction; import com.intellij.util.containers.HashMap; import org.jetbrains.annotations.NotNull; @@ -82,7 +83,7 @@ public class IgnoreWhiteSpacesAction extends ComboBoxAction implements DumbAware } } - private static class IgnoringPolicyAction extends AnAction implements DumbAware { + private static class IgnoringPolicyAction extends DumbAwareAction { private final ComparisonPolicy myPolicy; public IgnoringPolicyAction(String text, ComparisonPolicy policy) { diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/actions/ToggleAutoScrollAction.java b/platform/platform-impl/src/com/intellij/openapi/diff/actions/ToggleAutoScrollAction.java index 04ec31e10ff6..407a19154a51 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/actions/ToggleAutoScrollAction.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/actions/ToggleAutoScrollAction.java @@ -22,8 +22,6 @@ import com.intellij.openapi.diff.impl.DiffPanelImpl; import com.intellij.openapi.project.DumbAware; import com.intellij.ui.ToggleActionButton; -import javax.swing.*; - public class ToggleAutoScrollAction extends ToggleActionButton implements DumbAware { public ToggleAutoScrollAction() { super("Auto Scroll", AllIcons.General.AutoscrollToSource); @@ -32,12 +30,7 @@ public class ToggleAutoScrollAction extends ToggleActionButton implements DumbAw @Override public boolean isSelected(AnActionEvent e) { DiffPanelEx diffPanel = DiffPanelImpl.fromDataContext(e.getDataContext()); - if (diffPanel != null) { - return diffPanel.isAutoScrollEnabled(); - } - else { - return true; - } + return diffPanel == null || diffPanel.isAutoScrollEnabled(); } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/ex/DiffPanelEx.java b/platform/platform-impl/src/com/intellij/openapi/diff/ex/DiffPanelEx.java index 933d017be2ef..bf07a4ad2cd1 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/ex/DiffPanelEx.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/ex/DiffPanelEx.java @@ -29,6 +29,7 @@ import com.intellij.openapi.diff.DiffPanel; import com.intellij.openapi.diff.impl.ComparisonPolicy; import com.intellij.openapi.diff.impl.processing.HighlightMode; import com.intellij.openapi.editor.Editor; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public interface DiffPanelEx extends DiffPanel, Disposable { @@ -47,7 +48,8 @@ public interface DiffPanelEx extends DiffPanel, Disposable { boolean isAutoScrollEnabled(); - void setHighlightMode(HighlightMode highlightMode); + void setHighlightMode(@NotNull HighlightMode highlightMode); + @NotNull HighlightMode getHighlightMode(); } 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 913d5e7cc8f9..b2bd342e6696 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 @@ -484,11 +484,12 @@ public class DiffPanelImpl implements DiffPanelEx, ContentChangeListener, TwoSid setComparisonPolicy(comparisonPolicy, true); } - public void setHighlightMode(HighlightMode highlightMode) { + public void setHighlightMode(@NotNull HighlightMode highlightMode) { myData.setHighlightMode(highlightMode); rediff(); } + @NotNull public HighlightMode getHighlightMode() { return myData.getHighlightMode(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/highlighting/SimpleDiffPanelState.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/highlighting/SimpleDiffPanelState.java index d90005d70678..14c235470347 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/highlighting/SimpleDiffPanelState.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/highlighting/SimpleDiffPanelState.java @@ -19,10 +19,7 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diff.impl.ComparisonPolicy; import com.intellij.openapi.diff.impl.ContentChangeListener; -import com.intellij.openapi.diff.impl.fragments.FragmentHighlighterImpl; -import com.intellij.openapi.diff.impl.fragments.FragmentList; -import com.intellij.openapi.diff.impl.fragments.FragmentListImpl; -import com.intellij.openapi.diff.impl.fragments.LineFragment; +import com.intellij.openapi.diff.impl.fragments.*; import com.intellij.openapi.diff.impl.processing.DiffPolicy; import com.intellij.openapi.diff.impl.processing.HighlightMode; import com.intellij.openapi.diff.impl.processing.TextCompareProcessor; @@ -33,6 +30,7 @@ import com.intellij.util.diff.FilesTooBigForDiffException; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; public abstract class SimpleDiffPanelState implements Disposable { @@ -117,7 +115,7 @@ public abstract class SimpleDiffPanelState implements Disposable { } if (myHighlightMode == HighlightMode.NO_HIGHLIGHTING) { - return LineBlocks.fromLineFragments(new ArrayList()); + return LineBlocks.fromLineFragments(Collections.emptyList()); } return addMarkup(new TextCompareProcessor(myComparisonPolicy, myDiffPolicy, myHighlightMode == HighlightMode.BY_WORD) diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/splitter/LineBlocks.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/splitter/LineBlocks.java index 3046c873f41a..d89bc2785c83 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/splitter/LineBlocks.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/splitter/LineBlocks.java @@ -165,7 +165,7 @@ public class LineBlocks { return LinearTransformation.oneToOne(location, leftInterval.getStart(), rightInterval); } - public static LineBlocks fromLineFragments(ArrayList lines) { + public static LineBlocks fromLineFragments(List lines) { ArrayList filtered = new ArrayList(); for (LineFragment fragment : lines) { if (fragment.getType() != null) filtered.add(fragment);