public bool Equals(KeyCombination kc) { return kc.Key == Key && kc.Ctrl == Ctrl && kc.Alt == Alt && kc.Shift == Shift; }
// public static IEnumerable<ExceptionPsHandler> LoadXml() { List<ExceptionPsHandler> exceptions = new List<ExceptionPsHandler>(); try { XDocument xDoc = XDocument.Load(CONFIG_FILENAME); XElement root = xDoc.Element("Config"); int version = int.Parse(root.Element("Version").Value); if (version < 17) { System.IO.File.Move("pshandler.xml", "pshandler" + version + ".xml"); throw new NotSupportedException("Old pshandler.xml config."); } // Version VersionControl(root, version); GnuGplV3Agreement = GetBool(root, "GnuGplV3Agreement", ref exceptions, "LoadXml() GnuGplV3Agreement", GnuGplV3Agreement); #region Settings MinimizeToSystemTray = GetBool(root, "MinimizeToSystemTray", ref exceptions, "LoadXml() MinimizeToSystemTray", MinimizeToSystemTray); StartMinimized = GetBool(root, "StartMinimized", ref exceptions, "LoadXml() StartMinimized", StartMinimized); SaveGuiLocation = GetBool(root, "SaveGuiLocation", ref exceptions, "LoadXml() SaveGuiLocation", SaveGuiLocation); GuiLocationX = GetInt(root, "GuiLocationX", ref exceptions, "LoadXml() GuiLocationX", GuiLocationX); GuiLocationY = GetInt(root, "GuiLocationY", ref exceptions, "LoadXml() GuiLocationY", GuiLocationY); SaveGuiSize = GetBool(root, "SaveGuiSize", ref exceptions, "LoadXml() SaveGuiSize", SaveGuiSize); GuiWidth = GetInt(root, "GuiWidth", ref exceptions, "LoadXml() GuiWidth", GuiWidth); GuiHeight = GetInt(root, "GuiHeight", ref exceptions, "LoadXml() GuiHeight", GuiHeight); HotkeyExit = KeyCombination.Parse(GetString(root, "HotkeyExit", ref exceptions, "LoadXml() HotkeyExit", HotkeyExit.ToString())); PokerStarsThemeTable = PokerStarsThemeTable.Parse(GetString(root, "PokerStarsThemeTable", ref exceptions, "LoadXml() PokerStarsThemeTable", new PokerStarsThemesTable.Unknown().ToString())); foreach (XElement xImportFolderPath in root.Elements("ImportFolderPaths").SelectMany(o => o.Elements("ImportFolderPath"))) if (!String.IsNullOrEmpty(xImportFolderPath.Value)) ImportFolders.Add(xImportFolderPath.Value); #endregion #region Controller AutoclickImBack = GetBool(root, "AutoclickImBack", ref exceptions, "LoadXml() AutoclickImBack", AutoclickImBack); AutoclickTimebank = GetBool(root, "AutoclickTimebank", ref exceptions, "LoadXml() AutoclickTimebank", AutoclickTimebank); AutoclickYesSeatAvailable = GetBool(root, "AutoclickYesSeatAvailable", ref exceptions, "LoadXml() AutoclickYesSeatAvailable", AutoclickYesSeatAvailable); AutocloseTournamentRegistrationPopups = GetBool(root, "AutocloseTournamentRegistrationPopups", ref exceptions, "LoadXml() AutocloseTournamentRegistrationPopups", AutocloseTournamentRegistrationPopups); AutocloseHM2ApplyToSimilarTablesPopups = GetBool(root, "AutocloseHM2ApplyToSimilarTablesPopups", ref exceptions, "LoadXml() AutocloseHM2ApplyToSimilarTablesPopups", AutocloseHM2ApplyToSimilarTablesPopups); HotkeyHandReplay = KeyCombination.Parse(GetString(root, "HotkeyHandReplay", ref exceptions, "LoadXml() HotkeyHandReplay", HotkeyHandReplay.ToString())); HotkeyQuickPreview = KeyCombination.Parse(GetString(root, "HotkeyQuickPreview", ref exceptions, "LoadXml() HotkeyQuickPreview", HotkeyQuickPreview.ToString())); #endregion #region Randomizer EnableRandomizer = GetBool(root, "EnableRandomizer", ref exceptions, "LoadXml() EnableRandomizer", EnableRandomizer); RandomizerChance10 = GetInt(root, "RandomizerChance10", ref exceptions, "LoadXml() RandomizerChance10", RandomizerChance10); RandomizerChance20 = GetInt(root, "RandomizerChance20", ref exceptions, "LoadXml() RandomizerChance20", RandomizerChance20); RandomizerChance30 = GetInt(root, "RandomizerChance30", ref exceptions, "LoadXml() RandomizerChance30", RandomizerChance30); RandomizerChance40 = GetInt(root, "RandomizerChance40", ref exceptions, "LoadXml() RandomizerChance40", RandomizerChance40); RandomizerChance50 = GetInt(root, "RandomizerChance50", ref exceptions, "LoadXml() RandomizerChance50", RandomizerChance50); RandomizerChance60 = GetInt(root, "RandomizerChance60", ref exceptions, "LoadXml() RandomizerChance60", RandomizerChance60); RandomizerChance70 = GetInt(root, "RandomizerChance70", ref exceptions, "LoadXml() RandomizerChance70", RandomizerChance70); RandomizerChance80 = GetInt(root, "RandomizerChance80", ref exceptions, "LoadXml() RandomizerChance80", RandomizerChance80); RandomizerChance90 = GetInt(root, "RandomizerChance90", ref exceptions, "LoadXml() RandomizerChance90", RandomizerChance90); HotkeyRandomizerChance10 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance10", ref exceptions, "LoadXml() HotkeyRandomizerChance10", new KeyCombination(Key.NumPad1, true, false, false).ToString())); HotkeyRandomizerChance20 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance20", ref exceptions, "LoadXml() HotkeyRandomizerChance20", new KeyCombination(Key.NumPad2, true, false, false).ToString())); HotkeyRandomizerChance30 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance30", ref exceptions, "LoadXml() HotkeyRandomizerChance30", new KeyCombination(Key.NumPad3, true, false, false).ToString())); HotkeyRandomizerChance40 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance40", ref exceptions, "LoadXml() HotkeyRandomizerChance40", new KeyCombination(Key.NumPad4, true, false, false).ToString())); HotkeyRandomizerChance50 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance50", ref exceptions, "LoadXml() HotkeyRandomizerChance50", new KeyCombination(Key.NumPad5, true, false, false).ToString())); HotkeyRandomizerChance60 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance60", ref exceptions, "LoadXml() HotkeyRandomizerChance60", new KeyCombination(Key.NumPad6, true, false, false).ToString())); HotkeyRandomizerChance70 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance70", ref exceptions, "LoadXml() HotkeyRandomizerChance70", new KeyCombination(Key.NumPad7, true, false, false).ToString())); HotkeyRandomizerChance80 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance80", ref exceptions, "LoadXml() HotkeyRandomizerChance80", new KeyCombination(Key.NumPad8, true, false, false).ToString())); HotkeyRandomizerChance90 = KeyCombination.Parse(GetString(root, "HotkeyRandomizerChance90", ref exceptions, "LoadXml() HotkeyRandomizerChance90", new KeyCombination(Key.NumPad9, true, false, false).ToString())); #endregion #region Hud HudEnable = GetBool(root, "HudEnable", ref exceptions, "LoadXml() HudEnable", HudEnable); HudTimerEnable = GetBool(root, "HudTimerEnable", ref exceptions, "LoadXml() HudTimerEnable", HudTimerEnable); HudTimerShowTimer = GetBool(root, "HudTimerShowTimer", ref exceptions, "LoadXml() HudTimerShowTimer", HudTimerShowTimer); HudTimerLocationLocked = GetBool(root, "HudTimerLocationLocked", ref exceptions, "LoadXml() HudTimerLocationLocked", HudTimerLocationLocked); HudTimerShowHandCount = GetBool(root, "HudTimerShowHandCount", ref exceptions, "LoadXml() HudTimerShowHandCount", HudTimerShowHandCount); HudTimerDiff = GetInt(root, "HudTimerDiff", ref exceptions, "LoadXml() HudTimerDiff", HudTimerDiff); HudTimerHHNotFound = GetString(root, "HudTimerHHNotFound", ref exceptions, "LoadXml() HudTimerHHNotFound", HudTimerHHNotFound); HudTimerPokerTypeNotFound = GetString(root, "HudTimerPokerTypeNotFound", ref exceptions, "LoadXml() HudTimerPokerTypeNotFound", HudTimerPokerTypeNotFound); HudTimerMultiplePokerTypes = GetString(root, "HudTimerMultiplePokerTypes", ref exceptions, "LoadXml() HudTimerMultiplePokerTypes", HudTimerMultiplePokerTypes); HudBigBlindEnable = GetBool(root, "HudBigBlindEnable", ref exceptions, "LoadXml() HudBigBlindEnable", HudBigBlindEnable); HudBigBlindLocationLocked = GetBool(root, "HudBigBlindLocationLocked", ref exceptions, "LoadXml() HudBigBlindLocationLocked", HudBigBlindLocationLocked); HudBigBlindShowBB = GetBool(root, "HudBigBlindShowBB", ref exceptions, "LoadXml() HudBigBlindShowBB", HudBigBlindShowBB); HudBigBlindShowAdjustedBB = GetBool(root, "HudBigBlindShowAdjustedBB", ref exceptions, "LoadXml() HudBigBlindShowAdjustedBB", HudBigBlindShowAdjustedBB); HudBigBlindShowTournamentM = GetBool(root, "HudBigBlindShowTournamentM", ref exceptions, "LoadXml() HudBigBlindShowTournamentM", HudBigBlindShowTournamentM); HudBigBlindMByPlayerCount = GetBool(root, "HudBigBlindMByPlayerCount", ref exceptions, "LoadXml() HudBigBlindMByPlayerCount", HudBigBlindMByPlayerCount); HudBigBlindMByTableSize = GetBool(root, "HudBigBlindMByTableSize", ref exceptions, "LoadXml() HudBigBlindMByTableSize", HudBigBlindMByTableSize); HudBigBlindShowForOpponents = GetBool(root, "HudBigBlindShowForOpponents", ref exceptions, "LoadXml() HudBigBlindShowForOpponents", HudBigBlindShowForOpponents); HudBigBlindShowForHero = GetBool(root, "HudBigBlindShowForHero", ref exceptions, "LoadXml() HudBigBlindShowForHero", HudBigBlindShowForHero); HudBigBlindDecimals = GetInt(root, "HudBigBlindDecimals", ref exceptions, "LoadXml() HudBigBlindDecimals", HudBigBlindDecimals); HudBigBlindHHNotFound = GetString(root, "HudBigBlindHHNotFound", ref exceptions, "LoadXml() HudBigBlindHHNotFound", HudBigBlindHHNotFound); HudBigBlindPrefix = GetString(root, "HudBigBlindPrefix", ref exceptions, "LoadXml() HudBigBlindPrefix", HudBigBlindPrefix); HudBigBlindPostfix = GetString(root, "HudBigBlindPostfix", ref exceptions, "LoadXml() HudBigBlindPostfix", HudBigBlindPostfix); #endregion #region Hud Design HudTimerBackground = GetColor(root, "HudTimerBackground", ref exceptions, "LoadXml() HudTimerBackground", HudTimerBackground); HudTimerForeground = GetColor(root, "HudTimerForeground", ref exceptions, "LoadXml() HudTimerForeground", HudTimerForeground); HudTimerFontFamily = GetFontFamily(root, "HudTimerFontFamily", ref exceptions, "LoadXml() HudTimerFontFamily", HudTimerFontFamily); HudTimerFontWeight = GetFontWeight(root, "HudTimerFontWeight", ref exceptions, "LoadXml() HudTimerFontWeight", HudTimerFontWeight); HudTimerFontStyle = GetFontStyle(root, "HudTimerFontStyle", ref exceptions, "LoadXml() HudTimerFontStyle", HudTimerFontStyle); HudTimerFontSize = GetDouble(root, "HudTimerFontSize", ref exceptions, "LoadXml() HudTimerFontSize", HudTimerFontSize); HudTimerMargin = GetThickness(root, "HudTimerMargin", ref exceptions, "LoadXml() HudTimerMargin", HudTimerMargin); HudTimerBorderBrush = GetColor(root, "HudTimerBorderBrush", ref exceptions, "LoadXml() HudTimerBorderBrush", HudTimerBorderBrush); HudTimerBorderThickness = GetThickness(root, "HudTimerBorderThickness", ref exceptions, "LoadXml() HudTimerBorderThickness", HudTimerBorderThickness); HudTimerCornerRadius = GetCornerRadius(root, "HudTimerCornerRadius", ref exceptions, "LoadXml() HudTimerCornerRadius", HudTimerCornerRadius); HudBigBlindOpponentsBackground = GetColor(root, "HudBigBlindOpponentsBackground", ref exceptions, "LoadXml() HudBigBlindOpponentsBackground", HudBigBlindOpponentsBackground); HudBigBlindOpponentsForeground = GetColor(root, "HudBigBlindOpponentsForeground", ref exceptions, "LoadXml() HudBigBlindOpponentsForeground", HudBigBlindOpponentsForeground); HudBigBlindOpponentsFontFamily = GetFontFamily(root, "HudBigBlindOpponentsFontFamily", ref exceptions, "LoadXml() HudBigBlindOpponentsFontFamily", HudBigBlindOpponentsFontFamily); HudBigBlindOpponentsFontWeight = GetFontWeight(root, "HudBigBlindOpponentsFontWeight", ref exceptions, "LoadXml() HudBigBlindOpponentsFontWeight", HudBigBlindOpponentsFontWeight); HudBigBlindOpponentsFontStyle = GetFontStyle(root, "HudBigBlindOpponentsFontStyle", ref exceptions, "LoadXml() HudBigBlindOpponentsFontStyle", HudBigBlindOpponentsFontStyle); HudBigBlindOpponentsFontSize = GetDouble(root, "HudBigBlindOpponentsFontSize", ref exceptions, "LoadXml() HudBigBlindOpponentsFontSize", HudBigBlindOpponentsFontSize); HudBigBlindOpponentsMargin = GetThickness(root, "HudBigBlindOpponentsMargin", ref exceptions, "LoadXml() HudBigBlindOpponentsMargin", HudBigBlindOpponentsMargin); HudBigBlindOpponentsBorderBrush = GetColor(root, "HudBigBlindOpponentsBorderBrush", ref exceptions, "LoadXml() HudBigBlindOpponentsBorderBrush", HudBigBlindOpponentsBorderBrush); HudBigBlindOpponentsBorderThickness = GetThickness(root, "HudBigBlindOpponentsBorderThickness", ref exceptions, "LoadXml() HudBigBlindOpponentsBorderThickness", HudBigBlindOpponentsBorderThickness); HudBigBlindOpponentsCornerRadius = GetCornerRadius(root, "HudBigBlindOpponentsCornerRadius", ref exceptions, "LoadXml() HudBigBlindOpponentsCornerRadius", HudBigBlindOpponentsCornerRadius); HudBigBlindHeroBackground = GetColor(root, "HudBigBlindHeroBackground", ref exceptions, "LoadXml() HudBigBlindHeroBackground", HudBigBlindHeroBackground); HudBigBlindHeroForeground = GetColor(root, "HudBigBlindHeroForeground", ref exceptions, "LoadXml() HudBigBlindHeroForeground", HudBigBlindHeroForeground); HudBigBlindHeroFontFamily = GetFontFamily(root, "HudBigBlindHeroFontFamily", ref exceptions, "LoadXml() HudBigBlindHeroFontFamily", HudBigBlindHeroFontFamily); HudBigBlindHeroFontWeight = GetFontWeight(root, "HudBigBlindHeroFontWeight", ref exceptions, "LoadXml() HudBigBlindHeroFontWeight", HudBigBlindHeroFontWeight); HudBigBlindHeroFontStyle = GetFontStyle(root, "HudBigBlindHeroFontStyle", ref exceptions, "LoadXml() HudBigBlindHeroFontStyle", HudBigBlindHeroFontStyle); HudBigBlindHeroFontSize = GetDouble(root, "HudBigBlindHeroFontSize", ref exceptions, "LoadXml() HudBigBlindHeroFontSize", HudBigBlindHeroFontSize); HudBigBlindHeroMargin = GetThickness(root, "HudBigBlindHeroMargin", ref exceptions, "LoadXml() HudBigBlindHeroMargin", HudBigBlindHeroMargin); HudBigBlindHeroBorderBrush = GetColor(root, "HudBigBlindHeroBorderBrush", ref exceptions, "LoadXml() HudBigBlindHeroBorderBrush", HudBigBlindHeroBorderBrush); HudBigBlindHeroBorderThickness = GetThickness(root, "HudBigBlindHeroBorderThickness", ref exceptions, "LoadXml() HudBigBlindHeroBorderThickness", HudBigBlindHeroBorderThickness); HudBigBlindHeroCornerRadius = GetCornerRadius(root, "HudBigBlindHeroCornerRadius", ref exceptions, "LoadXml() HudBigBlindHeroCornerRadius", HudBigBlindHeroCornerRadius); try { foreach (XElement element in GetXElement(root, "HudBigBlindOpponentsColorsByValue", ref exceptions, "LoadXml() HudBigBlindOpponentsColorsByValue", new XElement("HudBigBlindOpponentsColorsByValue")).Elements("ColorByValue")) { ColorByValue colorByValue = ColorByValue.FromXElement(element, ref exceptions, "LoadXml() ColorByValue"); if (colorByValue != null && HudBigBlindOpponentsColorsByValue.Count < 3) { HudBigBlindOpponentsColorsByValue.Add(colorByValue); } } } catch { } try { foreach (XElement element in GetXElement(root, "HudBigBlindHeroColorsByValue", ref exceptions, "LoadXml() HudBigBlindHeroColorsByValue", new XElement("HudBigBlindHeroColorsByValue")).Elements("ColorByValue")) { ColorByValue colorByValue = ColorByValue.FromXElement(element, ref exceptions, "LoadXml() ColorByValue"); if (colorByValue != null && HudBigBlindHeroColorsByValue.Count < 3) { HudBigBlindHeroColorsByValue.Add(colorByValue); } } } catch (Exception) { } #endregion EnableTableTiler = GetBool(root, "EnableTableTiler", ref exceptions, "LoadXml() EnableTableTiler", EnableTableTiler); AutoTileCheckingTimeMs = GetInt(root, "AutoTileCheckingTimeMs", ref exceptions, "LoadXml() AutoTileCheckingTimeMs", 3000); #region Preferred Seat / Hud Timer+BigBlind LocationsXY for (int tableSize = 0; tableSize < 11; tableSize++) { PreferredSeat[tableSize] = GetInt(root, string.Format("PreferredSeat_{0}", tableSize), ref exceptions, string.Format("LoadXml() PreferredSeat_{0}", tableSize), PreferredSeat[tableSize]); } for (int tableSize = 0; tableSize < 11; tableSize++) { try { var xy = GetString(root, string.Format("HudTimerLocationsXY_{0}", tableSize), ref exceptions, string.Format("LoadXml() HudTimerLocationsXY_{0}", tableSize), string.Format("{0} {1}", DefaultHudTimerLocationsX[tableSize], DefaultHudTimerLocationsY[tableSize])).Split(' '); HudTimerLocationsX[tableSize] = double.Parse(xy[0]); HudTimerLocationsY[tableSize] = double.Parse(xy[1]); } catch { } } for (int tableSize = 0; tableSize < 11; tableSize++) { for (int position = 0; position < 10; position++) { try { var xy = GetString(root, string.Format("HudBigBlindLocationsXY_{0}_{1}", tableSize, position), ref exceptions, string.Format("LoadXml() HudBigBlindLocationsXY_{0}_{1}", tableSize, position), string.Format("{0} {1}", DefaultHudBigBlindLocationsX[tableSize][position], DefaultHudBigBlindLocationsX[tableSize][position])).Split(' '); HudBigBlindLocationsX[tableSize][position] = double.Parse(xy[0]); HudBigBlindLocationsY[tableSize][position] = double.Parse(xy[1]); } catch { } } } #endregion App.TableTileManager.FromXElement(root.Element("TableTiles"), ref exceptions, "LoadXml()"); App.PokerTypeManager.FromXElement(root.Element("PokerTypes"), ref exceptions, "LoadXml()"); } catch (Exception e) { exceptions.Add(new ExceptionPsHandler(e, "LoadXml() Main Exception")); } App.PokerTypeManager.SeedDefaultValues(); App.TableTileManager.SeedDefaultValues(); CollectRecentColors(); return exceptions; }