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
|
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
|
#region Event: Section was changed
|
||||||
|
|
||||||
// Section changed event which can be subscribed:
|
// Section changed event which can be subscribed:
|
||||||
|
@ -77,6 +77,8 @@ public sealed partial class Setting : UserControl
|
|||||||
{
|
{
|
||||||
if(this.data.ChangeNeedsRestart)
|
if(this.data.ChangeNeedsRestart)
|
||||||
this.needRestart = true;
|
this.needRestart = true;
|
||||||
|
|
||||||
|
AppEvents.SettingsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateExplanation() => this.labelExplanation.Text = this.data.SettingExplanation();
|
private void UpdateExplanation() => this.labelExplanation.Text = this.data.SettingExplanation();
|
||||||
@ -257,7 +259,6 @@ public sealed partial class Setting : UserControl
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Setup the change event handler:
|
// Setup the change event handler:
|
||||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
|
||||||
dropdown.SelectedValueChanged += async (sender, args) => await AppSettings.SetDeepLAction(dropdown.SelectedIndex switch
|
dropdown.SelectedValueChanged += async (sender, args) => await AppSettings.SetDeepLAction(dropdown.SelectedIndex switch
|
||||||
{
|
{
|
||||||
0 => SettingDeepLAction.MANUAL,
|
0 => SettingDeepLAction.MANUAL,
|
||||||
@ -265,6 +266,7 @@ public sealed partial class Setting : UserControl
|
|||||||
|
|
||||||
_ => SettingDeepLAction.MANUAL,
|
_ => SettingDeepLAction.MANUAL,
|
||||||
});
|
});
|
||||||
|
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||||
|
|
||||||
// Apply the desired layout:
|
// Apply the desired layout:
|
||||||
dropdown.Dock = DockStyle.Fill;
|
dropdown.Dock = DockStyle.Fill;
|
||||||
@ -314,12 +316,12 @@ public sealed partial class Setting : UserControl
|
|||||||
dropdown.SelectedIndex = currentCultureDropdownIndex;
|
dropdown.SelectedIndex = currentCultureDropdownIndex;
|
||||||
|
|
||||||
// Setup the change event handler:
|
// Setup the change event handler:
|
||||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
|
||||||
dropdown.SelectedValueChanged += async (sender, args) =>
|
dropdown.SelectedValueChanged += async (sender, args) =>
|
||||||
{
|
{
|
||||||
if(dropdown.SelectedItem is ComboBoxItem selectedItem)
|
if(dropdown.SelectedItem is ComboBoxItem selectedItem)
|
||||||
await AppSettings.SetDeepLSourceCultureIndex(selectedItem.CultureIndex);
|
await AppSettings.SetDeepLSourceCultureIndex(selectedItem.CultureIndex);
|
||||||
};
|
};
|
||||||
|
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||||
|
|
||||||
// Apply the desired layout:
|
// Apply the desired layout:
|
||||||
dropdown.Dock = DockStyle.Fill;
|
dropdown.Dock = DockStyle.Fill;
|
||||||
@ -414,7 +416,6 @@ public sealed partial class Setting : UserControl
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Setup the change event handler:
|
// Setup the change event handler:
|
||||||
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
|
||||||
dropdown.SelectedValueChanged += async (sender, args) => await AppSettings.SetGeneratorMode(dropdown.SelectedIndex switch
|
dropdown.SelectedValueChanged += async (sender, args) => await AppSettings.SetGeneratorMode(dropdown.SelectedIndex switch
|
||||||
{
|
{
|
||||||
0 => SettingGeneratorMode.AUTOMATIC,
|
0 => SettingGeneratorMode.AUTOMATIC,
|
||||||
@ -422,6 +423,7 @@ public sealed partial class Setting : UserControl
|
|||||||
|
|
||||||
_ => SettingGeneratorMode.AUTOMATIC,
|
_ => SettingGeneratorMode.AUTOMATIC,
|
||||||
});
|
});
|
||||||
|
dropdown.SelectedValueChanged += (sender, args) => changeTrigger();
|
||||||
|
|
||||||
// Apply the desired layout:
|
// Apply the desired layout:
|
||||||
dropdown.Dock = DockStyle.Fill;
|
dropdown.Dock = DockStyle.Fill;
|
||||||
@ -449,8 +451,8 @@ public sealed partial class Setting : UserControl
|
|||||||
// Set up an checkbox:
|
// Set up an checkbox:
|
||||||
var checkbox = new CheckBox();
|
var checkbox = new CheckBox();
|
||||||
checkbox.Checked = currentSetting;
|
checkbox.Checked = currentSetting;
|
||||||
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
|
||||||
checkbox.CheckedChanged += async (sender, args) => await AppSettings.SetGeneratorDotnetEnabled(checkbox.Checked);
|
checkbox.CheckedChanged += async (sender, args) => await AppSettings.SetGeneratorDotnetEnabled(checkbox.Checked);
|
||||||
|
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
||||||
checkbox.Text = "Enable .NET Generator";
|
checkbox.Text = "Enable .NET Generator";
|
||||||
|
|
||||||
// Apply the desired layout:
|
// Apply the desired layout:
|
||||||
@ -486,8 +488,8 @@ public sealed partial class Setting : UserControl
|
|||||||
// Set up a textbox:
|
// Set up a textbox:
|
||||||
var textbox = new TextBox();
|
var textbox = new TextBox();
|
||||||
textbox.Text = currentSetting;
|
textbox.Text = currentSetting;
|
||||||
textbox.TextChanged += (sender, args) => changeTrigger();
|
|
||||||
textbox.TextChanged += async (sender, args) => await AppSettings.SetGeneratorDotnetDestinationPath(textbox.Text);
|
textbox.TextChanged += async (sender, args) => await AppSettings.SetGeneratorDotnetDestinationPath(textbox.Text);
|
||||||
|
textbox.TextChanged += (sender, args) => changeTrigger();
|
||||||
textbox.Dock = DockStyle.Fill;
|
textbox.Dock = DockStyle.Fill;
|
||||||
textbox.Margin = new Padding(0, 13, 0, 13);
|
textbox.Margin = new Padding(0, 13, 0, 13);
|
||||||
layout.Controls.Add(textbox, 0, 0);
|
layout.Controls.Add(textbox, 0, 0);
|
||||||
@ -536,8 +538,8 @@ public sealed partial class Setting : UserControl
|
|||||||
// Set up an checkbox:
|
// Set up an checkbox:
|
||||||
var checkbox = new CheckBox();
|
var checkbox = new CheckBox();
|
||||||
checkbox.Checked = currentSetting;
|
checkbox.Checked = currentSetting;
|
||||||
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
|
||||||
checkbox.CheckedChanged += async (sender, args) => await AppSettings.SetGeneratorGodotEnabled(checkbox.Checked);
|
checkbox.CheckedChanged += async (sender, args) => await AppSettings.SetGeneratorGodotEnabled(checkbox.Checked);
|
||||||
|
checkbox.CheckedChanged += (sender, args) => changeTrigger();
|
||||||
checkbox.Text = "Enable Godot Generator";
|
checkbox.Text = "Enable Godot Generator";
|
||||||
|
|
||||||
// Apply the desired layout:
|
// Apply the desired layout:
|
||||||
@ -573,8 +575,8 @@ public sealed partial class Setting : UserControl
|
|||||||
// Set up a textbox:
|
// Set up a textbox:
|
||||||
var textbox = new TextBox();
|
var textbox = new TextBox();
|
||||||
textbox.Text = currentSetting;
|
textbox.Text = currentSetting;
|
||||||
textbox.TextChanged += (sender, args) => changeTrigger();
|
|
||||||
textbox.TextChanged += async (sender, args) => await AppSettings.SetGeneratorGodotDestinationPath(textbox.Text);
|
textbox.TextChanged += async (sender, args) => await AppSettings.SetGeneratorGodotDestinationPath(textbox.Text);
|
||||||
|
textbox.TextChanged += (sender, args) => changeTrigger();
|
||||||
textbox.Dock = DockStyle.Fill;
|
textbox.Dock = DockStyle.Fill;
|
||||||
textbox.Margin = new Padding(0, 13, 0, 13);
|
textbox.Margin = new Padding(0, 13, 0, 13);
|
||||||
layout.Controls.Add(textbox, 0, 0);
|
layout.Controls.Add(textbox, 0, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user