@@ -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