diff --git a/icon/favicon.ico b/icon/favicon.ico new file mode 100644 index 0000000..4e29cac Binary files /dev/null and b/icon/favicon.ico differ diff --git a/icon/icon.svg b/icon/icon.svg new file mode 100644 index 0000000..fef9209 --- /dev/null +++ b/icon/icon.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + diff --git a/icon/icon_128.png b/icon/icon_128.png new file mode 100644 index 0000000..6bee063 Binary files /dev/null and b/icon/icon_128.png differ diff --git a/icon/icon_16.png b/icon/icon_16.png new file mode 100644 index 0000000..70aebdc Binary files /dev/null and b/icon/icon_16.png differ diff --git a/icon/icon_24.png b/icon/icon_24.png new file mode 100644 index 0000000..266617d Binary files /dev/null and b/icon/icon_24.png differ diff --git a/icon/icon_32.png b/icon/icon_32.png new file mode 100644 index 0000000..4d97e82 Binary files /dev/null and b/icon/icon_32.png differ diff --git a/icon/icon_48.png b/icon/icon_48.png new file mode 100644 index 0000000..c4527d2 Binary files /dev/null and b/icon/icon_48.png differ diff --git a/icon/icon_64.png b/icon/icon_64.png new file mode 100644 index 0000000..6c68993 Binary files /dev/null and b/icon/icon_64.png differ diff --git a/icon/raw/circle.svg b/icon/raw/circle.svg new file mode 100644 index 0000000..80a34e6 --- /dev/null +++ b/icon/raw/circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon/raw/red-gear.svg b/icon/raw/red-gear.svg new file mode 100644 index 0000000..0fc8cb5 --- /dev/null +++ b/icon/raw/red-gear.svg @@ -0,0 +1,2590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icon/raw/skip-forward.svg b/icon/raw/skip-forward.svg new file mode 100644 index 0000000..64ff623 --- /dev/null +++ b/icon/raw/skip-forward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/AppResource.resx b/source/AppResource.resx index 7587f97..4cb50d2 100644 --- a/source/AppResource.resx +++ b/source/AppResource.resx @@ -137,7 +137,7 @@ Resources\help-circle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - Resources\icon-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + Resources\icon_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Resources\save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/source/Dtos/AppSession.cs b/source/Dtos/AppSession.cs index 2c68ad7..685fbba 100644 --- a/source/Dtos/AppSession.cs +++ b/source/Dtos/AppSession.cs @@ -19,7 +19,11 @@ namespace RandomFileRunner public string SearchFilePattern { get; set; } = "*"; - public List SearchItems { get; set; } = new List(); + public List SearchItems + { + get => field ?? new List(); + set => field = value; + } public bool SearchTopDirectoryOnly { get; set; } = false; @@ -27,7 +31,12 @@ namespace RandomFileRunner public int RetryOnError { get; set; } = 8; - public HotKeyOptions NextHotKey { get; set; } = new HotKeyOptions(); + public HotKeyOptions NextHotKey + { + get => field ?? new HotKeyOptions(); + set => field = value; + } + } } diff --git a/source/MainForm.Designer.cs b/source/MainForm.Designer.cs index 5dfeb0d..156813c 100644 --- a/source/MainForm.Designer.cs +++ b/source/MainForm.Designer.cs @@ -33,7 +33,7 @@ namespace RandomFileRunner System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); pictureBox1 = new System.Windows.Forms.PictureBox(); toolTip1 = new System.Windows.Forms.ToolTip(components); - button2 = new RyzStudio.Windows.ThemedForms.T3Button(); + button1 = new RyzStudio.Windows.ThemedForms.T3Button(); label9 = new System.Windows.Forms.Label(); menuStrip1 = new System.Windows.Forms.MenuStrip(); fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -54,22 +54,22 @@ namespace RandomFileRunner label1 = new System.Windows.Forms.Label(); textBox1 = new RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox(); tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator(); - button5 = new RyzStudio.Windows.ThemedForms.T3Button(); openFileDialog2 = new System.Windows.Forms.OpenFileDialog(); saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); progressBar2 = new RyzStudio.Windows.Forms.TProgressBar(); progressBar1 = new RyzStudio.Windows.Forms.TProgressBar(); label3 = new System.Windows.Forms.Label(); label4 = new System.Windows.Forms.Label(); - tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator(); - textBox2 = new RyzStudio.Windows.ThemedForms.T4TextBox(); dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); t3UserControl1 = new RyzStudio.Windows.ThemedForms.T3UserControl(); t3UserControl2 = new RyzStudio.Windows.ThemedForms.T3UserControl(); + memoBox1 = new RyzStudio.Windows.Forms.TMemoBox(); + t3UserControl3 = new RyzStudio.Windows.ThemedForms.T3UserControl(); ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); menuStrip1.SuspendLayout(); t3UserControl1.SuspendLayout(); t3UserControl2.SuspendLayout(); + t3UserControl3.SuspendLayout(); SuspendLayout(); // // pictureBox1 @@ -77,55 +77,55 @@ namespace RandomFileRunner pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; pictureBox1.ErrorImage = null; pictureBox1.InitialImage = null; - pictureBox1.Location = new System.Drawing.Point(270, 121); + pictureBox1.Location = new System.Drawing.Point(270, 281); pictureBox1.Name = "pictureBox1"; pictureBox1.Size = new System.Drawing.Size(37, 37); pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; pictureBox1.TabIndex = 15; pictureBox1.TabStop = false; // - // button2 + // button1 // - button2.ActiveImage = null; - button2.Align = RyzStudio.Enums.ContentAlignment.None; - button2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; - button2.BackColor = System.Drawing.Color.Transparent; - button2.EnableMenuOnClick = false; - button2.EnableMovable = false; - button2.EnableStepWidth = true; - button2.HoverImage = null; - button2.IdleImage = null; + button1.ActiveImage = null; + button1.Align = RyzStudio.Enums.ContentAlignment.None; + button1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; + button1.BackColor = System.Drawing.Color.Transparent; + button1.EnableMenuOnClick = false; + button1.EnableMovable = false; + button1.EnableStepWidth = true; + button1.HoverImage = null; + button1.IdleImage = null; // // // - button2.Label.BackColor = System.Drawing.Color.White; - button2.Label.Dock = System.Windows.Forms.DockStyle.Fill; - button2.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); - button2.Label.ForeColor = System.Drawing.Color.FromArgb(126, 54, 244); - button2.Label.Location = new System.Drawing.Point(4, 4); - button2.Label.Margin = new System.Windows.Forms.Padding(0); - button2.Label.Name = "label1"; - button2.Label.Size = new System.Drawing.Size(133, 30); - button2.Label.TabIndex = 0; - button2.Label.Text = "&Search"; - button2.Label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - button2.LabelText = "&Search"; - button2.Location = new System.Drawing.Point(314, 121); - button2.Name = "button2"; - button2.Size = new System.Drawing.Size(140, 37); - button2.TabIndex = 1; - button2.TabStop = false; - button2.MouseClick += button2_MouseClick; + button1.Label.BackColor = System.Drawing.Color.White; + button1.Label.Dock = System.Windows.Forms.DockStyle.Fill; + button1.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); + button1.Label.ForeColor = System.Drawing.Color.FromArgb(126, 54, 244); + button1.Label.Location = new System.Drawing.Point(4, 4); + button1.Label.Margin = new System.Windows.Forms.Padding(0); + button1.Label.Name = "label1"; + button1.Label.Size = new System.Drawing.Size(133, 30); + button1.Label.TabIndex = 0; + button1.Label.Text = "&Search"; + button1.Label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + button1.LabelText = "&Search"; + button1.Location = new System.Drawing.Point(314, 281); + button1.Name = "button1"; + button1.Size = new System.Drawing.Size(140, 37); + button1.TabIndex = 1; + button1.TabStop = false; + button1.MouseClick += button2_MouseClick; // // label9 // label9.AutoSize = true; - label9.Location = new System.Drawing.Point(10, 78); + label9.Location = new System.Drawing.Point(10, 36); label9.Name = "label9"; label9.Padding = new System.Windows.Forms.Padding(0, 8, 0, 0); - label9.Size = new System.Drawing.Size(83, 23); + label9.Size = new System.Drawing.Size(104, 23); label9.TabIndex = 27; - label9.Text = "Search Pattern"; + label9.Text = "File Search Pattern"; label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // menuStrip1 @@ -148,7 +148,7 @@ namespace RandomFileRunner // newToolStripMenuItem.Name = "newToolStripMenuItem"; newToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N; - newToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + newToolStripMenuItem.Size = new System.Drawing.Size(159, 22); newToolStripMenuItem.Text = "&New"; newToolStripMenuItem.Click += newToolStripMenuItem_Click; // @@ -157,44 +157,44 @@ namespace RandomFileRunner openToolStripMenuItem.Image = AppResource.folder_minus; openToolStripMenuItem.Name = "openToolStripMenuItem"; openToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O; - openToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + openToolStripMenuItem.Size = new System.Drawing.Size(159, 22); openToolStripMenuItem.Text = "&Open"; openToolStripMenuItem.Click += openToolStripMenuItem_Click; // // toolStripMenuItem13 // toolStripMenuItem13.Name = "toolStripMenuItem13"; - toolStripMenuItem13.Size = new System.Drawing.Size(177, 6); + toolStripMenuItem13.Size = new System.Drawing.Size(156, 6); // // saveAsToolStripMenuItem // saveAsToolStripMenuItem.Image = AppResource.save; saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; - saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + saveAsToolStripMenuItem.Size = new System.Drawing.Size(159, 22); saveAsToolStripMenuItem.Text = "Save &As..."; saveAsToolStripMenuItem.Click += saveAsToolStripMenuItem_Click; // // toolStripMenuItem15 // toolStripMenuItem15.Name = "toolStripMenuItem15"; - toolStripMenuItem15.Size = new System.Drawing.Size(177, 6); + toolStripMenuItem15.Size = new System.Drawing.Size(156, 6); // // toolStripMenuItem2 // toolStripMenuItem2.Name = "toolStripMenuItem2"; - toolStripMenuItem2.Size = new System.Drawing.Size(180, 22); + toolStripMenuItem2.Size = new System.Drawing.Size(159, 22); toolStripMenuItem2.Text = "&Export File List..."; toolStripMenuItem2.Click += toolStripMenuItem2_Click; // // toolStripSeparator2 // toolStripSeparator2.Name = "toolStripSeparator2"; - toolStripSeparator2.Size = new System.Drawing.Size(177, 6); + toolStripSeparator2.Size = new System.Drawing.Size(156, 6); // // exitToolStripMenuItem2 // exitToolStripMenuItem2.Name = "exitToolStripMenuItem2"; - exitToolStripMenuItem2.Size = new System.Drawing.Size(180, 22); + exitToolStripMenuItem2.Size = new System.Drawing.Size(159, 22); exitToolStripMenuItem2.Text = "E&xit"; exitToolStripMenuItem2.Click += exitToolStripMenuItem2_Click; // @@ -210,7 +210,7 @@ namespace RandomFileRunner optionsToolStripMenuItem.Image = AppResource.settings; optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; optionsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12; - optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + optionsToolStripMenuItem.Size = new System.Drawing.Size(177, 22); optionsToolStripMenuItem.Text = "&Options..."; optionsToolStripMenuItem.Click += optionsToolStripMenuItem_Click; // @@ -226,31 +226,31 @@ namespace RandomFileRunner viewHelpToolStripMenuItem1.Image = AppResource.help_circle; viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1"; viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1; - viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); + viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(146, 22); viewHelpToolStripMenuItem1.Text = "&View Help"; viewHelpToolStripMenuItem1.Click += viewHelpToolStripMenuItem1_Click; // // toolStripMenuItem16 // toolStripMenuItem16.Name = "toolStripMenuItem16"; - toolStripMenuItem16.Size = new System.Drawing.Size(177, 6); + toolStripMenuItem16.Size = new System.Drawing.Size(143, 6); // // aboutToolStripMenuItem1 // aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1"; - aboutToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); + aboutToolStripMenuItem1.Size = new System.Drawing.Size(146, 22); aboutToolStripMenuItem1.Text = "&About"; aboutToolStripMenuItem1.Click += aboutToolStripMenuItem1_Click; // // label1 // label1.AutoSize = true; - label1.Location = new System.Drawing.Point(10, 36); + label1.Location = new System.Drawing.Point(10, 78); label1.Name = "label1"; label1.Padding = new System.Windows.Forms.Padding(0, 8, 0, 0); - label1.Size = new System.Drawing.Size(69, 23); + label1.Size = new System.Drawing.Size(82, 23); label1.TabIndex = 40; - label1.Text = "Search Path"; + label1.Text = "Search In Path"; label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // textBox1 @@ -263,9 +263,9 @@ namespace RandomFileRunner textBox1.EnableStepWidth = true; textBox1.Icon = "O"; textBox1.IconSize = 13F; - textBox1.Location = new System.Drawing.Point(154, 78); + textBox1.Location = new System.Drawing.Point(194, 36); textBox1.Name = "textBox1"; - textBox1.Size = new System.Drawing.Size(300, 32); + textBox1.Size = new System.Drawing.Size(260, 32); textBox1.TabIndex = 0; textBox1.TabStop = false; textBox1.UseSystemPasswordChar = false; @@ -274,42 +274,10 @@ namespace RandomFileRunner // tHorizontalSeparator1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; tHorizontalSeparator1.AutoPosition = true; - tHorizontalSeparator1.Location = new System.Drawing.Point(5, 166); + tHorizontalSeparator1.Location = new System.Drawing.Point(5, 326); tHorizontalSeparator1.Name = "tHorizontalSeparator1"; tHorizontalSeparator1.Size = new System.Drawing.Size(454, 10); // - // button5 - // - button5.ActiveImage = null; - button5.Align = RyzStudio.Enums.ContentAlignment.None; - button5.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; - button5.BackColor = System.Drawing.Color.Transparent; - button5.EnableMenuOnClick = false; - button5.EnableMovable = false; - button5.EnableStepWidth = true; - button5.HoverImage = null; - button5.IdleImage = null; - // - // - // - button5.Label.BackColor = System.Drawing.Color.White; - button5.Label.Dock = System.Windows.Forms.DockStyle.Fill; - button5.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); - button5.Label.ForeColor = System.Drawing.Color.FromArgb(126, 54, 244); - button5.Label.Location = new System.Drawing.Point(4, 4); - button5.Label.Margin = new System.Windows.Forms.Padding(0); - button5.Label.Name = "label1"; - button5.Label.Size = new System.Drawing.Size(133, 30); - button5.Label.TabIndex = 0; - button5.Label.Text = "&Run Next"; - button5.Label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - button5.LabelText = "&Run Next"; - button5.Location = new System.Drawing.Point(314, 299); - button5.Name = "button5"; - button5.Size = new System.Drawing.Size(140, 37); - button5.TabIndex = 5; - button5.MouseClick += button5_MouseClick; - // // openFileDialog2 // openFileDialog2.DefaultExt = "jsonfig"; @@ -362,7 +330,7 @@ namespace RandomFileRunner // label3.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; label3.AutoEllipsis = true; - label3.Location = new System.Drawing.Point(10, 261); + label3.Location = new System.Drawing.Point(10, 411); label3.Margin = new System.Windows.Forms.Padding(0); label3.Name = "label3"; label3.Size = new System.Drawing.Size(446, 15); @@ -372,45 +340,20 @@ namespace RandomFileRunner // label4 // label4.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; - label4.Location = new System.Drawing.Point(10, 246); + label4.Location = new System.Drawing.Point(10, 396); label4.Margin = new System.Windows.Forms.Padding(0); label4.Name = "label4"; label4.Size = new System.Drawing.Size(446, 15); label4.TabIndex = 48; label4.Text = "label4"; // - // tHorizontalSeparator3 - // - tHorizontalSeparator3.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; - tHorizontalSeparator3.AutoPosition = true; - tHorizontalSeparator3.Location = new System.Drawing.Point(5, 281); - tHorizontalSeparator3.Name = "tHorizontalSeparator3"; - tHorizontalSeparator3.Size = new System.Drawing.Size(454, 10); - // - // textBox2 - // - textBox2.Align = RyzStudio.Enums.ContentAlignment.Right; - textBox2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; - textBox2.BackColor = System.Drawing.Color.Transparent; - textBox2.EnableMovable = false; - textBox2.EnableStepWidth = true; - textBox2.Icon = "M"; - textBox2.IconSize = 13F; - textBox2.Location = new System.Drawing.Point(134, 36); - textBox2.Name = "textBox2"; - textBox2.Size = new System.Drawing.Size(320, 32); - textBox2.TabIndex = 52; - textBox2.TabStop = false; - textBox2.UseSystemPasswordChar = false; - textBox2.OnButtonClick += textBox2_OnButtonClick; - // // dialogFooter1 // dialogFooter1.Align = RyzStudio.Enums.ContentAlignment.None; dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240); dialogFooter1.Button1Result = System.Windows.Forms.DialogResult.OK; - dialogFooter1.Button1Text = ""; - dialogFooter1.Button1Visible = false; + dialogFooter1.Button1Text = "&Run Next"; + dialogFooter1.Button1Visible = true; dialogFooter1.Button2Result = System.Windows.Forms.DialogResult.Cancel; dialogFooter1.Button2Text = "&Close"; dialogFooter1.Button2Visible = true; @@ -422,6 +365,7 @@ namespace RandomFileRunner dialogFooter1.Size = new System.Drawing.Size(464, 70); dialogFooter1.TabIndex = 0; dialogFooter1.TabStop = false; + dialogFooter1.OnButton1Click += dialogFooter1_OnButton1Click; dialogFooter1.OnButton2Click += dialogFooter1_OnButton2Click; // // t3UserControl1 @@ -432,7 +376,7 @@ namespace RandomFileRunner t3UserControl1.Controls.Add(progressBar1); t3UserControl1.EnableMovable = false; t3UserControl1.EnableStepWidth = false; - t3UserControl1.Location = new System.Drawing.Point(10, 186); + t3UserControl1.Location = new System.Drawing.Point(10, 346); t3UserControl1.Name = "t3UserControl1"; t3UserControl1.Size = new System.Drawing.Size(444, 20); t3UserControl1.TabIndex = 56; @@ -445,11 +389,35 @@ namespace RandomFileRunner t3UserControl2.Controls.Add(progressBar2); t3UserControl2.EnableMovable = false; t3UserControl2.EnableStepWidth = false; - t3UserControl2.Location = new System.Drawing.Point(10, 211); + t3UserControl2.Location = new System.Drawing.Point(10, 371); t3UserControl2.Name = "t3UserControl2"; t3UserControl2.Size = new System.Drawing.Size(444, 20); t3UserControl2.TabIndex = 57; // + // memoBox1 + // + memoBox1.Dock = System.Windows.Forms.DockStyle.Fill; + memoBox1.Location = new System.Drawing.Point(3, 3); + memoBox1.MemoFileDropType = RyzStudio.Windows.Forms.TMemoBox.MemoFileDrop.All; + memoBox1.MonitorClipboard = false; + memoBox1.Name = "memoBox1"; + memoBox1.Size = new System.Drawing.Size(288, 184); + memoBox1.TabIndex = 64; + memoBox1.TextChanged += memoBox1_TextChanged; + // + // t3UserControl3 + // + t3UserControl3.Align = RyzStudio.Enums.ContentAlignment.Right; + t3UserControl3.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + t3UserControl3.BackColor = System.Drawing.Color.Transparent; + t3UserControl3.Controls.Add(memoBox1); + t3UserControl3.EnableMovable = false; + t3UserControl3.EnableStepWidth = false; + t3UserControl3.Location = new System.Drawing.Point(160, 78); + t3UserControl3.Name = "t3UserControl3"; + t3UserControl3.Size = new System.Drawing.Size(294, 190); + t3UserControl3.TabIndex = 65; + // // MainForm // AllowDrop = true; @@ -457,17 +425,15 @@ namespace RandomFileRunner AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; BackColor = System.Drawing.Color.FromArgb(250, 250, 250); ClientSize = new System.Drawing.Size(464, 601); + Controls.Add(t3UserControl3); Controls.Add(t3UserControl2); Controls.Add(t3UserControl1); Controls.Add(dialogFooter1); - Controls.Add(textBox2); - Controls.Add(tHorizontalSeparator3); Controls.Add(label3); Controls.Add(label4); - Controls.Add(button5); Controls.Add(tHorizontalSeparator1); Controls.Add(textBox1); - Controls.Add(button2); + Controls.Add(button1); Controls.Add(label1); Controls.Add(menuStrip1); Controls.Add(label9); @@ -481,13 +447,15 @@ namespace RandomFileRunner menuStrip1.PerformLayout(); t3UserControl1.ResumeLayout(false); t3UserControl2.ResumeLayout(false); + t3UserControl3.ResumeLayout(false); + t3UserControl3.PerformLayout(); ResumeLayout(false); PerformLayout(); } #endregion private System.Windows.Forms.PictureBox pictureBox1; - private RyzStudio.Windows.ThemedForms.T3Button button2; + private RyzStudio.Windows.ThemedForms.T3Button button1; private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.Label label9; private System.Windows.Forms.MenuStrip menuStrip1; @@ -507,20 +475,19 @@ namespace RandomFileRunner private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1; private System.Windows.Forms.Label label1; private RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox textBox1; - private RyzStudio.Windows.ThemedForms.T3Button button5; private System.Windows.Forms.OpenFileDialog openFileDialog2; private System.Windows.Forms.SaveFileDialog saveFileDialog1; private RyzStudio.Windows.Forms.TProgressBar progressBar2; private RyzStudio.Windows.Forms.TProgressBar progressBar1; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; - private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator3; - private RyzStudio.Windows.ThemedForms.T4TextBox textBox2; private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; private RyzStudio.Windows.ThemedForms.T3UserControl t3UserControl1; private RyzStudio.Windows.ThemedForms.T3UserControl t3UserControl2; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private RyzStudio.Windows.Forms.TMemoBox memoBox1; + private RyzStudio.Windows.ThemedForms.T3UserControl t3UserControl3; } } diff --git a/source/MainForm.cs b/source/MainForm.cs index 6f471f4..9890a23 100644 --- a/source/MainForm.cs +++ b/source/MainForm.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; @@ -24,24 +25,20 @@ namespace RandomFileRunner { InitializeComponent(); - textBox2.TextBox.ReadOnly = true; - _fileSearcher = new FileSearcher(); _fileSearcher.OnDirectoryFound += fileSearcher_OnDirectoryFound; _fileSearcher.OnFileFound += fileSearcher_OnFileFound; _fileSearcher.OnSearchCompleted += fileSearcher_OnSearchCompleted; + + memoBox1.WordWrap = false; + memoBox1.ScrollBars = ScrollBars.Vertical; } - protected override void OnLoad(EventArgs e) + protected async override void OnLoad(EventArgs e) { base.OnLoad(e); this.ClearSession(); - } - - protected async override void OnShown(EventArgs e) - { - base.OnShown(e); var args = this.GetCommandLine(); @@ -63,9 +60,16 @@ namespace RandomFileRunner if (System.IO.File.Exists(jsonfigFilename)) { await LoadSessionFile(jsonfigFilename); - } - textBox2.Focus(); + UIControl.Invoke(button1, (x) => button1.Enabled = (this.CurrentSession.SearchItems.Count > 0)); + } + } + + protected async override void OnShown(EventArgs e) + { + base.OnShown(e); + + memoBox1.Focus(); } protected override void OnFormClosing(FormClosingEventArgs e) @@ -101,7 +105,7 @@ namespace RandomFileRunner case User32.WM_HOTKEY: if (m.WParam.ToInt32() == 1) { - button5_MouseClick(null, null); + dialogFooter1_OnButton1Click(null, null); } break; @@ -128,8 +132,8 @@ namespace RandomFileRunner UIControl.Invoke(pictureBox1, (x) => pictureBox1.Image = (value ? RyzStudio.Resources.T3Resource.loading_block : null)); UIControl.Invoke(textBox1, (x) => textBox1.Enabled = !value); - UIControl.Invoke(button2, (x) => button2.LabelText = (value ? "&Cancel" : "&Search")); - UIControl.Invoke(button5, (x) => button5.Enabled = !value); + UIControl.Invoke(button1, (x) => button1.LabelText = (value ? "&Cancel" : "&Search")); + UIControl.Invoke(dialogFooter1, (x) => dialogFooter1.Button1Visible = !value); } } @@ -144,27 +148,17 @@ namespace RandomFileRunner private set => field = value; } = new AppSession(); - public List SearchPaths + private List SearchPathList { get { - if (field == null) field = new List(); - - return field; - } - private set - { - field = value; - - textBox2.Text = string.Join(", ", field.ToArray()); + return (memoBox1.Lines?.ToList() ?? new List()).Where(x => !string.IsNullOrWhiteSpace(x)).ToList(); } } - - private void menuStrip1_MenuActivate(object sender, EventArgs e) { - saveAsToolStripMenuItem.Enabled = (!this.IsBusy && (SearchPaths.Count > 0)); + saveAsToolStripMenuItem.Enabled = (!this.IsBusy && (this.SearchPathList.Count > 0)); toolStripMenuItem2.Enabled = (!this.IsBusy && (_foundFiles.Count > 0)); } @@ -279,7 +273,7 @@ namespace RandomFileRunner /// - /// Export file list + /// Export File List /// /// /// @@ -368,31 +362,31 @@ namespace RandomFileRunner { await Task.Run(() => { - UIControl.Invoke(label4, (x) => label4.Text = $"Done in {Math.Floor(elapsedTime.TotalMinutes)}m {elapsedTime.Seconds}s"); + if (!_cancellationToken.IsCancellationRequested) + { + UIControl.Invoke(label4, (x) => label4.Text = $"Done ({Math.Floor(elapsedTime.TotalMinutes)}m {elapsedTime.Seconds}s)"); + } + else + { + UIControl.Invoke(label4, (x) => label4.Text = $"Cancelled ({Math.Floor(elapsedTime.TotalMinutes)}m {elapsedTime.Seconds}s)"); + + _cancellationToken = new CancellationTokenSource(); + } + UIControl.Invoke(label3, (x) => label3.Text = ((_foundFiles.Count <= 0) ? "0" : _foundFiles.Count.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture)) + " File" + ((_foundFiles.Count == 1) ? "" : "s") + " Found"); progressBar1.Value = sender.BufferLevel; progressBar2.Value = sender.FileCount; + + UIControl.Invoke(dialogFooter1, (x) => dialogFooter1.Button1Visible = (_foundFiles.Count > 0)); + + this.IsBusy = false; }); } #endregion - private void textBox2_OnButtonClick(object sender, EventArgs e) - { - if (this.IsBusy) - { - return; - } - - var form = new MemoBoxForm(this.SearchPaths); - if (form.ShowDialog() == DialogResult.OK) - { - this.SearchPaths = form.Result; - } - } - /// /// Search /// @@ -402,7 +396,7 @@ namespace RandomFileRunner { if (this.IsBusy) { - button2.LabelText = "&Cancelling..."; + button1.LabelText = "&Cancelling..."; _cancellationToken.Cancel(); return; @@ -417,12 +411,17 @@ namespace RandomFileRunner _cancellationToken = new CancellationTokenSource(); _currentProcess = null; + var paths = this.SearchPathList; + _fileSearcher.FileSearchPattern = textBox1.Text; _fileSearcher.SearchPath = new List(); + UIControl.Invoke(label4, (x) => label4.Text = $"Peeking..."); + UIControl.Invoke(label3, (x) => label3.Text = ""); + await Task.Run(() => { - foreach (var item in SearchPaths) + foreach (var item in paths) { if (_cancellationToken.IsCancellationRequested) { @@ -433,6 +432,7 @@ namespace RandomFileRunner { _foundFiles.Add(item); + UIControl.Invoke(label3, (x) => label3.Text = item); continue; } @@ -440,70 +440,28 @@ namespace RandomFileRunner { _fileSearcher.SearchPath.Add(item); + UIControl.Invoke(label3, (x) => label3.Text = item); continue; } } + UIControl.Invoke(label4, (x) => label4.Text = $"Peeking... {paths.Count}"); UIControl.Invoke(label3, (x) => label3.Text = ((_foundFiles.Count <= 0) ? "0" : _foundFiles.Count.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture)) + " File" + ((_foundFiles.Count == 1) ? "" : "s") + " Found"); }); - if (_fileSearcher.SearchPath.Count > 0) + if (_fileSearcher.SearchPath.Count <= 0) { + UIControl.Invoke(label4, (x) => label4.Text = $"Done"); + UIControl.Invoke(label3, (x) => label3.Text = ((_foundFiles.Count <= 0) ? "0" : _foundFiles.Count.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture)) + " File" + ((_foundFiles.Count == 1) ? "" : "s") + " Found"); + } + else + { + UIControl.Invoke(label4, (x) => label4.Text = $"Searching..."); + await _fileSearcher.Search(_cancellationToken.Token); } - this.IsBusy = false; - - _cancellationToken = new CancellationTokenSource(); - } - - /// - /// Run next - /// - /// - /// - private async void button5_MouseClick(object sender, MouseEventArgs e) - { - if (this.IsBusy) - { - return; - } - - if (_foundFiles.Count <= 0) - { - return; - } - - await Task.Run(() => - { - this.IsBusy = true; - - if (this.CurrentSession.ClosePrevOnNext) - { - CloseCurrentProcess(_currentProcess); - } - - string filename = null; - - // retry 8 times - for (int i = 0; i < this.CurrentSession.RetryOnError; i++) - { - filename = _foundFiles[Random.Shared.Next(0, (_foundFiles.Count - 1))]; - if (System.IO.File.Exists(filename)) - { - continue; - } - - filename = null; - } - - if (!string.IsNullOrWhiteSpace(filename)) - { - _currentProcess = RyzStudio.Diagnostics.Process.Execute(filename); - } - - this.IsBusy = false; - }); + //this.IsBusy = false; } /// @@ -562,13 +520,16 @@ namespace RandomFileRunner _foundFiles = new List(); _currentProcess = null; - textBox1.Text = "*.*"; + UIControl.Invoke(textBox1, (_) => textBox1.Text = "*.*"); + UIControl.Invoke(memoBox1, (_) => memoBox1.Clear()); progressBar1.Clear(0); progressBar2.Clear(0); UIControl.Invoke(label4, (x) => label4.Text = ""); UIControl.Invoke(label3, (x) => label3.Text = ""); + UIControl.Invoke(button1, (x) => button1.Enabled = false); + UIControl.Invoke(dialogFooter1, (x) => dialogFooter1.Button1Visible = false); } protected async Task LoadSessionFile(string filename) @@ -581,7 +542,18 @@ namespace RandomFileRunner textBox1.Text = (string.IsNullOrWhiteSpace(this.CurrentSession.SearchFilePattern) ? "*" : this.CurrentSession.SearchFilePattern?.Trim()); - SearchPaths = this.CurrentSession?.SearchItems ?? new List(); + foreach (var item in this.CurrentSession?.SearchItems) + { + if (string.IsNullOrWhiteSpace(item)) + { + continue; + } + + UIControl.Invoke(memoBox1, (_) => memoBox1.AddLine(item)); + } + + UIControl.Invoke(label4, (x) => label4.Text = "Ready"); + UIControl.Invoke(button1, (x) => button1.Enabled = (this.CurrentSession?.SearchItems.Count > 0)); // hotkey InvalidateHotKey(); @@ -603,17 +575,7 @@ namespace RandomFileRunner await Task.Run(() => { this.CurrentSession.SearchFilePattern = textBox1.Text; - this.CurrentSession.SearchItems = new List(); - - foreach (var item in SearchPaths) - { - if (string.IsNullOrWhiteSpace(item)) - { - continue; - } - - this.CurrentSession.SearchItems.Add(item.Trim()); - } + this.CurrentSession.SearchItems = this.SearchPathList; var result = RyzStudio.Text.Json.JsonSerialiser.SerialiseFile(filename, this.CurrentSession); if (result.Success) @@ -627,10 +589,70 @@ namespace RandomFileRunner }); } + + /// + /// Run Next + /// + /// + /// + private async void dialogFooter1_OnButton1Click(object sender, MouseEventArgs e) + { + if (this.IsBusy) + { + return; + } + + if (_foundFiles.Count <= 0) + { + return; + } + + await Task.Run(() => + { + this.IsBusy = true; + + if (this.CurrentSession.ClosePrevOnNext) + { + CloseCurrentProcess(_currentProcess); + } + + string filename = null; + + // retry 8 times + for (int i = 0; i < this.CurrentSession.RetryOnError; i++) + { + filename = _foundFiles[Random.Shared.Next(0, (_foundFiles.Count - 1))]; + if (System.IO.File.Exists(filename)) + { + continue; + } + + filename = null; + } + + if (!string.IsNullOrWhiteSpace(filename)) + { + _currentProcess = RyzStudio.Diagnostics.Process.Execute(filename); + } + + this.IsBusy = false; + }); + } + + /// + /// Close + /// + /// + /// private void dialogFooter1_OnButton2Click(object sender, MouseEventArgs e) { this.Close(); } + private void memoBox1_TextChanged(object sender, EventArgs e) + { + UIControl.Invoke(button1, (x) => button1.Enabled = !string.IsNullOrWhiteSpace(memoBox1.Text)); + } + } } \ No newline at end of file diff --git a/source/MainForm.resx b/source/MainForm.resx index e785680..7afebaf 100644 --- a/source/MainForm.resx +++ b/source/MainForm.resx @@ -138,296 +138,296 @@ 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 - APwAAAD/AAAA/wAAAP8AAAD/LTEy/9zy8//c8vP/3PLz/4+Pj//d3d3///////////////////////// - ///V1tb/o6en/9vw8f/c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy - 8/+vubn/rq+v//////////////////7+/v+5urr/oKOj/9Xp6v/c8vP/3PLz/9zy8//c8vP/LTEy/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy8//c8vP/3PLz/4+Pj//d3d3///////// - /////////////+np6f+eoKD/1urr/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SR - kv/c8vP/3PLz/9zy8/+vubn/rq+v////////////////////////////wsPD/5udnf/R5OX/3PLz/9zy - 8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy8//c8vP/3PLz/4+P - j//d3d3/////////////////9fX1/52env/N39//3PLz/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAA - AP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v/////////////////////////////////8jJ - yf+YmZn/zuDh/9zy8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy - 8//c8vP/3PLz/4+Pj//d3d3////////////9/f3/qaqq/8LQ0P/c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v/////////////v7+/+jo - 6P/MzMz/r6+v/5WVlf+Pj4//pKmq/9zy8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/LTEy/9zy8//c8vP/3PLz/4+Pj//d3d3///////////+7vb3/tL2+/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/paWl/83N - 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 - AP8AAAD/LTEy/9zy8/+hsbL/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JCgr/Z3Fx/87j - 5P/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//S5+j/dYGC/w0O - Dv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Jysr/5Ohov/c8vP/LTEy/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/IyYn/zk/P/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BQYG/1hh - Yf/H29z/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9nu7//S5eb/3PLz/9zy - 8//c8vP/3PLz/8zg4f9ncXH/CAkJ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8yNzf/IiUm/wAA - AP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC - Av9JUVH/wNPU/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2O3u/8bW1v+1v7//o6en/5KS - kv+RkZH/2e7v/9zy8//c8vP/3PLz/9zy8//c8vP/xNfY/1hhYf8DBAT/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAADlAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AP8CAgL/TFRU/7zP0P/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//V6er/w9LT/7K7u/+go6P/lJWV/6qr - q//Gx8f/4uLi/6SkpP+ip6f/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+8z9D/TFRU/wIC - Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOQAAADHAAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/0JISP+zxcb/3PLz/9zy8//c8vP/3PLz/9Tn6P/Azs7/rra3/52goP+Wl5f/r7Cw/8zM - zP/n5+f//f39////////////9/f3/5CQkP+3wsP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/7PFxv9CSEj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMYAAAB6AAAA/wAA - AP8AAAD/AAAA/wAAAP8FBgb/S1NT/8jb3P/c8vP/3PLz/9zy8//c8vP/3PLz/6Knp/+Pj4//oKCg/+bm - 5v//////////////////////////////////////2NjY/4+Pj//N3t//3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//M4OH/Vl1d/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AHkAAAADAAAA4AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/woLC/9oc3P/zeLj/9zy8//c8vP/3PLz/9zy - 8//D0dL/nJ6f/5aXl//Ly8v/+/v7////////////////////////////uLi4/5eZmf/c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/zeLj/2hzc/8KCwv/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA4AAAAAMAAAAAAAAACAAAALUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Dg8P/3B7 - fP/R5uf/3PLz/9zy8//c8vP/2/Dx/8DOzv+anJz/mpub/87Ozv/8/Pz/////////////////mZmZ/6y0 - tP/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9Hm5/9we3z/Dg8P/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAC0AAAACAAAAAAAAAAAAAAAAAAAAAAAAABYAAAA3gAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8RExP/eYWF/9Tp6v/c8vP/3PLz/9zy8//a7/D/vcrL/5iZmf+cnZ3/0tLS//7+ - /v/p6en/j4+P/8LQ0f/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//U6er/eYWF/xETE/8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA3gAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAA - AGYAAADkAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xIUFP91gYL/1err/9zy8//c8vP/3PLz/9nu - 7/+3wsP/lZWW/6Kjo/+zs7P/kJCQ/9br7P/c8vP/3PLz/9zy8//c8vP/2O3u/4SRkv8XGhr/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOkAAAB3AAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAGAAAAZgAAAOcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ghwd/4SR - kv/Z7u//3PLz/9zy8//c8vP/1uvs/7O9vf+Sk5P/o6mp/9zy8//c8vP/3PLz/9rw8f+ToaL/HiEh/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAdwAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAB3AAAA7gAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8cHx//hJGS/9nv8P/c8vP/3PLz/9zy8//Y7e7/2u/w/9zy8//b8fL/k6Gi/yIl - Jf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8gAAAIgAAAAPAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAA - AHcAAADxAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yUpKf+ToaL/2/Hy/9zy8//c8vP/3PLz/6Gx - sv8rLzD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAACIAAAAEQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAkJCQjKCgozCgoKP8oKCjNKCgoEwAAAAAAAAAAKSkpJSgoKHgoKCj5KCgo/zw1 + J//enx//3p8f/96fH//enx//3p8f/96fH/88NSf/KCgo/ygoKPkoKCh4KSkpJQAAAAAAAAAAKCgoEygo + KM0oKCj/KCgozCQkJCMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKUsoKCjxKCgo/ygoKP8oKCj/JycnzykpKUQnJye1KCgo/ygo + KP8oKCj/KCgo/0M6J//enx//3p8f/96fH//enx//3p8f/96fH/9DOif/KCgo/ygoKP8oKCj/KCgo/ygo + KLQpKSlEJycnzygoKP8oKCj/KCgo/ygoKPApKSlLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoXygoKPsoKCj/KCgo/ygoKP8oKCj/KCgo/ygo + KP8oKCj/KCgo/ygoKP8oKCj/Rjsm/6h8Iv/enx//3p8f/96fH//enx//3p8f/96fH/+ofCL/Rjsm/ygo + KP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj7KSkpXgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKChfKCgo/igoKP8oKCj/XEol/7CB + If82MSf/KCgo/ygoKP8oKCj/OjQn/4VlJP/AiyD/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/8CMIf+EZCT/OjQn/ygoKP8oKCj/KCgo/zYxJ/+vgCH/XEol/ygoKP8oKCj/KCgo/ikp + KV4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKUsoKCj7KCgo/ygo + KP9sVCX/3J4g/96fH/+8iSD/PDUn/zo0J/+NaiP/15of/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//15of/41qI/86NCf/PDUn/7yJIP/enx//3J4g/2xU + Jf8oKCj/KCgo/ygoKPspKSlLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkIygo + KPAoKCj/KCgo/2xUJf/dnh//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/92eH/9sVCX/KCgo/ygoKP8oKCjwJCQkIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABAQEAEKCgozCgoKP8oKCj/XEol/9yeIP/enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//cniD/XEol/ygoKP8oKCj/KCgozEBAQAQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAqKio3KCgo/ygoKP8oKCj/sIEh/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/8ONIP+QbCP/eFwk/2hSJf9oUiX/eV0k/5BsI//DjSD/3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//sIEh/ygoKP8oKCj/KCgo/yoq + KjcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAIKCgozigoKP8oKCj/NjEn/7yJIP/enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/9yeIP+UbyL/RTsn/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygo + KP8oKCj/Rjwn/5VvI//cniD/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH/+8iSD/NjEn/ygo + KP8oKCj/KCgoziAgIAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoEycnJ88oKCj/KCgo/z42 + J//dnh//3p8f/96fH//enx//3p8f/96fH//enx//tIMh/0U7J/8oKCj/KCgo/ygoKP8oKCj/KCgo/ygo + KP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP9GPCf/tYQh/96fH//enx//3p8f/96fH//enx//3p8f/92e + H/8+Nif/KCgo/ygoKP8nJyfPKCgoEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkp + KUQoKCj/KCgo/zkzJ//dnh//3p8f/96fH//enx//3p8f/96fH/+YcSL/LCso/ygoKP8oKCj/KCgo/1VV + Vf+YmJj/xMTE/9vb2//b29v/xMTE/5eXl/9UVFT/KCgo/ygoKP8oKCj/LSso/5lyIv/enx//3p8f/96f + H//enx//3p8f/92eH/85Myf/KCgo/ygoKP8pKSlEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACcnJ7UoKCj/KCgo/41qI//enx//3p8f/96fH//enx//3p8f/5hxIv8oKCj/KCgo/ygo + KP9TU1P/ycnJ////////////////////////////////////////////x8fH/1FRUf8oKCj/KCgo/ygo + KP+ZciL/3p8f/96fH//enx//3p8f/96fH/+NaiP/KCgo/ygoKP8nJye1AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKCgoJigoKP8oKCj/OjQn/9eaH//enx//3p8f/96fH//enx//tIMh/ywr + KP8oKCj/KCgo/3t7e//6+vr///////////////////////////////////////////////////////n5 + +f95eXn/KCgo/ygoKP8tKyj/tYQh/96fH//enx//3p8f/96fH//XmyD/OTMn/ygoKP8oKCj/KSkpJQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoeCgoKP8oKCj/hWUk/96fH//enx//3p8f/96f + H//cniD/RDon/ygoKP8oKCj/e3t7//////////////////////////////////////////////////// + ////////////////////////eXl5/ygoKP8oKCj/Rjwn/9yeIP/enx//3p8f/96fH//enx//hGQk/ygo + KP8oKCj/KCgoeAAAAAAAAAAAAAAAAAAAAAAlJSUpKSkp1igoKO4oKCjuKCgo+SgoKP8oKCj/wIsg/96f + H//enx//3p8f/96fH/+TbiL/KCgo/ygoKP9TU1P/+vr6///////39/f/sLCw/87Ozv////////////// + ////////////////////////+vr6/7W1tf//////+fn5/1BQUP8oKCj/KCgo/5VvI//enx//3p8f/96f + H//enx//wIwh/ygoKP8oKCj/KCgo+SgoKO4oKCjuKSkp1iUlJSkoKCiOKCgo/ygoKP8oKCj/KCgo/ygo + KP9GPCb/3p8f/96fH//enx//3p8f/96fH/9EOif/KCgo/ygoKP/Kysr///////////9VU07/FhEH/wYF + A/9RT0z/4ODg////////////////////////////zc3N/wEBAf///////////8fHx/8oKCj/KCgo/0Y8 + J//enx//3p8f/96fH//enx//3p8f/0Y7Jv8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKI4nJye1KCgo/ygo + KP8/Nyf/QTgn/0Y8J/+pfCL/3p8f/96fH//enx//3p8f/8GMIP8oKCj/KCgo/1ZWVv////////////// + //8GBQT/xYQA/9mSAP9HMgb/CgkG/4SEg//4+Pj/////////////////y8vL/wAAAP////////////// + //9UVFT/KCgo/ygoKP/DjSD/3p8f/96fH//enx//3p8f/6l8Iv9GPCf/QTgn/z42J/8oKCj/KCgo/ycn + J7UoKCjaKCgo/y0rKP/bnR//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/45rI/8oKCj/KCgo/5mZ + mf////////////////8AAAD/y4gA//+rAP//qwD/sncA/yAYB/8kIRz/tbW1////////////y8vL/wAA + AP////////////////+Xl5f/KCgo/ygoKP+QbCP/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/9ud + H/8sKyj/KCgo/ygoKNkoKCjsKCgo/zs0J//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/3ld + JP8oKCj/KCgo/8bGxv////////////////8AAAD/y4gA//+rAP//qwD//6sA//WkAP96UgH/BwYD/1ZU + T//39/f/y8vL/wAAAP/////////////////Dw8P/KCgo/ygoKP97XiT/3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH/86NCf/KCgo/ygoKOooKCj5KCgo/0Q6J//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/2dRJf8oKCj/KCgo/9vb2/////////////////8AAAD/y4gA//+rAP//qwD//6sA//+r + AP//qwD/2ZIA/ygdCP+IiIj/y8vL/wAAAP/////////////////a2tr/KCgo/ygoKP9oUiX/3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH/9EOif/KCgo/ygoKPgoKCj5KCgo/0Q6J//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/2ZQJf8oKCj/KCgo/9zc3P////////////////8AAAD/y4gA//+r + AP//qwD//6sA//+rAP//qwD/2ZIA/ygdCP+IiIj/y8vL/wAAAP/////////////////b29v/KCgo/ygo + KP9nUSX/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH/9EOif/KCgo/ygoKPgoKCjsKCgo/zs0 + J//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/3hcJP8oKCj/KCgo/8fHx/////////////// + //8AAAD/y4gA//+rAP//qwD//6sA//WkAP96UgH/BwYD/1ZUT//39/f/y8vL/wAAAP////////////// + ///ExMT/KCgo/ygoKP96XiT/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH/86NCf/KCgo/ygo + KOooKCjaKCgo/y0rKP/bnR//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/45rI/8oKCj/KCgo/5qa + mv////////////////8AAAD/y4gA//+rAP//qwD/sncA/yAYB/8kIRz/tbW1////////////y8vL/wAA + AP////////////////+Xl5f/KCgo/ygoKP+QbCP/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/9ud + H/8sKyj/KCgo/ygoKNknJye1KCgo/ygoKP8/Nyf/QTgn/0Y8J/+pfCL/3p8f/96fH//enx//3p8f/8CL + IP8oKCj/KCgo/1ZWVv////////////////8GBQT/xYQA/9mSAP9HMgb/CgkG/4WFhP/4+Pj///////// + ////////y8vL/wAAAP////////////////9VVVX/KCgo/ygoKP/CjSD/3p8f/96fH//enx//3p8f/6l8 + Iv9GPCf/QTgn/z42J/8oKCj/KCgo/ycnJ7UoKCiOKCgo/ygoKP8oKCj/KCgo/ygoKP9GPCb/3p8f/96f + H//enx//3p8f/96fH/9DOif/KCgo/ygoKP/Ly8v///////////9UUk3/GBIH/wYFA/9SUE3/4ODg//// + ////////////////////////zc3N/wEBAf///////////8nJyf8oKCj/KCgo/0U7J//enx//3p8f/96f + H//enx//3p8f/0Y8Jv8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKI4lJSUpKSkp1igoKO4oKCjuKCgo+Sgo + KP8oKCj/wIsg/96fH//enx//3p8f/96fH/+TbiL/KCgo/ygoKP9VVVX/+/v7///////39/f/rq6u/83N + zf//////////////////////////////////////+vr6/7W1tf//////+vr6/1JSUv8oKCj/KCgo/5Rv + Iv/enx//3p8f/96fH//enx//wIsg/ygoKP8oKCj/KCgo+SgoKO4oKCjuKSkp1iUlJSkAAAAAAAAAAAAA + AAAAAAAAKCgoeSgoKP8oKCj/hWUj/96fH//enx//3p8f/96fH//bnR//Qzon/ygoKP8oKCj/fX19//// + ////////////////////////////////////////////////////////////////////////e3t7/ygo + KP8oKCj/RDon/9yeIP/enx//3p8f/96fH//enx//hWUk/ygoKP8oKCj/KCgoeAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKCgoJigoKP8oKCj/OzQn/9eaH//enx//3p8f/96fH//enx//s4Mi/ywr + KP8oKCj/KCgo/319ff/6+vr///////////////////////////////////////////////////////r6 + +v97e3v/KCgo/ygoKP8sKyj/tIMh/96fH//enx//3p8f/96fH//Xmh//OjQn/ygoKP8oKCj/KSkpJQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKbYoKCj/KCgo/45rI//enx//3p8f/96f + H//enx//3p8f/5dxI/8oKCj/KCgo/ygoKP9UVFT/y8vL//////////////////////////////////// + ////////ycnJ/1NTU/8oKCj/KCgo/ygoKP+YcSL/3p8f/96fH//enx//3p8f/96fH/+NaiP/KCgo/ygo + KP8nJye1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKUQoKCj/KCgo/zkz + J//dnh//3p8f/96fH//enx//3p8f/96fH/+XcSP/LCso/ygoKP8oKCj/KCgo/1ZWVv+ampr/xsbG/9vb + 2//b29v/xsbG/5mZmf9WVlb/KCgo/ygoKP8oKCj/LCso/5hxIv/enx//3p8f/96fH//enx//3p8f/92e + H/85Myf/KCgo/ygoKP8pKSlEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoEycn + J88oKCj/KCgo/z42J//dnh//3p8f/96fH//enx//3p8f/96fH//enx//s4Mi/0I5Jv8oKCj/KCgo/ygo + KP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP9EOif/tIMh/96fH//enx//3p8f/96f + H//enx//3p8f/92eH/8+Nif/KCgo/ygoKP8nJyfPKCgoEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAgICAIKCgozigoKP8oKCj/NjEn/7yJIP/enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/9ud + H/+TbiL/Qzon/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/RDon/5NuIv/cniD/3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH/+8iSD/NjEn/ygoKP8oKCj/KCgoziAgIAgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAqKio3KCgo/ygoKP8oKCj/sIEh/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/8GMIP+PayP/eFwk/2hSJf9oUiX/eFwk/49rI//BjCD/3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//sIEh/ygoKP8oKCj/KCgo/yoq + KjcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAEKCgozCgoKP8oKCj/XUsl/9yeIP/enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//cniD/XEol/ygo + KP8oKCj/KCgozEBAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkIygoKPEoKCj/KCgo/2xU + Jf/dnh//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/92e + H/9sVCX/KCgo/ygoKP8oKCjwJCQkIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgo + KEwoKCj7KCgo/ygoKP9sVCX/3J4g/96fH/+8iSD/PDUn/zo0J/+OayP/15of/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//15of/41qI/86NCf/PDUn/7yJ + IP/enx//3J4g/2xUJf8oKCj/KCgo/ygoKPspKSlLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoKChfKCgo/igoKP8oKCj/XUsl/7CBIf82MSf/KCgo/ygoKP8oKCj/OzQn/4Vl + I//AiyD/3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/8CLIP+FZST/OjQn/ygo + KP8oKCj/KCgo/zYxJ/+wgSH/XEol/ygoKP8oKCj/KCgo/igoKF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoXygoKPsoKCj/KCgo/ygoKP8oKCj/KCgo/ygo + KP8oKCj/KCgo/ygoKP8oKCj/Rjsm/6h8Iv/enx//3p8f/96fH//enx//3p8f/96fH/+ofCL/Rjsm/ygo + KP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj7KCgoXwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKEwoKCjxKCgo/ygo + KP8oKCj/JycnzykpKUQpKSm2KCgo/ygoKP8oKCj/KCgo/0M6J//enx//3p8f/96fH//enx//3p8f/96f + H/9DOif/KCgo/ygoKP8oKCj/KCgo/ycnJ7UpKSlEJycnzygoKP8oKCj/KCgo/ygoKPEpKSlLAAAAAAAA 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//8AD///xBP//wAP///EE///AA///8QT/x8AD4//xBP+D + AADB//EE/wAAAAD/8QT+AAAAAH/xBPwAAAAAP/EE+AAAAAAf8QTwAAAAAA/xBOAAAAAAB/EE4AAAAAAH + 8QTgAAAAAAfxBPAAAAAAD/EE+AAAAAAf8QT4AAAAAB/xBPAAAAAAD/EE8AAAAAAP8QQAAAAAAADxBAAA AAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA - 8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAA - AAAAAPEEAAAAAAAA8QQAAAAAAADxBIAAAAAAAfEE4AAAAAAH8QTwAAAAAA/xBPwAAAAAP/EE/wAAAAD/ - 8QT/wAAAA//xBP/wAAAP//EE//wAAD//8QT//wAA///xBP//wAP///EE///wD///8QQoAAAAIAAAAEAA + 8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QTwAAAAAA/xBPAAAAAAD/EE+AAAAAAf8QT4AAAAAB/xBPAA + AAAAD/EE4AAAAAAH8QTgAAAAAAfxBOAAAAAAB/EE8AAAAAAP8QT4AAAAAB/xBPwAAAAAP/EE/gAAAAB/ + 8QT/AAAAAP/xBP+DAADB//EE/8fAA+P/8QT//8AD///xBP//wAP///EE///AA///8QQoAAAAIAAAAEAA AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAACzAAAA+gAAAPoAAACyAAAAPAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJycndSgoKMgoKCjpKCgo+SgoKPkoKCjpKCgoyCcnJ3UAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAC6AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAugAA - 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 - AEwAAADPAAAA/wAAAP8AAAD/AAAA/wcICP8HCAj/AAAA/wAAAP8AAAD/AAAA/wAAAM8AAABMAAAAAAAA + AAAAAAAAAAAAACAgIAgpKSlqJycnJwAAAAAAAAAAAAAAAygoKPQ0MCf/3Z4f/96fH//enx//3Z4f/zQw + J/8oKCj0AAAAAwAAAAAAAAAAJycnJykpKWogICAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAmJiYiJycnzygoKP8pKCjrJycnQigoKIwoKCjpKCgo/zgyJ//enx//3p8f/96f + H//enx//ODIn/ygoKP8oKCjpKCgojCcnJ0IpKCjrKCgo/ycnJ88nJychAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKCgoLSkoKOcoKCj/Pzcn/ygoKP8oKCj/KCgo/ysqKP9bSSb/qXwi/96f + H//enx//3p8f/96fH/+pfCL/Wkkm/ysqKP8oKCj/KCgo/ygoKP8+Nif/KCgo/ykoKOcoKCgtAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACcnJyEpKCjnKCgo/3JYJf/bnR//el4k/zAtJ/96XiT/zpQf/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//zpQf/3peJP8wLSf/el4k/9yeIP9xWCT/KCgo/ygo + KOcnJychAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAIKCgozigoKP9xWCT/3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H/91WiT/KCgo/ygoKNIcHBwJAAAAAAAAAAAAAAAAAAAAACgoKGwoKCj/PjYn/9udH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//0pcg/6Z6Iv+QbCP/kGwj/6Z6Iv/SlyD/3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/9yeIP8+Nif/KCgo/ygoKGwAAAAAAAAAAAAAAAAAAAAAKCgoJikoKOsoKCj/eFwk/96f + H//enx//3p8f/96fH//enx//wIwh/2FNJf8qKij/KCgo/ygoKP8oKCj/KCgo/yoqKP9iTiX/wIsg/96f + H//enx//3p8f/96fH//enx//eFwk/ygoKP8pKCjrKCgoJgAAAAAAAAAAAAAAAAAAAAAAAAAAKioqQygo + KP8yLyj/3Z4f/96fH//enx//3p8f/5dxI/8sKyj/KCgo/zw8PP97e3v/nJyc/5ycnP97e3v/Ozs7/ygo + KP8sKyj/mHEj/96fH//enx//3p8f/92eH/8yLyj/KCgo/ycnJ0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoKCiOKCgo/3teJP/enx//3p8f/96fH/+XcSP/KCgo/y0tLP+dnZ3/+vr6//////////////////// + ///5+fn/nJyc/y0tLP8oKCj/mHEj/96fH//enx//3p8f/3peJP8oKCj/KCgojAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAygoKOksKij/z5Uf/96fH//enx//wIsh/ywrKP8tLSz/yMjI//////////////////// + ////////////////////////x8fH/y0tLP8sKyj/wIsg/96fH//enx//zpQf/ysqKP8oKCjoAAAAAwAA + AAAAAAAAKCgodCgoKO4oKCjwKCgo/1tJJv/enx//3p8f/96fH/9hTSX/KCgo/56env//////s7Ku/397 + cv/p6en//////////////////////5mZmf//////nJyc/ygoKP9iTiX/3p8f/96fH//enx//W0km/ygo + KP8oKCjwKCgo7igoKHQoKCjIKCgo/zMvJ/83Mij/qXwh/96fH//enx//0Zcg/ysqKP88PDz/+vr6//// + //8tJRX/pnED/zAnFf+TkIv//Pz8////////////NDQ0///////5+fn/PDw8/ysqKP/SlyD/3p8f/96f + H/+pfCH/NzIo/zMvJ/8oKCj/KCgoxygoKOouLCj/3J4f/96fH//enx//3p8f/96fH/+leiL/KCgo/319 + ff///////////zQqFf//qwD/9qUA/39ZDP84MSP/xMTD//////80NDT///////////97e3v/KCgo/6Z6 + Iv/enx//3p8f/96fH//enx//3J4f/y0rKP8oKCjpKCgo+TgyJ//enx//3p8f/96fH//enx//3p8f/5Ft + I/8oKCj/nJyc////////////NCoV//+rAP//qwD//6sA/9qSAP8+MBL/yMjI/zQ0NP///////////5ub + m/8oKCj/k24j/96fH//enx//3p8f/96fH//enx//ODMo/ygoKPgoKCj5ODIn/96fH//enx//3p8f/96f + H//enx//kGwj/ygoKP+dnZ3///////////80KhX//6sA//+rAP//qwD/25MA/z4wEv/Hx8f/NDQ0//// + ////////nJyc/ygoKP+RbSP/3p8f/96fH//enx//3p8f/96fH/84Mif/KCgo+CgoKOouLCj/3J4f/96f + H//enx//3p8f/96fH/+keSL/KCgo/319ff///////////zQqFf//qwD/9qUA/39ZDP83MCP/xMTD//// + //80NDT///////////97e3v/KCgo/6V6If/enx//3p8f/96fH//enx//3J4f/y0rKP8oKCjpKCgoyCgo + KP8zLyf/NzIo/6l8If/enx//3p8f/9CWIP8rKij/PT09//r6+v//////LSUV/6ZxA/8wJxX/k5CL//z8 + /P///////////zQ0NP//////+vr6/zw8PP8qKij/0Zcg/96fH//enx//qXwh/zcyKP8zLyf/KCgo/ygo + KMcoKCh0KCgo7igoKPAoKCj/W0km/96fH//enx//3p8f/2FNJv8oKCj/oKCg//////+ysKz/f3ty/+np + 6f//////////////////////mZmZ//////+enp7/KCgo/2FNJf/enx//3p8f/96fH/9bSSb/KCgo/ygo + KPAoKCjuKCgodAAAAAAAAAAAAAAAAygoKOosKij/z5Uf/96fH//enx//v4sh/ysqKP8uLi3/yMjI//// + ////////////////////////////////////////yMjI/y0tLP8sKyj/wIsg/96fH//enx//zpQf/ysq + KP8oKCjpAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAKCgojigoKP97XiT/3p8f/96fH//enx//lnAj/ygo + KP8uLi3/oKCg//r6+v//////////////////////+vr6/5+fn/8uLi3/KCgo/5dxI//enx//3p8f/96f + H/97XiT/KCgo/ygoKI0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKipDKCgo/zIvKP/dnh//3p8f/96f + H//enx//lnAj/ysqKP8oKCj/PT09/3x8fP+dnZ3/nZ2d/3x8fP88PDz/KCgo/ywrKP+XcSP/3p8f/96f + H//enx//3Z4f/zIvKP8oKCj/JycnQgAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoJikoKOsoKCj/eFwk/96f + H//enx//3p8f/96fH//enx//wIsh/2FNJv8rKij/KCgo/ygoKP8oKCj/KCgo/ysqKP9hTSX/wIwh/96f + H//enx//3p8f/96fH//enx//eFwk/ygoKP8pKCjrKCgoJgAAAAAAAAAAAAAAAAAAAAAoKChtKCgo/z83 + J//bnR//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/9CWIP+leiL/kGwj/5BsI/+leiL/0Zcg/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//cniD/PjYn/ygoKP8oKChtAAAAAAAAAAAAAAAAAAAAACAg + IAgoKCjOKCgo/3JYJf/enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//3p8f/96fH//enx//3p8f/3dcJP8oKCj/KCgo0hwcHAkAAAAAAAAAAAAA + AAAAAAAAAAAAACYmJiIpKCjnKCgo/3JYJf/bnR//el4k/zAtJ/97XiT/z5Uf/96fH//enx//3p8f/96f + H//enx//3p8f/96fH//enx//z5Uf/3teJP8wLSf/el4k/9yeIP9xWCT/KCgo/ykoKOcmJiYiAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKC0pKCjoKCgo/z83J/8oKCj/KCgo/ygoKP8sKij/W0km/6l8 + Iv/enx//3p8f/96fH//enx//qXwi/1tJJv8sKij/KCgo/ygoKP8oKCj/PjYn/ygoKP8pKCjnKCgoLQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmJiIoKCjQKCgo/ykoKOsqKipDKCgojigo + KOooKCj/ODIn/96fH//enx//3p8f/96fH/84Mif/KCgo/ygoKOooKCiOKioqQykoKOsoKCj/KCgo0CYm + JiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAgpKSlqJycnJwAA + AAAAAAAAAAAAAygoKPQ0MCf/3Z4f/96fH//enx//3Z4f/zQwJ/8oKCj0AAAAAwAAAAAAAAAAJycnJykp + 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 - rEEAAKxBAACsQYABrEHgB6xB+B+sQQ== + AAAAAAAAAAAAACkpKKEtLCjdKSkn9ykpJ/ctLCjdKSkooQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnDQAAAAIAAAAAAAAAACopKPhXRyb/imgk/4po + JP9XRyb/Kiko+AAAAAAAAAAAAAAAAicnJw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAApKSlLKioo8ykpKK4pKSk+KSgopykoKP6OayP/3p8f/96fH/+OayP/KSgo/ikoKKcqKio9KSkorioq + KPMpKSlLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKWopKSj9UEMm/SopJ/0oKCj/QTgn+4Nj + I//RlyD/3p8f/96fH//RlyD/g2Mj/0E4J/soKCj/Kikn/VBDJv0pKSj9KSkpagAAAAAAAAAAAAAAAAAA + AAAAAAAAKSkpSykpKP1zWST/250f/7CBIf+gdiL/3J4f/96fH//enx//3p8f/96fH//enx//3p8f/9ye + H/+gdiL/sIEh/9udH/9zWST/KSko/SkpKUsAAAAAAAAAAAAAAAAnJycNKioo9FBDJv3bnR//3p8f/96f + H//enx//3p8f/96fH//EjiD/p3si/6d7Iv/EjiD/3p8f/96fH//enx//3p8f/96fH//bnR//UEMm/Soq + KPQnJycNAAAAAAAAAAAAAAACKSkoriopJ/2vgCH/3p8f/96fH//enx//rH4h/0o+J/8oKCj/KCgo/ygo + KP8oKCj/Sj4n/61/Iv/enx//3p8f/96fH/+vgCH/Kikn/SkpKK4AAAACAAAAAAAAAAAAAAAAKCgoPygo + KP+hdyL/3p8f/96fH/+OayP/KSko/1taWP+7u7v/6Ojo/+fn5/+6urr/W1pY/yopKf+OayP/3p8f/96f + H/+gdiL/KCgo/yoqKj0AAAAAAAAAAAAAAAAAAAAAKScnqUE5J/vcnh//3p8f/6x+If8pKSj/h4eH//7+ + /v///////////////////////f39/4aGhv8qKSn/rX8i/96fH//bnR//QDgn+ykoKKcAAAAAAAAAACsp + KKArKijzKSko/YNjI//enx//3p8f/0o/KP9bWlj//v7+/4R8av+JgnT/9/f3////////////oqKi//39 + /f9bWlj/Sj4n/96fH//enx//gmMj/ykpKP0rKijzKykooC0rKN5VRSb/jWoj/9GXIP/enx//w40g/ygo + KP+8vLz//////2VOH//IiAT/Vkcn/7WyrP//////ZmZm//////+7u7v/KCgo/8WPIf/enx//0Zcg/41q + I/9VRSb/LSso3isqKPWJaCT/3p8f/96fH//enx//pnoi/ygoKP/o6Oj//////2ZOH///qwD//KkA/5Zq + EP9/dmT/ZmZm///////n5+f/KCgo/6h8Iv/enx//3p8f/96fH/+JZyP/Kyoo9CspJ/aKaCT/3p8f/96f + H//enx//pXoh/ygoKP/p6en//////2ZOH///qwD//KkA/5ZqEP9/dmP/ZmZm///////n5+f/KCgo/6d7 + Iv/enx//3p8f/96fH/+JaCT/Kykn9i0rKN5VRSb/jWoj/9GXIP/enx//w40g/ygoKP+8vLz//////2ZP + H//IiAT/Vkcn/7WyrP//////ZmZm//////+6urr/KCgo/8SOIP/enx//0Zcg/41qI/9VRSb/LSso3isp + KKArKijzKSko/YNjI//enx//3p8f/0o/KP9cW1n//v7+/4N6af+IgXP/9/f3////////////oqKi//7+ + /v9bWlj/Sj8o/96fH//enx//g2Mj/ykpKP0rKijzKykooAAAAAAAAAAAKScnqUE5J/vcnh//3p8f/6t+ + If8pKSj/iYmJ//7+/v///////////////////////v7+/4eHh/8qKSn/rH4h/96fH//cnh//QTgn+yko + KKcAAAAAAAAAAAAAAAAAAAAAKCgoPygoKP+hdyL/3p8f/96fH/+MaSP/KSko/1xbWf+8vLz/6Ojo/+jo + 6P+8vLz/W1pY/ykpKP+OayP/3p8f/96fH/+gdiL/KCgo/ykpKT4AAAAAAAAAAAAAAAAAAAACKSkoriop + J/2vgCH/3p8f/96fH//enx//q34h/0o/KP8oKCj/KCgo/ygoKP8oKCj/Sj8o/6x+If/enx//3p8f/96f + H/+vgCH/Kikn/SkpKK4AAAACAAAAAAAAAAAnJycNKioo9FBDJv3bnR//3p8f/96fH//enx//3p8f/96f + H//CjSD/p3si/6d7Iv/DjSD/3p8f/96fH//enx//3p8f/96fH//bnR//UEMm/SoqKPQnJycNAAAAAAAA + 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 + rEGAAaxBgAGsQYABrEHAA6xB/D+sQQ== \ No newline at end of file diff --git a/source/MemoBoxForm.cs b/source/MemoBoxForm.cs deleted file mode 100644 index 567230f..0000000 --- a/source/MemoBoxForm.cs +++ /dev/null @@ -1,207 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Forms; -using RyzStudio.Windows.Forms; -using RyzStudio.Windows.ThemedForms; - -namespace RandomFileRunner -{ - public class MemoBoxForm : Form - { - private RyzStudio.Windows.ThemedForms.T3MemoBox memoBox1; - private RyzStudio.Windows.ThemedForms.T3Button button3; - private RyzStudio.Windows.ThemedForms.T3Button button4; - private ContextMenuStrip contextMenuStrip1; - private System.ComponentModel.IContainer components; - private ToolStripMenuItem addDirectoryToolStripMenuItem; - private ToolStripMenuItem addFileToolStripMenuItem; - private FolderBrowserDialog folderBrowserDialog1; - private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; - private OpenFileDialog openFileDialog1; - - - public MemoBoxForm(List lines) - { - InitializeComponent(); - - this.SetupDialog(); - - if (lines != null) - { - memoBox1.TextBox.Lines = lines.ToArray(); - } - - memoBox1.TextBox.WordWrap = false; - } - - private void InitializeComponent() - { - components = new System.ComponentModel.Container(); - memoBox1 = new T3MemoBox(); - button3 = new T3Button(); - contextMenuStrip1 = new ContextMenuStrip(components); - addDirectoryToolStripMenuItem = new ToolStripMenuItem(); - addFileToolStripMenuItem = new ToolStripMenuItem(); - button4 = new T3Button(); - folderBrowserDialog1 = new FolderBrowserDialog(); - openFileDialog1 = new OpenFileDialog(); - dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); - contextMenuStrip1.SuspendLayout(); - SuspendLayout(); - // - // memoBox1 - // - memoBox1.AllowDrop = true; - memoBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; - memoBox1.BackColor = System.Drawing.Color.Transparent; - memoBox1.Font = new System.Drawing.Font("Segoe UI", 9F); - memoBox1.Location = new System.Drawing.Point(10, 70); - memoBox1.Name = "memoBox1"; - memoBox1.ReadOnly = false; - memoBox1.ScrollBars = ScrollBars.Vertical; - memoBox1.Size = new System.Drawing.Size(364, 357); - memoBox1.TabIndex = 191; - memoBox1.TabStop = false; - memoBox1.WordWrap = false; - // - // button3 - // - button3.ActiveImage = null; - button3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; - button3.BackColor = System.Drawing.Color.Transparent; - button3.ContextMenuStrip = contextMenuStrip1; - button3.EnableMenuOnClick = true; - button3.HoverImage = null; - button3.IdleImage = null; - button3.LabelText = "&Add"; - button3.Location = new System.Drawing.Point(10, 21); - button3.Name = "button3"; - button3.Size = new System.Drawing.Size(177, 33); - button3.TabIndex = 189; - button3.TabStop = false; - // - // contextMenuStrip1 - // - contextMenuStrip1.Items.AddRange(new ToolStripItem[] { addDirectoryToolStripMenuItem, addFileToolStripMenuItem }); - contextMenuStrip1.Name = "contextMenuStrip1"; - contextMenuStrip1.Size = new System.Drawing.Size(148, 48); - // - // addDirectoryToolStripMenuItem - // - addDirectoryToolStripMenuItem.Name = "addDirectoryToolStripMenuItem"; - addDirectoryToolStripMenuItem.Size = new System.Drawing.Size(147, 22); - addDirectoryToolStripMenuItem.Text = "&Add Directory"; - addDirectoryToolStripMenuItem.Click += addDirectoryToolStripMenuItem_Click; - // - // addFileToolStripMenuItem - // - addFileToolStripMenuItem.Name = "addFileToolStripMenuItem"; - addFileToolStripMenuItem.Size = new System.Drawing.Size(147, 22); - addFileToolStripMenuItem.Text = "Add &File"; - addFileToolStripMenuItem.Click += addFileToolStripMenuItem_Click; - // - // button4 - // - button4.ActiveImage = null; - button4.Anchor = AnchorStyles.Top | AnchorStyles.Right; - button4.BackColor = System.Drawing.Color.Transparent; - button4.EnableMenuOnClick = false; - button4.HoverImage = null; - button4.IdleImage = null; - button4.LabelText = "&Clear"; - button4.Location = new System.Drawing.Point(197, 21); - button4.Name = "button4"; - button4.Size = new System.Drawing.Size(177, 33); - button4.TabIndex = 190; - button4.TabStop = false; - button4.MouseClick += button4_MouseClick; - // - // folderBrowserDialog1 - // - folderBrowserDialog1.ShowNewFolderButton = false; - // - // openFileDialog1 - // - openFileDialog1.Filter = "All files (*.*)|*.*"; - // - // dialogFooter1 - // - dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240); - dialogFooter1.Button1Text = "&OK"; - dialogFooter1.Dock = DockStyle.Bottom; - dialogFooter1.Location = new System.Drawing.Point(0, 437); - dialogFooter1.Name = "dialogFooter1"; - dialogFooter1.Size = new System.Drawing.Size(384, 84); - // - // MemoBoxForm - // - AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - AutoScaleMode = AutoScaleMode.Font; - BackColor = System.Drawing.Color.White; - ClientSize = new System.Drawing.Size(384, 521); - Controls.Add(dialogFooter1); - Controls.Add(memoBox1); - Controls.Add(button3); - Controls.Add(button4); - MinimumSize = new System.Drawing.Size(400, 560); - Name = "MemoBoxForm"; - ShowIcon = false; - ShowInTaskbar = false; - Text = "Manage Search Paths"; - contextMenuStrip1.ResumeLayout(false); - ResumeLayout(false); - } - - protected override void OnShown(EventArgs e) - { - base.OnShown(e); - - memoBox1.Focus(); - } - - - public List Result - { - get => memoBox1.Lines?.ToList() ?? new List(); - } - - - /// - /// Add Directory. - /// - /// - /// - private void addDirectoryToolStripMenuItem_Click(object sender, EventArgs e) - { - if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) - { - memoBox1.TextBox.AddLine(folderBrowserDialog1.SelectedPath); - } - } - - /// - /// Add File. - /// - /// - /// - private void addFileToolStripMenuItem_Click(object sender, EventArgs e) - { - if (openFileDialog1.ShowDialog() == DialogResult.OK) - { - memoBox1.TextBox.AddLine(openFileDialog1.FileName); - } - } - - /// - /// Clear. - /// - /// - /// - private void button4_MouseClick(object sender, MouseEventArgs e) - { - memoBox1.Text = string.Empty; - } - - } -} \ No newline at end of file diff --git a/source/MemoBoxForm.resx b/source/MemoBoxForm.resx deleted file mode 100644 index b56ae18..0000000 --- a/source/MemoBoxForm.resx +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 831, 17 - - - 986, 17 - - - 1155, 17 - - \ No newline at end of file diff --git a/source/OptionsForm.cs b/source/OptionsForm.cs index aceec50..28090dc 100644 --- a/source/OptionsForm.cs +++ b/source/OptionsForm.cs @@ -13,12 +13,10 @@ namespace RandomFileRunner private RyzStudio.Windows.FontForms.TextBox.T4KeyTextBox textBox1; private RyzStudio.Windows.ThemedForms.T3YnPickerBox pickerBox3; private Label label1; - private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator3; private Label label2; - private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator2; private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; - - + private THorizontalSeparator tHorizontalSeparator1; + private THorizontalSeparator tHorizontalSeparator2; private AppSession _session = null; @@ -45,188 +43,192 @@ namespace RandomFileRunner private void InitializeComponent() { - RyzStudio.Windows.FontForms.TextBox.T4KeyTextBox.Results results1 = new RyzStudio.Windows.FontForms.TextBox.T4KeyTextBox.Results(); + RyzStudio.Windows.FontForms.TextBox.T4KeyTextBox.Results results2 = new RyzStudio.Windows.FontForms.TextBox.T4KeyTextBox.Results(); pickerBox1 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox(); label6 = new Label(); label8 = new Label(); - tHorizontalSeparator2 = new THorizontalSeparator(); pickerBox2 = new RyzStudio.Windows.ThemedForms.T4NumericBox(); textBox1 = new RyzStudio.Windows.FontForms.TextBox.T4KeyTextBox(); pickerBox3 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox(); label1 = new Label(); - tHorizontalSeparator3 = new THorizontalSeparator(); label2 = new Label(); dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); + tHorizontalSeparator1 = new THorizontalSeparator(); + tHorizontalSeparator2 = new THorizontalSeparator(); SuspendLayout(); - // + // // pickerBox1 - // + // + pickerBox1.Align = RyzStudio.Enums.ContentAlignment.Right; pickerBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox1.BackColor = System.Drawing.Color.Transparent; - pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F); - pickerBox1.Location = new System.Drawing.Point(285, 20); + pickerBox1.EnableMovable = false; + pickerBox1.EnableStepWidth = true; + pickerBox1.Location = new System.Drawing.Point(274, 19); pickerBox1.Name = "pickerBox1"; pickerBox1.SelectedIndex = 1; - pickerBox1.Size = new System.Drawing.Size(84, 35); + pickerBox1.Size = new System.Drawing.Size(100, 32); pickerBox1.TabIndex = 0; pickerBox1.TabStop = false; pickerBox1.Value = true; - // + // // label6 - // + // label6.AutoSize = true; label6.BackColor = System.Drawing.Color.Transparent; label6.ForeColor = System.Drawing.SystemColors.ControlText; - label6.Location = new System.Drawing.Point(10, 95); + label6.Location = new System.Drawing.Point(10, 76); label6.Margin = new Padding(0); label6.Name = "label6"; - label6.Padding = new Padding(0, 9, 0, 10); - label6.Size = new System.Drawing.Size(81, 34); + label6.Padding = new Padding(0, 8, 0, 0); + label6.Size = new System.Drawing.Size(81, 23); label6.TabIndex = 182; label6.Text = "Retry On Error"; label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // label8 - // + // label8.AutoSize = true; label8.BackColor = System.Drawing.Color.Transparent; label8.ForeColor = System.Drawing.SystemColors.ControlText; - label8.Location = new System.Drawing.Point(10, 20); + label8.Location = new System.Drawing.Point(10, 19); label8.Margin = new Padding(0); label8.Name = "label8"; - label8.Padding = new Padding(0, 9, 0, 10); - label8.Size = new System.Drawing.Size(143, 34); + label8.Padding = new Padding(0, 8, 0, 0); + label8.Size = new System.Drawing.Size(143, 23); label8.TabIndex = 186; label8.Text = "Search Top Directory Only"; label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // tHorizontalSeparator2 - // - tHorizontalSeparator2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; - tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0); - tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0); - tHorizontalSeparator2.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator2.Location = new System.Drawing.Point(10, 64); - tHorizontalSeparator2.Margin = new Padding(0, 10, 0, 0); - tHorizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2); - tHorizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22); - tHorizontalSeparator2.Name = "tHorizontalSeparator2"; - tHorizontalSeparator2.Size = new System.Drawing.Size(364, 22); - tHorizontalSeparator2.TabIndex = 190; - tHorizontalSeparator2.TabStop = false; - // + // // pickerBox2 - // + // + pickerBox2.Align = RyzStudio.Enums.ContentAlignment.Right; pickerBox2.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox2.BackColor = System.Drawing.Color.Transparent; - pickerBox2.Font = new System.Drawing.Font("Segoe UI", 9F); - pickerBox2.Location = new System.Drawing.Point(285, 95); + pickerBox2.EnableMovable = false; + pickerBox2.EnableStepWidth = true; + pickerBox2.Location = new System.Drawing.Point(274, 76); pickerBox2.Maximum = 50; pickerBox2.Minimum = 0; pickerBox2.Name = "pickerBox2"; - pickerBox2.Size = new System.Drawing.Size(84, 35); + pickerBox2.Size = new System.Drawing.Size(100, 32); pickerBox2.TabIndex = 1; pickerBox2.TabStop = false; pickerBox2.Value = 0; - // + // // textBox1 - // + // + textBox1.Align = RyzStudio.Enums.ContentAlignment.Right; textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right; textBox1.BackColor = System.Drawing.Color.Transparent; - textBox1.Font = new System.Drawing.Font("Segoe UI", 9F); + textBox1.EnableMovable = false; + textBox1.EnableStepWidth = true; textBox1.Icon = "O"; textBox1.IconSize = 13F; - results1.IsAlt = false; - results1.IsCtrl = false; - results1.IsShift = false; - results1.Key = Keys.None; - textBox1.KeyCodeResults = results1; - textBox1.Location = new System.Drawing.Point(241, 216); + results2.IsAlt = false; + results2.IsCtrl = false; + results2.IsShift = false; + results2.Key = Keys.None; + textBox1.KeyCodeResults = results2; + textBox1.Location = new System.Drawing.Point(220, 175); textBox1.Name = "textBox1"; - textBox1.Size = new System.Drawing.Size(128, 32); + textBox1.Size = new System.Drawing.Size(160, 32); textBox1.TabIndex = 3; textBox1.TabStop = false; textBox1.UseSystemPasswordChar = false; - // + // // pickerBox3 - // + // + pickerBox3.Align = RyzStudio.Enums.ContentAlignment.Right; pickerBox3.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox3.BackColor = System.Drawing.Color.Transparent; - pickerBox3.Font = new System.Drawing.Font("Segoe UI", 9F); - pickerBox3.Location = new System.Drawing.Point(285, 140); + pickerBox3.EnableMovable = false; + pickerBox3.EnableStepWidth = true; + pickerBox3.Location = new System.Drawing.Point(274, 118); pickerBox3.Name = "pickerBox3"; pickerBox3.SelectedIndex = 1; - pickerBox3.Size = new System.Drawing.Size(84, 35); + pickerBox3.Size = new System.Drawing.Size(100, 32); pickerBox3.TabIndex = 2; pickerBox3.TabStop = false; pickerBox3.Value = true; - // + // // label1 - // + // label1.AutoSize = true; label1.BackColor = System.Drawing.Color.Transparent; label1.ForeColor = System.Drawing.SystemColors.ControlText; - label1.Location = new System.Drawing.Point(10, 140); + label1.Location = new System.Drawing.Point(10, 118); label1.Margin = new Padding(0); label1.Name = "label1"; - label1.Padding = new Padding(0, 9, 0, 10); - label1.Size = new System.Drawing.Size(169, 34); + label1.Padding = new Padding(0, 8, 0, 0); + label1.Size = new System.Drawing.Size(169, 23); label1.TabIndex = 196; label1.Text = "Close Current Process On Next"; label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // tHorizontalSeparator3 - // - tHorizontalSeparator3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; - tHorizontalSeparator3.AutoScrollMargin = new System.Drawing.Size(0, 0); - tHorizontalSeparator3.AutoScrollMinSize = new System.Drawing.Size(0, 0); - tHorizontalSeparator3.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator3.Location = new System.Drawing.Point(10, 184); - tHorizontalSeparator3.Margin = new Padding(0, 10, 0, 0); - tHorizontalSeparator3.MaximumSize = new System.Drawing.Size(4920, 2); - tHorizontalSeparator3.MinimumSize = new System.Drawing.Size(0, 22); - tHorizontalSeparator3.Name = "tHorizontalSeparator3"; - tHorizontalSeparator3.Size = new System.Drawing.Size(364, 22); - tHorizontalSeparator3.TabIndex = 197; - tHorizontalSeparator3.TabStop = false; - // + // // label2 - // + // label2.AutoSize = true; label2.BackColor = System.Drawing.Color.Transparent; label2.ForeColor = System.Drawing.SystemColors.ControlText; - label2.Location = new System.Drawing.Point(10, 216); + label2.Location = new System.Drawing.Point(10, 175); label2.Margin = new Padding(0); label2.Name = "label2"; - label2.Padding = new Padding(0, 9, 0, 10); - label2.Size = new System.Drawing.Size(123, 34); + label2.Padding = new Padding(0, 8, 0, 0); + label2.Size = new System.Drawing.Size(147, 23); label2.TabIndex = 198; - label2.Text = "Next File Shortcut Key"; + label2.Text = "Run Next File Shortcut Key"; label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // dialogFooter1 - // + // + dialogFooter1.Align = RyzStudio.Enums.ContentAlignment.None; dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240); + dialogFooter1.Button1Result = DialogResult.OK; dialogFooter1.Button1Text = "&Save"; + dialogFooter1.Button1Visible = true; + dialogFooter1.Button2Result = DialogResult.Cancel; + dialogFooter1.Button2Text = "&Cancel"; + dialogFooter1.Button2Visible = true; dialogFooter1.Dock = DockStyle.Bottom; - dialogFooter1.Location = new System.Drawing.Point(0, 437); + dialogFooter1.EnableMovable = false; + dialogFooter1.EnableStepWidth = false; + dialogFooter1.Location = new System.Drawing.Point(0, 451); dialogFooter1.Name = "dialogFooter1"; - dialogFooter1.Size = new System.Drawing.Size(384, 84); - // + dialogFooter1.Size = new System.Drawing.Size(384, 70); + dialogFooter1.TabIndex = 0; + dialogFooter1.TabStop = false; + // + // tHorizontalSeparator1 + // + tHorizontalSeparator1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + tHorizontalSeparator1.AutoPosition = true; + tHorizontalSeparator1.Location = new System.Drawing.Point(5, 56); + tHorizontalSeparator1.Name = "tHorizontalSeparator1"; + tHorizontalSeparator1.Size = new System.Drawing.Size(374, 10); + // + // tHorizontalSeparator2 + // + tHorizontalSeparator2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + tHorizontalSeparator2.AutoPosition = true; + tHorizontalSeparator2.Location = new System.Drawing.Point(5, 155); + tHorizontalSeparator2.Name = "tHorizontalSeparator2"; + tHorizontalSeparator2.Size = new System.Drawing.Size(374, 10); + // // OptionsForm - // + // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; BackColor = System.Drawing.Color.White; ClientSize = new System.Drawing.Size(384, 521); + Controls.Add(tHorizontalSeparator2); + Controls.Add(tHorizontalSeparator1); Controls.Add(dialogFooter1); Controls.Add(label2); - Controls.Add(tHorizontalSeparator3); Controls.Add(label1); Controls.Add(pickerBox3); Controls.Add(textBox1); Controls.Add(pickerBox2); - Controls.Add(tHorizontalSeparator2); Controls.Add(label8); Controls.Add(pickerBox1); Controls.Add(label6); diff --git a/source/OptionsForm.resx b/source/OptionsForm.resx index af32865..8b2ff64 100644 --- a/source/OptionsForm.resx +++ b/source/OptionsForm.resx @@ -1,7 +1,7 @@