From b9cdcecf333f2b924ac5ffe9269f7d6902ad5ef8 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Tue, 23 Jan 2018 12:35:32 +0100 Subject: [PATCH] polish from feedback --- src/vs/code/electron-main/window.ts | 2 +- .../actions/browser/menuItemActionItem.ts | 33 +++++++------------ src/vs/platform/actions/common/actions.ts | 2 +- .../electron-browser/menusExtensionPoint.ts | 4 +-- .../parts/editor/editor.contribution.ts | 4 +-- .../electron-browser/toggleWordWrap.ts | 4 +-- .../electron-browser/debug.contribution.ts | 2 +- .../fileActions.contribution.ts | 2 +- 8 files changed, 22 insertions(+), 31 deletions(-) diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts index bbe6e486f12..e79a7400e20 100644 --- a/src/vs/code/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -953,7 +953,7 @@ export class CodeWindow implements ICodeWindow { const segments: ITouchBarSegment[] = items.map(item => { let icon: Electron.NativeImage; if (item.iconPath) { - icon = nativeImage.createFromPath(typeof item.iconPath === 'string' ? item.iconPath : item.iconPath.dark); + icon = nativeImage.createFromPath(item.iconPath.dark); if (icon.isEmpty()) { icon = void 0; } diff --git a/src/vs/platform/actions/browser/menuItemActionItem.ts b/src/vs/platform/actions/browser/menuItemActionItem.ts index 787ae98fb14..93dad79a5e7 100644 --- a/src/vs/platform/actions/browser/menuItemActionItem.ts +++ b/src/vs/platform/actions/browser/menuItemActionItem.ts @@ -127,12 +127,12 @@ export class MenuItemActionItem extends ActionItem { private _itemClassDispose: IDisposable; constructor( - private action: MenuItemAction, + public _action: MenuItemAction, @IKeybindingService private _keybindingService: IKeybindingService, @IMessageService protected _messageService: IMessageService, @IContextMenuService private _contextMenuService: IContextMenuService ) { - super(undefined, action, { icon: !!(action.class || action.item.iconPath), label: !action.class && !action.item.iconPath }); + super(undefined, _action, { icon: !!(_action.class || _action.item.iconPath), label: !_action.class && !_action.item.iconPath }); } protected get _commandAction(): IAction { @@ -150,7 +150,7 @@ export class MenuItemActionItem extends ActionItem { render(container: HTMLElement): void { super.render(container); - this._updateItemClass(this.action.item); + this._updateItemClass(this._action.item); let mouseOver = false; let altDown = false; @@ -200,9 +200,9 @@ export class MenuItemActionItem extends ActionItem { _updateClass(): void { if (this.options.icon) { if (this._commandAction !== this._action) { - this._updateItemClass(this.action.alt.item); + this._updateItemClass(this._action.alt.item); } else if ((this._action).alt) { - this._updateItemClass(this.action.item); + this._updateItemClass(this._action.item); } } } @@ -213,23 +213,14 @@ export class MenuItemActionItem extends ActionItem { if (item.iconPath) { let iconClass: string; - if (typeof item.iconPath === 'string') { - if (MenuItemActionItem.ICON_PATH_TO_CSS_RULES.has(item.iconPath)) { - iconClass = MenuItemActionItem.ICON_PATH_TO_CSS_RULES.get(item.iconPath); - } else { - iconClass = ids.nextId(); - createCSSRule(`.icon.${iconClass}`, `background-image: url("${URI.file(item.iconPath).toString()}")`); - MenuItemActionItem.ICON_PATH_TO_CSS_RULES.set(item.iconPath, iconClass); - } + + if (MenuItemActionItem.ICON_PATH_TO_CSS_RULES.has(item.iconPath.dark)) { + iconClass = MenuItemActionItem.ICON_PATH_TO_CSS_RULES.get(item.iconPath.dark); } else { - if (MenuItemActionItem.ICON_PATH_TO_CSS_RULES.has(item.iconPath.dark)) { - iconClass = MenuItemActionItem.ICON_PATH_TO_CSS_RULES.get(item.iconPath.dark); - } else { - iconClass = ids.nextId(); - createCSSRule(`.icon.${iconClass}`, `background-image: url("${URI.file(item.iconPath.light).toString()}")`); - createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: url("${URI.file(item.iconPath.dark).toString()}")`); - MenuItemActionItem.ICON_PATH_TO_CSS_RULES.set(item.iconPath.dark, iconClass); - } + iconClass = ids.nextId(); + createCSSRule(`.icon.${iconClass}`, `background-image: url("${URI.file(item.iconPath.light || item.iconPath.dark).toString()}")`); + createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: url("${URI.file(item.iconPath.dark).toString()}")`); + MenuItemActionItem.ICON_PATH_TO_CSS_RULES.set(item.iconPath.dark, iconClass); } this.$e.getHTMLElement().classList.add('icon', iconClass); diff --git a/src/vs/platform/actions/common/actions.ts b/src/vs/platform/actions/common/actions.ts index 40703ce8563..f8786606a24 100644 --- a/src/vs/platform/actions/common/actions.ts +++ b/src/vs/platform/actions/common/actions.ts @@ -23,7 +23,7 @@ export interface ICommandAction { id: string; title: string | ILocalizedString; category?: string | ILocalizedString; - iconPath?: string | { light: string; dark: string; }; + iconPath?: { dark: string; light?: string; }; precondition?: ContextKeyExpr; } diff --git a/src/vs/platform/actions/electron-browser/menusExtensionPoint.ts b/src/vs/platform/actions/electron-browser/menusExtensionPoint.ts index be1f3f20705..3955afd293e 100644 --- a/src/vs/platform/actions/electron-browser/menusExtensionPoint.ts +++ b/src/vs/platform/actions/electron-browser/menusExtensionPoint.ts @@ -286,10 +286,10 @@ ExtensionsRegistry.registerExtensionPoint { MenuRegistry.appendMenuItem(MenuId.TouchBarContext, { command: { - id, title, iconPath: URI.parse(require.toUrl(`vs/workbench/parts/debug/electron-browser/media/${icon}`)).fsPath + id, title, iconPath: { dark: URI.parse(require.toUrl(`vs/workbench/parts/debug/electron-browser/media/${icon}`)).fsPath } }, when, group: '9_debug', diff --git a/src/vs/workbench/parts/files/electron-browser/fileActions.contribution.ts b/src/vs/workbench/parts/files/electron-browser/fileActions.contribution.ts index a1c5b1628ef..f365329c68a 100644 --- a/src/vs/workbench/parts/files/electron-browser/fileActions.contribution.ts +++ b/src/vs/workbench/parts/files/electron-browser/fileActions.contribution.ts @@ -125,7 +125,7 @@ appendSaveConflictEditorTitleAction('workbench.files.action.revertLocalChanges', dark: URI.parse(require.toUrl(`vs/workbench/parts/files/electron-browser/media/undo-inverse.svg`)).fsPath }, -9, revertLocalChangesCommand); -function appendSaveConflictEditorTitleAction(id: string, title: string, iconPath: { dark: string; light: string; }, order: number, command: ICommandHandler): void { +function appendSaveConflictEditorTitleAction(id: string, title: string, iconPath: { dark: string; light?: string; }, order: number, command: ICommandHandler): void { // Command CommandsRegistry.registerCommand(id, command); -- GitLab