public override ExitCode Run() { var settings = _iniSettingsLoader.LoadIniSettings(SettingsFile); if (settings == null) { return(ExitCode.InvalidSettingsFile); } if (!_settingsProvider.CheckValidSettings(settings)) { return(ExitCode.InvalidSettingsInGivenFile); } try { var storage = _storageFactory.BuildRegistryStorage(RegistryHive.Users, ".Default\\" + _pathProvider.SettingsRegistryPath); settings.SaveData(storage, ""); } catch (Exception) { return(ExitCode.ErrorWhileSavingDefaultSettings); } return(ExitCode.Ok); }
public bool LoadIniSettings() { var fileName = QueryLoadFileName(); if (string.IsNullOrWhiteSpace(fileName)) { return(false); } var overwriteSettings = QueryOverwriteSettings(); if (!overwriteSettings) { return(false); } var settings = _iniSettingsLoader.LoadIniSettings(fileName); if (!_settingsProvider.CheckValidSettings(settings)) { DisplayInvalidSettingsWarning(); return(false); } _settingsManager.ApplyAndSaveSettings(settings); return(true); }
public void ApplySharedSettings(PdfCreatorSettings currentSettings) { if (!_gpoSettings.LoadSharedAppSettings && !_gpoSettings.LoadSharedProfiles) { return; } var iniFile = GetSharedSettingsIniFile(); if (iniFile == null) { return; } try { var sharedSettings = (PdfCreatorSettings)_iniSettingsLoader.LoadIniSettings(iniFile); foreach (var profile in sharedSettings.ConversionProfiles) { profile.Properties.IsShared = true; } ApplyAppSettings(currentSettings, sharedSettings); ApplyProfiles(currentSettings, sharedSettings); _logger.Info("Apply shared settings from '" + iniFile + "'."); } catch { _logger.Warn("Could not load settings from '" + iniFile + "'."); } }
private PdfCreatorSettings GetSharedSettings() { var iniFile = GetSharedSettingsIniFile(); if (iniFile == null) { _logger.Debug("Could not find shared settings.ini."); return(null); } try { _logger.Info("Get shared settings from '" + iniFile + "'."); var sharedSettings = (PdfCreatorSettings)_iniSettingsLoader.LoadIniSettings(iniFile); foreach (var profile in sharedSettings.ConversionProfiles) { profile.Properties.IsShared = true; } return(sharedSettings); } catch { _logger.Warn("Could not load settings from '" + iniFile + "'."); return(null); } }
public void Run_IniSettingsLoaderReturnsNull_StartUpResultIsInvalidSettingsFile() { _iniSettingsLoader.LoadIniSettings(Arg.Any <string>()).ReturnsNull(); var result = _initializeDefaultSettingsStart.Run(); Assert.AreEqual(ExitCode.InvalidSettingsFile, result); }
public override bool LoadIniSettings() { var fileName = QueryLoadFileName(); if (string.IsNullOrWhiteSpace(fileName)) { return(false); } var overwriteSettings = QueryOverwriteSettings(); if (!overwriteSettings) { return(false); } if (_iniSettingsLoader.LoadIniSettings(fileName) is PdfCreatorSettings settings) { if (!_settingsProvider.CheckValidSettings(settings)) { DisplayInvalidSettingsWarning(); return(false); } var missingPrinters = FindMissingPrinters(settings.ApplicationSettings.PrinterMappings); var unusedPrinters = GetUnusedPrinters(settings.ApplicationSettings.PrinterMappings); if (unusedPrinters.Any()) { QueryAndDeleteUnusedPrinters(unusedPrinters); } if (missingPrinters.Any()) { QueryAndAddMissingPrinters(missingPrinters); } _actionOrderChecker.Check(settings.ConversionProfiles); foreach (var profile in settings.ConversionProfiles) { profile.Properties.IsShared = false; } _settingsManager.ApplyAndSaveSettings(settings); } return(true); }
public void Setup() { var checkAllStartupConditions = Substitute.For <ICheckAllStartupConditions>(); _iniSettingsLoader = Substitute.For <IIniSettingsLoader>(); _settings = new PdfCreatorSettings(Substitute.For <IStorage>()); _iniSettingsLoader.LoadIniSettings(Arg.Any <string>()).Returns(_settings); _settingsProvider = Substitute.For <ISettingsProvider>(); _settingsProvider.CheckValidSettings(_settings).Returns(true); _pathProvider = Substitute.For <IInstallationPathProvider>(); _storageFactory = Substitute.For <IDataStorageFactory>(); _initializeDefaultSettingsStart = new InitializeDefaultSettingsStart(checkAllStartupConditions, _iniSettingsLoader, _settingsProvider, _pathProvider, _storageFactory); }
public void LoadIniSettings_HasNoMissingPrinters_NoPrintersAreAdded() { _iniSettingsLoader.LoadIniSettings(Arg.Any <string>()) .Returns(info => new PdfCreatorSettings()); // return empty settings, so there are no missing printers const string filename = "MyFileName"; SetSuccessfulOpenFileInteraction(filename); _invoker.When(x => x.Invoke(Arg.Any <MessageInteraction>())) .Do(info => info.Arg <MessageInteraction>().Response = MessageResponse.Yes); _settingsHelper.CheckValidSettings(Arg.Any <PdfCreatorSettings>()).Returns(true); _creatorIniSettingsAssistant.LoadIniSettings(); _iniSettingsLoader.Received().LoadIniSettings(filename); _settingsManager.Received().ApplyAndSaveSettings(Arg.Any <PdfCreatorSettings>()); }