This repository has been archived on 2024-08-06. You can view files and clone it, but cannot push or open issues or pull requests.
linear-app-launcher/Windows/Forms/Tile/AddTileForm.cs
2020-05-10 11:03:55 +01:00

436 lines
22 KiB
C#

using AppLauncher.Models;
using RyzStudio.Windows.ThemedForms;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AppLauncher.Windows.Forms
{
public class AddTileForm : DialogForm
{
public static void ShowDialog(TileLayoutPanel panel)
{
AddTileForm form = new AddTileForm(panel);
form.ShowDialog();
}
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private TextButtonBox textBox2;
private TextBox textBox3;
private TextButtonBox textBox4;
private Button button1;
private PickerBox pickerBox1;
private PickerBox pickerBox2;
private RyzStudio.Windows.Forms.HorizontalSeparator horizontalSeparator1;
private RyzStudio.Windows.Forms.HorizontalSeparator horizontalSeparator2;
private TextBox textBox1;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
protected TileLayoutPanel parentPanel = null;
public AddTileForm() : base()
{
InitializeComponent();
initialiseComponents2();
}
public AddTileForm(TileLayoutPanel panel) : base()
{
parentPanel = panel;
InitializeComponent();
initialiseComponents2();
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddTileForm));
RyzStudio.Windows.ThemedForms.Button.Style style1 = new RyzStudio.Windows.ThemedForms.Button.Style();
RyzStudio.Windows.ThemedForms.Button.Style style2 = new RyzStudio.Windows.ThemedForms.Button.Style();
RyzStudio.Windows.ThemedForms.Button.Style style3 = new RyzStudio.Windows.ThemedForms.Button.Style();
this.textBox1 = new RyzStudio.Windows.ThemedForms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.textBox2 = new RyzStudio.Windows.ThemedForms.TextButtonBox();
this.textBox3 = new RyzStudio.Windows.ThemedForms.TextBox();
this.textBox4 = new RyzStudio.Windows.ThemedForms.TextButtonBox();
this.button1 = new RyzStudio.Windows.ThemedForms.Button();
this.pickerBox1 = new RyzStudio.Windows.ThemedForms.PickerBox();
this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox();
this.horizontalSeparator1 = new RyzStudio.Windows.Forms.HorizontalSeparator();
this.horizontalSeparator2 = new RyzStudio.Windows.Forms.HorizontalSeparator();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit();
this.SuspendLayout();
//
// imgbxClose
//
this.imgbxClose.Image = ((System.Drawing.Image)(resources.GetObject("imgbxClose.Image")));
this.imgbxClose.Location = new System.Drawing.Point(367, 5);
//
// lblDescription
//
this.lblDescription.Size = new System.Drawing.Size(359, 30);
this.lblDescription.Text = "Add Tile";
//
// panel1
//
this.panel1.Location = new System.Drawing.Point(394, 474);
//
// area1
//
this.area1.Location = new System.Drawing.Point(1, 474);
this.area1.Size = new System.Drawing.Size(392, 5);
//
// textBox1
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.BackColor = System.Drawing.Color.Transparent;
this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.textBox1.Location = new System.Drawing.Point(159, 50);
this.textBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
this.textBox1.Name = "textBox1";
this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
this.textBox1.Size = new System.Drawing.Size(220, 32);
this.textBox1.SubmitButton = null;
this.textBox1.TabIndex = 152;
this.textBox1.UseSystemPasswordChar = false;
//
// label6
//
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104)))));
this.label6.Location = new System.Drawing.Point(18, 268);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(208, 32);
this.label6.TabIndex = 163;
this.label6.Text = "Run As Admin";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label7
//
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104)))));
this.label7.Location = new System.Drawing.Point(18, 227);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(208, 32);
this.label7.TabIndex = 161;
this.label7.Text = "Window Style";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label4
//
this.label4.BackColor = System.Drawing.Color.Transparent;
this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104)))));
this.label4.Location = new System.Drawing.Point(18, 173);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(131, 32);
this.label4.TabIndex = 159;
this.label4.Text = "Working Directory";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label3
//
this.label3.BackColor = System.Drawing.Color.Transparent;
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104)))));
this.label3.Location = new System.Drawing.Point(18, 132);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(131, 32);
this.label3.TabIndex = 157;
this.label3.Text = "Argument";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label2
//
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104)))));
this.label2.Location = new System.Drawing.Point(18, 91);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(131, 32);
this.label2.TabIndex = 155;
this.label2.Text = "Filename";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label1
//
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104)))));
this.label1.Location = new System.Drawing.Point(18, 50);
this.label1.Margin = new System.Windows.Forms.Padding(0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(131, 32);
this.label1.TabIndex = 153;
this.label1.Text = "Title";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// textBox2
//
this.textBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox2.BackColor = System.Drawing.Color.Transparent;
this.textBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.textBox2.HighlightImage = global::AppLauncher.Properties.Resources.button16_file_add2;
this.textBox2.Location = new System.Drawing.Point(159, 91);
this.textBox2.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3);
this.textBox2.Name = "textBox2";
this.textBox2.NormalImage = global::AppLauncher.Properties.Resources.button16_file_add;
this.textBox2.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
this.textBox2.Size = new System.Drawing.Size(220, 32);
this.textBox2.SubmitButton = null;
this.textBox2.TabIndex = 170;
this.textBox2.UseSystemPasswordChar = false;
this.textBox2.OnButtonClick += new System.EventHandler(this.textBox2_OnButtonClick);
//
// textBox3
//
this.textBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox3.BackColor = System.Drawing.Color.Transparent;
this.textBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.textBox3.Location = new System.Drawing.Point(159, 132);
this.textBox3.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
this.textBox3.Name = "textBox3";
this.textBox3.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
this.textBox3.Size = new System.Drawing.Size(220, 32);
this.textBox3.SubmitButton = null;
this.textBox3.TabIndex = 171;
this.textBox3.UseSystemPasswordChar = false;
//
// textBox4
//
this.textBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox4.BackColor = System.Drawing.Color.Transparent;
this.textBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.textBox4.HighlightImage = global::AppLauncher.Properties.Resources.button16_folder_add2;
this.textBox4.Location = new System.Drawing.Point(159, 173);
this.textBox4.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3);
this.textBox4.Name = "textBox4";
this.textBox4.NormalImage = global::AppLauncher.Properties.Resources.button16_folder_add;
this.textBox4.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
this.textBox4.Size = new System.Drawing.Size(220, 32);
this.textBox4.SubmitButton = null;
this.textBox4.TabIndex = 172;
this.textBox4.UseSystemPasswordChar = false;
this.textBox4.OnButtonClick += new System.EventHandler(this.textBox4_OnButtonClick);
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button1.BackColor = System.Drawing.Color.Transparent;
this.button1.DefaultImage = null;
this.button1.DownImage = null;
this.button1.LabelText = "&Save";
this.button1.Location = new System.Drawing.Point(251, 427);
this.button1.Name = "button1";
this.button1.OverImage = null;
this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button1.Size = new System.Drawing.Size(128, 32);
style1.BackColour = System.Drawing.Color.White;
style1.ForeImage = null;
style1.PenColour = System.Drawing.Color.Black;
this.button1.StyleDefault = style1;
style2.BackColour = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(179)))), ((int)(((byte)(179)))));
style2.ForeImage = null;
style2.PenColour = System.Drawing.Color.Black;
this.button1.StyleDown = style2;
style3.BackColour = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
style3.ForeImage = null;
style3.PenColour = System.Drawing.Color.White;
this.button1.StyleOver = style3;
this.button1.TabIndex = 173;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// pickerBox1
//
this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox1.BackColor = System.Drawing.Color.Transparent;
this.pickerBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.pickerBox1.Location = new System.Drawing.Point(239, 227);
this.pickerBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
this.pickerBox1.Name = "pickerBox1";
this.pickerBox1.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox1.Size = new System.Drawing.Size(140, 32);
this.pickerBox1.SubmitButton = null;
this.pickerBox1.TabIndex = 174;
//
// pickerBox2
//
this.pickerBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox2.BackColor = System.Drawing.Color.Transparent;
this.pickerBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.pickerBox2.Location = new System.Drawing.Point(239, 268);
this.pickerBox2.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
this.pickerBox2.Name = "pickerBox2";
this.pickerBox2.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox2.Size = new System.Drawing.Size(140, 32);
this.pickerBox2.SubmitButton = null;
this.pickerBox2.TabIndex = 175;
//
// horizontalSeparator1
//
this.horizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.horizontalSeparator1.Location = new System.Drawing.Point(10, 215);
this.horizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2);
this.horizontalSeparator1.Name = "horizontalSeparator1";
this.horizontalSeparator1.Size = new System.Drawing.Size(380, 2);
this.horizontalSeparator1.TabIndex = 176;
//
// horizontalSeparator2
//
this.horizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.horizontalSeparator2.Location = new System.Drawing.Point(10, 310);
this.horizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2);
this.horizontalSeparator2.Name = "horizontalSeparator2";
this.horizontalSeparator2.Size = new System.Drawing.Size(380, 2);
this.horizontalSeparator2.TabIndex = 177;
//
// folderBrowserDialog1
//
this.folderBrowserDialog1.Description = "Choose a directory";
//
// openFileDialog1
//
this.openFileDialog1.Filter = "All files|*";
this.openFileDialog1.Title = "Choose a file";
//
// AddTileForm
//
this.ClientSize = new System.Drawing.Size(400, 480);
this.Controls.Add(this.horizontalSeparator2);
this.Controls.Add(this.horizontalSeparator1);
this.Controls.Add(this.pickerBox2);
this.Controls.Add(this.pickerBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox4);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label6);
this.Controls.Add(this.label7);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.Description = "Add Tile";
this.Name = "AddTileForm";
this.Controls.SetChildIndex(this.imgbxClose, 0);
this.Controls.SetChildIndex(this.lblDescription, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.area1, 0);
this.Controls.SetChildIndex(this.textBox1, 0);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.Controls.SetChildIndex(this.label7, 0);
this.Controls.SetChildIndex(this.label6, 0);
this.Controls.SetChildIndex(this.textBox2, 0);
this.Controls.SetChildIndex(this.textBox3, 0);
this.Controls.SetChildIndex(this.textBox4, 0);
this.Controls.SetChildIndex(this.button1, 0);
this.Controls.SetChildIndex(this.pickerBox1, 0);
this.Controls.SetChildIndex(this.pickerBox2, 0);
this.Controls.SetChildIndex(this.horizontalSeparator1, 0);
this.Controls.SetChildIndex(this.horizontalSeparator2, 0);
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).EndInit();
this.ResumeLayout(false);
}
private void initialiseComponents2()
{
pickerBox1.ComboBox.Items.Clear();
pickerBox1.ComboBox.Items.AddRange(new string[] { "Normal", "Hidden", "Minimized", "Maximized" });
if (pickerBox1.ComboBox.Items.Count > 0) pickerBox1.ComboBox.SelectedIndex = 0;
pickerBox2.ComboBox.Items.Clear();
pickerBox2.ComboBox.Items.AddRange(new string[] { "No", "Yes" });
if (pickerBox2.ComboBox.Items.Count > 0) pickerBox2.ComboBox.SelectedIndex = 0;
}
//protected override void OnShown(EventArgs e)
//{
// base.OnShown(e);
// if (parentPanel != null)
// {
// textBox1.Text = parentPanel.ModelInfo.Title;
// textBox2.Text = parentPanel.ModelInfo.ProcessFilename;
// textBox3.Text = parentPanel.ModelInfo.ProcessArgument;
// textBox4.Text = parentPanel.ModelInfo.ProcessWorkingDirectory;
// pickerBox1.ComboBox.SelectedIndex = (int)parentPanel.ModelInfo.ProcessWindowStyle;
// pickerBox2.ComboBox.SelectedIndex = (parentPanel.ModelInfo.ProcessAsAdmin ? 1 : 0);
// }
//}
private void button1_Click(object sender, EventArgs e)
{
TileModel model = new TileModel()
{
Title = textBox1.Text?.Trim(),
ProcessFilename = textBox2.Text?.Trim(),
ProcessArgument = textBox3.Text?.Trim(),
ProcessWorkingDirectory = textBox4.Text?.Trim(),
ProcessWindowStyle = (System.Diagnostics.ProcessWindowStyle)pickerBox1.ComboBox.SelectedIndex,
ProcessAsAdmin = (pickerBox2.ComboBox.SelectedIndex == 1)
};
parentPanel.AddTile(model);
this.Close();
}
private void textBox2_OnButtonClick(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox2.Text))
{
if (File.Exists(textBox2.Text))
{
openFileDialog1.InitialDirectory = Path.GetDirectoryName(textBox2.Text);
}
}
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
textBox2.Text = openFileDialog1.FileName;
}
}
private void textBox4_OnButtonClick(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox4.Text))
{
if (Directory.Exists(textBox4.Text))
{
folderBrowserDialog1.SelectedPath = textBox4.Text;
}
}
if (folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
textBox4.Text = folderBrowserDialog1.SelectedPath;
}
}
}
}