diff --git a/src/vs/workbench/browser/parts/editor/editor.contribution.ts b/src/vs/workbench/browser/parts/editor/editor.contribution.ts index c40ec6a532b0c4a9884e5ab5a944d3543a43ea9d..a9d35fa613239b1b4db445e48a0339c30741ac86 100644 --- a/src/vs/workbench/browser/parts/editor/editor.contribution.ts +++ b/src/vs/workbench/browser/parts/editor/editor.contribution.ts @@ -108,6 +108,8 @@ export class QuickOpenActionContributor extends ActionBarContributor { if (entry) { if (!this.openToSideActionInstance) { this.openToSideActionInstance = this.instantiationService.createInstance(OpenToSideAction); + } else { + this.openToSideActionInstance.updateClass(); } actions.push(this.openToSideActionInstance); diff --git a/src/vs/workbench/browser/parts/editor/editorActions.ts b/src/vs/workbench/browser/parts/editor/editorActions.ts index 6f09507225a18b52343ceff840bf0e36227849ad..a5633d080114e6b4c63b8b19f3359b34662f805e 100644 --- a/src/vs/workbench/browser/parts/editor/editorActions.ts +++ b/src/vs/workbench/browser/parts/editor/editorActions.ts @@ -16,6 +16,7 @@ import { IPartService } from 'vs/workbench/services/part/common/partService'; import { Position, IEditor, Direction, IResourceInput, IEditorInput } from 'vs/platform/editor/common/editor'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IHistoryService } from 'vs/workbench/services/history/common/history'; +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IEditorGroupService, GroupArrangement } from 'vs/workbench/services/group/common/groupService'; import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor'; @@ -409,12 +410,21 @@ export class OpenToSideAction extends Action { public static OPEN_TO_SIDE_ID = 'workbench.action.openToSide'; public static OPEN_TO_SIDE_LABEL = nls.localize('openToSide', "Open to the Side"); - constructor( @IWorkbenchEditorService private editorService: IWorkbenchEditorService) { + constructor( + @IWorkbenchEditorService private editorService: IWorkbenchEditorService, + @IConfigurationService private configurationService: IConfigurationService + ) { super(OpenToSideAction.OPEN_TO_SIDE_ID, OpenToSideAction.OPEN_TO_SIDE_LABEL); - this.class = 'quick-open-sidebyside'; this.updateEnablement(); + this.updateClass(); + } + + public updateClass(): void { + const editorLayoutVertical = this.configurationService.lookup('workbench.editor.sideBySideLayout').value !== 'horizontal'; + + this.class = editorLayoutVertical ? 'quick-open-sidebyside-vertical' : 'quick-open-sidebyside-horizontal'; } private updateEnablement(): void { diff --git a/src/vs/workbench/parts/files/browser/media/fileactions.css b/src/vs/workbench/parts/files/browser/media/fileactions.css index f1acdf531566afa9f1c8dabf4541394c7ac2bdfa..d4f12e7e53d69ac740f2747053f557cac7e30d16 100644 --- a/src/vs/workbench/parts/files/browser/media/fileactions.css +++ b/src/vs/workbench/parts/files/browser/media/fileactions.css @@ -57,13 +57,22 @@ background: url('CollapseAll_inverse.svg') center center no-repeat; } -.monaco-workbench .quick-open-sidebyside { - background-image: url('SplitEditor.svg'); +.monaco-workbench .quick-open-sidebyside-vertical { + background-image: url('split-editor-vertical.svg'); } -.vs-dark .monaco-workbench .quick-open-sidebyside, -.hc-black .monaco-workbench .quick-open-sidebyside { - background-image: url('SplitEditor_inverse.svg'); +.vs-dark .monaco-workbench .quick-open-sidebyside-vertical, +.hc-black .monaco-workbench .quick-open-sidebyside-vertical { + background-image: url('split-editor-vertical-inverse.svg'); +} + +.monaco-workbench .quick-open-sidebyside-horizontal { + background-image: url('split-editor-horizontal.svg'); +} + +.vs-dark .monaco-workbench .quick-open-sidebyside-horizontal, +.hc-black .monaco-workbench .quick-open-sidebyside-horizontal { + background-image: url('split-editor-horizontal-inverse.svg'); } .monaco-workbench .conflict-editor-action.accept-changes { diff --git a/src/vs/workbench/parts/files/browser/media/split-editor-horizontal-inverse.svg b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal-inverse.svg new file mode 100644 index 0000000000000000000000000000000000000000..67a2b80396253cd1f1807654987916c93d2c69cd --- /dev/null +++ b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal-inverse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/vs/workbench/parts/files/browser/media/split-editor-horizontal.svg b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal.svg new file mode 100644 index 0000000000000000000000000000000000000000..48bc38ae3919e0cb345c71d05f347b68b0e184e7 --- /dev/null +++ b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/vs/workbench/parts/files/browser/media/SplitEditor_inverse.svg b/src/vs/workbench/parts/files/browser/media/split-editor-vertical-inverse.svg similarity index 100% rename from src/vs/workbench/parts/files/browser/media/SplitEditor_inverse.svg rename to src/vs/workbench/parts/files/browser/media/split-editor-vertical-inverse.svg diff --git a/src/vs/workbench/parts/files/browser/media/SplitEditor.svg b/src/vs/workbench/parts/files/browser/media/split-editor-vertical.svg similarity index 58% rename from src/vs/workbench/parts/files/browser/media/SplitEditor.svg rename to src/vs/workbench/parts/files/browser/media/split-editor-vertical.svg index 6eccccfa00bce58a563fea451edd2f8da916d23e..3eeaf7c53624f4f3e87f42e9aa648312362ed79e 100644 --- a/src/vs/workbench/parts/files/browser/media/SplitEditor.svg +++ b/src/vs/workbench/parts/files/browser/media/split-editor-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file