Beispiel #1
0
        private void SettingsRegisterHotkey(KeyEventArgs e, int id)
        {
            e.SuppressKeyPress = true;
            if (e.Modifiers != Keys.None)
            {
                Keys key = Keys.None;
                Hotkey.KeyModifiers modifiers = Hotkey.GetModifiers(e.KeyData, out key);
                if (key != Keys.None)
                {
                    string   mod    = "";
                    string[] mSplit = modifiers.ToString().Split(new[] { ", " }, StringSplitOptions.None);
                    foreach (string m in mSplit)
                    {
                        mod += m + "+";
                    }
                    string hotkey = e.KeyData.ToString();
                    if (!config.hotkeys.Any(hotkey.Contains))
                    {
                        switch (id)
                        {
                        case 0:
                            textBox_hotkeySmoothOnOff.Text = mod + key;
                            break;

                        case 1:
                            textBox_hotkeyOverlayOnOff.Text = mod + key;
                            break;

                        case 2:
                            textBox_hotkeyToggleDisplay.Text = mod + key;
                            break;

                        case 3:
                            textBox_hotkeyTabletMode.Text = mod + key;
                            break;

                        case 4:
                            textBox_hotkeyStrengthUp.Text = mod + key;
                            break;

                        case 5:
                            textBox_hotkeyStrengthDown.Text = mod + key;
                            break;
                        }
                        config.hotkeys[id] = hotkey;
                        mainForm.RegisterHotkey(mainForm.Handle, id, modifiers, key);
                    }
                }
            }
        }
