refactor(MainForm): validate hotkey input on leave event
This commit is contained in:
@@ -407,7 +407,7 @@ namespace EveOPreview.View {
|
|||||||
ToggleTrackingHotkeyTextBox.Name = "ToggleTrackingHotkeyTextBox";
|
ToggleTrackingHotkeyTextBox.Name = "ToggleTrackingHotkeyTextBox";
|
||||||
ToggleTrackingHotkeyTextBox.Size = new Size(137, 23);
|
ToggleTrackingHotkeyTextBox.Size = new Size(137, 23);
|
||||||
ToggleTrackingHotkeyTextBox.TabIndex = 29;
|
ToggleTrackingHotkeyTextBox.TabIndex = 29;
|
||||||
ToggleTrackingHotkeyTextBox.TextChanged += OptionChanged_Handler;
|
ToggleTrackingHotkeyTextBox.Leave += HotkeyTextBox_Leave;
|
||||||
//
|
//
|
||||||
// ToggleSingleProcessHotkeyLabel
|
// ToggleSingleProcessHotkeyLabel
|
||||||
//
|
//
|
||||||
@@ -426,7 +426,7 @@ namespace EveOPreview.View {
|
|||||||
ToggleSingleProcessHotkeyTextBox.Name = "ToggleSingleProcessHotkeyTextBox";
|
ToggleSingleProcessHotkeyTextBox.Name = "ToggleSingleProcessHotkeyTextBox";
|
||||||
ToggleSingleProcessHotkeyTextBox.Size = new Size(137, 23);
|
ToggleSingleProcessHotkeyTextBox.Size = new Size(137, 23);
|
||||||
ToggleSingleProcessHotkeyTextBox.TabIndex = 31;
|
ToggleSingleProcessHotkeyTextBox.TabIndex = 31;
|
||||||
ToggleSingleProcessHotkeyTextBox.TextChanged += OptionChanged_Handler;
|
ToggleSingleProcessHotkeyTextBox.Leave += HotkeyTextBox_Leave;
|
||||||
//
|
//
|
||||||
// ToggleAllThumbnailsHotkeyLabel
|
// ToggleAllThumbnailsHotkeyLabel
|
||||||
//
|
//
|
||||||
@@ -445,7 +445,7 @@ namespace EveOPreview.View {
|
|||||||
ToggleAllThumbnailsHotkeyTextBox.Name = "ToggleAllThumbnailsHotkeyTextBox";
|
ToggleAllThumbnailsHotkeyTextBox.Name = "ToggleAllThumbnailsHotkeyTextBox";
|
||||||
ToggleAllThumbnailsHotkeyTextBox.Size = new Size(137, 23);
|
ToggleAllThumbnailsHotkeyTextBox.Size = new Size(137, 23);
|
||||||
ToggleAllThumbnailsHotkeyTextBox.TabIndex = 33;
|
ToggleAllThumbnailsHotkeyTextBox.TabIndex = 33;
|
||||||
ToggleAllThumbnailsHotkeyTextBox.TextChanged += OptionChanged_Handler;
|
ToggleAllThumbnailsHotkeyTextBox.Leave += HotkeyTextBox_Leave;
|
||||||
//
|
//
|
||||||
// ThumbnailTabPage
|
// ThumbnailTabPage
|
||||||
//
|
//
|
||||||
|
@@ -673,5 +673,36 @@ namespace EveOPreview.View {
|
|||||||
private void AnimationStyleCombo_SelectedIndexChanged(object sender, EventArgs e) {}
|
private void AnimationStyleCombo_SelectedIndexChanged(object sender, EventArgs e) {}
|
||||||
|
|
||||||
private void GeneralSettingsPanel_Paint(object sender, PaintEventArgs 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user