/// <summary> /// Handles a selection change in the styles list, loading that style in the main form. /// </summary> private void StyleList_SelectedIndexChanged(object sender, System.EventArgs e) { this.DefinitionChanged?.Invoke( KeyboardDefinition.Load(this.SelectedCategory, this.SelectedDefinition), KeyboardStyle.Load(this.SelectedStyle.Name, this.SelectedStyle.Global), this.SelectedStyle.Global); }
/// <summary> /// Handles a selection change in the styles list, loading that style in the main form. /// </summary> private void StyleList_SelectedIndexChanged(object sender, System.EventArgs e) { try { this.DefinitionChanged?.Invoke( KeyboardDefinition.Load(this.SelectedCategory, this.SelectedDefinition), KeyboardStyle.Load(this.SelectedStyle.Name, this.SelectedStyle.Global), this.SelectedStyle.Global); } catch (Exception ex) { MessageBox.Show($"Failed to load keyboard {this.SelectedDefinition}: {ex.Message}"); return; } }
/// <summary> /// Handles the loading of the form, all settings are read, hooks are created and the keyboard is initialized. /// </summary> private void MainForm_Load(object sender, EventArgs e) { // Load the settings if (!GlobalSettings.Load()) { MessageBox.Show( this, $"Failed to load the settings: {GlobalSettings.Errors}", "Failed to load settings"); } this.Location = new Point(GlobalSettings.Settings.X, GlobalSettings.Settings.Y); var title = GlobalSettings.Settings.WindowTitle; this.Text = string.IsNullOrWhiteSpace(title) ? $"NohBoard {Version.Get}" : title; this.GetLatestVersion().Start(); // Load a definition if possible. if (GlobalSettings.Settings.LoadedKeyboard != null && GlobalSettings.Settings.LoadedCategory != null) { try { GlobalSettings.Settings.UpdateDefinition(KeyboardDefinition .Load(GlobalSettings.Settings.LoadedCategory, GlobalSettings.Settings.LoadedKeyboard), false); } catch (Exception ex) { MessageBox.Show( "There was an error loading the saved keyboard definition file:" + $"{Environment.NewLine}{ex.Message}"); GlobalSettings.Settings.LoadedCategory = null; GlobalSettings.Settings.LoadedKeyboard = null; } } // Load a style if possible. if (GlobalSettings.CurrentDefinition != null && GlobalSettings.Settings.LoadedStyle != null) { try { GlobalSettings.Settings.UpdateStyle(KeyboardStyle.Load( GlobalSettings.Settings.LoadedStyle, GlobalSettings.Settings.LoadedGlobalStyle), false); this.LoadKeyboard(); this.ResetBackBrushes(); } catch { GlobalSettings.Settings.LoadedStyle = null; MessageBox.Show( $"Failed to load style {GlobalSettings.Settings.LoadedStyle}, loading default style.", "Error loading style."); } // Enable the mouse hook only if there are mouse keys on the screen. if (GlobalSettings.CurrentDefinition.Elements.Any(x => !(x is KeyboardKeyDefinition))) { HookManager.EnableMouseHook(); } // Enable the keyboard hook only if there are keyboard keys on the screen. if (GlobalSettings.CurrentDefinition.Elements.Any(x => x is KeyboardKeyDefinition)) { HookManager.EnableKeyboardHook(); } } this.UpdateTimer.Interval = GlobalSettings.Settings.UpdateInterval; this.UpdateTimer.Enabled = true; this.KeyCheckTimer.Enabled = true; this.Activate(); this.ApplySettings(); }
/// <summary> /// Handles the loading of the form, all settings are read, hooks are created and the keyboard is initialized. /// </summary> private void MainForm_Load(object sender, EventArgs e) { // Load the settings if (!GlobalSettings.Load()) { MessageBox.Show( this, $"Failed to load the settings: {GlobalSettings.Errors}", "Failed to load settings"); } this.Location = new Point(GlobalSettings.Settings.X, GlobalSettings.Settings.Y); this.Text = $"NohBoard {Version.Get}"; this.GetLatestVersion().Start(); // Load a definition if possible. if (GlobalSettings.Settings.LoadedKeyboard != null && GlobalSettings.Settings.LoadedCategory != null) { try { GlobalSettings.CurrentDefinition = KeyboardDefinition .Load(GlobalSettings.Settings.LoadedCategory, GlobalSettings.Settings.LoadedKeyboard); } catch (Exception ex) { MessageBox.Show( "There was an error loading the saved keyboard definition file:" + $"{Environment.NewLine}{ex.Message}"); GlobalSettings.Settings.LoadedCategory = null; GlobalSettings.Settings.LoadedKeyboard = null; } } // Load a style if possible. if (GlobalSettings.CurrentDefinition != null && GlobalSettings.Settings.LoadedStyle != null) { try { GlobalSettings.CurrentStyle = KeyboardStyle.Load( GlobalSettings.Settings.LoadedStyle, GlobalSettings.Settings.LoadedGlobalStyle); this.ResetBackBrushes(); } catch { GlobalSettings.Settings.LoadedStyle = null; MessageBox.Show( $"Failed to load style {GlobalSettings.Settings.LoadedStyle}, loading default style.", "Error loading style."); } } HookManager.EnableMouseHook(); HookManager.EnableKeyboardHook(); this.UpdateTimer.Enabled = true; this.KeyCheckTimer.Enabled = true; this.Activate(); this.ApplySettings(); }