/// <summary>
        /// UIをもとに設定を適用します。
        /// </summary>
        public void ToConfiguration(Configuration.ConfigurationData config)
        {
            //[通信]
            {
                bool changed = false;

                changed |= config.Connection.Port != (ushort)Connection_Port.Value;
                config.Connection.Port = (ushort)Connection_Port.Value;

                config.Connection.SaveReceivedData = Connection_SaveReceivedData.Checked;
                config.Connection.SaveDataPath     = Connection_SaveDataPath.Text.Trim(@"\ """.ToCharArray());
                config.Connection.SaveRequest      = Connection_SaveRequest.Checked;
                config.Connection.SaveResponse     = Connection_SaveResponse.Checked;
                config.Connection.SaveSWF          = Connection_SaveSWF.Checked;
                config.Connection.SaveOtherFile    = Connection_SaveOtherFile.Checked;
                config.Connection.ApplyVersion     = Connection_ApplyVersion.Checked;

                changed |= config.Connection.RegisterAsSystemProxy != Connection_RegisterAsSystemProxy.Checked;
                config.Connection.RegisterAsSystemProxy = Connection_RegisterAsSystemProxy.Checked;

                changed |= config.Connection.UseUpstreamProxy != Connection_UseUpstreamProxy.Checked;
                config.Connection.UseUpstreamProxy = Connection_UseUpstreamProxy.Checked;
                changed |= config.Connection.UpstreamProxyPort != (ushort)Connection_UpstreamProxyPort.Value;
                config.Connection.UpstreamProxyPort = (ushort)Connection_UpstreamProxyPort.Value;
                changed |= config.Connection.UpstreamProxyAddress != Connection_UpstreamProxyAddress.Text;
                config.Connection.UpstreamProxyAddress = Connection_UpstreamProxyAddress.Text;

                changed |= config.Connection.UseSystemProxy != Connection_UseSystemProxy.Checked;
                config.Connection.UseSystemProxy = Connection_UseSystemProxy.Checked;

                changed |= config.Connection.DownstreamProxy != Connection_DownstreamProxy.Text;
                config.Connection.DownstreamProxy = Connection_DownstreamProxy.Text;

                if (changed)
                {
                    APIObserver.Instance.Start(config.Connection.Port, _UIControl);
                }
            }

            //[UI]
            config.UI.MainFont         = UI_MainFont.Font;
            config.UI.SubFont          = UI_SubFont.Font;
            config.UI.BarColorMorphing = UI_BarColorMorphing.Checked;

            //[ログ]
            config.Log.LogLevel        = (int)Log_LogLevel.Value;
            config.Log.SaveLogFlag     = Log_SaveLogFlag.Checked;
            config.Log.SaveErrorReport = Log_SaveErrorReport.Checked;
            config.Log.FileEncodingID  = Log_FileEncodingID.SelectedIndex;
            config.Log.ShowSpoiler     = Log_ShowSpoiler.Checked;

            //[動作]
            config.Control.ConditionBorder     = (int)Control_ConditionBorder.Value;
            config.Control.RecordAutoSaving    = Control_RecordAutoSaving.SelectedIndex;
            config.Control.UseSystemVolume     = Control_UseSystemVolume.Checked;
            config.Control.PowerEngagementForm = Control_PowerEngagementForm.SelectedIndex + 1;

            //[デバッグ]
            config.Debug.EnableDebugMenu   = Debug_EnableDebugMenu.Checked;
            config.Debug.LoadAPIListOnLoad = Debug_LoadAPIListOnLoad.Checked;
            config.Debug.APIListPath       = Debug_APIListPath.Text;
            config.Debug.AlertOnError      = Debug_AlertOnError.Checked;

            //[起動と終了]
            config.Life.ConfirmOnClosing          = Life_ConfirmOnClosing.Checked;
            config.Life.TopMost                   = Life_TopMost.Checked;
            config.Life.LayoutFilePath            = Life_LayoutFilePath.Text;
            config.Life.CheckUpdateInformation    = Life_CheckUpdateInformation.Checked;
            config.Life.ShowStatusBar             = Life_ShowStatusBar.Checked;
            config.Life.ClockFormat               = Life_ClockFormat.SelectedIndex;
            config.Life.LockLayout                = Life_LockLayout.Checked;
            config.Life.CanCloseFloatWindowInLock = Life_CanCloseFloatWindowInLock.Checked;

            //[サブウィンドウ]
            config.FormArsenal.ShowShipName      = FormArsenal_ShowShipName.Checked;
            config.FormArsenal.BlinkAtCompletion = FormArsenal_BlinkAtCompletion.Checked;

            config.FormDock.BlinkAtCompletion = FormDock_BlinkAtCompletion.Checked;

            config.FormFleet.ShowAircraft                = FormFleet_ShowAircraft.Checked;
            config.FormFleet.SearchingAbilityMethod      = FormFleet_SearchingAbilityMethod.SelectedIndex;
            config.FormFleet.IsScrollable                = FormFleet_IsScrollable.Checked;
            config.FormFleet.FixShipNameWidth            = FormFleet_FixShipNameWidth.Checked;
            config.FormFleet.ShortenHPBar                = FormFleet_ShortenHPBar.Checked;
            config.FormFleet.ShowNextExp                 = FormFleet_ShowNextExp.Checked;
            config.FormFleet.EquipmentLevelVisibility    = (Window.Control.ShipStatusEquipment.LevelVisibilityFlag)FormFleet_EquipmentLevelVisibility.SelectedIndex;
            config.FormFleet.AirSuperiorityMethod        = FormFleet_AirSuperiorityMethod.SelectedIndex;
            config.FormFleet.ShowAnchorageRepairingTimer = FormFleet_ShowAnchorageRepairingTimer.Checked;
            config.FormFleet.BlinkAtCompletion           = FormFleet_BlinkAtCompletion.Checked;
            config.FormFleet.ShowConditionIcon           = FormFleet_ShowConditionIcon.Checked;

            config.FormHeadquarters.BlinkAtMaximum = FormHeadquarters_BlinkAtMaximum.Checked;
            {
                var list = new List <bool>();
                for (int i = 0; i < FormHeadquarters_Visibility.Items.Count; i++)
                {
                    list.Add(FormHeadquarters_Visibility.GetItemChecked(i));
                }
                config.FormHeadquarters.Visibility.List = list;
            }
            {
                string name = FormHeadquarters_DisplayUseItemID.Text;
                if (string.IsNullOrEmpty(name))
                {
                    config.FormHeadquarters.DisplayUseItemID = -1;
                }
                else
                {
                    var item = ElectronicObserver.Data.KCDatabase.Instance.MasterUseItems.Values.FirstOrDefault(p => p.Name == name);

                    if (item != null)
                    {
                        config.FormHeadquarters.DisplayUseItemID = item.ItemID;
                    }
                    else
                    {
                        int val;
                        if (int.TryParse(name, out val))
                        {
                            config.FormHeadquarters.DisplayUseItemID = val;
                        }
                        else
                        {
                            config.FormHeadquarters.DisplayUseItemID = -1;
                        }
                    }
                }
            }

            config.FormQuest.ShowRunningOnly     = FormQuest_ShowRunningOnly.Checked;
            config.FormQuest.ShowOnce            = FormQuest_ShowOnce.Checked;
            config.FormQuest.ShowDaily           = FormQuest_ShowDaily.Checked;
            config.FormQuest.ShowWeekly          = FormQuest_ShowWeekly.Checked;
            config.FormQuest.ShowMonthly         = FormQuest_ShowMonthly.Checked;
            config.FormQuest.ShowOther           = FormQuest_ShowOther.Checked;
            config.FormQuest.ProgressAutoSaving  = FormQuest_ProgressAutoSaving.SelectedIndex;
            config.FormQuest.AllowUserToSortRows = FormQuest_AllowUserToSortRows.Checked;

            config.FormShipGroup.AutoUpdate         = FormShipGroup_AutoUpdate.Checked;
            config.FormShipGroup.ShowStatusBar      = FormShipGroup_ShowStatusBar.Checked;
            config.FormShipGroup.ShipNameSortMethod = FormShipGroup_ShipNameSortMethod.SelectedIndex;

            config.FormBattle.IsScrollable = FormBattle_IsScrollable.Checked;

            config.FormBrowser.IsEnabled    = FormBrowser_IsEnabled.Checked;
            config.FormBrowser.ZoomRate     = (int)FormBrowser_ZoomRate.Value;
            config.FormBrowser.ZoomFit      = FormBrowser_ZoomFit.Checked;
            config.FormBrowser.LogInPageURL = FormBrowser_LogInPageURL.Text;
            if (FormBrowser_ScreenShotFormat_JPEG.Checked)
            {
                config.FormBrowser.ScreenShotFormat = 1;
            }
            else
            {
                config.FormBrowser.ScreenShotFormat = 2;
            }
            config.FormBrowser.ScreenShotPath    = FormBrowser_ScreenShotPath.Text;
            config.FormBrowser.ConfirmAtRefresh  = FormBrowser_ConfirmAtRefresh.Checked;
            config.FormBrowser.AppliesStyleSheet = FormBrowser_AppliesStyleSheet.Checked;
            config.FormBrowser.FlashQuality      = FormBrowser_FlashQuality.Text;
            config.FormBrowser.FlashWMode        = FormBrowser_FlashWMode.Text;
            if (FormBrowser_ToolMenuDockStyle.SelectedIndex == 4)
            {
                config.FormBrowser.IsToolMenuVisible = false;
            }
            else
            {
                config.FormBrowser.IsToolMenuVisible = true;
                config.FormBrowser.ToolMenuDockStyle = (DockStyle)(FormBrowser_ToolMenuDockStyle.SelectedIndex + 1);
            }

            config.FormCompass.CandidateDisplayCount = (int)FormCompass_CandidateDisplayCount.Value;

            config.FormJson.AutoUpdate       = FormJson_AutoUpdate.Checked;
            config.FormJson.UpdatesTree      = FormJson_UpdatesTree.Checked;
            config.FormJson.AutoUpdateFilter = FormJson_AutoUpdateFilter.Text;

            //[通知]
            setSilencioConfig(Notification_Silencio.Checked);

            //[データベース]
            config.Connection.SendDataToKancolleDB = Database_SendDataToKancolleDB.Checked;
            config.Connection.SendKancolleOAuth    = Database_SendKancolleOAuth.Text;

            //[BGM]
            config.BGMPlayer.Enabled = BGMPlayer_Enabled.Checked;
            for (int i = 0; i < BGMPlayer_ControlGrid.Rows.Count; i++)
            {
                BGMHandles[(SyncBGMPlayer.SoundHandleID)BGMPlayer_ControlGrid[BGMPlayer_ColumnContent.Index, i].Value].Enabled = (bool)BGMPlayer_ControlGrid[BGMPlayer_ColumnEnabled.Index, i].Value;
            }
            config.BGMPlayer.Handles         = new List <SyncBGMPlayer.SoundHandle>(BGMHandles.Values.ToList());
            config.BGMPlayer.SyncBrowserMute = BGMPlayer_SyncBrowserMute.Checked;
        }
