diff --git a/src/vs/base/parts/tree/browser/tree.css b/src/vs/base/parts/tree/browser/tree.css index 2d2f61abc41294e98930730e1a91915b8aeffba9..d9aaa763cd50c15aac53336d5230a067092b9817 100644 --- a/src/vs/base/parts/tree/browser/tree.css +++ b/src/vs/base/parts/tree/browser/tree.css @@ -64,7 +64,7 @@ /* Expansion */ -.monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children > .content:before { +.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content:before { content: ' '; position: absolute; display: block; @@ -75,7 +75,7 @@ left: -16px; } -.monaco-tree .monaco-tree-rows > .monaco-tree-row.expanded > .content:before { +.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded > .content:before { background-image: url('expanded.svg'); } @@ -109,11 +109,11 @@ .vs-dark .monaco-tree-wrapper.drop-target, .vs-dark .monaco-tree .monaco-tree-row.drop-target { background-color: #383B3D !important; color: inherit !important; } -.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children > .content:before { +.vs-dark .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content:before { background-image: url('collapsed-dark.svg'); } -.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row.expanded > .content:before { +.vs-dark .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded > .content:before { background-image: url('expanded-dark.svg'); } @@ -131,11 +131,11 @@ .hc-black .monaco-tree .monaco-tree-wrapper.drop-target, .hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.drop-target { background: none !important; border: 1px dashed #f38518; } -.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children > .content:before { +.hc-black .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content:before { background-image: url('collapsed-hc.svg'); } -.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.expanded > .content:before { +.hc-black .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded > .content:before { background-image: url('expanded-hc.svg'); } diff --git a/src/vs/base/parts/tree/browser/tree.ts b/src/vs/base/parts/tree/browser/tree.ts index fc122b48b41e0eced17450b70c5327340631f8d3..b59f4b267cc831ca86b9c99532f2318fe1d8ad5d 100644 --- a/src/vs/base/parts/tree/browser/tree.ts +++ b/src/vs/base/parts/tree/browser/tree.ts @@ -634,6 +634,7 @@ export interface ITreeConfiguration { export interface ITreeOptions { twistiePixels?: number; + showTwistie?: boolean; indentPixels?: number; verticalScrollMode?: ScrollbarVisibility; alwaysFocused?: boolean; diff --git a/src/vs/base/parts/tree/browser/treeImpl.ts b/src/vs/base/parts/tree/browser/treeImpl.ts index 3ea5c7251b116d7520b8a57a3a3aa6aef675af3a..3e8879bdb90cf1dcbd8a934145394425ee604072 100644 --- a/src/vs/base/parts/tree/browser/treeImpl.ts +++ b/src/vs/base/parts/tree/browser/treeImpl.ts @@ -64,6 +64,7 @@ export class Tree extends Events.EventEmitter implements _.ITree { this.options = options; this.options.twistiePixels = typeof this.options.twistiePixels === 'number' ? this.options.twistiePixels : 32; + this.options.showTwistie = this.options.showTwistie === false ? false : true; this.options.indentPixels = typeof this.options.indentPixels === 'number' ? this.options.indentPixels : 12; this.options.alwaysFocused = this.options.alwaysFocused === true ? true : false; this.options.useShadows = this.options.useShadows === false ? false : true; diff --git a/src/vs/base/parts/tree/browser/treeView.ts b/src/vs/base/parts/tree/browser/treeView.ts index 2d9a815f57c966925086cea17d05d7acca47d58b..4fa1b9b7afd644ab80c7461d346be15007ea4f98 100644 --- a/src/vs/base/parts/tree/browser/treeView.ts +++ b/src/vs/base/parts/tree/browser/treeView.ts @@ -504,6 +504,9 @@ export class TreeView extends HeightMap { this.rowsContainer = document.createElement('div'); this.rowsContainer.className = 'monaco-tree-rows'; + if (context.options.showTwistie) { + this.rowsContainer.className += ' show-twisties'; + } var focusTracker = DOM.trackFocus(this.domNode); focusTracker.addFocusListener(() => this.onFocus());