From 5662f7bb95e0cca0dd5d582ef6fc8951647e424d Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Mon, 20 Apr 2020 21:29:46 +0200 Subject: [PATCH] codicon for home action --- .../browser/parts/activitybar/activitybarActions.ts | 5 +++-- .../browser/parts/activitybar/activitybarPart.ts | 11 ++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts index 22065b584f5..5afb9bf1931 100644 --- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts +++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts @@ -29,6 +29,7 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { createAndFillInActionBarActions } from 'vs/platform/actions/browser/menuEntryActionViewItem'; import { ICommandService } from 'vs/platform/commands/common/commands'; +import { Codicon } from 'vs/base/common/codicons'; export class ViewletActivityAction extends ActivityAction { @@ -344,10 +345,10 @@ export class HomeAction extends Action { constructor( private readonly command: string, name: string, - icon: string, + icon: Codicon, @ICommandService private readonly commandService: ICommandService ) { - super('workbench.action.home', name, `codicon-${icon}`); + super('workbench.action.home', name, icon.classNames); } async run(): Promise { diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts index c6241772562..52fc869b7d1 100644 --- a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +++ b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts @@ -42,7 +42,7 @@ import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common import { getUserDataSyncStore } from 'vs/platform/userDataSync/common/userDataSync'; import { IProductService } from 'vs/platform/product/common/productService'; import { Before2D } from 'vs/workbench/browser/dnd'; -import { Codicon } from 'vs/base/common/codicons'; +import { Codicon, iconRegistry } from 'vs/base/common/codicons'; interface IPlaceholderViewlet { id: string; @@ -327,7 +327,12 @@ export class ActivitybarPart extends Part implements IActivityBarService { // Home action bar const homeIndicator = this.environmentService.options?.homeIndicator; if (homeIndicator) { - this.createHomeBar(homeIndicator.command, homeIndicator.title, homeIndicator.icon); + let codicon = iconRegistry.get(homeIndicator.icon); + if (!codicon) { + console.warn(`Unknown home indicator icon ${homeIndicator.icon}`); + codicon = Codicon.code; + } + this.createHomeBar(homeIndicator.command, homeIndicator.title, codicon); } // Install menubar if compact @@ -348,7 +353,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { return this.content; } - private createHomeBar(command: string, title: string, icon: string): void { + private createHomeBar(command: string, title: string, icon: Codicon): void { const homeBarContainer = document.createElement('div'); homeBarContainer.setAttribute('aria-label', nls.localize('homeIndicator', "Home")); homeBarContainer.setAttribute('role', 'toolbar'); -- GitLab