public void SaveOptions(SettingsSaveSection section)
        {
            if (optionsLoaded)
            {
                try
                {
                    RegistryKey key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\CombatManager", RegistryKeyPermissionCheck.Default);


                    if (section == SettingsSaveSection.All)
                    {
                        CoreSettings.SaveBoolValue("RollHP", RollHP);
                        CoreSettings.SaveBoolValue("ConfirmCharacterDelete", ConfirmCharacterDelete);
                        CoreSettings.SaveBoolValue("ConfirmInitiativeRoll", ConfirmInitiativeRoll);
                        CoreSettings.SaveBoolValue("ConfirmClose", ConfirmClose);
                        CoreSettings.SaveBoolValue("ShowAllDamageDice", ShowAllDamageDice);
                        CoreSettings.SaveBoolValue("AlternateInit3d6", AlternateInit3d6);
                        CoreSettings.SaveStringValue("AlternateInitRoll", AlternateInitRoll);
                        CoreSettings.SaveBoolValue("RunCombatViewService", RunCombatViewService);
                        CoreSettings.SaveBoolValue("ShowHiddenInitValue", ShowHiddenInitValue);
                        CoreSettings.SaveBoolValue("AddMonstersHidden", AddMonstersHidden);
                        CoreSettings.SaveBoolValue("StatsOpenByDefault", StatsOpenByDefault);
                        CoreSettings.SaveBoolValue("CheckForUpdates", CheckForUpdates);
                        CoreSettings.SaveIntValue("ColorScheme", ColorScheme);
                        CoreSettings.SaveIntValue("DefaultHPMode", (int)DefaultHPMode);
                    }

                    if (section == SettingsSaveSection.System || section == SettingsSaveSection.All)
                    {
                        CoreSettings.SaveIntValue("RulesSystem", (int)RulesSystem);
                    }

                    if (section == SettingsSaveSection.WindowState || section == SettingsSaveSection.All)
                    {
                        CoreSettings.SaveBoolValue("PlayerMiniMode", PlayerMiniMode);
                        CoreSettings.SaveBoolValue("MonsterMiniMode", MonsterMiniMode);
                        CoreSettings.SaveIntValue("MainWindowWidth", MainWindowWidth);
                        CoreSettings.SaveIntValue("MainWindowHeight", MainWindowHeight);
                        CoreSettings.SaveIntValue("MainWindowLeft", MainWindowLeft);
                        CoreSettings.SaveIntValue("MainWindowTop", MainWindowTop);
                        CoreSettings.SaveIntValue("SelectedTab", SelectedTab);
                    }

                    if (section == SettingsSaveSection.Sources || section == SettingsSaveSection.All)
                    {
                        CoreSettings.SaveBoolValue("UseCore", UseCore);
                        CoreSettings.SaveBoolValue("UseAPG", UseAPG);
                        CoreSettings.SaveBoolValue("UseChronicles", UseChronicles);
                        CoreSettings.SaveBoolValue("UseModules", UseModules);
                        CoreSettings.SaveBoolValue("UseUltimateMagic", UseUltimateMagic);
                        CoreSettings.SaveBoolValue("UseUltimateCombat", UseUltimateCombat);
                        CoreSettings.SaveBoolValue("UseOther", UseOther);
                    }

                    if (section == SettingsSaveSection.All || section == SettingsSaveSection.Initiative)
                    {
                        CoreSettings.SaveBoolValue("InitiativeShowPlayers", InitiativeShowPlayers);
                        CoreSettings.SaveBoolValue("InitiativeShowMonsters", InitiativeShowMonsters);
                        CoreSettings.SaveBoolValue("InitiativeHideMonsterNames", InitiativeHideMonsterNames);
                        CoreSettings.SaveBoolValue("InitiativeHidePlayerNames", InitiativeHidePlayerNames);
                        CoreSettings.SaveBoolValue("InitiativeShowConditions", InitiativeShowConditions);
                        CoreSettings.SaveIntValue("InitiativeConditionsSize", InitiativeConditionsSize);
                        CoreSettings.SaveBoolValue("InitiativeAlwaysOnTop", InitiativeAlwaysOnTop);
                        CoreSettings.SaveDoubleValue("InitiativeScale", InitiativeScale);
                        CoreSettings.SaveBoolValue("InitiativeFlip", InitiativeFlip);
                    }
                    if (section == SettingsSaveSection.All || section == SettingsSaveSection.LocalService)
                    {
                        CoreSettings.SaveBoolValue("RunLocalService", RunLocalService);
                        CoreSettings.SaveBoolValue("RunWebService", RunWebService);
                        CoreSettings.SaveIntValue("LocalServicePort", LocalServicePort);
                        CoreSettings.SaveStringValue("LocalServicePasscode", LocalServicePasscode);
                    }
                    if (section == SettingsSaveSection.All || section == SettingsSaveSection.Filters)
                    {
                        CoreSettings.SaveIntValue("MonsterDBFilter", (int)MonsterDBFilter);
                        CoreSettings.SaveIntValue("MonsterTabFilter", (int)MonsterTabFilter);
                    }
                    if (section == SettingsSaveSection.All || section == SettingsSaveSection.Timer)
                    {
                        CoreSettings.LoadBoolValue("UseTurnClock", UseTurnClock);
                        CoreSettings.LoadBoolValue("CountdownToNextTurn", CountdownToNextTurn);
                        CoreSettings.LoadBoolValue("MoveAutomaticallyOnTurnTimer", MoveAutomaticallyOnTurnTimer);
                        CoreSettings.LoadIntValue("TurnTimeSeconds", TurnTimeSeconds);
                        CoreSettings.LoadIntValue("WarningTimeSeconds", WarningTimeSeconds);
                        CoreSettings.LoadBoolValue("PlayWarningSound", PlayWarningSound);
                        CoreSettings.LoadStringValue("WarningSound", WarningSound);
                        CoreSettings.LoadBoolValue("PlayTurnEndSound", PlayTurnEndSound);
                        CoreSettings.LoadStringValue("TurnEndSound", TurnEndSound);
                        CoreSettings.LoadBoolValue("ShowClockForMonsters", ShowClockForMonsters);
                    }
                }

                catch (System.Security.SecurityException ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
                catch (System.IO.IOException ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
            }
        }
Example #2
0
        public void SaveOptions(SettingsSaveSection section)
        {
            if (optionsLoaded)
            {
                try
                {
                    RegistryKey key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\CombatManager", RegistryKeyPermissionCheck.Default);


                    if (section == SettingsSaveSection.All)
                    {
                        SaveBoolValue(key, "RollHP", RollHP);
                        SaveBoolValue(key, "ConfirmCharacterDelete", ConfirmCharacterDelete);
                        SaveBoolValue(key, "ConfirmInitiativeRoll", ConfirmInitiativeRoll);
                        SaveBoolValue(key, "ConfirmClose", ConfirmClose);
                        SaveBoolValue(key, "ShowAllDamageDice", ShowAllDamageDice);
                        SaveBoolValue(key, "AlternateInit3d6", AlternateInit3d6);
                        SaveStringValue(key, "AlternateInitRoll", AlternateInitRoll);
                        SaveBoolValue(key, "RunCombatViewService", RunCombatViewService);
                        SaveBoolValue(key, "ShowHiddenInitValue", ShowHiddenInitValue);
                        SaveBoolValue(key, "AddMonstersHidden", AddMonstersHidden);
                        SaveBoolValue(key, "StatsOpenByDefault", StatsOpenByDefault);
                        SaveBoolValue(key, "CheckForUpdates", CheckForUpdates);
                    }

                    if (section == SettingsSaveSection.WindowState || section == SettingsSaveSection.All)
                    {
                        SaveBoolValue(key, "PlayerMiniMode", PlayerMiniMode);
                        SaveBoolValue(key, "MonsterMiniMode", MonsterMiniMode);
                        SaveIntValue(key, "MainWindowWidth", MainWindowWidth);
                        SaveIntValue(key, "MainWindowHeight", MainWindowHeight);
                        SaveIntValue(key, "MainWindowLeft", MainWindowLeft);
                        SaveIntValue(key, "MainWindowTop", MainWindowTop);
                        SaveIntValue(key, "SelectedTab", SelectedTab);
                    }

                    if (section == SettingsSaveSection.Sources || section == SettingsSaveSection.All)
                    {
                        SaveBoolValue(key, "UseCore", UseCore);
                        SaveBoolValue(key, "UseAPG", UseAPG);
                        SaveBoolValue(key, "UseChronicles", UseChronicles);
                        SaveBoolValue(key, "UseModules", UseModules);
                        SaveBoolValue(key, "UseUltimateMagic", UseUltimateMagic);
                        SaveBoolValue(key, "UseUltimateCombat", UseUltimateCombat);
                        SaveBoolValue(key, "UseOther", UseOther);
                    }

                    if (section == SettingsSaveSection.All || section == SettingsSaveSection.Initiative)
                    {
                        SaveBoolValue(key, "InitiativeShowPlayers", InitiativeShowPlayers);
                        SaveBoolValue(key, "InitiativeShowMonsters", InitiativeShowMonsters);
                        SaveBoolValue(key, "InitiativeHideMonsterNames", InitiativeHideMonsterNames);
                        SaveBoolValue(key, "InitiativeHidePlayerNames", InitiativeHidePlayerNames);
                        SaveBoolValue(key, "InitiativeShowConditions", InitiativeShowConditions);
                        SaveIntValue(key, "InitiativeConditionsSize", InitiativeConditionsSize);
                        SaveBoolValue(key, "InitiativeAlwaysOnTop", InitiativeAlwaysOnTop);
                        SaveDoubleValue(key, "InitiativeScale", InitiativeScale);
                        SaveBoolValue(key, "InitiativeFlip", InitiativeFlip);
                    }
                    if (section == SettingsSaveSection.All || section == SettingsSaveSection.Filters)
                    {
                        SaveIntValue(key, "MonsterDBFilter", (int)MonsterDBFilter);
                        SaveIntValue(key, "MonsterTabFilter", (int)MonsterTabFilter);
                    }
                }

                catch (System.Security.SecurityException ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
                catch (System.IO.IOException ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
            }
        }