From 7e99af19d1c30858766df3192e6844becd49a4b7 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 8 May 2021 23:15:01 +1200 Subject: [PATCH] [WIP] still figuring out user controls --- DisplayMagician/UIForms/ShortcutForm.cs | 46 ++++--------------- .../UIForms/StartProgramControl.cs | 35 ++++++++++++-- 2 files changed, 38 insertions(+), 43 deletions(-) diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index f52d820..313a2a5 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -454,8 +454,15 @@ namespace DisplayMagician.UIForms _capturePermanence = ShortcutPermanence.Temporary; } + // Scan through the list of + List newStartPrograms = new List() { }; + foreach (StartProgramControl myStartProgramControl in pnl_start_programs.Controls) + { + newStartPrograms.Add(myStartProgramControl.StartProgram); + } - + // Replace the old start programs with the ones we've created now + _startPrograms = newStartPrograms; // Save the start program 1 /*StartProgram myStartProgram = new StartProgram { @@ -1172,43 +1179,6 @@ namespace DisplayMagician.UIForms startProgramControl.Width = pnl_start_programs.Width; pnl_start_programs.Controls.Add(startProgramControl); y += startProgramControl.Height; - /*// Update the 4 programs to start - switch (myStartProgram.Priority) - { - case 1: - txt_start_program1.Text = myStartProgram.Executable; - cb_start_program1.Checked = myStartProgram.Enabled; - cb_start_program_pass_args1.Checked = myStartProgram.ExecutableArgumentsRequired; - txt_start_program_args1.Text = myStartProgram.Arguments; - cb_start_program_close1.Checked = myStartProgram.CloseOnFinish; - cb_dont_start_if_running1.Checked = myStartProgram.DontStartIfAlreadyRunning; - break; - case 2: - txt_start_program2.Text = myStartProgram.Executable; - cb_start_program2.Checked = myStartProgram.Enabled; - cb_start_program_pass_args2.Checked = myStartProgram.ExecutableArgumentsRequired; - txt_start_program_args2.Text = myStartProgram.Arguments; - cb_start_program_close2.Checked = myStartProgram.CloseOnFinish; - cb_dont_start_if_running2.Checked = myStartProgram.DontStartIfAlreadyRunning; - break; - case 3: - txt_start_program3.Text = myStartProgram.Executable; - cb_start_program3.Checked = myStartProgram.Enabled; - cb_start_program_pass_args3.Checked = myStartProgram.ExecutableArgumentsRequired; - txt_start_program_args3.Text = myStartProgram.Arguments; - cb_start_program_close3.Checked = myStartProgram.CloseOnFinish; - cb_dont_start_if_running3.Checked = myStartProgram.DontStartIfAlreadyRunning; - break; - case 4: - txt_start_program4.Text = myStartProgram.Executable; - cb_start_program4.Checked = myStartProgram.Enabled; - cb_start_program_pass_args4.Checked = myStartProgram.ExecutableArgumentsRequired; - txt_start_program_args4.Text = myStartProgram.Arguments; - cb_start_program_close4.Checked = myStartProgram.CloseOnFinish; - cb_dont_start_if_running4.Checked = myStartProgram.DontStartIfAlreadyRunning; - break; - - }*/ } } diff --git a/DisplayMagician/UIForms/StartProgramControl.cs b/DisplayMagician/UIForms/StartProgramControl.cs index 97ec217..0378c3e 100644 --- a/DisplayMagician/UIForms/StartProgramControl.cs +++ b/DisplayMagician/UIForms/StartProgramControl.cs @@ -14,6 +14,21 @@ namespace DisplayMagician.UIForms { public partial class StartProgramControl : UserControl { + + private StartProgram myStartProgram = new StartProgram() { }; + + public StartProgram StartProgram + { + get + { + return myStartProgram; + } + set + { + myStartProgram = value; + populateUI(); + } + } public StartProgramControl() { InitializeComponent(); @@ -24,18 +39,28 @@ namespace DisplayMagician.UIForms InitializeComponent(); // Now initialise the controls - txt_start_program.Text = startProgram.Executable; txt_start_program.BackColor = Color.White; txt_start_program.ForeColor = Color.Black; txt_start_program.Visible= true; txt_start_program.BringToFront(); cb_start_program.Checked = startProgram.Enabled; txt_start_program.ForeColor = Color.White; - cb_start_program_pass_args.Checked = startProgram.ExecutableArgumentsRequired; - txt_start_program_args.Text = startProgram.Arguments; - cb_start_program_close.Checked = startProgram.CloseOnFinish; - cb_dont_start_if_running.Checked = startProgram.DontStartIfAlreadyRunning; + // Update the text with the start program info + myStartProgram = startProgram; + populateUI(); + + } + + private void populateUI() + { + // Now populate the controls with the start program data + txt_start_program.Text = myStartProgram.Executable; + cb_start_program.Checked = myStartProgram.Enabled; + cb_start_program_pass_args.Checked = myStartProgram.ExecutableArgumentsRequired; + txt_start_program_args.Text = myStartProgram.Arguments; + cb_start_program_close.Checked = myStartProgram.CloseOnFinish; + cb_dont_start_if_running.Checked = myStartProgram.DontStartIfAlreadyRunning; }