From 04bfb983d7fb0b33f8a9d3acc3164fc12c4ce459 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Fri, 20 Sep 2019 16:43:22 +0200 Subject: [PATCH] scm tree: proper icon theme alignment --- .../browser/parts/views/media/views.css | 6 +++--- .../contrib/scm/browser/media/scmViewlet.css | 6 ++++++ .../contrib/scm/browser/repositoryPanel.ts | 19 ++++++++++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/browser/parts/views/media/views.css b/src/vs/workbench/browser/parts/views/media/views.css index 2e5ebe1420b..1127eae5c34 100644 --- a/src/vs/workbench/browser/parts/views/media/views.css +++ b/src/vs/workbench/browser/parts/views/media/views.css @@ -52,9 +52,9 @@ /* File icons in trees */ -.file-icon-themable-tree.align-icons-and-twisties .monaco-tl-twistie:not(.collapsible), -.file-icon-themable-tree .align-icon-with-twisty .monaco-tl-twistie:not(.collapsible), -.file-icon-themable-tree.hide-arrows .monaco-tl-twistie { +.file-icon-themable-tree.align-icons-and-twisties .monaco-tl-twistie:not(.force-twistie):not(.collapsible), +.file-icon-themable-tree .align-icon-with-twisty .monaco-tl-twistie:not(.force-twistie):not(.collapsible), +.file-icon-themable-tree.hide-arrows .monaco-tl-twistie:not(.force-twistie) { background-image: none !important; width: 0 !important; margin-right: 0 !important; diff --git a/src/vs/workbench/contrib/scm/browser/media/scmViewlet.css b/src/vs/workbench/contrib/scm/browser/media/scmViewlet.css index 54e5506ae01..5aab7077548 100644 --- a/src/vs/workbench/contrib/scm/browser/media/scmViewlet.css +++ b/src/vs/workbench/contrib/scm/browser/media/scmViewlet.css @@ -192,3 +192,9 @@ .scm-viewlet .scm-editor.scroll > .monaco-inputbox > .wrapper > textarea.input { overflow-y: scroll; } + +.scm-viewlet .list-view-mode .monaco-tl-twistie:not(.force-twistie):not(.collapsible) { + background-image: none !important; + width: 8px !important; + margin-right: 0 !important; +} diff --git a/src/vs/workbench/contrib/scm/browser/repositoryPanel.ts b/src/vs/workbench/contrib/scm/browser/repositoryPanel.ts index 998f536012c..5919689b242 100644 --- a/src/vs/workbench/contrib/scm/browser/repositoryPanel.ts +++ b/src/vs/workbench/contrib/scm/browser/repositoryPanel.ts @@ -49,6 +49,7 @@ import { IViewDescriptor } from 'vs/workbench/common/views'; import { localize } from 'vs/nls'; import { flatten } from 'vs/base/common/arrays'; import { memoize } from 'vs/base/common/decorators'; +import { IWorkbenchThemeService, IFileIconTheme } from 'vs/workbench/services/themes/common/workbenchThemeService'; type TreeElement = ISCMResourceGroup | IBranchNode | ISCMResource; @@ -72,6 +73,9 @@ class ResourceGroupRenderer implements ICompressibleTreeRenderer { + toggleClass(this.listContainer, 'list-view-mode', this.viewModel.mode === ViewModelMode.List); + toggleClass(this.listContainer, 'align-icons-and-twisties', this.viewModel.mode === ViewModelMode.Tree && theme.hasFileIcons && !theme.hasFolderIcons); + toggleClass(this.listContainer, 'hide-arrows', this.viewModel.mode === ViewModelMode.Tree && theme.hidesExplorerArrows === true); + }; + + updateIndentStyles(this.themeService.getFileIconTheme()); + this._register(this.themeService.onDidFileIconThemeChange(updateIndentStyles)); + this._register(this.viewModel.onDidChangeMode(() => updateIndentStyles(this.themeService.getFileIconTheme()))); + this.toggleViewModelModeAction = new ToggleViewModeAction(this.viewModel); this._register(this.toggleViewModelModeAction); -- GitLab