public void SettingsUpdateV3To4_VersionBecomes4_TiffColorBlackWihteGetsBlackWhiteG4Fax()
        {
            const int oldSettingsVersion = 3;
            const int newSettingsVersion = 4;

            var ini         = new IniStorage(Encoding.UTF8);
            var builder     = new DefaultSettingsBuilder();
            var oldSettings = builder.CreateDefaultSettings("PDFCreator", ini, "English");

            oldSettings.ConversionProfiles[0].TiffSettings.Color = TiffColor.BlackWhiteG4Fax;
            var currentSettingsVersion = oldSettings.ApplicationProperties.SettingsVersion;

            oldSettings.ApplicationProperties.SettingsVersion = oldSettingsVersion;
            var iniFile = Path.Combine(_th.TmpTestFolder, "TestSettings.ini");

            oldSettings.SaveData(ini, iniFile);

            var settingsFromIni = File.ReadAllText(iniFile);

            settingsFromIni = settingsFromIni.Replace("BlackWhiteG4Fax", "BlackWhite");
            File.WriteAllText(iniFile, settingsFromIni);

            var upgrader = new SettingsUpgradeHelper(newSettingsVersion);
            var settings = new DefaultSettingsBuilder().CreateEmptySettings(null);

            settings.LoadData(ini, iniFile, upgrader.UpgradeSettings);

            Assert.AreEqual(newSettingsVersion, settings.ApplicationProperties.SettingsVersion, "Did not update SettingsVersion.");
            Assert.AreEqual(TiffColor.BlackWhiteG4Fax, settings.ConversionProfiles[0].TiffSettings.Color, "Did not update TiffColor BlackWhite to BlackWhiteG4Fax");
        }
        private PdfCreatorSettings CreateSettings()
        {
            var profileBuilder = new DefaultSettingsBuilder();
            var settings       = profileBuilder.CreateDefaultSettings("MySpecialPrinter", new IniStorage(), "Elbisch");

            return(settings);
        }
        protected override PdfCreatorSettings CreateDefaultSettings(string primaryPrinter, string defaultLanguage)
        {
            var defaultSettings = (PdfCreatorSettings)DefaultSettingsBuilder.CreateDefaultSettings(primaryPrinter, defaultLanguage);

            return(DefaultUserSettingsExist()
                ? LoadDefaultUserSettings(defaultSettings)
                : defaultSettings);
        }
Esempio n. 4
0
        protected override PdfCreatorSettings CreateDefaultSettings(string primaryPrinter, IStorage storage, string defaultLanguage)
        {
            var profileBuilder  = new DefaultSettingsBuilder();
            var defaultSettings = profileBuilder.CreateDefaultSettings(primaryPrinter, storage, defaultLanguage);

            return(DefaultUserSettingsExist()
                ? LoadDefaultUserSettings(defaultSettings, profileBuilder, storage)
                : defaultSettings);
        }
Esempio n. 5
0
        private void RestoreDefaultSettingsExecute(object obj)
        {
            var title              = Translation.RestoreDefaultSettingsTitle;
            var message            = Translation.RestoreDefaultSettingsMessage;
            var messageInteraction = new MessageInteraction(message, title, MessageOptions.YesNo, MessageIcon.Question);

            _request.Raise(messageInteraction, interaction =>
            {
                if (messageInteraction.Response == MessageResponse.Yes)
                {
                    var profileBuilder  = new DefaultSettingsBuilder();
                    var defaultSettings = profileBuilder.CreateDefaultSettings(SettingsProvider.Settings);
                    ApplySettingsProcedure(defaultSettings);
                }
            });
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        public void AllWhitelistedClasses_AreRegistered()
        {
            var bootstrapper = new PDFCreatorPlusBootstrapper();
            var container    = BuildPrismContainer(bootstrapper);

            var settingsProvider = container.GetInstance <ISettingsProvider>();
            var builder          = new DefaultSettingsBuilder();
            var settings         = builder.CreateDefaultSettings("PDFCreator", new IniStorage(), "en");

            settingsProvider.UpdateSettings(settings);

            var whitelisted = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
                               from type in assembly.GetTypes()
                               where !type.IsAbstract && typeof(IWhitelisted).IsAssignableFrom(type)
                               select type).ToList();

            foreach (var type in whitelisted)
            {
                Assert.DoesNotThrow(() => container.GetInstance(type), $"Could not create type '{type}'");
            }

            CollectionAssert.IsNotEmpty(whitelisted);
        }
Esempio n. 8
0
 protected override PdfCreatorSettings CreateDefaultSettings(string primaryPrinter, string defaultLanguage)
 {
     return((PdfCreatorSettings)DefaultSettingsBuilder.CreateDefaultSettings(primaryPrinter, defaultLanguage));
 }
Esempio n. 9
0
        protected override PdfCreatorSettings CreateDefaultSettings(string primaryPrinter, IStorage storage, string defaultLanguage)
        {
            var profileBuilder = new DefaultSettingsBuilder();

            return(profileBuilder.CreateDefaultSettings(primaryPrinter, storage, defaultLanguage));
        }