コード例 #1
0
        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();
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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);
        }