Example #2
0
        /// <summary>
        /// UIをもとに設定を適用します。
        /// </summary>
        public void ToConfiguration(Configuration.ConfigurationData config)
        {
            //[通信]
            {
                bool changed = false;

                changed |= config.Connection.Port != (ushort)Connection_Port.Value;
                config.Connection.Port = (ushort)Connection_Port.Value;

                config.Connection.SaveReceivedData = Connection_SaveReceivedData.Checked;
                config.Connection.SaveDataPath     = Connection_SaveDataPath.Text.Trim(@"\ """.ToCharArray());
                config.Connection.SaveRequest      = Connection_SaveRequest.Checked;
                config.Connection.SaveResponse     = Connection_SaveResponse.Checked;
                config.Connection.SaveOtherFile    = Connection_SaveOtherFile.Checked;
                config.Connection.ApplyVersion     = Connection_ApplyVersion.Checked;

                changed |= config.Connection.RegisterAsSystemProxy != Connection_RegisterAsSystemProxy.Checked;
                config.Connection.RegisterAsSystemProxy = Connection_RegisterAsSystemProxy.Checked;

                changed |= config.Connection.UseUpstreamProxy != Connection_UseUpstreamProxy.Checked;
                config.Connection.UseUpstreamProxy = Connection_UseUpstreamProxy.Checked;
                changed |= config.Connection.UpstreamProxyPort != (ushort)Connection_UpstreamProxyPort.Value;
                config.Connection.UpstreamProxyPort = (ushort)Connection_UpstreamProxyPort.Value;
                changed |= config.Connection.UpstreamProxyAddress != Connection_UpstreamProxyAddress.Text;
                config.Connection.UpstreamProxyAddress = Connection_UpstreamProxyAddress.Text;

                changed |= config.Connection.UseSystemProxy != Connection_UseSystemProxy.Checked;
                config.Connection.UseSystemProxy = Connection_UseSystemProxy.Checked;

                changed |= config.Connection.DownstreamProxy != Connection_DownstreamProxy.Text;
                config.Connection.DownstreamProxy = Connection_DownstreamProxy.Text;

                if (changed)
                {
                    APIObserver.Instance.Start(config.Connection.Port, _UIControl);
                }
            }

            //[UI]
            {
                var newfont = SerializableFont.StringToFont(UI_MainFont.Text, true);
                if (newfont != null)
                {
                    config.UI.MainFont = newfont;
                }
            }
            {
                var newfont = SerializableFont.StringToFont(UI_SubFont.Text, true);
                if (newfont != null)
                {
                    config.UI.SubFont = newfont;
                }
            }
            config.UI.BarColorMorphing      = UI_BarColorMorphing.Checked;
            config.UI.JapaneseShipName      = UI_JapaneseShipNames.Checked;
            config.UI.JapaneseShipType      = UI_JapaneseShipTypes.Checked;
            config.UI.JapaneseEquipmentName = UI_JapaneseEquipmentNames.Checked;
            config.UI.JapaneseEquipmentType = UI_JapaneseEquipmentTypes.Checked;
            config.UI.UseOriginalNodeId     = !UI_NodeNumbering.Checked;
            config.UI.ThemeMode             = comboBox1.SelectedIndex;

            config.UI.IsLayoutFixed = UI_IsLayoutFixed.Checked;

            //[ログ]
            config.Log.LogLevel           = (int)Log_LogLevel.Value;
            config.Log.SaveLogFlag        = Log_SaveLogFlag.Checked;
            config.Log.SaveErrorReport    = Log_SaveErrorReport.Checked;
            config.Log.FileEncodingID     = Log_FileEncodingID.SelectedIndex;
            config.Log.ShowSpoiler        = Log_ShowSpoiler.Checked;
            config.Log.SaveBattleLog      = Log_SaveBattleLog.Checked;
            config.Log.SaveLogImmediately = Log_SaveLogImmediately.Checked;

            //[動作]
            config.Control.ConditionBorder           = (int)Control_ConditionBorder.Value;
            config.Control.RecordAutoSaving          = Control_RecordAutoSaving.SelectedIndex;
            config.Control.UseSystemVolume           = Control_UseSystemVolume.Checked;
            config.Control.PowerEngagementForm       = Control_PowerEngagementForm.SelectedIndex + 1;
            config.Control.ShowSallyAreaAlertDialog  = Control_ShowSallyAreaAlertDialog.Checked;
            config.Control.ShowExpeditionAlertDialog = Control_ShowExpeditionAlertDialog.Checked;
            config.Control.EnableDiscordRPC          = Control_EnableDiscordRPC.Checked;
            config.Control.DiscordRPCMessage         = Control_DiscordRPCMessage.Text;
            config.Control.DiscordRPCShowFCM         = Control_DiscordRPCShowFCM.Checked;


            //[デバッグ]
            config.Debug.EnableDebugMenu   = Debug_EnableDebugMenu.Checked;
            config.Debug.LoadAPIListOnLoad = Debug_LoadAPIListOnLoad.Checked;
            config.Debug.APIListPath       = Debug_APIListPath.Text;
            config.Debug.AlertOnError      = Debug_AlertOnError.Checked;

            //[起動と終了]
            config.Life.ConfirmOnClosing          = Life_ConfirmOnClosing.Checked;
            config.Life.TopMost                   = Life_TopMost.Checked;
            config.Life.LayoutFilePath            = Life_LayoutFilePath.Text;
            config.Life.CheckUpdateInformation    = Life_CheckUpdateInformation.Checked;
            config.Life.ShowStatusBar             = Life_ShowStatusBar.Checked;
            config.Life.ClockFormat               = Life_ClockFormat.SelectedIndex;
            config.Life.LockLayout                = Life_LockLayout.Checked;
            config.Life.CanCloseFloatWindowInLock = Life_CanCloseFloatWindowInLock.Checked;

            //[サブウィンドウ]
            config.FormArsenal.ShowShipName      = FormArsenal_ShowShipName.Checked;
            config.FormArsenal.BlinkAtCompletion = FormArsenal_BlinkAtCompletion.Checked;
            config.FormArsenal.MaxShipNameWidth  = (int)FormArsenal_MaxShipNameWidth.Value;

            config.FormDock.BlinkAtCompletion = FormDock_BlinkAtCompletion.Checked;
            config.FormDock.MaxShipNameWidth  = (int)FormDock_MaxShipNameWidth.Value;

            config.FormFleet.ShowAircraft                  = FormFleet_ShowAircraft.Checked;
            config.FormFleet.SearchingAbilityMethod        = FormFleet_SearchingAbilityMethod.SelectedIndex;
            config.FormFleet.IsScrollable                  = FormFleet_IsScrollable.Checked;
            config.FormFleet.FixShipNameWidth              = FormFleet_FixShipNameWidth.Checked;
            config.FormFleet.ShortenHPBar                  = FormFleet_ShortenHPBar.Checked;
            config.FormFleet.ShowNextExp                   = FormFleet_ShowNextExp.Checked;
            config.FormFleet.EquipmentLevelVisibility      = (Window.Control.ShipStatusEquipment.LevelVisibilityFlag)FormFleet_EquipmentLevelVisibility.SelectedIndex;
            config.FormFleet.ShowAircraftLevelByNumber     = FormFleet_ShowAircraftLevelByNumber.Checked;
            config.FormFleet.AirSuperiorityMethod          = FormFleet_AirSuperiorityMethod.SelectedIndex;
            config.FormFleet.ShowAnchorageRepairingTimer   = FormFleet_ShowAnchorageRepairingTimer.Checked;
            config.FormFleet.BlinkAtCompletion             = FormFleet_BlinkAtCompletion.Checked;
            config.FormFleet.ShowConditionIcon             = FormFleet_ShowConditionIcon.Checked;
            config.FormFleet.FixedShipNameWidth            = (int)FormFleet_FixedShipNameWidth.Value;
            config.FormFleet.ShowAirSuperiorityRange       = FormFleet_ShowAirSuperiorityRange.Checked;
            config.FormFleet.ReflectAnchorageRepairHealing = FormFleet_ReflectAnchorageRepairHealing.Checked;
            config.FormFleet.BlinkAtDamaged                = FormFleet_BlinkAtDamaged.Checked;
            config.FormFleet.EmphasizesSubFleetInPort      = FormFleet_EmphasizesSubFleetInPort.Checked;
            config.FormFleet.FleetStateDisplayMode         = FormFleet_FleetStateDisplayMode.SelectedIndex;
            config.FormFleet.AppliesSallyAreaColor         = FormFleet_AppliesSallyAreaColor.Checked;

            config.FormHeadquarters.BlinkAtMaximum = FormHeadquarters_BlinkAtMaximum.Checked;
            {
                var list = new List <bool>();
                for (int i = 0; i < FormHeadquarters_Visibility.Items.Count; i++)
                {
                    list.Add(FormHeadquarters_Visibility.GetItemChecked(i));
                }
                config.FormHeadquarters.Visibility.List = list;
            }
            {
                string name = FormHeadquarters_DisplayUseItemID.Text;
                if (string.IsNullOrEmpty(name))
                {
                    config.FormHeadquarters.DisplayUseItemID = -1;
                }
                else
                {
                    var item = ElectronicObserver.Data.KCDatabase.Instance.MasterUseItems.Values.FirstOrDefault(p => p.Name == name);

                    if (item != null)
                    {
                        config.FormHeadquarters.DisplayUseItemID = item.ItemID;
                    }
                    else
                    {
                        if (int.TryParse(name, out int val))
                        {
                            config.FormHeadquarters.DisplayUseItemID = val;
                        }
                        else
                        {
                            config.FormHeadquarters.DisplayUseItemID = -1;
                        }
                    }
                }
            }

            config.FormQuest.ShowRunningOnly     = FormQuest_ShowRunningOnly.Checked;
            config.FormQuest.ShowOnce            = FormQuest_ShowOnce.Checked;
            config.FormQuest.ShowDaily           = FormQuest_ShowDaily.Checked;
            config.FormQuest.ShowWeekly          = FormQuest_ShowWeekly.Checked;
            config.FormQuest.ShowMonthly         = FormQuest_ShowMonthly.Checked;
            config.FormQuest.ShowOther           = FormQuest_ShowOther.Checked;
            config.FormQuest.ProgressAutoSaving  = FormQuest_ProgressAutoSaving.SelectedIndex;
            config.FormQuest.AllowUserToSortRows = FormQuest_AllowUserToSortRows.Checked;

            config.FormShipGroup.AutoUpdate         = FormShipGroup_AutoUpdate.Checked;
            config.FormShipGroup.ShowStatusBar      = FormShipGroup_ShowStatusBar.Checked;
            config.FormShipGroup.ShipNameSortMethod = FormShipGroup_ShipNameSortMethod.SelectedIndex;

            config.FormBattle.IsScrollable           = FormBattle_IsScrollable.Checked;
            config.FormBattle.HideDuringBattle       = FormBattle_HideDuringBattle.Checked;
            config.FormBattle.ShowHPBar              = FormBattle_ShowHPBar.Checked;
            config.FormBattle.ShowShipTypeInHPBar    = FormBattle_ShowShipTypeInHPBar.Checked;
            config.FormBattle.Display7thAsSingleLine = FormBattle_Display7thAsSingleLine.Checked;

            config.FormBrowser.IsEnabled    = FormBrowser_IsEnabled.Checked;
            config.FormBrowser.ZoomRate     = (double)FormBrowser_ZoomRate.Value / 100;
            config.FormBrowser.ZoomFit      = FormBrowser_ZoomFit.Checked;
            config.FormBrowser.LogInPageURL = FormBrowser_LogInPageURL.Text;
            if (FormBrowser_ScreenShotFormat_JPEG.Checked)
            {
                config.FormBrowser.ScreenShotFormat = 1;
            }
            else
            {
                config.FormBrowser.ScreenShotFormat = 2;
            }
            config.FormBrowser.ScreenShotPath               = FormBrowser_ScreenShotPath.Text;
            config.FormBrowser.ConfirmAtRefresh             = FormBrowser_ConfirmAtRefresh.Checked;
            config.FormBrowser.AppliesStyleSheet            = FormBrowser_AppliesStyleSheet.Checked;
            config.FormBrowser.IsDMMreloadDialogDestroyable = FormBrowser_IsDMMreloadDialogDestroyable.Checked;
            config.FormBrowser.AvoidTwitterDeterioration    = FormBrowser_ScreenShotFormat_AvoidTwitterDeterioration.Checked;
            config.FormBrowser.HardwareAccelerationEnabled  = FormBrowser_HardwareAccelerationEnabled.Checked;
            config.FormBrowser.PreserveDrawingBuffer        = FormBrowser_PreserveDrawingBuffer.Checked;
            config.FormBrowser.ForceColorProfile            = FormBrowser_ForceColorProfile.Checked;
            config.FormBrowser.SavesBrowserLog              = FormBrowser_SavesBrowserLog.Checked;
            if (FormBrowser_ToolMenuDockStyle.SelectedIndex == 4)
            {
                config.FormBrowser.IsToolMenuVisible = false;
            }
            else
            {
                config.FormBrowser.IsToolMenuVisible = true;
                config.FormBrowser.ToolMenuDockStyle = (DockStyle)(FormBrowser_ToolMenuDockStyle.SelectedIndex + 1);
            }
            config.FormBrowser.ScreenShotSaveMode = FormBrowser_ScreenShotSaveMode.SelectedIndex + 1;

            config.FormCompass.CandidateDisplayCount = (int)FormCompass_CandidateDisplayCount.Value;
            config.FormCompass.IsScrollable          = FormCompass_IsScrollable.Checked;
            config.FormCompass.MaxShipNameWidth      = (int)FormCompass_MaxShipNameWidth.Value;

            config.FormJson.AutoUpdate       = FormJson_AutoUpdate.Checked;
            config.FormJson.UpdatesTree      = FormJson_UpdatesTree.Checked;
            config.FormJson.AutoUpdateFilter = FormJson_AutoUpdateFilter.Text;

            config.FormBaseAirCorps.ShowEventMapOnly = FormBaseAirCorps_ShowEventMapOnly.Checked;


            //[通知]
            setSilencioConfig(Notification_Silencio.Checked);

            //[BGM]
            config.BGMPlayer.Enabled = BGMPlayer_Enabled.Checked;
            for (int i = 0; i < BGMPlayer_ControlGrid.Rows.Count; i++)
            {
                BGMHandles[(SyncBGMPlayer.SoundHandleID)BGMPlayer_ControlGrid[BGMPlayer_ColumnContent.Index, i].Value].Enabled = (bool)BGMPlayer_ControlGrid[BGMPlayer_ColumnEnabled.Index, i].Value;
            }
            config.BGMPlayer.Handles         = new List <SyncBGMPlayer.SoundHandle>(BGMHandles.Values.ToList());
            config.BGMPlayer.SyncBrowserMute = BGMPlayer_SyncBrowserMute.Checked;
        }