diff --git a/src/vs/workbench/parts/files/browser/media/explorerviewlet.css b/src/vs/workbench/parts/files/browser/media/explorerviewlet.css index 749714d7782f880e27445e02256b4554fff6a503..fd26c32d640346d582fcede7d0ce99ac0700aea1 100644 --- a/src/vs/workbench/parts/files/browser/media/explorerviewlet.css +++ b/src/vs/workbench/parts/files/browser/media/explorerviewlet.css @@ -106,6 +106,10 @@ background-image: url("collapsed-hc.svg"); } +.explorer-folders-view.hide-arrows .monaco-tree-row .content::before { + background-image: none; +} + .explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row:hover > .content .monaco-action-bar, .explorer-viewlet .explorer-open-editors .monaco-tree.focused .monaco-tree-row.focused > .content .monaco-action-bar, .explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content.dirty > .monaco-action-bar { diff --git a/src/vs/workbench/parts/files/browser/views/explorerView.ts b/src/vs/workbench/parts/files/browser/views/explorerView.ts index eb9f3dbdc9be0c5dcf2a0fc77ecc7e912ac98ec9..aa33c61269de52660354e23da8d1ff40057d1265 100644 --- a/src/vs/workbench/parts/files/browser/views/explorerView.ts +++ b/src/vs/workbench/parts/files/browser/views/explorerView.ts @@ -161,6 +161,7 @@ export class ExplorerView extends ViewsViewletPanel { const onFileIconThemeChange = (fileIconTheme: IFileIconTheme) => { DOM.toggleClass(this.treeContainer, 'align-icons-and-twisties', fileIconTheme.hasFileIcons && !fileIconTheme.hasFolderIcons); + DOM.toggleClass(this.treeContainer, 'hide-arrows', fileIconTheme.hidesExplorerArrows); }; this.disposables.push(this.themeService.onDidFileIconThemeChange(onFileIconThemeChange)); diff --git a/src/vs/workbench/services/themes/common/workbenchThemeService.ts b/src/vs/workbench/services/themes/common/workbenchThemeService.ts index dfacea5a13ccc2a767b96b7fac1f3b456b94d951..2334ac25ae40324d2d7dd0853da8adf83e3899af 100644 --- a/src/vs/workbench/services/themes/common/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/common/workbenchThemeService.ts @@ -47,6 +47,7 @@ export interface IFileIconTheme { readonly isLoaded: boolean; readonly hasFileIcons?: boolean; readonly hasFolderIcons?: boolean; + readonly hidesExplorerArrows?: boolean; } export interface IWorkbenchThemeService extends IThemeService { diff --git a/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts b/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts index fcdd7f82d21bcf02ba6d4f7f94f278ac7c5a80f5..14bb8048c97e4093b295cb01f5b456b5f653695a 100644 --- a/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts +++ b/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts @@ -21,6 +21,7 @@ export class FileIconThemeData implements IFileIconTheme { description?: string; hasFileIcons?: boolean; hasFolderIcons?: boolean; + hidesExplorerArrows?: boolean; isLoaded: boolean; path?: string; extensionData: ExtensionData; @@ -38,6 +39,7 @@ export class FileIconThemeData implements IFileIconTheme { this.styleSheetContent = result.content; this.hasFileIcons = result.hasFileIcons; this.hasFolderIcons = result.hasFolderIcons; + this.hidesExplorerArrows = result.hidesExplorerArrows; this.isLoaded = true; return this.styleSheetContent; }); @@ -69,6 +71,7 @@ export class FileIconThemeData implements IFileIconTheme { themeData.settingsId = null; themeData.hasFileIcons = false; themeData.hasFolderIcons = false; + themeData.hidesExplorerArrows = false; themeData.isLoaded = true; themeData.extensionData = null; } @@ -110,6 +113,7 @@ interface IconThemeDocument extends IconsAssociation { fonts: FontDefinition[]; light?: IconsAssociation; highContrast?: IconsAssociation; + hidesExplorerArrows?: boolean; } function _loadIconThemeDocument(fileSetPath: string): TPromise { @@ -123,9 +127,9 @@ function _loadIconThemeDocument(fileSetPath: string): TPromise