Fixed order of settings changed event & added app event for it
This commit is contained in:
parent
58f30240dc
commit
9c0de0edd5
@ -4,6 +4,14 @@ namespace UI_WinForms;
|
||||
|
||||
internal static class AppEvents
|
||||
{
|
||||
#region Event: Settings were
|
||||
|
||||
internal static event EventHandler WhenSettingsChanged;
|
||||
|
||||
internal static void SettingsChanged() => WhenSettingsChanged?.Invoke(null, EventArgs.Empty);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Event: Section was changed
|
||||
|
||||
// Section changed event which can be subscribed:
|
||||
|
@ -77,6 +77,8 @@ public sealed partial class Setting : UserControl
|
||||
{
|
||||
if(this.data.ChangeNeedsRestart)
|
||||
this.needRestart = true;
|
||||
|
||||
AppEvents.SettingsChanged();
|
||||
}
|
||||
|
||||
private void UpdateExplanation() => this.labelExplanation.Text = this.data.SettingExplanation();
|
||||
@ -257,7 +259,6 @@ public sealed partial class Setting : UserControl
|
||||
};
|
||||
|
||||
// Setup the change event handler:
|
||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||
dropdown.SelectedValueChanged += async (sender, args) => await AppSettings.SetDeepLAction(dropdown.SelectedIndex switch
|
||||
{
|
||||
0 => SettingDeepLAction.MANUAL,
|
||||
@ -265,6 +266,7 @@ public sealed partial class Setting : UserControl
|
||||
|
||||
_ => SettingDeepLAction.MANUAL,
|
||||
});
|
||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||
|
||||
// Apply the desired layout:
|
||||
dropdown.Dock = DockStyle.Fill;
|
||||
@ -314,12 +316,12 @@ public sealed partial class Setting : UserControl
|
||||
dropdown.SelectedIndex = currentCultureDropdownIndex;
|
||||
|
||||
// Setup the change event handler:
|
||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||
dropdown.SelectedValueChanged += async (sender, args) =>
|
||||
{
|
||||
if(dropdown.SelectedItem is ComboBoxItem selectedItem)
|
||||
await AppSettings.SetDeepLSourceCultureIndex(selectedItem.CultureIndex);
|
||||
};
|
||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||
|
||||
// Apply the desired layout:
|
||||
dropdown.Dock = DockStyle.Fill;
|
||||
@ -414,7 +416,6 @@ public sealed partial class Setting : UserControl
|
||||
};
|
||||
|
||||
// Setup the change event handler:
|
||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||
dropdown.SelectedValueChanged += async (sender, args) => await AppSettings.SetGeneratorMode(dropdown.SelectedIndex switch
|
||||
{
|
||||
0 => SettingGeneratorMode.AUTOMATIC,
|
||||
@ -422,6 +423,7 @@ public sealed partial class Setting : UserControl
|
||||
|
||||
_ => SettingGeneratorMode.AUTOMATIC,
|
||||
});
|
||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||
|
||||
// Apply the desired layout:
|
||||
dropdown.Dock = DockStyle.Fill;
|
||||
@ -449,8 +451,8 @@ public sealed partial class Setting : UserControl
|
||||
// Set up an checkbox:
|
||||
var checkbox = new CheckBox();
|
||||
checkbox.Checked = currentSetting;
|
||||
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
||||
checkbox.CheckedChanged += async (sender, args) => await AppSettings.SetGeneratorDotnetEnabled(checkbox.Checked);
|
||||
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
||||
checkbox.Text = "Enable .NET Generator";
|
||||
|
||||
// Apply the desired layout:
|
||||
@ -486,8 +488,8 @@ public sealed partial class Setting : UserControl
|
||||
// Set up a textbox:
|
||||
var textbox = new TextBox();
|
||||
textbox.Text = currentSetting;
|
||||
textbox.TextChanged += (sender, args) => changeTrigger();
|
||||
textbox.TextChanged += async (sender, args) => await AppSettings.SetGeneratorDotnetDestinationPath(textbox.Text);
|
||||
textbox.TextChanged += (sender, args) => changeTrigger();
|
||||
textbox.Dock = DockStyle.Fill;
|
||||
textbox.Margin = new Padding(0, 13, 0, 13);
|
||||
layout.Controls.Add(textbox, 0, 0);
|
||||
@ -536,8 +538,8 @@ public sealed partial class Setting : UserControl
|
||||
// Set up an checkbox:
|
||||
var checkbox = new CheckBox();
|
||||
checkbox.Checked = currentSetting;
|
||||
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
||||
checkbox.CheckedChanged += async (sender, args) => await AppSettings.SetGeneratorGodotEnabled(checkbox.Checked);
|
||||
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
||||
checkbox.Text = "Enable Godot Generator";
|
||||
|
||||
// Apply the desired layout:
|
||||
@ -573,8 +575,8 @@ public sealed partial class Setting : UserControl
|
||||
// Set up a textbox:
|
||||
var textbox = new TextBox();
|
||||
textbox.Text = currentSetting;
|
||||
textbox.TextChanged += (sender, args) => changeTrigger();
|
||||
textbox.TextChanged += async (sender, args) => await AppSettings.SetGeneratorGodotDestinationPath(textbox.Text);
|
||||
textbox.TextChanged += (sender, args) => changeTrigger();
|
||||
textbox.Dock = DockStyle.Fill;
|
||||
textbox.Margin = new Padding(0, 13, 0, 13);
|
||||
layout.Controls.Add(textbox, 0, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user