refactor(MainForm): validate hotkey input on leave event

This commit is contained in:
2025-08-30 00:03:49 +02:00
parent 708c1f3df6
commit ad575c88d2
2 changed files with 34 additions and 3 deletions

View File

@@ -407,7 +407,7 @@ namespace EveOPreview.View {
ToggleTrackingHotkeyTextBox.Name = "ToggleTrackingHotkeyTextBox";
ToggleTrackingHotkeyTextBox.Size = new Size(137, 23);
ToggleTrackingHotkeyTextBox.TabIndex = 29;
ToggleTrackingHotkeyTextBox.TextChanged += OptionChanged_Handler;
ToggleTrackingHotkeyTextBox.Leave += HotkeyTextBox_Leave;
//
// ToggleSingleProcessHotkeyLabel
//
@@ -426,7 +426,7 @@ namespace EveOPreview.View {
ToggleSingleProcessHotkeyTextBox.Name = "ToggleSingleProcessHotkeyTextBox";
ToggleSingleProcessHotkeyTextBox.Size = new Size(137, 23);
ToggleSingleProcessHotkeyTextBox.TabIndex = 31;
ToggleSingleProcessHotkeyTextBox.TextChanged += OptionChanged_Handler;
ToggleSingleProcessHotkeyTextBox.Leave += HotkeyTextBox_Leave;
//
// ToggleAllThumbnailsHotkeyLabel
//
@@ -445,7 +445,7 @@ namespace EveOPreview.View {
ToggleAllThumbnailsHotkeyTextBox.Name = "ToggleAllThumbnailsHotkeyTextBox";
ToggleAllThumbnailsHotkeyTextBox.Size = new Size(137, 23);
ToggleAllThumbnailsHotkeyTextBox.TabIndex = 33;
ToggleAllThumbnailsHotkeyTextBox.TextChanged += OptionChanged_Handler;
ToggleAllThumbnailsHotkeyTextBox.Leave += HotkeyTextBox_Leave;
//
// ThumbnailTabPage
//

View File

@@ -673,5 +673,36 @@ namespace EveOPreview.View {
private void AnimationStyleCombo_SelectedIndexChanged(object sender, EventArgs e) {}
private void GeneralSettingsPanel_Paint(object sender, PaintEventArgs e) {}
private void HotkeyTextBox_Leave(object sender, EventArgs e) {
if (sender is System.Windows.Forms.TextBox textBox) {
string hotkeyText = textBox.Text.Trim();
if (!string.IsNullOrEmpty(hotkeyText)) {
try {
// Try to parse the hotkey to validate it
var keysConverter = new KeysConverter();
var key = keysConverter.ConvertFromInvariantString(hotkeyText);
if (key == null || (Keys)key == Keys.None) {
MessageBox.Show(
$"Invalid hotkey: {hotkeyText}\n\nPlease enter a valid hotkey combination (e.g., Alt+F1, Ctrl+Shift+A)",
"Invalid Hotkey", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox.Focus();
return;
}
} catch (Exception) {
MessageBox.Show(
$"Invalid hotkey: {hotkeyText}\n\nPlease enter a valid hotkey combination (e.g., Alt+F1, Ctrl+Shift+A)",
"Invalid Hotkey", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox.Focus();
return;
}
}
// If we get here, the hotkey is valid (or empty), so trigger the option change
this.OptionChanged_Handler(sender, e);
}
}
}
}