public PdfCreatorSettings LoadPdfCreatorSettings() { MoveSettingsIfRequired(); var regStorage = BuildStorage(); var profileBuilder = new DefaultSettingsBuilder(); var settings = profileBuilder.CreateEmptySettings(regStorage); var settingsUpgrader = new SettingsUpgradeHelper(SettingsVersion); if (UserSettingsExist()) { settings.LoadData(regStorage, "", settingsUpgrader.UpgradeSettings); } if (!_translationHelper.HasTranslation(settings.ApplicationSettings.Language)) { var language = _translationHelper.FindBestLanguage(CultureInfo.CurrentCulture); settings.ApplicationSettings.Language = language.Iso2; } if (!CheckValidSettings(settings)) { var defaultSettings = profileBuilder.CreateDefaultSettings(FindPrimaryPrinter(), regStorage, settings.ApplicationSettings.Language); if (DefaultUserSettingsExist()) { settings = LoadDefaultUserSettings(defaultSettings, profileBuilder, regStorage); } else { settings = defaultSettings; } } CheckAndAddMissingDefaultProfile(settings, profileBuilder); CheckPrinterMappings(settings); CheckTitleReplacement(settings); _translationHelper.TranslateProfileList(settings.ConversionProfiles); LogProfiles(settings); return(settings); }
private PdfCreatorSettings LoadDefaultUserSettings(PdfCreatorSettings defaultSettings) { var defaultUserStorage = new RegistryStorage(RegistryHive.Users, @".DEFAULT\" + InstallationPathProvider.SettingsRegistryPath); var data = Data.CreateDataStorage(); // Store default settings and then load the machine defaults from HKEY_USERS\.DEFAULT to give them prefrence defaultSettings.StoreValues(data, ""); defaultUserStorage.ReadData("", data); // And then load the combined settings with default user overriding our defaults var settings = (PdfCreatorSettings)DefaultSettingsBuilder.CreateEmptySettings(); settings.ReadValues(data); return(settings); }