mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-123196 diff: do not step over applied changes
paint applied changes on divider
This commit is contained in:
+8
@@ -200,12 +200,20 @@ public class ChangeList {
|
||||
return myChanges.size();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public LineBlocks getLineBlocks() {
|
||||
ArrayList<Change> changes = new ArrayList<Change>(myChanges);
|
||||
//changes.addAll(myAppliedChanges);
|
||||
return LineBlocks.fromChanges(changes);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public LineBlocks getAllLineBlocks() {
|
||||
ArrayList<Change> changes = new ArrayList<Change>(myChanges);
|
||||
changes.addAll(myAppliedChanges);
|
||||
return LineBlocks.fromChanges(changes);
|
||||
}
|
||||
|
||||
public void remove(@NotNull Change change) {
|
||||
if (change.getType().isApplied()) {
|
||||
LOG.assertTrue(myAppliedChanges.remove(change), change);
|
||||
|
||||
+22
-5
@@ -238,9 +238,10 @@ public class MergePanel2 implements DiffViewer {
|
||||
|
||||
myMergeList.setMarkups(left, base, right);
|
||||
EditingSides[] sides = {getFirstEditingSide(), getSecondEditingSide()};
|
||||
EditingSides[] sidesWithApplied = {getFirstEditingSide(true), getSecondEditingSide(true)};
|
||||
myScrollSupport.install(sides);
|
||||
for (int i = 0; i < myDividers.length; i++) {
|
||||
myDividers[i].listenEditors(sides[i]);
|
||||
myDividers[i].listenEditors(sidesWithApplied[i]);
|
||||
}
|
||||
if (myScrollToFirstDiff) {
|
||||
myPanel.requestScrollEditors();
|
||||
@@ -256,12 +257,22 @@ public class MergePanel2 implements DiffViewer {
|
||||
|
||||
@NotNull
|
||||
EditingSides getFirstEditingSide() {
|
||||
return new MyEditingSides(FragmentSide.SIDE1);
|
||||
return getFirstEditingSide(false);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
EditingSides getFirstEditingSide(boolean appliedLineBlocks) {
|
||||
return new MyEditingSides(FragmentSide.SIDE1, appliedLineBlocks);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
EditingSides getSecondEditingSide() {
|
||||
return new MyEditingSides(FragmentSide.SIDE2);
|
||||
return getSecondEditingSide(false);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
EditingSides getSecondEditingSide(boolean appliedLineBlocks) {
|
||||
return new MyEditingSides(FragmentSide.SIDE2, appliedLineBlocks);
|
||||
}
|
||||
|
||||
public void setAutoScrollEnabled(boolean enabled) {
|
||||
@@ -438,9 +449,11 @@ public class MergePanel2 implements DiffViewer {
|
||||
|
||||
private class MyEditingSides implements EditingSides {
|
||||
private final FragmentSide mySide;
|
||||
private final boolean myAppliedLineBlocks;
|
||||
|
||||
private MyEditingSides(FragmentSide side) {
|
||||
private MyEditingSides(FragmentSide side, boolean appliedLineBlocks) {
|
||||
mySide = side;
|
||||
myAppliedLineBlocks = appliedLineBlocks;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -449,7 +462,11 @@ public class MergePanel2 implements DiffViewer {
|
||||
}
|
||||
|
||||
public LineBlocks getLineBlocks() {
|
||||
return myMergeList.getChanges(mySide).getLineBlocks();
|
||||
if (myAppliedLineBlocks) {
|
||||
return myMergeList.getChanges(mySide).getAllLineBlocks();
|
||||
} else {
|
||||
return myMergeList.getChanges(mySide).getLineBlocks();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user