Exemple #1
0
        private void bgwCommand_DoWork(FolderIconCommandArguments arguments)
        {
            var parent = arguments.Directory.Parent;

            Roots.Refresh();
            switch (arguments.Command)
            {
            case FolderIconCommand.SetIconTree:
            case FolderIconCommand.SetIconsAuto:
            case FolderIconCommand.ApplyFolderIcons:
                if (Toggles.ResetCaches)
                {
                    ResetCachesImpl();
                }
                break;
            }
            switch (arguments.Command)
            {
            case FolderIconCommand.GenerateSidecarFiles:
                var parentIcon = DesktopIniParser.GetIcon(parent.FullName);
                GenerateSidecarFilesImpl(arguments.Directory, parentIcon, arguments.PreviewMode, arguments.Recursive);
                break;

            case FolderIconCommand.SetIconTree:
                SetIconTreeImpl(arguments);
                break;

            case FolderIconCommand.SetIconsAuto:
                SetIconAutoImpl(arguments);
                break;

            case FolderIconCommand.FixAttributes:
            case FolderIconCommand.ApplyFolderIcons:
                var parentInfo = FolderIconInfo.Get(parent.FullName);
                ApplyFolderIconsImpl(arguments.Directory, parentInfo, arguments.PreviewMode, arguments.Command == FolderIconCommand.FixAttributes, arguments.Recursive);
                break;
            }
        }