mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
merge: simplify highligters update
* update inner highlighters independently
This commit is contained in:
@@ -59,8 +59,7 @@ public class TextMergeChange extends ThreesideDiffChangeBase {
|
||||
private final boolean[] myResolved = new boolean[2];
|
||||
private boolean myOnesideAppliedConflict;
|
||||
|
||||
@Nullable private List<MergeWordFragment> myInnerFragments;
|
||||
private boolean myInnerFragmentsDamaged;
|
||||
@Nullable private List<MergeWordFragment> myInnerFragments; // warning: might be out of date
|
||||
|
||||
@CalledInAwt
|
||||
public TextMergeChange(@NotNull MergeLineFragment fragment, int index, @NotNull TextMergeViewer viewer) {
|
||||
@@ -128,11 +127,6 @@ public class TextMergeChange extends ThreesideDiffChangeBase {
|
||||
destroyHighlighter();
|
||||
installHighlighter();
|
||||
|
||||
if (!myInnerFragmentsDamaged) {
|
||||
destroyInnerHighlighter();
|
||||
installInnerHighlighter();
|
||||
}
|
||||
|
||||
myViewer.repaintDividers();
|
||||
}
|
||||
|
||||
@@ -175,7 +169,6 @@ public class TextMergeChange extends ThreesideDiffChangeBase {
|
||||
void setResolved(@NotNull Side side, boolean value) {
|
||||
myResolved[side.getIndex()] = value;
|
||||
|
||||
markInnerFragmentsDamaged();
|
||||
if (isResolved()) {
|
||||
destroyInnerHighlighter();
|
||||
}
|
||||
@@ -247,16 +240,15 @@ public class TextMergeChange extends ThreesideDiffChangeBase {
|
||||
myEndLine = value;
|
||||
}
|
||||
|
||||
public void markInnerFragmentsDamaged() {
|
||||
myInnerFragmentsDamaged = true;
|
||||
}
|
||||
|
||||
@CalledInAwt
|
||||
public void setInnerFragments(@Nullable List<MergeWordFragment> innerFragments) {
|
||||
myInnerFragmentsDamaged = false;
|
||||
if (myInnerFragments == null && innerFragments == null) return;
|
||||
myInnerFragments = innerFragments;
|
||||
|
||||
doReinstallHighlighter();
|
||||
|
||||
destroyInnerHighlighter();
|
||||
installInnerHighlighter();
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -649,7 +649,6 @@ public class TextMergeViewer implements MergeTool.MergeViewer {
|
||||
myChangesToUpdate.add(change);
|
||||
}
|
||||
else {
|
||||
change.markInnerFragmentsDamaged();
|
||||
change.doReinstallHighlighter();
|
||||
myInnerDiffWorker.scheduleRediff(change);
|
||||
}
|
||||
@@ -667,7 +666,6 @@ public class TextMergeViewer implements MergeTool.MergeViewer {
|
||||
|
||||
if (myBulkChangeUpdateDepth == 0) {
|
||||
for (TextMergeChange change : myChangesToUpdate) {
|
||||
change.markInnerFragmentsDamaged();
|
||||
change.doReinstallHighlighter();
|
||||
}
|
||||
myInnerDiffWorker.scheduleRediff(myChangesToUpdate);
|
||||
|
||||
Reference in New Issue
Block a user