From 520aaf7174725aa1c837dc010de457c4eb98d15d Mon Sep 17 00:00:00 2001 From: Marcel Miranda Date: Mon, 16 Jan 2017 21:47:10 +0100 Subject: [PATCH] Removes the showTabCloseButton setting in favor of tabCloseButton options --- .../parts/editor/editorGroupsControl.ts | 3 +-- .../browser/parts/editor/editorPart.ts | 3 --- .../browser/parts/editor/tabsTitleControl.ts | 22 +++++++------------ src/vs/workbench/common/editor.ts | 1 - .../electron-browser/main.contribution.ts | 7 +----- .../services/group/common/groupService.ts | 3 +-- 6 files changed, 11 insertions(+), 28 deletions(-) diff --git a/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts b/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts index 0c3633fc177..ea44ef4c268 100644 --- a/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts +++ b/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts @@ -212,7 +212,6 @@ export class EditorGroupsControl implements IEditorGroupsControl, IVerticalSashL private updateTabOptions(tabOptions: ITabOptions, refresh?: boolean): void { const tabCloseButton = this.tabOptions ? this.tabOptions.tabCloseButton : 'right'; - const showTabCloseButton = this.tabOptions ? this.tabOptions.showTabCloseButton : false; this.tabOptions = tabOptions; if (!refresh) { @@ -250,7 +249,7 @@ export class EditorGroupsControl implements IEditorGroupsControl, IVerticalSashL } // Refresh title when icons change - else if (showingIcons !== this.tabOptions.showIcons || showTabCloseButton !== this.tabOptions.showTabCloseButton || tabCloseButton !== this.tabOptions.tabCloseButton) { + else if (showingIcons !== this.tabOptions.showIcons || tabCloseButton !== this.tabOptions.tabCloseButton) { titleControl.refresh(); } } diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index 497b0655408..4e3047ec215 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -145,7 +145,6 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService previewEditors: editorConfig.enablePreview, showIcons: editorConfig.showIcons, showTabs: editorConfig.showTabs, - showTabCloseButton: editorConfig.showTabCloseButton, tabCloseButton: editorConfig.tabCloseButton }; @@ -155,7 +154,6 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService previewEditors: true, showIcons: false, showTabs: true, - showTabCloseButton: true, tabCloseButton: 'right' }; } @@ -189,7 +187,6 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService this.tabOptions = { previewEditors: newPreviewEditors, showIcons: editorConfig.showIcons, - showTabCloseButton: editorConfig.showTabCloseButton, tabCloseButton: editorConfig.tabCloseButton, showTabs: editorConfig.showTabs }; diff --git a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts index d5f4cf6f8b3..cd6f931f357 100644 --- a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts +++ b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts @@ -216,10 +216,16 @@ export class TabsTitleControl extends TitleControl { // Container tabContainer.setAttribute('aria-label', `${name}, tab`); tabContainer.title = verboseDescription; - if (this.tabOptions.showTabCloseButton) { + if (this.tabOptions.tabCloseButton === 'off') { + DOM.addClass(tabContainer, 'no-close-button'); + } else { DOM.removeClass(tabContainer, 'no-close-button'); + } + + if (this.tabOptions.tabCloseButton === 'left') { + DOM.addClass(tabContainer, 'close-position-left'); } else { - DOM.addClass(tabContainer, 'no-close-button'); + DOM.removeClass(tabContainer, 'close-position-left'); } // Label @@ -349,18 +355,6 @@ export class TabsTitleControl extends TitleControl { tabContainer.setAttribute('role', 'presentation'); // cannot use role "tab" here due to https://github.com/Microsoft/vscode/issues/8659 DOM.addClass(tabContainer, 'tab monaco-editor-background'); - if (!this.tabOptions.showTabCloseButton || this.tabOptions.tabCloseButton === 'off') { - DOM.addClass(tabContainer, 'no-close-button'); - } else { - DOM.removeClass(tabContainer, 'no-close-button'); - } - - if (this.tabOptions.tabCloseButton === 'left') { - DOM.addClass(tabContainer, 'close-position-left'); - } else { - DOM.removeClass(tabContainer, 'close-position-left'); - } - // Tab Editor Label const editorLabel = this.instantiationService.createInstance(EditorLabel, tabContainer, void 0); this.editorLabels.push(editorLabel); diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts index 3aecd96897e..6a542a6cc3a 100644 --- a/src/vs/workbench/common/editor.ts +++ b/src/vs/workbench/common/editor.ts @@ -897,7 +897,6 @@ export interface IWorkbenchEditorConfiguration { workbench: { editor: { showTabs: boolean; - showTabCloseButton: boolean; tabCloseButton: 'left' | 'right' | 'off'; showIcons: boolean; enablePreview: boolean; diff --git a/src/vs/workbench/electron-browser/main.contribution.ts b/src/vs/workbench/electron-browser/main.contribution.ts index 90bc60710a0..bf0406fc24f 100644 --- a/src/vs/workbench/electron-browser/main.contribution.ts +++ b/src/vs/workbench/electron-browser/main.contribution.ts @@ -113,16 +113,11 @@ configurationRegistry.registerConfiguration({ 'description': nls.localize('showEditorTabs', "Controls if opened editors should show in tabs or not."), 'default': true }, - 'workbench.editor.showTabCloseButton': { - 'type': 'boolean', - 'description': nls.localize('showEditorTabCloseButton', "Controls if editor tabs should have a visible close button or not."), - 'default': true - }, 'workbench.editor.tabCloseButton': { 'type': 'string', 'enum': ['left', 'right', 'off'], 'default': 'right', - 'description': nls.localize('editorTabCloseButton', "Controls the position of the editor's tabs close buttons.") + 'description': nls.localize('editorTabCloseButton', "Controls the position of the editor's tabs close buttons or disables them when set to 'off'.") }, 'workbench.editor.showIcons': { 'type': 'boolean', diff --git a/src/vs/workbench/services/group/common/groupService.ts b/src/vs/workbench/services/group/common/groupService.ts index 295d9b542bb..241f16b5089 100644 --- a/src/vs/workbench/services/group/common/groupService.ts +++ b/src/vs/workbench/services/group/common/groupService.ts @@ -21,8 +21,7 @@ export const IEditorGroupService = createDecorator('editorG export interface ITabOptions { showTabs?: boolean; - showTabCloseButton?: boolean; - tabCloseButton?: string; + tabCloseButton?: 'left' | 'right' | 'off'; showIcons?: boolean; previewEditors?: boolean; }; -- GitLab