Skip to content

Commit d347d59

Browse files
committed
Context key should be manipulated outside of common find widget component.
1 parent f11bde8 commit d347d59

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

src/vs/editor/contrib/find/browser/simpleFindWidget.ts

+4-12
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
1212
import * as dom from 'vs/base/browser/dom';
1313
import { FindInput } from 'vs/base/browser/ui/findinput/findInput';
1414
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
15-
import { IContextKey } from 'vs/platform/contextkey/common/contextkey';
1615
import { registerThemingParticipant, ITheme } from 'vs/platform/theme/common/themeService';
1716
import { inputBackground, inputActiveOptionBorder, inputForeground, inputBorder, inputValidationInfoBackground, inputValidationInfoBorder, inputValidationWarningBackground, inputValidationWarningBorder, inputValidationErrorBackground, inputValidationErrorBorder, editorWidgetBackground, widgetShadow } from 'vs/platform/theme/common/colorRegistry';
1817
import { SimpleButton } from './findWidget';
@@ -29,7 +28,6 @@ export abstract class SimpleFindWidget extends Widget {
2928
protected _isVisible: boolean;
3029
protected _focusTracker: dom.IFocusTracker;
3130
protected _findInputFocusTracker: dom.IFocusTracker;
32-
protected _findInputFocused: IContextKey<boolean>;
3331
protected _findHistory: HistoryNavigator<string>;
3432
protected _updateHistoryDelayer: Delayer<void>;
3533

@@ -113,8 +111,8 @@ export abstract class SimpleFindWidget extends Widget {
113111
this._register(this._focusTracker.addBlurListener(this.onFocusTrackerBlur.bind(this)));
114112

115113
this._findInputFocusTracker = this._register(dom.trackFocus(this._findInput.domNode));
116-
this._register(this._findInputFocusTracker.addFocusListener(this._onFindInputFocusTrackerFocus.bind(this)));
117-
this._register(this._findInputFocusTracker.addBlurListener(this._onFindInputFocusTrackerBlur.bind(this)));
114+
this._register(this._findInputFocusTracker.addFocusListener(this.onFindInputFocusTrackerFocus.bind(this)));
115+
this._register(this._findInputFocusTracker.addBlurListener(this.onFindInputFocusTrackerBlur.bind(this)));
118116

119117
this._register(dom.addDisposableListener(this._domNode, 'click', (event) => {
120118
event.stopPropagation();
@@ -125,6 +123,8 @@ export abstract class SimpleFindWidget extends Widget {
125123
protected abstract find(previous: boolean);
126124
protected abstract onFocusTrackerFocus();
127125
protected abstract onFocusTrackerBlur();
126+
protected abstract onFindInputFocusTrackerFocus();
127+
protected abstract onFindInputFocusTrackerBlur();
128128

129129
protected get inputValue() {
130130
return this._findInput.getValue();
@@ -207,14 +207,6 @@ export abstract class SimpleFindWidget extends Widget {
207207
this._findInput.setValue(previous);
208208
}
209209
}
210-
211-
private _onFindInputFocusTrackerFocus() {
212-
this._findInputFocused.set(true);
213-
}
214-
215-
private _onFindInputFocusTrackerBlur() {
216-
this._findInputFocused.set(false);
217-
}
218210
}
219211

220212
// theming

src/vs/workbench/parts/terminal/electron-browser/terminalFindWidget.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
import { SimpleFindWidget } from 'vs/editor/contrib/find/browser/simpleFindWidget';
77
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
88
import { ITerminalService, KEYBINDING_CONTEXT_TERMINAL_FIND_WIDGET_INPUT_FOCUSED } from 'vs/workbench/parts/terminal/common/terminal';
9-
import { IContextKeyService, } from 'vs/platform/contextkey/common/contextkey';
9+
import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
1010

1111
export class TerminalFindWidget extends SimpleFindWidget {
12+
protected _findInputFocused: IContextKey<boolean>;
1213

1314
constructor(
1415
@IContextViewService _contextViewService: IContextViewService,
@@ -47,4 +48,12 @@ export class TerminalFindWidget extends SimpleFindWidget {
4748
protected onFocusTrackerBlur() {
4849
this._terminalService.getActiveInstance().notifyFindWidgetFocusChanged(false);
4950
}
51+
52+
protected onFindInputFocusTrackerFocus() {
53+
this._findInputFocused.set(true);
54+
}
55+
56+
protected onFindInputFocusTrackerBlur() {
57+
this._findInputFocused.reset();
58+
}
5059
}

0 commit comments

Comments
 (0)