/// <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()); }
/// <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); } }
/// <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); } }