changes
This commit is contained in:
@@ -8,9 +8,9 @@ namespace ModVersionChecker.forms
|
||||
private IConfigManager _configManager;
|
||||
private GlobalConfig _config;
|
||||
|
||||
private Label _millislabel, _checkStartupLabel;
|
||||
private Label _millislabel, _checkStartupLabel, _runOnStartupLabel;
|
||||
private TrackBar _millisField;
|
||||
private CheckBox _checkStartupField;
|
||||
private CheckBox _checkStartupField, _runOnStartupField;
|
||||
private Button _saveButton, _cancelButton;
|
||||
private TableLayoutPanel _mainLayout, _configsPanel;
|
||||
private FlowLayoutPanel _buttonPanel;
|
||||
@@ -54,8 +54,10 @@ namespace ModVersionChecker.forms
|
||||
{
|
||||
_config.IntervalMinutes = _millisField.Value;
|
||||
_config.CheckOnStartup = _checkStartupField.Checked;
|
||||
_config.RunOnStartup = _runOnStartupField.Checked;
|
||||
_configManager.Save(_config);
|
||||
DialogResult = DialogResult.OK;
|
||||
UpdateStartupSetting(_config.RunOnStartup);
|
||||
Close();
|
||||
};
|
||||
_cancelButton = new Button { Text = "Cancel", AutoSize = true };
|
||||
@@ -90,13 +92,17 @@ namespace ModVersionChecker.forms
|
||||
|
||||
_millisField.Scroll += (sender, e) => { millisValue.Text = _millisField.Value.ToString() + " minutes"; };
|
||||
|
||||
_checkStartupLabel = new Label { Text = "Check on Startup:", Width = 150 };
|
||||
_checkStartupLabel = new Label { Text = "Check on Application Start:", Width = 150 };
|
||||
_checkStartupField = new CheckBox { Checked = _config.CheckOnStartup };
|
||||
_runOnStartupLabel= new Label { Text = "Run on Windows Startup:", Width = 150 };
|
||||
_runOnStartupField = new CheckBox { Checked = _config.RunOnStartup };
|
||||
|
||||
configsPanel.Controls.Add(_millislabel, 0, 0);
|
||||
configsPanel.Controls.Add(millisPanel, 1, 0);
|
||||
configsPanel.Controls.Add(_checkStartupLabel, 0, 1);
|
||||
configsPanel.Controls.Add(_checkStartupField, 1, 1);
|
||||
configsPanel.Controls.Add(_runOnStartupLabel, 0, 2);
|
||||
configsPanel.Controls.Add(_runOnStartupField, 1, 2);
|
||||
|
||||
return configsPanel;
|
||||
}
|
||||
@@ -116,6 +122,20 @@ namespace ModVersionChecker.forms
|
||||
return mainLayout;
|
||||
}
|
||||
|
||||
private void UpdateStartupSetting(bool runOnStartup)
|
||||
{
|
||||
using (var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true))
|
||||
{
|
||||
if (runOnStartup)
|
||||
{
|
||||
key?.SetValue("XintanalabsUpdateChecker", $"\"{Application.ExecutablePath}\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
key?.DeleteValue("XintanalabsUpdateChecker", false); // Remove if unchecked
|
||||
}
|
||||
}
|
||||
}
|
||||
// Add methods and properties for global configuration management here
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user