Exemple #1
0
        /// <summary>
        /// Deletes files and directories scheduled for deletion by the settings provider.
        /// </summary>
        /// <param name="settings"><see cref="ISettingsProvider"/> managing the files and directories scheduled for deletion.</param>
        /// <param name="provider"><see cref="IFileSystem"/> managing where the files and directories are located.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="settings"/> or <paramref name="provider"/> is null.</exception>
        protected async Task DeleteScheduledFiles(ISettingsProvider settings, IFileSystem provider)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            if (provider == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            // Files
            foreach (var item in settings.GetFilesScheduledForDeletion().ToList()) // Create a new list because the original will be continuously modified
            {
                if (CurrentFileSystem.FileExists(item))
                {
                    CurrentFileSystem.DeleteFile(item);
                }
                CurrentSettingsProvider.UnscheduleFileForDeletion(item);
                await CurrentSettingsProvider.Save(provider);
            }

            // Directories
            foreach (var item in settings.GetDirectoriesScheduledForDeletion().ToList())
            {
                if (CurrentFileSystem.DirectoryExists(item))
                {
                    CurrentFileSystem.DeleteDirectory(item);
                }
                CurrentSettingsProvider.UnscheduleDirectoryForDeletion(item);
                await CurrentSettingsProvider.Save(provider);
            }
        }
Exemple #2
0
 public SettingsChanged(CurrentSettingsProvider settingsProvider,
                        ILanguageProvider languageProvider, IGpoSettings gpoSettings, ISettingsManager settingsManager)
 {
     _settingsProvider              = settingsProvider;
     _languageProvider              = languageProvider;
     _gpoSettings                   = gpoSettings;
     settingsManager.SettingsSaved += SettingsManager_SettingsSaved;
     _currentSettingsSnapshot       = _settingsProvider.Settings.Copy();
 }
Exemple #3
0
 void impl_SelectedIndexChanged(object sender, EventArgs e)
 {
     foreach (Profile p in pHandler.Profiles)
     {
         if (CurrentSettingsProvider.IsSameType((TProfileSettings)p.BaseSettings))
         {
             pHandler.SelectedProfile = p.Name;
             return;
         }
     }
     pHandler.SelectedProfile = null;
 }
Exemple #4
0
 void impl_SelectedIndexChanged(object sender, EventArgs e)
 {
     //only want to change the selected profile if the base setting do not match current settings provider.
     if (pHandler.CurrentProfile != null && CurrentSettingsProvider.IsSameType((TProfileSettings)pHandler.CurrentProfile.BaseSettings))
     {
         return;
     }
     foreach (Profile p in pHandler.Profiles)
     {
         if (CurrentSettingsProvider.IsSameType((TProfileSettings)p.BaseSettings))
         {
             pHandler.SelectedProfile = p.Name;
             return;
         }
     }
     pHandler.SelectedProfile = null;
 }