diff --git a/src/vs/workbench/browser/parts/views/views.ts b/src/vs/workbench/browser/parts/views/viewsService.ts similarity index 96% rename from src/vs/workbench/browser/parts/views/views.ts rename to src/vs/workbench/browser/parts/views/viewsService.ts index 3bb215d5ec6..43d77b0160e 100644 --- a/src/vs/workbench/browser/parts/views/views.ts +++ b/src/vs/workbench/browser/parts/views/viewsService.ts @@ -15,7 +15,6 @@ import { isString } from 'vs/base/common/types'; import { MenuId, registerAction2, Action2 } from 'vs/platform/actions/common/actions'; import { localize } from 'vs/nls'; import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; -import { toggleClass, addClass } from 'vs/base/browser/dom'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { IPaneComposite } from 'vs/workbench/common/panecomposite'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; @@ -23,7 +22,7 @@ import { ServicesAccessor, IInstantiationService } from 'vs/platform/instantiati import { ViewPaneContainer } from 'vs/workbench/browser/parts/views/viewPaneContainer'; import { PaneCompositePanel, PanelRegistry, PanelDescriptor, Extensions as PanelExtensions } from 'vs/workbench/browser/panel'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { IThemeService, IFileIconTheme } from 'vs/platform/theme/common/themeService'; +import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; @@ -482,17 +481,4 @@ export class ViewsService extends Disposable implements IViewsService { } } -export function createFileIconThemableTreeContainerScope(container: HTMLElement, themeService: IThemeService): IDisposable { - addClass(container, 'file-icon-themable-tree'); - addClass(container, 'show-file-icons'); - - const onDidChangeFileIconTheme = (theme: IFileIconTheme) => { - toggleClass(container, 'align-icons-and-twisties', theme.hasFileIcons && !theme.hasFolderIcons); - toggleClass(container, 'hide-arrows', theme.hidesExplorerArrows === true); - }; - - onDidChangeFileIconTheme(themeService.getFileIconTheme()); - return themeService.onDidFileIconThemeChange(onDidChangeFileIconTheme); -} - registerSingleton(IViewsService, ViewsService); diff --git a/src/vs/workbench/contrib/files/browser/views/explorerView.ts b/src/vs/workbench/contrib/files/browser/views/explorerView.ts index 59395768db7..0b77b620e36 100644 --- a/src/vs/workbench/contrib/files/browser/views/explorerView.ts +++ b/src/vs/workbench/contrib/files/browser/views/explorerView.ts @@ -30,7 +30,7 @@ import { IEditorService, SIDE_GROUP, ACTIVE_GROUP } from 'vs/workbench/services/ import { IViewPaneOptions, ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer'; import { ILabelService } from 'vs/platform/label/common/label'; import { ExplorerDelegate, ExplorerDataSource, FilesRenderer, ICompressedNavigationController, FilesFilter, FileSorter, FileDragAndDrop, ExplorerCompressionDelegate, isCompressedFolderName } from 'vs/workbench/contrib/files/browser/views/explorerViewer'; -import { IThemeService } from 'vs/platform/theme/common/themeService'; +import { IThemeService, IFileIconTheme } from 'vs/platform/theme/common/themeService'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { ITreeContextMenuEvent } from 'vs/base/browser/ui/tree/tree'; import { IMenuService, MenuId, IMenu } from 'vs/platform/actions/common/actions'; @@ -39,7 +39,6 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ExplorerItem, NewExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel'; import { onUnexpectedError } from 'vs/base/common/errors'; import { ResourceLabels } from 'vs/workbench/browser/labels'; -import { createFileIconThemableTreeContainerScope } from 'vs/workbench/browser/parts/views/views'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IAsyncDataTreeViewState } from 'vs/base/browser/ui/tree/asyncDataTree'; import { FuzzyScore } from 'vs/base/common/filters'; @@ -49,7 +48,7 @@ import { values } from 'vs/base/common/map'; import { first } from 'vs/base/common/arrays'; import { withNullAsUndefined } from 'vs/base/common/types'; import { IFileService, FileSystemProviderCapabilities } from 'vs/platform/files/common/files'; -import { DisposableStore } from 'vs/base/common/lifecycle'; +import { DisposableStore, IDisposable } from 'vs/base/common/lifecycle'; import { Event } from 'vs/base/common/event'; import { attachStyler, IColorMapping } from 'vs/platform/theme/common/styler'; import { ColorValue, listDropBackground } from 'vs/platform/theme/common/colorRegistry'; @@ -790,3 +789,16 @@ export class ExplorerView extends ViewPane { super.dispose(); } } + +function createFileIconThemableTreeContainerScope(container: HTMLElement, themeService: IThemeService): IDisposable { + DOM.addClass(container, 'file-icon-themable-tree'); + DOM.addClass(container, 'show-file-icons'); + + const onDidChangeFileIconTheme = (theme: IFileIconTheme) => { + DOM.toggleClass(container, 'align-icons-and-twisties', theme.hasFileIcons && !theme.hasFolderIcons); + DOM.toggleClass(container, 'hide-arrows', theme.hidesExplorerArrows === true); + }; + + onDidChangeFileIconTheme(themeService.getFileIconTheme()); + return themeService.onDidFileIconThemeChange(onDidChangeFileIconTheme); +} diff --git a/src/vs/workbench/workbench.common.main.ts b/src/vs/workbench/workbench.common.main.ts index d8ffd1576f2..b1efb5d681f 100644 --- a/src/vs/workbench/workbench.common.main.ts +++ b/src/vs/workbench/workbench.common.main.ts @@ -45,7 +45,7 @@ import 'vs/workbench/browser/parts/activitybar/activitybarPart'; import 'vs/workbench/browser/parts/panel/panelPart'; import 'vs/workbench/browser/parts/sidebar/sidebarPart'; import 'vs/workbench/browser/parts/statusbar/statusbarPart'; -import 'vs/workbench/browser/parts/views/views'; +import 'vs/workbench/browser/parts/views/viewsService'; //#endregion