Start programs details saved and loaded

Next step is to make them actually do something.
This commit is contained in:
Terry MacDonald 2020-10-11 20:14:22 +13:00
parent 2fa3ce0eb5
commit 7c34a02213
3 changed files with 39 additions and 54 deletions

View File

@ -196,7 +196,7 @@ namespace HeliosPlus
public bool GameArgumentsRequired { get; set; } = false;
public StartProgram[] StartPrograms { get; set; }
public List<StartProgram> StartPrograms { get; set; }
public string OriginalIconPath {
get

View File

@ -334,7 +334,6 @@ namespace HeliosPlus.UIForms
//
// txt_start_program_args4
//
this.txt_start_program_args4.Enabled = false;
this.txt_start_program_args4.Location = new System.Drawing.Point(397, 50);
this.txt_start_program_args4.Name = "txt_start_program_args4";
this.txt_start_program_args4.Size = new System.Drawing.Size(540, 26);
@ -414,7 +413,6 @@ namespace HeliosPlus.UIForms
//
// txt_start_program_args3
//
this.txt_start_program_args3.Enabled = false;
this.txt_start_program_args3.Location = new System.Drawing.Point(397, 50);
this.txt_start_program_args3.Name = "txt_start_program_args3";
this.txt_start_program_args3.Size = new System.Drawing.Size(540, 26);
@ -494,7 +492,6 @@ namespace HeliosPlus.UIForms
//
// txt_start_program_args2
//
this.txt_start_program_args2.Enabled = false;
this.txt_start_program_args2.Location = new System.Drawing.Point(397, 50);
this.txt_start_program_args2.Name = "txt_start_program_args2";
this.txt_start_program_args2.Size = new System.Drawing.Size(540, 26);
@ -574,7 +571,6 @@ namespace HeliosPlus.UIForms
//
// txt_start_program_args1
//
this.txt_start_program_args1.Enabled = false;
this.txt_start_program_args1.Location = new System.Drawing.Point(397, 50);
this.txt_start_program_args1.Name = "txt_start_program_args1";
this.txt_start_program_args1.Size = new System.Drawing.Size(540, 26);
@ -986,9 +982,9 @@ namespace HeliosPlus.UIForms
this.rb_switch_permanent.ForeColor = System.Drawing.Color.White;
this.rb_switch_permanent.Location = new System.Drawing.Point(308, 131);
this.rb_switch_permanent.Name = "rb_switch_permanent";
this.rb_switch_permanent.Size = new System.Drawing.Size(388, 24);
this.rb_switch_permanent.Size = new System.Drawing.Size(508, 24);
this.rb_switch_permanent.TabIndex = 10;
this.rb_switch_permanent.Text = "Keep using the Display Profile (permanent change)";
this.rb_switch_permanent.Text = "Keep using the Display Profile after Game ends (permanent change)";
this.rb_switch_permanent.UseVisualStyleBackColor = true;
this.rb_switch_permanent.CheckedChanged += new System.EventHandler(this.rb_switch_permanent_CheckedChanged);
//

View File

@ -428,55 +428,44 @@ namespace HeliosPlus.UIForms
// Update the profile to use
_shortcutToEdit.ProfileToUse = _profileToUse;
StartProgram[] myStartPrograms = { };
// Update the 4 programs to start
if (cb_start_program1.Checked)
{
StartProgram myStartProgram = new StartProgram();
myStartProgram.Priority = 1;
myStartProgram.Executable = txt_start_program1.Text;
myStartProgram.Enabled = cb_start_program1.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args1.Checked;
myStartProgram.Arguments = txt_start_program_args1.Text;
myStartProgram.CloseOnFinish = cb_start_program_close1.Checked;
myStartPrograms.Append(myStartProgram);
}
List<StartProgram> myStartPrograms = new List<StartProgram>();
if (cb_start_program2.Checked)
{
StartProgram myStartProgram = new StartProgram();
myStartProgram.Priority = 2;
myStartProgram.Executable = txt_start_program2.Text;
myStartProgram.Enabled = cb_start_program2.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args2.Checked;
myStartProgram.Arguments = txt_start_program_args2.Text;
myStartProgram.CloseOnFinish = cb_start_program_close2.Checked;
myStartPrograms.Append(myStartProgram);
}
// Save the start program 1
StartProgram myStartProgram = new StartProgram();
myStartProgram.Priority = 1;
myStartProgram.Enabled = cb_start_program1.Checked;
myStartProgram.Executable = txt_start_program1.Text;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args1.Checked;
myStartProgram.Arguments = txt_start_program_args1.Text;
myStartProgram.CloseOnFinish = cb_start_program_close1.Checked;
myStartPrograms.Add(myStartProgram);
if (cb_start_program3.Checked)
{
StartProgram myStartProgram = new StartProgram();
myStartProgram.Priority = 3;
myStartProgram.Executable = txt_start_program3.Text;
myStartProgram.Enabled = cb_start_program3.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args3.Checked;
myStartProgram.Arguments = txt_start_program_args3.Text;
myStartProgram.CloseOnFinish = cb_start_program_close3.Checked;
myStartPrograms.Append(myStartProgram);
}
myStartProgram = new StartProgram();
myStartProgram.Priority = 2;
myStartProgram.Executable = txt_start_program2.Text;
myStartProgram.Enabled = cb_start_program2.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args2.Checked;
myStartProgram.Arguments = txt_start_program_args2.Text;
myStartProgram.CloseOnFinish = cb_start_program_close2.Checked;
myStartPrograms.Add(myStartProgram);
if (cb_start_program4.Checked)
{
StartProgram myStartProgram = new StartProgram();
myStartProgram.Priority = 4;
myStartProgram.Executable = txt_start_program4.Text;
myStartProgram.Enabled = cb_start_program4.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args4.Checked;
myStartProgram.Arguments = txt_start_program_args4.Text;
myStartProgram.CloseOnFinish = cb_start_program_close4.Checked;
myStartPrograms.Append(myStartProgram);
}
myStartProgram = new StartProgram();
myStartProgram.Priority = 3;
myStartProgram.Executable = txt_start_program3.Text;
myStartProgram.Enabled = cb_start_program3.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args3.Checked;
myStartProgram.Arguments = txt_start_program_args3.Text;
myStartProgram.CloseOnFinish = cb_start_program_close3.Checked;
myStartPrograms.Add(myStartProgram);
myStartProgram = new StartProgram();
myStartProgram.Priority = 4;
myStartProgram.Executable = txt_start_program4.Text;
myStartProgram.Enabled = cb_start_program4.Checked;
myStartProgram.ExecutableArgumentsRequired = cb_start_program_pass_args4.Checked;
myStartProgram.Arguments = txt_start_program_args4.Text;
myStartProgram.CloseOnFinish = cb_start_program_close4.Checked;
myStartPrograms.Add(myStartProgram);
// Save the start programs to the shortcut
_shortcutToEdit.StartPrograms = myStartPrograms;
@ -841,7 +830,7 @@ namespace HeliosPlus.UIForms
// Set up the start programs
if (_shortcutToEdit.StartPrograms is StartProgram[] && _shortcutToEdit.StartPrograms.Length > 0)
if (_shortcutToEdit.StartPrograms is List<StartProgram> && _shortcutToEdit.StartPrograms.Count > 0)
{
foreach (StartProgram myStartProgram in _shortcutToEdit.StartPrograms)
{