Beispiel #2
0
        public void LoadConfig(bool def = false)
        {
            if (def)
            {
                tabletOffset           = new Point(0, 0);
                overrideBounds         = new Rectangle(0, 0, 0, 0);
                smoothingStrength      = 30;
                smoothingInterpolation = 4;
                overlayScreen          = 0;
                tolerance             = 300;
                manualInterpolation   = false;
                stayOnTop             = false;
                disableOverlay        = false;
                allScreens            = false;
                manualOverlayOverride = false;
                disableCatchUp        = false;
                snapToCursor          = false;
                smoothOnDraw          = false;
                tabletOffsetOverride  = false;
                disableAutoDetection  = false;
                hotkeys[0]            = "None";
                hotkeys[1]            = "None";
                hotkeys[2]            = "None";
                hotkeys[3]            = "None";
                hotkeys[4]            = "None";
                hotkeys[5]            = "None";

                // Main window resetting
                mainForm.checkBox_smoothOnDraw.Checked           = false;
                mainForm.checkBox_stayOnTop.Checked              = false;
                mainForm.checkBox_tabletMode.Checked             = false;
                mainForm.checkBox_tabletMode.Enabled             = false;
                mainForm.checkBox_manualInterpolation.Checked    = false;
                mainForm.trackBar_smoothingInterpolation.Enabled = false;
                mainForm.textBox_smoothingInterpolation.Enabled  = false;
                mainForm.textBox_smoothingInterpolation.Text     = smoothingInterpolation.ToString();
                mainForm.textBox_smoothingStrength.Text          = smoothingStrength.ToString();
                mainForm.checkBox_smoothOnDraw.Checked           = false;
                mainForm.TopMost = false;

                // Cursor and overlay resetting
                overlayForm.cursorColor     = Color.FromArgb(128, 128, 128);
                overlayForm.cursorFillColor = Color.FromArgb(255, 255, 254);
                overlayForm.cursorType      = Overlay.CursorType.Bullseye;
                overlayForm.Show();
                overlayForm.Bounds = Screen.PrimaryScreen.Bounds;
                mainForm.button_colorDialog.BackColor = overlayForm.cursorColor;

                // Hotkey resetting
                for (int i = 0; i < mainForm.hotKeyHandling.Count(); i++)
                {
                    try
                    {
                        mainForm.hotKeyHandling[i].Dispose();
                    }
                    catch
                    {
                        // Nothing to dispose!
                    }
                }
            }
            else
            {
                try
                {
                    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                    // Main window loading
                    smoothingStrength      = int.Parse(config.AppSettings.Settings["Strength"].Value);
                    smoothingInterpolation = int.Parse(config.AppSettings.Settings["Interpolation"].Value);
                    manualInterpolation    = bool.Parse(config.AppSettings.Settings["Manual Interpolation"].Value);
                    smoothOnDraw           = bool.Parse(config.AppSettings.Settings["Smooth On Draw"].Value);
                    stayOnTop            = bool.Parse(config.AppSettings.Settings["Stay On Top"].Value);
                    disableAutoDetection = bool.Parse(config.AppSettings.Settings["Disable Auto Detection"].Value);
                    mainForm.tabletMode  = bool.Parse(config.AppSettings.Settings["Tablet Mode"].Value);
                    mainForm.checkBox_tabletMode.Enabled   = disableAutoDetection;
                    mainForm.checkBox_tabletMode.Checked   = mainForm.tabletMode;
                    mainForm.checkBox_smoothOnDraw.Checked = smoothOnDraw;
                    if (manualInterpolation)
                    {
                        mainForm.checkBox_manualInterpolation.Checked    = true;
                        mainForm.trackBar_smoothingInterpolation.Enabled = true;
                        mainForm.textBox_smoothingInterpolation.Enabled  = true;
                    }
                    mainForm.textBox_smoothingInterpolation.Text = smoothingInterpolation.ToString();
                    mainForm.textBox_smoothingStrength.Text      = smoothingStrength.ToString();
                    if (stayOnTop)
                    {
                        mainForm.checkBox_stayOnTop.Checked = true;
                        mainForm.TopMost    = true;
                        overlayForm.TopMost = true;
                    }

                    // Cursor and overlay loading
                    overlayForm.cursorType      = (Overlay.CursorType)Enum.Parse(typeof(Overlay.CursorType), config.AppSettings.Settings["Cursor Graphic"].Value);
                    overlayForm.cursorColor     = ColorTranslator.FromHtml(config.AppSettings.Settings["Main Color"].Value);
                    overlayForm.cursorFillColor = ColorTranslator.FromHtml(config.AppSettings.Settings["Fill Color"].Value);
                    overlayScreen         = int.Parse(config.AppSettings.Settings["Overlay Screen"].Value);
                    disableOverlay        = bool.Parse(config.AppSettings.Settings["Disable Overlay"].Value);
                    allScreens            = bool.Parse(config.AppSettings.Settings["All Screens"].Value);
                    manualOverlayOverride = bool.Parse(config.AppSettings.Settings["Manual Overlay Override"].Value);
                    RectangleConverter r = new RectangleConverter();
                    overrideBounds = (Rectangle)r.ConvertFromString(config.AppSettings.Settings["Override Bounds"].Value);
                    if (disableOverlay)
                    {
                        overlayForm.Hide();
                    }
                    overlayForm.Bounds = Screen.AllScreens[overlayScreen].Bounds;
                    if (allScreens)
                    {
                        overlayForm.Bounds = new Rectangle(0, 0, SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
                    }
                    if (manualOverlayOverride)
                    {
                        overlayForm.Bounds = overrideBounds;
                    }
                    mainForm.button_colorDialog.BackColor = overlayForm.cursorColor;

                    // ...and everything else
                    disableCatchUp       = bool.Parse(config.AppSettings.Settings["Disable Catch Up"].Value);
                    snapToCursor         = bool.Parse(config.AppSettings.Settings["Snap To Cursor"].Value);
                    tolerance            = int.Parse(config.AppSettings.Settings["Tolerance"].Value);
                    tabletOffsetOverride = bool.Parse(config.AppSettings.Settings["Tablet Offset Override"].Value);
                    PointConverter p = new PointConverter();
                    tabletOffset = (Point)p.ConvertFromString(config.AppSettings.Settings["Tablet Offset"].Value);
                    KeysConverter       c = new KeysConverter();
                    Keys                k;
                    Hotkey.KeyModifiers m;
                    hotkeys[0] = config.AppSettings.Settings["Hotkey 1"].Value;
                    if (hotkeys[0] != "None")
                    {
                        k = (Keys)c.ConvertFromString(config.AppSettings.Settings["Hotkey 1"].Value);
                        m = Hotkey.GetModifiers(k, out k);
                        if (k != Keys.None)
                        {
                            mainForm.RegisterHotkey(mainForm.Handle, 0, m, k);
                        }
                    }
                    hotkeys[1] = config.AppSettings.Settings["Hotkey 2"].Value;
                    if (hotkeys[1] != "None")
                    {
                        k = (Keys)c.ConvertFromString(config.AppSettings.Settings["Hotkey 2"].Value);
                        m = Hotkey.GetModifiers(k, out k);
                        if (k != Keys.None)
                        {
                            mainForm.RegisterHotkey(mainForm.Handle, 1, m, k);
                        }
                    }
                    hotkeys[2] = config.AppSettings.Settings["Hotkey 3"].Value;
                    if (hotkeys[2] != "None")
                    {
                        k = (Keys)c.ConvertFromString(config.AppSettings.Settings["Hotkey 3"].Value);
                        m = Hotkey.GetModifiers(k, out k);
                        if (k != Keys.None)
                        {
                            mainForm.RegisterHotkey(mainForm.Handle, 2, m, k);
                        }
                    }
                    hotkeys[3] = config.AppSettings.Settings["Hotkey 4"].Value;
                    if (hotkeys[3] != "None")
                    {
                        k = (Keys)c.ConvertFromString(config.AppSettings.Settings["Hotkey 4"].Value);
                        m = Hotkey.GetModifiers(k, out k);
                        if (k != Keys.None)
                        {
                            mainForm.RegisterHotkey(mainForm.Handle, 3, m, k);
                        }
                    }
                    hotkeys[4] = config.AppSettings.Settings["Hotkey 5"].Value;
                    if (hotkeys[4] != "None")
                    {
                        k = (Keys)c.ConvertFromString(config.AppSettings.Settings["Hotkey 5"].Value);
                        m = Hotkey.GetModifiers(k, out k);
                        if (k != Keys.None)
                        {
                            mainForm.RegisterHotkey(mainForm.Handle, 4, m, k);
                        }
                    }
                    hotkeys[5] = config.AppSettings.Settings["Hotkey 6"].Value;
                    if (hotkeys[5] != "None")
                    {
                        k = (Keys)c.ConvertFromString(config.AppSettings.Settings["Hotkey 6"].Value);
                        m = Hotkey.GetModifiers(k, out k);
                        if (k != Keys.None)
                        {
                            mainForm.RegisterHotkey(mainForm.Handle, 5, m, k);
                        }
                    }
                }
                catch
                {
                    // Quietly fail loading bad configs or no configs
                }
            }
        }