Skip to content

Commit 8d7ef6e

Browse files
committed
adopt product icon theme in extension actions & picker
1 parent 1ff8393 commit 8d7ef6e

8 files changed

Lines changed: 294 additions & 214 deletions

File tree

src/vs/workbench/contrib/extensions/browser/extensionEditor.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID,
2727
import { RatingsWidget, InstallCountWidget, RemoteBadgeWidget } from 'vs/workbench/contrib/extensions/browser/extensionsWidgets';
2828
import { EditorOptions } from 'vs/workbench/common/editor';
2929
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
30-
import { CombinedInstallAction, UpdateAction, ExtensionEditorDropDownAction, ReloadAction, MaliciousStatusLabelAction, IgnoreExtensionRecommendationAction, UndoIgnoreExtensionRecommendationAction, EnableDropDownAction, DisableDropDownAction, StatusLabelAction, SetFileIconThemeAction, SetColorThemeAction, RemoteInstallAction, ExtensionToolTipAction, SystemDisabledWarningAction, LocalInstallAction, SyncIgnoredIconAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions';
30+
import { CombinedInstallAction, UpdateAction, ExtensionEditorDropDownAction, ReloadAction, MaliciousStatusLabelAction, IgnoreExtensionRecommendationAction, UndoIgnoreExtensionRecommendationAction, EnableDropDownAction, DisableDropDownAction, StatusLabelAction, SetFileIconThemeAction, SetColorThemeAction, RemoteInstallAction, ExtensionToolTipAction, SystemDisabledWarningAction, LocalInstallAction, SyncIgnoredIconAction, SetProductIconThemeAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions';
3131
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
3232
import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
3333
import { IOpenerService, matchesScheme } from 'vs/platform/opener/common/opener';
@@ -317,8 +317,6 @@ export class ExtensionEditor extends BaseEditor {
317317

318318
private async updateTemplate(input: ExtensionsInput, template: IExtensionEditorTemplate, preserveFocus: boolean): Promise<void> {
319319
const runningExtensions = await this.extensionService.getExtensions();
320-
const colorThemes = await this.workbenchThemeService.getColorThemes();
321-
const fileIconThemes = await this.workbenchThemeService.getFileIconThemes();
322320

323321
this.activeElement = null;
324322
this.editorLoadComplete = false;
@@ -402,8 +400,10 @@ export class ExtensionEditor extends BaseEditor {
402400
this.instantiationService.createInstance(SyncIgnoredIconAction),
403401
this.instantiationService.createInstance(StatusLabelAction),
404402
this.instantiationService.createInstance(UpdateAction),
405-
this.instantiationService.createInstance(SetColorThemeAction, colorThemes),
406-
this.instantiationService.createInstance(SetFileIconThemeAction, fileIconThemes),
403+
this.instantiationService.createInstance(SetColorThemeAction, await this.workbenchThemeService.getColorThemes()),
404+
this.instantiationService.createInstance(SetFileIconThemeAction, await this.workbenchThemeService.getFileIconThemes()),
405+
this.instantiationService.createInstance(SetProductIconThemeAction, await this.workbenchThemeService.getProductIconThemes()),
406+
407407
this.instantiationService.createInstance(EnableDropDownAction),
408408
this.instantiationService.createInstance(DisableDropDownAction, runningExtensions),
409409
this.instantiationService.createInstance(RemoteInstallAction),

src/vs/workbench/contrib/extensions/browser/extensionsActions.ts

Lines changed: 131 additions & 83 deletions
Large diffs are not rendered by default.

src/vs/workbench/contrib/extensions/browser/extensionsViews.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import { createErrorWithActions } from 'vs/base/common/errorsWithActions';
4141
import { CancellationToken } from 'vs/base/common/cancellation';
4242
import { IAction, Action } from 'vs/base/common/actions';
4343
import { ExtensionType, ExtensionIdentifier, IExtensionDescription, isLanguagePackExtension } from 'vs/platform/extensions/common/extensions';
44-
import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService';
4544
import { CancelablePromise, createCancelablePromise } from 'vs/base/common/async';
4645
import { IProductService } from 'vs/platform/product/common/productService';
4746
import { SeverityIcon } from 'vs/platform/severityIcon/common/severityIcon';
@@ -106,7 +105,6 @@ export class ExtensionsListView extends ViewPane {
106105
@IConfigurationService configurationService: IConfigurationService,
107106
@IWorkspaceContextService protected contextService: IWorkspaceContextService,
108107
@IExperimentService private readonly experimentService: IExperimentService,
109-
@IWorkbenchThemeService private readonly workbenchThemeService: IWorkbenchThemeService,
110108
@IExtensionManagementServerService protected readonly extensionManagementServerService: IExtensionManagementServerService,
111109
@IProductService protected readonly productService: IProductService,
112110
@IContextKeyService contextKeyService: IContextKeyService,
@@ -233,12 +231,10 @@ export class ExtensionsListView extends ViewPane {
233231
private async onContextMenu(e: IListContextMenuEvent<IExtension>): Promise<void> {
234232
if (e.element) {
235233
const runningExtensions = await this.extensionService.getExtensions();
236-
const colorThemes = await this.workbenchThemeService.getColorThemes();
237-
const fileIconThemes = await this.workbenchThemeService.getFileIconThemes();
238234
const manageExtensionAction = this.instantiationService.createInstance(ManageExtensionAction);
239235
manageExtensionAction.extension = e.element;
240236
if (manageExtensionAction.enabled) {
241-
const groups = manageExtensionAction.getActionGroups(runningExtensions, colorThemes, fileIconThemes);
237+
const groups = await manageExtensionAction.getActionGroups(runningExtensions);
242238
let actions: IAction[] = [];
243239
for (const menuActions of groups) {
244240
actions = [...actions, ...menuActions, new Separator()];
@@ -882,7 +878,6 @@ export class ServerExtensionsView extends ExtensionsListView {
882878
@IConfigurationService configurationService: IConfigurationService,
883879
@IWorkspaceContextService contextService: IWorkspaceContextService,
884880
@IExperimentService experimentService: IExperimentService,
885-
@IWorkbenchThemeService workbenchThemeService: IWorkbenchThemeService,
886881
@IExtensionsWorkbenchService extensionsWorkbenchService: IExtensionsWorkbenchService,
887882
@IExtensionManagementServerService extensionManagementServerService: IExtensionManagementServerService,
888883
@IProductService productService: IProductService,
@@ -893,7 +888,7 @@ export class ServerExtensionsView extends ExtensionsListView {
893888
@IPreferencesService preferencesService: IPreferencesService,
894889
) {
895890
options.server = server;
896-
super(options, notificationService, keybindingService, contextMenuService, instantiationService, themeService, extensionService, extensionsWorkbenchService, editorService, tipsService, telemetryService, configurationService, contextService, experimentService, workbenchThemeService, extensionManagementServerService, productService, contextKeyService, viewDescriptorService, menuService, openerService, preferencesService);
891+
super(options, notificationService, keybindingService, contextMenuService, instantiationService, themeService, extensionService, extensionsWorkbenchService, editorService, tipsService, telemetryService, configurationService, contextService, experimentService, extensionManagementServerService, productService, contextKeyService, viewDescriptorService, menuService, openerService, preferencesService);
897892
this._register(onDidChangeTitle(title => this.updateTitle(title)));
898893
}
899894

0 commit comments

Comments
 (0)