提交 2a575a44 编写于 作者: S Sandeep Somavarapu

Adopt to new configuration change event

上级 32d813e4
...@@ -25,7 +25,7 @@ import { EditorInput, EditorOptions, ConfirmResult, IWorkbenchEditorConfiguratio ...@@ -25,7 +25,7 @@ import { EditorInput, EditorOptions, ConfirmResult, IWorkbenchEditorConfiguratio
import { EditorGroupsControl, Rochade, IEditorGroupsControl, ProgressState } from 'vs/workbench/browser/parts/editor/editorGroupsControl'; import { EditorGroupsControl, Rochade, IEditorGroupsControl, ProgressState } from 'vs/workbench/browser/parts/editor/editorGroupsControl';
import { WorkbenchProgressService } from 'vs/workbench/services/progress/browser/progressService'; import { WorkbenchProgressService } from 'vs/workbench/services/progress/browser/progressService';
import { IEditorGroupService, GroupOrientation, GroupArrangement, IEditorTabOptions, IMoveOptions } from 'vs/workbench/services/group/common/groupService'; import { IEditorGroupService, GroupOrientation, GroupArrangement, IEditorTabOptions, IMoveOptions } from 'vs/workbench/services/group/common/groupService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService, IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration';
import { IEditorPart } from 'vs/workbench/services/editor/common/editorService'; import { IEditorPart } from 'vs/workbench/services/editor/common/editorService';
import { IPartService } from 'vs/workbench/services/part/common/partService'; import { IPartService } from 'vs/workbench/services/part/common/partService';
import { Position, POSITIONS, Direction, IEditor } from 'vs/platform/editor/common/editor'; import { Position, POSITIONS, Direction, IEditor } from 'vs/platform/editor/common/editor';
...@@ -205,41 +205,45 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService ...@@ -205,41 +205,45 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService
this.toUnbind.push(this.stacks.onEditorClosed(event => this.onEditorClosed(event))); this.toUnbind.push(this.stacks.onEditorClosed(event => this.onEditorClosed(event)));
this.toUnbind.push(this.stacks.onGroupOpened(event => this.onEditorGroupOpenedOrClosed())); this.toUnbind.push(this.stacks.onGroupOpened(event => this.onEditorGroupOpenedOrClosed()));
this.toUnbind.push(this.stacks.onGroupClosed(event => this.onEditorGroupOpenedOrClosed())); this.toUnbind.push(this.stacks.onGroupClosed(event => this.onEditorGroupOpenedOrClosed()));
this.toUnbind.push(this.configurationService.onDidChangeConfiguration(e => this.onConfigurationUpdated(this.configurationService.getConfiguration<IWorkbenchEditorConfiguration>()))); this.toUnbind.push(this.configurationService.onDidChangeConfiguration(e => this.onConfigurationUpdated(e)));
} }
private onEditorGroupOpenedOrClosed(): void { private onEditorGroupOpenedOrClosed(): void {
this.updateStyles(); this.updateStyles();
} }
private onConfigurationUpdated(configuration: IWorkbenchEditorConfiguration): void { private onConfigurationUpdated(event: IConfigurationChangeEvent): void {
if (configuration && configuration.workbench && configuration.workbench.editor) { if (event.affectsConfiguration('workbench.editor')) {
const editorConfig = configuration.workbench.editor; const configuration = this.configurationService.getConfiguration<IWorkbenchEditorConfiguration>();
if (configuration && configuration.workbench && configuration.workbench.editor) {
const editorConfig = configuration.workbench.editor;
// Pin all preview editors of the user chose to disable preview
const newPreviewEditors = editorConfig.enablePreview;
if (this.tabOptions.previewEditors !== newPreviewEditors && !newPreviewEditors) {
this.stacks.groups.forEach(group => {
if (group.previewEditor) {
this.pinEditor(group, group.previewEditor);
}
});
}
const oldTabOptions = objects.clone(this.tabOptions); // Pin all preview editors of the user chose to disable preview
this.tabOptions = { const newPreviewEditors = editorConfig.enablePreview;
previewEditors: newPreviewEditors, if (this.tabOptions.previewEditors !== newPreviewEditors && !newPreviewEditors) {
showIcons: editorConfig.showIcons, this.stacks.groups.forEach(group => {
tabCloseButton: editorConfig.tabCloseButton, if (group.previewEditor) {
showTabs: this.forceHideTabs ? false : editorConfig.showTabs, this.pinEditor(group, group.previewEditor);
labelFormat: editorConfig.labelFormat, }
}; });
}
if (!this.doNotFireTabOptionsChanged && !objects.equals(oldTabOptions, this.tabOptions)) { const oldTabOptions = objects.clone(this.tabOptions);
this._onTabOptionsChanged.fire(this.tabOptions); this.tabOptions = {
} previewEditors: newPreviewEditors,
showIcons: editorConfig.showIcons,
tabCloseButton: editorConfig.tabCloseButton,
showTabs: this.forceHideTabs ? false : editorConfig.showTabs,
labelFormat: editorConfig.labelFormat,
};
if (!this.doNotFireTabOptionsChanged && !objects.equals(oldTabOptions, this.tabOptions)) {
this._onTabOptionsChanged.fire(this.tabOptions);
}
this.revealIfOpen = editorConfig.revealIfOpen; this.revealIfOpen = editorConfig.revealIfOpen;
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册