always hide quickinput on iPad when focus is lost fixes #125284

This commit is contained in:
Tyler Leonhardt 2021-06-11 14:25:24 -07:00
parent 4355270543
commit d686be3f5d
No known key found for this signature in database
GPG key ID: 1BC2B6244363E77E
2 changed files with 10 additions and 2 deletions

View file

@ -32,6 +32,7 @@ import { ActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems';
import { renderLabelWithIcons } from 'vs/base/browser/ui/iconLabel/iconLabels';
import { isString } from 'vs/base/common/types';
import { IKeybindingLabelStyles } from 'vs/base/browser/ui/keybindingLabel/keybindingLabel';
import { isIOS } from 'vs/base/common/platform';
export interface IQuickInputOptions {
idPrefix: string;
@ -235,8 +236,11 @@ class QuickInput extends Disposable implements IQuickInput {
}
set ignoreFocusOut(ignoreFocusOut: boolean) {
this._ignoreFocusOut = ignoreFocusOut;
this.update();
const shouldUpdate = this._ignoreFocusOut !== ignoreFocusOut && !isIOS;
this._ignoreFocusOut = ignoreFocusOut && !isIOS;
if (shouldUpdate) {
this.update();
}
}
get buttons() {

4
src/vs/vscode.d.ts vendored
View file

@ -1700,6 +1700,7 @@ declare module 'vscode' {
/**
* Set to `true` to keep the picker open when focus moves to another part of the editor or to another window.
* This setting is ignored on iPad and is always false.
*/
ignoreFocusOut?: boolean;
@ -1726,6 +1727,7 @@ declare module 'vscode' {
/**
* Set to `true` to keep the picker open when focus moves to another part of the editor or to another window.
* This setting is ignored on iPad and is always false.
*/
ignoreFocusOut?: boolean;
}
@ -1900,6 +1902,7 @@ declare module 'vscode' {
/**
* Set to `true` to keep the input box open when focus moves to another part of the editor or to another window.
* This setting is ignored on iPad and is always false.
*/
ignoreFocusOut?: boolean;
@ -9829,6 +9832,7 @@ declare module 'vscode' {
/**
* If the UI should stay open even when loosing UI focus. Defaults to false.
* This setting is ignored on iPad and is always false.
*/
ignoreFocusOut: boolean;