using System.Drawing; using System.Windows.Forms; using FizzyLauncher.Models; using RyzStudio.Windows.Forms; using RyzStudio.Windows.ThemedForms; using RyzStudio.Windows.ThemedForms.ButtonTextBox; using RyzStudio.Windows.ThemedForms.PickerBox; namespace FizzyLauncher { public class EditTileForm : TDialog { private Label label6; private Label label7; private Label label4; private Label label3; private Label label2; private Label label1; private ThPathDialogTextBox textBox2; private ThClearableTextBox textBox3; private ThPathDialogTextBox textBox4; private ThButton button1; private ThPickerBox pickerBox1; private ThYesNoPickerBox pickerBox2; private THorizontalSeparator horizontalSeparator1; private THorizontalSeparator horizontalSeparator2; private ThClearableTextBox textBox1; private TileModel result = null; public EditTileForm(TileModel model = null) { InitializeComponent(); StartPosition = FormStartPosition.WindowsDefaultLocation; OkButton = button1; result = model; pickerBox1.ComboBox.Items.Clear(); pickerBox1.ComboBox.Items.AddRange(new string[] { "Normal", "Hidden", "Minimized", "Maximized" }); if (pickerBox1.ComboBox.Items.Count > 0) { pickerBox1.ComboBox.SelectedIndex = 0; } if (result != null) { Text = "Edit Tile"; textBox1.Text = result?.Title ?? string.Empty; textBox2.Text = result?.ProcessFilename ?? string.Empty; textBox3.Text = result?.ProcessArgument ?? string.Empty; textBox4.Text = result?.ProcessWorkingDirectory ?? string.Empty; pickerBox1.ComboBox.SelectedIndex = (int)result.ProcessWindowStyle; pickerBox2.Value = result.ProcessAsAdmin; } else { Text = "Add Tile"; } } private void InitializeComponent() { textBox1 = new ThClearableTextBox(); label6 = new Label(); label7 = new Label(); label4 = new Label(); label3 = new Label(); label2 = new Label(); label1 = new Label(); textBox2 = new ThPathDialogTextBox(); textBox3 = new ThClearableTextBox(); textBox4 = new ThPathDialogTextBox(); button1 = new ThButton(); pickerBox1 = new ThPickerBox(); pickerBox2 = new ThYesNoPickerBox(); horizontalSeparator1 = new THorizontalSeparator(); horizontalSeparator2 = new THorizontalSeparator(); SuspendLayout(); // // textBox1 // textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; textBox1.BackColor = Color.Transparent; textBox1.EnableReactiveVisual = true; textBox1.Font = new Font("Segoe UI", 9F); textBox1.Location = new Point(126, 20); textBox1.Name = "textBox1"; textBox1.Size = new Size(243, 35); textBox1.TabIndex = 152; textBox1.TabStop = false; textBox1.UseSystemPasswordChar = false; // // label6 // label6.AutoSize = true; label6.BackColor = Color.Transparent; label6.ForeColor = SystemColors.ControlText; label6.Location = new Point(10, 250); label6.Name = "label6"; label6.Padding = new Padding(0, 9, 0, 10); label6.Size = new Size(83, 34); label6.TabIndex = 163; label6.Text = "Run As Admin"; label6.TextAlign = ContentAlignment.MiddleLeft; // // label7 // label7.AutoSize = true; label7.BackColor = Color.Transparent; label7.ForeColor = SystemColors.ControlText; label7.Location = new Point(10, 209); label7.Name = "label7"; label7.Padding = new Padding(0, 9, 0, 10); label7.Size = new Size(79, 34); label7.TabIndex = 161; label7.Text = "Window Style"; label7.TextAlign = ContentAlignment.MiddleLeft; // // label4 // label4.AutoSize = true; label4.BackColor = Color.Transparent; label4.ForeColor = SystemColors.ControlText; label4.Location = new Point(10, 144); label4.Name = "label4"; label4.Padding = new Padding(0, 9, 0, 10); label4.Size = new Size(103, 34); label4.TabIndex = 159; label4.Text = "Working Directory"; label4.TextAlign = ContentAlignment.MiddleLeft; // // label3 // label3.AutoSize = true; label3.BackColor = Color.Transparent; label3.ForeColor = SystemColors.ControlText; label3.Location = new Point(10, 103); label3.Name = "label3"; label3.Padding = new Padding(0, 9, 0, 10); label3.Size = new Size(61, 34); label3.TabIndex = 157; label3.Text = "Argument"; label3.TextAlign = ContentAlignment.MiddleLeft; // // label2 // label2.AutoSize = true; label2.BackColor = Color.Transparent; label2.ForeColor = SystemColors.ControlText; label2.Location = new Point(10, 62); label2.Name = "label2"; label2.Padding = new Padding(0, 9, 0, 10); label2.Size = new Size(55, 34); label2.TabIndex = 155; label2.Text = "Filename"; label2.TextAlign = ContentAlignment.MiddleLeft; // // label1 // label1.AutoSize = true; label1.BackColor = Color.Transparent; label1.ForeColor = SystemColors.ControlText; label1.Location = new Point(10, 21); label1.Margin = new Padding(0); label1.Name = "label1"; label1.Padding = new Padding(0, 9, 0, 10); label1.Size = new Size(29, 34); label1.TabIndex = 153; label1.Text = "Title"; label1.TextAlign = ContentAlignment.MiddleLeft; // // textBox2 // textBox2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; textBox2.BackColor = Color.Transparent; textBox2.DialogMode = ThPathDialogTextBox.DialogType.OpenFile; textBox2.EnableReactiveVisual = true; textBox2.Font = new Font("Segoe UI", 9F); textBox2.Location = new Point(126, 61); textBox2.Margin = new Padding(10, 10, 10, 0); textBox2.Name = "textBox2"; textBox2.Size = new Size(243, 32); textBox2.TabIndex = 170; textBox2.TabStop = false; textBox2.UseSystemPasswordChar = false; // // textBox3 // textBox3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; textBox3.BackColor = Color.Transparent; textBox3.EnableReactiveVisual = true; textBox3.Font = new Font("Segoe UI", 9F); textBox3.Location = new Point(147, 102); textBox3.Name = "textBox3"; textBox3.Size = new Size(222, 35); textBox3.TabIndex = 171; textBox3.TabStop = false; // // textBox4 // textBox4.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; textBox4.BackColor = Color.Transparent; textBox4.DialogMode = ThPathDialogTextBox.DialogType.FolderBrowser; textBox4.EnableReactiveVisual = true; textBox4.Font = new Font("Segoe UI", 9F); textBox4.Location = new Point(147, 143); textBox4.Name = "textBox4"; textBox4.Size = new Size(222, 32); textBox4.TabIndex = 172; textBox4.TabStop = false; textBox4.UseSystemPasswordChar = false; // // button1 // button1.AcceptButton = null; button1.ActiveImage = null; button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; button1.BackColor = Color.Transparent; button1.EnableMenuOnClick = false; button1.EnableReactiveVisual = true; button1.HoverImage = null; button1.IdleImage = null; button1.LabelText = "&Save"; button1.Location = new Point(241, 469); button1.Margin = new Padding(10, 10, 10, 0); button1.Name = "button1"; button1.Padding = new Padding(4, 4, 3, 3); button1.Size = new Size(128, 32); button1.TabIndex = 173; button1.TabStop = false; // // pickerBox1 // pickerBox1.AcceptButton = null; pickerBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox1.BackColor = Color.Transparent; pickerBox1.EnableReactiveVisual = true; pickerBox1.Font = new Font("Segoe UI", 9F); pickerBox1.Location = new Point(241, 209); pickerBox1.Margin = new Padding(10, 10, 10, 0); pickerBox1.Name = "pickerBox1"; pickerBox1.Padding = new Padding(4, 4, 3, 3); pickerBox1.SelectedIndex = -1; pickerBox1.Size = new Size(128, 34); pickerBox1.TabIndex = 174; pickerBox1.TabStop = false; // // pickerBox2 // pickerBox2.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox2.BackColor = Color.Transparent; pickerBox2.EnableReactiveVisual = true; pickerBox2.Font = new Font("Segoe UI", 9F); pickerBox2.Location = new Point(285, 250); pickerBox2.Name = "pickerBox2"; pickerBox2.Size = new Size(84, 34); pickerBox2.TabIndex = 175; pickerBox2.TabStop = false; // // horizontalSeparator1 // horizontalSeparator1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; horizontalSeparator1.AutoScrollMargin = new Size(0, 0); horizontalSeparator1.AutoScrollMinSize = new Size(0, 0); horizontalSeparator1.BackColor = Color.Transparent; horizontalSeparator1.Location = new Point(10, 181); horizontalSeparator1.Margin = new Padding(0, 10, 0, 0); horizontalSeparator1.MaximumSize = new Size(4920, 2); horizontalSeparator1.MinimumSize = new Size(0, 22); horizontalSeparator1.Name = "horizontalSeparator1"; horizontalSeparator1.Size = new Size(364, 22); horizontalSeparator1.TabIndex = 176; horizontalSeparator1.TabStop = false; // // horizontalSeparator2 // horizontalSeparator2.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; horizontalSeparator2.AutoScrollMargin = new Size(0, 0); horizontalSeparator2.AutoScrollMinSize = new Size(0, 0); horizontalSeparator2.BackColor = Color.Transparent; horizontalSeparator2.Location = new Point(10, 437); horizontalSeparator2.Margin = new Padding(0, 10, 0, 0); horizontalSeparator2.MaximumSize = new Size(4920, 2); horizontalSeparator2.MinimumSize = new Size(0, 22); horizontalSeparator2.Name = "horizontalSeparator2"; horizontalSeparator2.Size = new Size(364, 22); horizontalSeparator2.TabIndex = 177; horizontalSeparator2.TabStop = false; // // EditTileForm // ClientSize = new Size(384, 521); Controls.Add(horizontalSeparator2); Controls.Add(horizontalSeparator1); Controls.Add(pickerBox2); Controls.Add(pickerBox1); Controls.Add(button1); Controls.Add(textBox4); Controls.Add(textBox3); Controls.Add(textBox2); Controls.Add(label6); Controls.Add(label7); Controls.Add(label4); Controls.Add(label3); Controls.Add(label2); Controls.Add(label1); Controls.Add(textBox1); MinimumSize = new Size(400, 560); Name = "EditTileForm"; Text = "Add Tile"; ResumeLayout(false); PerformLayout(); } public TileModel Result { get { if (result == null) { result = new TileModel(); } result.Title = textBox1.Text?.Trim() ?? string.Empty; result.ProcessFilename = textBox2.Text?.Trim() ?? string.Empty; result.ProcessArgument = textBox3.Text?.Trim() ?? string.Empty; result.ProcessWorkingDirectory = textBox4.Text?.Trim(); result.ProcessWindowStyle = (System.Diagnostics.ProcessWindowStyle)pickerBox1.ComboBox.SelectedIndex; result.ProcessAsAdmin = pickerBox2.Value; return result; } } } }