Skip to content

Commit efca601

Browse files
committed
scm ux: setting to toggle providers counts
related to #101103
1 parent fd8a774 commit efca601

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

src/vs/workbench/contrib/scm/browser/media/scm.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
flex-flow: nowrap;
3131
}
3232

33-
.scm-view .scm-provider > .count {
33+
.scm-view.hide-provider-counts .scm-provider > .count,
34+
.scm-view.auto-provider-counts .scm-provider > .count[data-count="0"] {
3435
display: none;
3536
}
3637

src/vs/workbench/contrib/scm/browser/scm.contribution.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,17 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration).regis
143143
description: localize('scm.countBadge', "Controls the Source Control count badge."),
144144
default: 'all'
145145
},
146+
'scm.providerCountBadge': {
147+
type: 'string',
148+
enum: ['hidden', 'auto', 'visible'],
149+
enumDescriptions: [
150+
localize('scm.providerCountBadge.hidden', "Hide Source Control Providers count badges."),
151+
localize('scm.providerCountBadge.auto', "Show Source Control Providers count badges if there are any changes."),
152+
localize('scm.providerCountBadge.visible', "Show Source Control Providers count badges.")
153+
],
154+
description: localize('scm.providerCountBadge', "Controls the Source Control Providers count badge."),
155+
default: 'hidden'
156+
},
146157
'scm.defaultViewMode': {
147158
type: 'string',
148159
enum: ['tree', 'list'],

src/vs/workbench/contrib/scm/browser/scmViewPane.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ class RepositoryRenderer implements ICompressibleTreeRenderer<ISCMRepository, Fu
222222
updateToolbar();
223223

224224
const count = repository.provider.count || 0;
225+
templateData.countContainer.setAttribute('data-count', String(count));
225226
templateData.count.setCount(count);
226227
};
227228
disposables.add(repository.provider.onDidChange(onDidChangeProvider, null));
@@ -1617,6 +1618,14 @@ export class SCMViewPane extends ViewPane {
16171618
Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.alwaysShowActions'))(updateActionsVisibility);
16181619
updateActionsVisibility();
16191620

1621+
const updateProviderCountVisibility = () => {
1622+
const value = this.configurationService.getValue<'hidden' | 'auto' | 'visible'>('scm.providerCountBadge');
1623+
toggleClass(this.listContainer, 'hide-provider-counts', value === 'hidden');
1624+
toggleClass(this.listContainer, 'auto-provider-counts', value === 'auto');
1625+
};
1626+
Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.providerCountBadge'))(updateProviderCountVisibility);
1627+
updateProviderCountVisibility();
1628+
16201629
const repositories = new SimpleSequence(this.scmService.repositories, this.scmService.onDidAddRepository, this.scmService.onDidRemoveRepository);
16211630
this._register(repositories);
16221631

0 commit comments

Comments
 (0)