diff: codereview

This commit is contained in:
Aleksey Pivovarov
2014-02-04 17:06:22 +04:00
parent 01660d6b5a
commit 062dfe6acf
7 changed files with 14 additions and 18 deletions
@@ -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) {
@@ -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) {
@@ -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
@@ -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();
}
@@ -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();
}
@@ -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<LineFragment>());
return LineBlocks.fromLineFragments(Collections.<LineFragment>emptyList());
}
return addMarkup(new TextCompareProcessor(myComparisonPolicy, myDiffPolicy, myHighlightMode == HighlightMode.BY_WORD)
@@ -165,7 +165,7 @@ public class LineBlocks {
return LinearTransformation.oneToOne(location, leftInterval.getStart(), rightInterval);
}
public static LineBlocks fromLineFragments(ArrayList<LineFragment> lines) {
public static LineBlocks fromLineFragments(List<LineFragment> lines) {
ArrayList<LineBlock> filtered = new ArrayList<LineBlock>();
for (LineFragment fragment : lines) {
if (fragment.getType() != null) filtered.add(fragment);