Merge from vscode 7eaf220cafb9d9e901370ffce02229171cbf3ea6

This commit is contained in:
ADS Merger
2020-09-03 02:34:56 +00:00
committed by Anthony Dresser
parent 39d9eed585
commit a63578e6f7
519 changed files with 14338 additions and 6670 deletions

View File

@@ -452,7 +452,6 @@ abstract class ResourceNavigator<T> extends Disposable {
super();
this.openOnFocus = options?.openOnFocus ?? false;
this.openOnSingleClick = options?.openOnSingleClick ?? true;
this._register(Event.filter(this.widget.onDidChangeSelection, e => e.browserEvent instanceof KeyboardEvent)(e => this.onSelectionFromKeyboard(e)));
this._register(this.widget.onPointer((e: { browserEvent: MouseEvent }) => this.onPointer(e.browserEvent)));
@@ -463,9 +462,12 @@ abstract class ResourceNavigator<T> extends Disposable {
}
if (typeof options?.openOnSingleClick !== 'boolean' && options?.configurationService) {
this.openOnSingleClick = options?.configurationService!.getValue(openModeSettingKey) !== 'doubleClick';
this._register(options?.configurationService.onDidChangeConfiguration(() => {
this.openOnSingleClick = options?.configurationService!.getValue(openModeSettingKey) !== 'doubleClick';
}));
} else {
this.openOnSingleClick = options?.openOnSingleClick ?? true;
}
}
@@ -493,15 +495,19 @@ abstract class ResourceNavigator<T> extends Disposable {
}
private onPointer(browserEvent: MouseEvent): void {
if (!this.openOnSingleClick) {
return;
}
const isDoubleClick = browserEvent.detail === 2;
if (!this.openOnSingleClick && !isDoubleClick) {
if (isDoubleClick) {
return;
}
const isMiddleClick = browserEvent.button === 1;
const preserveFocus = !isDoubleClick;
const pinned = isDoubleClick || isMiddleClick;
const preserveFocus = true;
const pinned = isMiddleClick;
const sideBySide = browserEvent.ctrlKey || browserEvent.metaKey || browserEvent.altKey;
this._open(preserveFocus, pinned, sideBySide, browserEvent);