Skip to content

Commit 24ff830

Browse files
committed
1 parent 391c92f commit 24ff830

1 file changed

Lines changed: 25 additions & 21 deletions

File tree

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

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -494,22 +494,12 @@ class ResourceRenderer implements ICompressibleTreeRenderer<ISCMResource | IReso
494494

495495
const elementDisposables = new DisposableStore();
496496
const resourceOrFolder = node.element;
497-
const theme = this.themeService.getColorTheme();
498497
const iconResource = ResourceTree.isResourceNode(resourceOrFolder) ? resourceOrFolder.element : resourceOrFolder;
499-
const icon = iconResource && (theme.type === LIGHT ? iconResource.decorations.icon : iconResource.decorations.iconDark);
500-
501498
const uri = ResourceTree.isResourceNode(resourceOrFolder) ? resourceOrFolder.uri : resourceOrFolder.sourceUri;
502499
const fileKind = ResourceTree.isResourceNode(resourceOrFolder) ? FileKind.FOLDER : FileKind.FILE;
503500
const viewModel = this.viewModelProvider();
504-
505501
const [matches, descriptionMatches] = splitMatches(uri, node.filterData);
506-
template.fileLabel.setFile(uri, {
507-
fileDecorations: { colors: false, badges: !icon },
508-
hidePath: viewModel.mode === ViewModelMode.Tree,
509-
fileKind,
510-
matches,
511-
descriptionMatches
512-
});
502+
const tooltip = !ResourceTree.isResourceNode(resourceOrFolder) && resourceOrFolder.decorations.tooltip || '';
513503

514504
template.actionBar.clear();
515505
template.actionBar.context = resourceOrFolder;
@@ -533,17 +523,31 @@ class ResourceRenderer implements ICompressibleTreeRenderer<ISCMResource | IReso
533523
toggleClass(template.element, 'faded', resourceOrFolder.decorations.faded);
534524
}
535525

536-
const tooltip = !ResourceTree.isResourceNode(resourceOrFolder) && resourceOrFolder.decorations.tooltip || '';
526+
const render = () => {
527+
const theme = this.themeService.getColorTheme();
528+
const icon = iconResource && (theme.type === LIGHT ? iconResource.decorations.icon : iconResource.decorations.iconDark);
537529

538-
if (icon) {
539-
template.decorationIcon.style.display = '';
540-
template.decorationIcon.style.backgroundImage = `url('${icon}')`;
541-
template.decorationIcon.title = tooltip;
542-
} else {
543-
template.decorationIcon.style.display = 'none';
544-
template.decorationIcon.style.backgroundImage = '';
545-
template.decorationIcon.title = '';
546-
}
530+
template.fileLabel.setFile(uri, {
531+
fileDecorations: { colors: false, badges: !icon },
532+
hidePath: viewModel.mode === ViewModelMode.Tree,
533+
fileKind,
534+
matches,
535+
descriptionMatches
536+
});
537+
538+
if (icon) {
539+
template.decorationIcon.style.display = '';
540+
template.decorationIcon.style.backgroundImage = `url('${icon}')`;
541+
template.decorationIcon.title = tooltip;
542+
} else {
543+
template.decorationIcon.style.display = 'none';
544+
template.decorationIcon.style.backgroundImage = '';
545+
template.decorationIcon.title = '';
546+
}
547+
};
548+
549+
elementDisposables.add(this.themeService.onDidColorThemeChange(render));
550+
render();
547551

548552
template.element.setAttribute('data-tooltip', tooltip);
549553
template.elementDisposables = elementDisposables;

0 commit comments

Comments
 (0)