Ejemplo n.º 1
0
        public void UpdateCollection(
            ICollectionView view,
            IUserPreferences userPreferences)
        {
            foreach (var metadata in view.Cast <DocumentMetadata>())
            {
                var brush = _projectBrushService.GetBrush(
                    metadata.ProjectNames.FullName,
                    userPreferences);

                metadata.ProjectBrush = brush;
            }
        }
Ejemplo n.º 2
0
        public void UpdateCollection(
            ICollectionView view,
            IUserPreferences userPreferences)
        {
            var collection = (IList <DocumentMetadata>)view.SourceCollection;

            foreach (var metadata in collection)
            {
                var brush = _projectBrushService.GetBrush(
                    metadata.ProjectNames.FullName,
                    userPreferences);

                metadata.ProjectBrush = brush;
            }
        }
        /// <summary>
        /// Creates a new <see cref="DocumentMetadata"/>, setting
        /// <see cref="DocumentMetadata.ActivatedAt"/> at the specified time
        /// </summary>
        /// <param name="info">
        /// Information about the document's full name and containing project
        /// </param>
        /// <param name="activatedAt">
        /// Value to set <see cref="DocumentMetadata.ActivatedAt"/> as
        /// </param>
        /// <returns>A new <see cref="DocumentMetadata"/> instance</returns>
        public DocumentMetadata Create(DocumentMetadataInfo info, DateTime activatedAt)
        {
            var correctedCasing = _pathCasingRestorer.RestoreCasing(info.FullName);

            var displayName = _filePathService.ReducePath(
                correctedCasing,
                _userPreferences.PathSegmentCount);

            var projectBrush = _projectBrushService.GetBrush(
                info.ProjectFullName,
                _userPreferences);

            var extension = Path.GetExtension(info.FullName);
            var icon      = _documentIconService.GetIcon(extension);

            var displayNameHighlight = _displayNameHighlightEvaluator
                                       .GetHighlight(
                displayName,
                _userPreferences.HighlightFileName);

            var displayNamePostHighlight = _displayNameHighlightEvaluator
                                           .GetPostHighlight(
                displayName,
                _userPreferences.HighlightFileName);

            var displayNamePreHighlight = _displayNameHighlightEvaluator
                                          .GetPreHighlight(
                displayName,
                _userPreferences.HighlightFileName);

            var metadata = new DocumentMetadata(info, correctedCasing, icon)
            {
                ActivatedAt              = activatedAt,
                DisplayNameHighlight     = displayNameHighlight,
                DisplayNamePostHighlight = displayNamePostHighlight,
                DisplayNamePreHighlight  = displayNamePreHighlight,
                ProjectBrush             = projectBrush
            };

            return(metadata);
        }