提交 8c458dab 编写于 作者: J Joao Moreno

preferences editor dimension constraints

fixes #51964
上级 3e243a2a
......@@ -75,6 +75,16 @@ export class PreferencesEditor extends BaseEditor {
private lastFocusedWidget: SearchWidget | SideBySidePreferencesWidget = null;
get minimumWidth(): number { return this.sideBySidePreferencesWidget ? this.sideBySidePreferencesWidget.minimumWidth : 0; }
get maximumWidth(): number { return this.sideBySidePreferencesWidget ? this.sideBySidePreferencesWidget.maximumWidth : Number.POSITIVE_INFINITY; }
// these setters need to exist because this extends from BaseEditor
set minimumWidth(value: number) { /*noop*/ }
set maximumWidth(value: number) { /*noop*/ }
private _onDidCreateWidget = new Emitter<{ width: number; height: number; }>();
readonly onDidChange: Event<{ width: number; height: number; }> = this._onDidCreateWidget.event;
constructor(
@IPreferencesService private preferencesService: IPreferencesService,
@ITelemetryService telemetryService: ITelemetryService,
......@@ -122,6 +132,7 @@ export class PreferencesEditor extends BaseEditor {
const editorsContainer = DOM.append(parent, DOM.$('.preferences-editors-container'));
this.sideBySidePreferencesWidget = this._register(this.instantiationService.createInstance(SideBySidePreferencesWidget, editorsContainer));
this._onDidCreateWidget.fire();
this._register(this.sideBySidePreferencesWidget.onFocus(() => this.lastFocusedWidget = this.sideBySidePreferencesWidget));
this._register(this.sideBySidePreferencesWidget.onDidSettingsTargetChange(target => this.switchSettings(target)));
......@@ -326,6 +337,11 @@ export class PreferencesEditor extends BaseEditor {
this._lastReportedFilter = filter;
}
}
dispose(): void {
this._onDidCreateWidget.dispose();
super.dispose();
}
}
class SettingsNavigator extends ArrayNavigator<ISetting> {
......@@ -755,6 +771,9 @@ class SideBySidePreferencesWidget extends Widget {
private lastFocusedEditor: BaseEditor;
private splitview: SplitView;
get minimumWidth(): number { return this.splitview.minimumSize; }
get maximumWidth(): number { return this.splitview.maximumSize; }
constructor(
parentElement: HTMLElement,
@IInstantiationService private instantiationService: IInstantiationService,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册