mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-28 05:37:48 +01:00
Fixes dragging bug
This commit is contained in:
committed by
Henning Dieterichs
parent
9b10df4bbf
commit
b8914bdcdc
@@ -94,13 +94,13 @@ export class UnchangedRangesFeature extends Disposable {
|
||||
const d = derived(reader => /** @description hiddenOriginalRangeStart */ r.getHiddenOriginalRange(reader).startLineNumber - 1);
|
||||
const origVz = new PlaceholderViewZone(d, 24);
|
||||
origViewZones.push(origVz);
|
||||
store.add(new CollapsedCodeOverlayWidget(this._editors.original, origVz, r, !sideBySide, modifiedOutlineSource));
|
||||
store.add(new CollapsedCodeOverlayWidget(this._editors.original, origVz, r, r.originalRange, !sideBySide, modifiedOutlineSource));
|
||||
}
|
||||
{
|
||||
const d = derived(reader => /** @description hiddenModifiedRangeStart */ r.getHiddenModifiedRange(reader).startLineNumber - 1);
|
||||
const modViewZone = new PlaceholderViewZone(d, 24);
|
||||
modViewZones.push(modViewZone);
|
||||
store.add(new CollapsedCodeOverlayWidget(this._editors.modified, modViewZone, r, false, modifiedOutlineSource));
|
||||
store.add(new CollapsedCodeOverlayWidget(this._editors.modified, modViewZone, r, r.modifiedRange, false, modifiedOutlineSource));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,6 +262,7 @@ class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
|
||||
private readonly _editor: ICodeEditor,
|
||||
_viewZone: PlaceholderViewZone,
|
||||
private readonly _unchangedRegion: UnchangedRegion,
|
||||
private readonly _unchangedRegionRange: LineRange,
|
||||
private readonly hide: boolean,
|
||||
private readonly _modifiedOutlineSource: OutlineSource,
|
||||
) {
|
||||
@@ -333,9 +334,9 @@ class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
|
||||
didMove = didMove || Math.abs(delta) > 2;
|
||||
const lineDelta = Math.round(delta / editor.getOption(EditorOption.lineHeight));
|
||||
const newVal = Math.max(0, Math.min(cur - lineDelta, this._unchangedRegion.getMaxVisibleLineCountBottom()));
|
||||
const top = editor.getTopForLineNumber(this._unchangedRegion.originalRange.endLineNumberExclusive);
|
||||
const top = editor.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);
|
||||
this._unchangedRegion.visibleLineCountBottom.set(newVal, undefined);
|
||||
const top2 = editor.getTopForLineNumber(this._unchangedRegion.originalRange.endLineNumberExclusive);
|
||||
const top2 = editor.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);
|
||||
editor.setScrollTop(editor.getScrollTop() + (top2 - top));
|
||||
});
|
||||
|
||||
@@ -343,10 +344,10 @@ class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
|
||||
this._unchangedRegion.isDragged.set(false, undefined);
|
||||
|
||||
if (!didMove) {
|
||||
const top = editor.getTopForLineNumber(this._unchangedRegion.originalRange.endLineNumberExclusive);
|
||||
const top = editor.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);
|
||||
|
||||
this._unchangedRegion.showMoreBelow(20, undefined);
|
||||
const top2 = editor.getTopForLineNumber(this._unchangedRegion.originalRange.endLineNumberExclusive);
|
||||
const top2 = editor.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);
|
||||
editor.setScrollTop(editor.getScrollTop() + (top2 - top));
|
||||
}
|
||||
this._nodes.bottom.classList.toggle('dragging', false);
|
||||
|
||||
Reference in New Issue
Block a user