提交 cff0fb9e 编写于 作者: I isidor

reuse togglePanel action, different icon direction

上级 f08238c0
......@@ -20,6 +20,7 @@ import {CompositeDescriptor, Composite} from 'vs/workbench/browser/composite';
import {Panel, PanelRegistry, Extensions as PanelExtensions} from 'vs/workbench/browser/panel';
import {Part} from 'vs/workbench/browser/part';
import {ActivityAction, ActivityActionItem} from 'vs/workbench/browser/parts/activitybar/activityAction';
import {TogglePanelAction} from 'vs/workbench/browser/parts/panel/panelPart';
import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
import {IActivityService, IBadge} from 'vs/workbench/services/activity/common/activityService';
......@@ -37,7 +38,7 @@ export class ActivitybarPart extends Part implements IActivityService {
private activityActionItems: { [actionId: string]: IActionItem; };
private compositeIdToActions: { [compositeId: string]: ActivityAction; };
private panelActions: Action[];
private showPanelAction: ShowPanelAction;
private showPanelAction: TogglePanelAction;
constructor(
id: string,
......@@ -147,7 +148,7 @@ export class ActivitybarPart extends Part implements IActivityService {
const allPanels = (<PanelRegistry>Registry.as(PanelExtensions.Panels)).getPanels();
this.showPanelAction = this.instantiationService.createInstance(ShowPanelAction);
this.showPanelAction = this.instantiationService.createInstance(TogglePanelAction, TogglePanelAction.ID, TogglePanelAction.LABEL);
this.activityActionItems[this.showPanelAction.id] = new ActivityActionItem(this.showPanelAction);
this.panelActions = allPanels.sort((p1, p2) => p1.order - p2.order).map(panel => this.toAction(panel));
......@@ -270,16 +271,3 @@ class PanelActivityAction extends CompositeActivityAction<Panel> {
}
}
}
class ShowPanelAction extends ActivityAction {
private static ID = 'workbench.action.panel.show';
constructor(@IPartService private partService: IPartService) {
super(ShowPanelAction.ID, nls.localize('showPanel', "Show Panel"), 'panel');
}
public run(): TPromise<any> {
this.partService.setPanelHidden(false);
return TPromise.as(null);
}
}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><style>.icon-canvas-transparent{opacity:0;fill:#f6f6f6}.icon-white{fill:#ffffff}</style><path class="icon-canvas-transparent" d="M32 32H0V0h32v32z" id="canvas"/><path class="icon-white" d="M16 29C8.832 29 3 23.168 3 16S8.832 3 16 3s13 5.832 13 13-5.832 13-13 13zm0-24C9.935 5 5 9.935 5 16s4.935 11 11 11 11-4.935 11-11S22.065 5 16 5zm6.707 13.293L16 11.586l-6.707 6.707 1.414 1.414L16 14.414l5.293 5.293 1.414-1.414z" id="iconBg"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><style>.icon-canvas-transparent{opacity:0;fill:#f6f6f6}.icon-white{fill:#ffffff}</style><path class="icon-canvas-transparent" d="M32 32H0V0h32v32z" id="canvas"/><path class="icon-white" d="M16 21.414l-6.707-6.707 1.414-1.414L16 18.586l5.293-5.293 1.414 1.414L16 21.414zM28 16c0-6.617-5.383-12-12-12S4 9.383 4 16s5.383 12 12 12 12-5.383 12-12zm-2 0c0 5.514-4.486 10-10 10S6 21.514 6 16 10.486 6 16 6s10 4.486 10 10z" id="iconBg"/></svg>
\ No newline at end of file
......@@ -11,6 +11,7 @@ import {Action, IAction} from 'vs/base/common/actions';
import Event from 'vs/base/common/event';
import {Builder} from 'vs/base/browser/builder';
import {Registry} from 'vs/platform/platform';
import {ActivityAction} from 'vs/workbench/browser/parts/activitybar/activityAction';
import {Scope} from 'vs/workbench/browser/actionBarRegistry';
import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
import {IWorkbenchActionRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/actionRegistry';
......@@ -127,16 +128,16 @@ class ClosePanelAction extends Action {
}
}
class TogglePanelAction extends Action {
export class TogglePanelAction extends ActivityAction {
static ID = 'workbench.action.togglePanel';
static LABEL = nls.localize('togglePanel', "Toggle Panel Visibility");
static LABEL = nls.localize('togglePanel', "Toggle Panel");
constructor(
id: string,
name: string,
@IPartService private partService: IPartService
) {
super(id, name, null);
super(id, name, 'panel');
}
public run(): TPromise<boolean> {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册