예제 #1
0
        /// <summary>
        ///     ファイルから設定を読み込む
        /// </summary>
        public static void ReadConfig()
        {
            var xmlSettings = new Settings();
            var xs = new XmlSerializer(typeof (Settings));
            if (File.Exists(FilePath))
            {
                using (var fs = new FileStream(FilePath, FileMode.Open))
                using (var sr = new StreamReader(fs))
                using (var r = new StringReader(sr.ReadToEnd()))
                {
                    try
                    {
                        xmlSettings = (Settings) xs.Deserialize(r);
                    }
                    catch (InvalidOperationException e)
                    {
                        var ex = new InvalidOperationException("設定ファイルの読み込みに失敗しました。\nSettings.xml が不正な可能性があります。", e);
                        throw ex;
                    }
                        // ReSharper disable once EmptyGeneralCatchClause
                    catch
                    {
                    }
                    finally
                    {
                        fs.Close();
                    }
                }
            }

            _Config._DefaultBrowserPath = TryReadValue(xmlSettings.DefaultBrowserPath, null, null);
            _Config._WindowPosition = TryReadValue(xmlSettings.WindowPosition, null, null);
            _Config._MouseSensibility = TryReadValue(xmlSettings.MouseSensibility, null, 2.0);
            _Config._IsEnablePseudoSingleInstance = TryReadValue(xmlSettings.IsEnablePseudoSingleInstance, null, true);
            _Config._IsChildWindow = TryReadValue(xmlSettings.IsChildWindow, null, true);
            _Config._IsFallbackTwitterGifMovie = TryReadValue(xmlSettings.IsFallbackTwitterGifMovie, null, true);
            _Config._IsWarningTwitter30secMovie = TryReadValue(xmlSettings.IsWarningTwitter30secMovie, null, false);
            _Config._IsUsePixivWebScraping = TryReadValue(xmlSettings.IsUsePixivWebScraping, null, false);
            _Config._PixivAccount = TryReadValue(xmlSettings.PixivAccount, null, new PixivAccount());
            _Config._IsUseNicoSeigaWebScraping = TryReadValue(xmlSettings.IsUseNicoSeigaWebScraping, null, false);
            _Config._NicovideoAccount = TryReadValue(xmlSettings.NicovideoAccount, null, new NicovideoAccount());
        }
예제 #2
0
        /// <summary>
        ///     ファイルへ設定を書き込む
        /// </summary>
        public static void WriteConfig()
        {
            var backupFilePath = Path.Combine(AppPath, FileName + @".bak");

            var xmls = new Settings
            {
                DefaultBrowserPath = _Config._DefaultBrowserPath,
                WindowPosition = _Config._WindowPosition,
                MouseSensibility = _Config._MouseSensibility,
                IsEnablePseudoSingleInstance = _Config._IsEnablePseudoSingleInstance,
                IsEnableAggressiveMode = _Config._IsEnableAggressiveMode,
                IsDisableNotificationWhenAggressiveMode = _Config._IsDisableNotificationWhenAggressiveMode,
                IsKeepingTabsWhenAggressiveMode = _Config._IsKeepingTabsWhenAggressiveMode,
                IsChildWindow = _Config._IsChildWindow,
                IsFallbackTwitterGifMovie = _Config._IsFallbackTwitterGifMovie,
                IsWarningTwitter30secMovie = _Config._IsWarningTwitter30secMovie,
                IsUsePixivWebScraping = _Config._IsUsePixivWebScraping,
                PixivAccount = _Config._PixivAccount,
                IsUseNicoSeigaWebScraping = _Config._IsUseNicoSeigaWebScraping,
                NicovideoAccount = _Config._NicovideoAccount
            };

            if (File.Exists(FilePath))
            {
                File.Move(FilePath, backupFilePath);
            }

            var xs = new XmlSerializer(typeof (Settings));
            using (var fs = new FileStream(FilePath, FileMode.Create, FileAccess.Write))
            {
                xs.Serialize(fs, xmls);
            }

            if (File.Exists(FilePath))
            {
                File.Delete(backupFilePath);
            }
            else
            {
                File.Move(backupFilePath, FilePath);
            }
        }
예제 #3
0
        /// <summary>
        ///     ファイルへ設定を書き込む
        /// </summary>
        public static void WriteConfig()
        {
            var xmls = new Settings
            {
                DefaultBrowserPath = _Config._DefaultBrowserPath,
                WindowPosition = _Config._WindowPosition,
                MouseSensibility = _Config._MouseSensibility,
                IsEnablePseudoSingleInstance = _Config._IsEnablePseudoSingleInstance,
                IsChildWindow = _Config._IsChildWindow,
                IsFallbackTwitterGifMovie = _Config._IsFallbackTwitterGifMovie,
                IsWarningTwitter30secMovie = _Config._IsWarningTwitter30secMovie,
                IsUsePixivWebScraping = _Config._IsUsePixivWebScraping,
                PixivAccount = _Config._PixivAccount,
                IsUseNicoSeigaWebScraping = _Config._IsUseNicoSeigaWebScraping,
                NicovideoAccount = _Config._NicovideoAccount
            };

            var xs = new XmlSerializer(typeof (Settings));
            using (var fs = new FileStream(FilePath, FileMode.Create, FileAccess.Write))
            {
                xs.Serialize(fs, xmls);
            }
        }