提交 a0f31a5a 编写于 作者: B Benjamin Pasero

move themeservice into shell

上级 23edcfe3
......@@ -101,6 +101,8 @@ import SCMPreview from 'vs/workbench/parts/scm/browser/scmPreview';
import { readdir } from 'vs/base/node/pfs';
import { join } from 'path';
import 'vs/platform/opener/browser/opener.contribution';
import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService';
import { WorkbenchThemeService } from 'vs/workbench/services/themes/electron-browser/themeService';
/**
* Services that we require for the Shell
......@@ -131,6 +133,7 @@ export class WorkbenchShell {
private windowsService: IWindowsService;
private windowIPCService: IWindowIPCService;
private timerService: ITimerService;
private themeService: WorkbenchThemeService;
private container: HTMLElement;
private toUnbind: IDisposable[];
......@@ -213,7 +216,7 @@ export class WorkbenchShell {
'workbench.filesToCreate': filesToCreate && filesToCreate.length || undefined,
'workbench.filesToDiff': filesToDiff && filesToDiff.length || undefined,
customKeybindingsCount: info.customKeybindingsCount,
theme: info.themeId,
theme: this.themeService.getColorTheme().id,
language: platform.language,
experiments: this.telemetryService.getExperiments(),
pinnedViewlets: info.pinnedViewlets
......@@ -378,6 +381,9 @@ export class WorkbenchShell {
this.timerService.afterExtensionLoad = new Date();
});
this.themeService = instantiationService.createInstance(WorkbenchThemeService, document.body);
serviceCollection.set(IWorkbenchThemeService, this.themeService);
serviceCollection.set(ICommandService, new SyncDescriptor(CommandService));
this.contextViewService = instantiationService.createInstance(ContextViewService, this.container);
......
......@@ -67,8 +67,6 @@ import { WorkbenchMessageService } from 'vs/workbench/services/message/browser/m
import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IQuickOpenService } from 'vs/platform/quickOpen/common/quickOpen';
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService';
import { WorkbenchThemeService } from 'vs/workbench/services/themes/electron-browser/themeService';
import { ClipboardService } from 'vs/platform/clipboard/electron-browser/clipboardService';
import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
import { IHistoryService } from 'vs/workbench/services/history/common/history';
......@@ -116,7 +114,6 @@ export interface IWorkbenchStartedInfo {
restoreViewletDuration: number;
restoreEditorsDuration: number;
pinnedViewlets: string[];
themeId: string;
}
export interface IWorkbenchCallbacks {
......@@ -163,7 +160,6 @@ export class Workbench implements IPartService {
private editorService: WorkbenchEditorService;
private viewletService: IViewletService;
private contextKeyService: IContextKeyService;
private themeService: WorkbenchThemeService;
private keybindingService: IKeybindingService;
private backupFileService: IBackupFileService;
private configurationEditingService: IConfigurationEditingService;
......@@ -353,7 +349,6 @@ export class Workbench implements IPartService {
restoreViewletDuration: viewletRestoreStopWatch ? viewletRestoreStopWatch.elapsed() : 0,
restoreEditorsDuration: editorRestoreStopWatch.elapsed(),
pinnedViewlets: this.activitybarPart.getPinned(),
themeId: this.themeService.getColorTheme().id
});
}
......@@ -435,10 +430,6 @@ export class Workbench implements IPartService {
this.toDispose.push(this.lifecycleService.onShutdown(this.shutdownComponents, this));
// Theme Service
this.themeService = this.instantiationService.createInstance(WorkbenchThemeService, document.body);
serviceCollection.set(IWorkbenchThemeService, this.themeService);
// Services we contribute
serviceCollection.set(IPartService, this);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册