From f48a0723fc22358d4fd56cbbb15dc951daeb66da Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Fri, 13 May 2016 11:22:41 -0700 Subject: [PATCH] Encapsulated interfaces with part/panel services in terminalService --- .../terminal/electron-browser/terminalActions.ts | 13 +------------ .../terminal/electron-browser/terminalService.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts index aa332ca2234..bda26557661 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts @@ -6,9 +6,7 @@ import {TPromise} from 'vs/base/common/winjs.base'; import nls = require('vs/nls'); import {Action} from 'vs/base/common/actions'; -import {IPartService} from 'vs/workbench/services/part/common/partService'; -import {IPanelService} from 'vs/workbench/services/panel/common/panelService'; -import {TERMINAL_PANEL_ID, ITerminalService} from 'vs/workbench/parts/terminal/common/terminal'; +import {ITerminalService} from 'vs/workbench/parts/terminal/common/terminal'; export class ToggleTerminalAction extends Action { @@ -17,21 +15,12 @@ export class ToggleTerminalAction extends Action { constructor( id: string, label: string, - @IPartService private partService: IPartService, - @IPanelService private panelService: IPanelService, @ITerminalService private terminalService: ITerminalService ) { super(id, label); } public run(event?: any): TPromise { - const panel = this.panelService.getActivePanel(); - if (panel && panel.getId() === TERMINAL_PANEL_ID) { - this.partService.setPanelHidden(true); - - return TPromise.as(null); - } - return this.terminalService.show(); } } \ No newline at end of file diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts index 7d5c3837d96..b834d580627 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts @@ -5,17 +5,26 @@ import {TPromise} from 'vs/base/common/winjs.base'; import {IPanelService} from 'vs/workbench/services/panel/common/panelService'; +import {IPartService} from 'vs/workbench/services/part/common/partService'; import {ITerminalService, TERMINAL_PANEL_ID} from 'vs/workbench/parts/terminal/common/terminal'; export class TerminalService implements ITerminalService { public serviceId = ITerminalService; constructor( - @IPanelService private panelService: IPanelService + @IPanelService private panelService: IPanelService, + @IPartService private partService: IPartService ) { } public show(): TPromise { + const panel = this.panelService.getActivePanel(); + if (panel && panel.getId() === TERMINAL_PANEL_ID) { + this.partService.setPanelHidden(true); + + return TPromise.as(null); + } + return this.panelService.openPanel(TERMINAL_PANEL_ID, true); } } \ No newline at end of file