Example #1
0
        void GenerateSidecarFilesImpl(DirectoryInfo current, IconReference parentIcon, bool previewMode, bool recursive = true)
        {
            var icon     = DesktopIniParser.GetIcon(current.FullName);
            var infoFile = new FolderInfoFile(current);
            var info     = infoFile.Object;
            var iconInfo = infoFile.Object.Icon;
            //IconReference finalIcon;
            //var isNew = GetCurrentIconFromIni(current, icon, parentIcon, iconInfo, out finalIcon);
            var finalIcon = icon;
            var isNew     = (icon.Resource != parentIcon.Resource && !icon.IsEmpty);

            if (isNew)
            {
                ReportProgress(0, $"Setting Main Icon To <<LINK:{finalIcon.Info}::500>> for <<LINK:{current.FullName}::800>> [<<LINK:{parentIcon.Info}>>]");
                //ReportStatus($"Setting Main Icon To [LINK:{icon.Info}::500] for [LINK:{current.FullName}::800] [Parent: [LINK:{parentIcon.Info}]]");
                if (!previewMode)
                {
                    info.Icon.Main = finalIcon.Resource;
                    infoFile.Save();
                }
            }
            if (!recursive)
            {
                return;
            }
            foreach (var child in current.EnumerateDirectoriesSafe())
            {
                GenerateSidecarFilesImpl(child, finalIcon.IsEmpty ? parentIcon : finalIcon, previewMode);
            }
        }
Example #2
0
        private void SaveIconToSidecarImpl()
        {
            var directory     = SelectedDirectory;
            var icon          = IconReference.FromResource(directory.FullPath, SelectedIcon.FullPath);
            var directoryInfo = new DirectoryInfo(directory.FullPath);
            var infoFile      = new FolderInfoFile(directoryInfo);
            var info          = infoFile.Object;

            info.Icon.Main = icon.Resource;
            infoFile.Save();
            directory.Image.Refresh();
            directory.OnPropertyChanged(nameof(directory.SidecarExists));
            directory.OnPropertyChanged(nameof(directory.Sidecar));
        }
Example #3
0
        private void SaveIconToSidecarImpl()
        {
            var directory     = SelectedDirectory;
            var icon          = IconReference.FromResource(directory.FullPath, SelectedIcon.FullPath);
            var directoryInfo = new DirectoryInfo(directory.FullPath);
            //TODO: Simplify Access to FolderInfoFile Constructor
            var infoFile = new FolderInfoFile(directoryInfo, SidecarType.Main, null);
            var info     = infoFile.Object;

            info.Icon.Main = icon.Resource;
            infoFile.Save();
            directory.Image.Result.Refresh();
            directory.OnPropertyChanged(nameof(directory.SidecarExists));
            directory.OnPropertyChanged(nameof(directory.Sidecar));
        }