private void ApplySearchAndSynonymSetting() { if (_model == null) { //todo:log return; } SearchAndSynonymSetting searchAndSynonymSetting = _model.GetSearchAndSynonymSetting(); if (searchAndSynonymSetting == null) { Logger.Fatal(CLASS_NAME, "ApplyAdvancedSetting", "searchAndSynonymSetting is null!"); return; } SearchResultBackGround = ConvertStringToColor(searchAndSynonymSetting.SearchResultBackGroundColor); SearchResultFontColor = ConvertStringToColor(searchAndSynonymSetting.SearchResultFontColor); SearchResultFontColorKind = searchAndSynonymSetting.SearchResultFontColorKind; SynonymSearchResultColor1 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor1); SynonymSearchResultColor2 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor2); SynonymSearchResultColor3 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor3); SynonymSearchResultColor4 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor4); SynonymSearchResultColor5 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor5); SynonymSearchResultColor6 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor6); SynonymSearchResultColor7 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor7); SynonymSearchResultColor8 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor8); SynonymSearchResultColor9 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor9); SynonymSearchResultColor10 = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchResultColor10); SynonymSearchResultFontColor = ConvertStringToColor(searchAndSynonymSetting.SynonymSearchFontColor); SynonymSearchResultFontColorKind = searchAndSynonymSetting.SynonymSearchFontColorKind; SearchResultMargin = searchAndSynonymSetting.SearchResultMargin.ToString(); SearchResultDisplayCount = searchAndSynonymSetting.SearchResultDisplayCount.ToString(); }
/// <summary> /// 検索・類語検索設定を取得します /// </summary> /// <returns></returns> /// <remarks>todo:設定情報取得周り、nullならもうどうしようもないからログ出ししてnullをreturnとかさせるべき /// また、プロパティ値の設定はModel側で完結させるべき</remarks> internal SearchAndSynonymSetting GetSearchAndSynonymSetting() { object setting = SettingManager.GetSettingManager.GetSetting(typeof(SearchAndSynonymSetting)); if (setting == null) { Logger.Error(CLASS_NAME, "GetSearchAndSynonymSetting", $"Get SearchAndSynonymSetting.xml failed. FileName:[{Define.SETTING_FILENAME_SEARCH}]"); string black = "#FF000000"; string transparent = "#00FFFFFF"; setting = new SearchAndSynonymSetting() { SearchResultBackGroundColor = transparent, // 透明 SearchResultDisplayCount = 100, SearchResultFontColor = black, // 黒 SearchResultFontColorKind = FontColorKind.Auto, SearchResultMargin = 10, SynonymSearchFontColor = black, SynonymSearchFontColorKind = FontColorKind.Auto, SynonymSearchResultColor1 = transparent, // 異常なので透明にしておく、todo:規定値どうするか SynonymSearchResultColor2 = transparent, SynonymSearchResultColor3 = transparent, SynonymSearchResultColor4 = transparent, SynonymSearchResultColor5 = transparent, SynonymSearchResultColor6 = transparent, SynonymSearchResultColor7 = transparent, SynonymSearchResultColor8 = transparent, SynonymSearchResultColor9 = transparent, SynonymSearchResultColor10 = transparent }; } return(setting as SearchAndSynonymSetting); }
internal bool LoadSearchAndSynonymSetting() { SearchAndSynonymSetting searchAndSynonymSetting = FileAccessor.GetFileAccessor.LoadSettingFile <SearchAndSynonymSetting>(Define.SETTING_FILENAME_SEARCH); if (searchAndSynonymSetting == null) { Logger.Error(CLASS_NAME, "LoadSearchAndSynonymSetting", $"Load SearchAndSynonymSetting.xml failed. FileName:[{Define.SETTING_FILENAME_SEARCH}]"); string black = "#FF000000"; string transparent = "#00FFFFFF"; searchAndSynonymSetting = new SearchAndSynonymSetting() { SearchResultBackGroundColor = transparent, // 透明 SearchResultDisplayCount = 100, SearchResultFontColor = black, // 黒 SearchResultFontColorKind = FontColorKind.Auto, SearchResultMargin = 10, SynonymSearchFontColor = black, SynonymSearchFontColorKind = FontColorKind.Auto, SynonymSearchResultColor1 = transparent, // 異常なので透明にしておく、todo:規定値どうするか SynonymSearchResultColor2 = transparent, SynonymSearchResultColor3 = transparent, SynonymSearchResultColor4 = transparent, SynonymSearchResultColor5 = transparent, SynonymSearchResultColor6 = transparent, SynonymSearchResultColor7 = transparent, SynonymSearchResultColor8 = transparent, SynonymSearchResultColor9 = transparent, SynonymSearchResultColor10 = transparent }; } if (AddSetting(typeof(SearchAndSynonymSetting), searchAndSynonymSetting) == false) { //todo:log return(false); } return(true); }
/// <summary>適用ボタン押下時処理</summary> /// <param name="parameter"></param> private void ExecuteApply(object parameter) { //todo:メソッド切り出し、Modelに処理を渡す #region GeneralSetting double convFontSize = 0; if (double.TryParse(FontSize, out convFontSize) == false) { //todo:log. default } GeneralSetting generalSetting = new GeneralSetting//todo:既存のApplyGeneralSettings等使って細かく切り出せるのでは? 下のも含め { WrappingText = this.WrappingText, ShowingLineCount = this.ShowingLineCount, ShowingNumberOfLines = this.ShowingLineNumber, ShowingWordCount = this.ShowingWordCount, ShowingNewLine = this.ShowingNewLine, ShowingTab = this.ShowingTab, ShowingSpace = this.ShowingSpace, FontSize = convFontSize, FontColor = this.FontColor.ToString(), MainFontName = MainFont != null ? MainFont.FontName : string.Empty, //todo:デフォルト値 SubFontName = SubFont != null ? SubFont.FontName : string.Empty //todo:デフォルト値 }; FileAccessor.GetFileAccessor.SaveSettingFile(Define.SETTING_FILENAME_GENERAL, generalSetting, typeof(GeneralSetting)); Model.Manager.SettingManager.GetSettingManager.UpdateOrAddSetting(typeof(GeneralSetting), generalSetting); #endregion #region SearchAndSynonymSetting int margin = 0; if (int.TryParse(SearchResultMargin, out margin) == false) { //todo:ログ出し、規定値 } int resultCount = 0; if (int.TryParse(SearchResultDisplayCount, out resultCount) == false) { //todo:ログ出し、規定値 } SearchAndSynonymSetting searchAndSynonymSetting = new SearchAndSynonymSetting() { SearchResultBackGroundColor = SearchResultBackGround.ToString(), SearchResultFontColor = SearchResultFontColor.ToString(), SearchResultFontColorKind = SearchResultFontColorKind, SynonymSearchResultColor1 = SynonymSearchResultColor1.ToString(), SynonymSearchResultColor2 = SynonymSearchResultColor2.ToString(), SynonymSearchResultColor3 = SynonymSearchResultColor3.ToString(), SynonymSearchResultColor4 = SynonymSearchResultColor4.ToString(), SynonymSearchResultColor5 = SynonymSearchResultColor5.ToString(), SynonymSearchResultColor6 = SynonymSearchResultColor6.ToString(), SynonymSearchResultColor7 = SynonymSearchResultColor7.ToString(), SynonymSearchResultColor8 = SynonymSearchResultColor8.ToString(), SynonymSearchResultColor9 = SynonymSearchResultColor9.ToString(), SynonymSearchResultColor10 = SynonymSearchResultColor10.ToString(), SynonymSearchFontColor = SynonymSearchResultFontColor.ToString(), SynonymSearchFontColorKind = SynonymSearchResultFontColorKind, SearchResultMargin = margin, SearchResultDisplayCount = resultCount }; FileAccessor.GetFileAccessor.SaveSettingFile(Define.SETTING_FILENAME_SEARCH, searchAndSynonymSetting, typeof(SearchAndSynonymSetting)); Model.Manager.SettingManager.GetSettingManager.UpdateOrAddSetting(typeof(SearchAndSynonymSetting), searchAndSynonymSetting); #endregion #region AdvancedSetting int resultDisplayCount = 0; if (int.TryParse(SearchResultDisplayCount, out resultDisplayCount) == false) { resultDisplayCount = 100;//todo 規定値 } AdvancedSetting advancedSetting = new AdvancedSetting { LogLevel = ConvertDoubleToLogLevel(LogOutputLevel), SpeedUpSearch = UseFastSearch, LogRetentionDays = Convert.ToInt32(LogRetentionDays), TargetFileExtensionList = GetTargetExtensionsList() }; FileAccessor.GetFileAccessor.SaveSettingFile(Define.SETTING_FILENAME_ADVANCED, advancedSetting, typeof(AdvancedSetting)); Model.Manager.SettingManager.GetSettingManager.UpdateOrAddSetting(typeof(AdvancedSetting), advancedSetting); #endregion //todo:完了ダイアログ表示 // 変更を通知する //todo:変更有無検知と、ウィンドウを閉じた際に通知するようにして不要な変更イベント発火を抑制する Model.Manager.SettingManager.GetSettingManager.NotifySettingChanged(SettingKind.All); }