From e1087a31db2cb9446eb246118a03056df17b38a8 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 5 Jul 2026 17:18:09 +0100 Subject: [PATCH] Changed to use simple memobox instead of memobox form Added new icon Changed to implement UI layout --- icon/favicon.ico | Bin 0 -> 17542 bytes icon/icon.svg | 75 + icon/icon_128.png | Bin 0 -> 8656 bytes icon/icon_16.png | Bin 0 -> 766 bytes icon/icon_24.png | Bin 0 -> 1447 bytes icon/icon_32.png | Bin 0 -> 1961 bytes icon/icon_48.png | Bin 0 -> 2994 bytes icon/icon_64.png | Bin 0 -> 4305 bytes icon/raw/circle.svg | 1 + icon/raw/red-gear.svg | 2590 ++++++++++++++++++++++++++++++++ icon/raw/skip-forward.svg | 1 + source/AppResource.resx | 2 +- source/Dtos/AppSession.cs | 13 +- source/MainForm.Designer.cs | 217 ++- source/MainForm.cs | 242 +-- source/MainForm.resx | 548 +++---- source/MemoBoxForm.cs | 207 --- source/MemoBoxForm.resx | 129 -- source/OptionsForm.cs | 184 +-- source/OptionsForm.resx | 4 +- source/RandomFileRunner.csproj | 3 - source/Resources/icon-64.png | Bin 3588 -> 0 bytes source/Resources/icon_64.png | Bin 0 -> 4305 bytes source/favicon.ico | Bin 17542 -> 17542 bytes 24 files changed, 3272 insertions(+), 944 deletions(-) create mode 100644 icon/favicon.ico create mode 100644 icon/icon.svg create mode 100644 icon/icon_128.png create mode 100644 icon/icon_16.png create mode 100644 icon/icon_24.png create mode 100644 icon/icon_32.png create mode 100644 icon/icon_48.png create mode 100644 icon/icon_64.png create mode 100644 icon/raw/circle.svg create mode 100644 icon/raw/red-gear.svg create mode 100644 icon/raw/skip-forward.svg delete mode 100644 source/MemoBoxForm.cs delete mode 100644 source/MemoBoxForm.resx delete mode 100644 source/Resources/icon-64.png create mode 100644 source/Resources/icon_64.png diff --git a/icon/favicon.ico b/icon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4e29caca4f3117cc7f7267c322e24631288b91f9 GIT binary patch literal 17542 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6bee06301493666a3240a4146f153e6ac650f334 GIT binary patch literal 8656 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 G|Mx$b?bd4m literal 0 HcmV?d00001 diff --git a/icon/icon_16.png b/icon/icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..70aebdcba1dbe67d235f3711d398ab5870c9c782 GIT binary patch literal 766 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10*gsR zK~y-6jg!qwRACgxfA4*-nL4)0g)>uE3!9O_2^}NIh;h-Pg%BJq|q zrq}?0F8lI1{V~2#pIUn)5{a_KA~*30FO*VMDBWM^8Qua=(bu(tn6o0Xgk8}dDC1%( zl`577Boc|TUmmYaU2|N|PGUlh#%n!V?eAy;!1^|h{eEOo=cgbnbogk!AiXbP-xTSl(N7u~TNzJ{rPt8~`$z3}?<= zAdA98+AzVWuczNt0$9<#Et8`3T`$pDjc*9NywBjBTU;J^%lE9 zl=yh9M+2gCe>C1QZi(^gfAsnTp{S|;{EOxS?^US>Sa9Vct4oUlw4sl&q*5JCXB#(5+uHGSW z9!^U`$LaaTSnNbe1rb@&xlbCvMB2zAbRIuJZ7_%k%+1ZQl30=`IsF$ikijEd0o>7HS+s{rxTzj$yfDN#OCuRt`peZ{M*%$;vZn><`Ztbbd;& wxAJCTszm95f5W82bo(NO4a2k%{x{Bl094C4aj#S-4*&oF07*qoM6N<$f|rJ0*Z=?k literal 0 HcmV?d00001 diff --git a/icon/icon_24.png b/icon/icon_24.png new file mode 100644 index 0000000000000000000000000000000000000000..266617dbd07b2120233f03cb4c78d38d582dc311 GIT binary patch literal 1447 zcmV;Y1z7rtP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11vE)S zK~zYIrIu}MRAm;&f9JWE?LenO+dIX+z-))aJ9h{QTGric1Gd>114$J~G^-zYSw4^& zV*J22Ur3A)chRib#+X$pM1t9{C}Os_#AsoQ<4TDy9heR*HKC;lOhN2e272%F_@UD& zrOhtMo{#4_=YO92KmX^PE8Ky_J#ROb-Dm>820$!(kihTiO{drXuUs{q({(9qm?PI@%==T z9W=CHLSvVd{4iGcLF`kX`f~MxZA58Pa}R1TgTUr=I{n6!0-oosG;q*gyh4rsZWC(Y zBrMJOH|)4pUJ(wV)0t*}Fxn3#YG}AgIn{GQ&1NCX@Lo?sL*b8=o3`L~~=jy|bO> z=4Mvj8)eqbBfNBAH=$4nfX2o~wAQ@Sz6(;29B zP19&}=YLGJz0cIY@OKmUJhOfKcB8d6w_6YdX4|%H#`6*;_TqjMZSOPDcg`61*AI=x z^8AZiIsDJV z+-%-RkZ2kM>+Qn+=3}LlYQ22<@;LyzfUgjF#vt0vysJ3b{D#NSmGk+kb0?cOZ=T%5 zsu-h>zeMoMB@@0`voWHyHs)F27@+Tb*j*h&4fPjAV9INz#7sBrEP$b*p_>uM`9_9^ zelH`}MAtun>QA8tGZ<&ym;`5*VJhk{6?HJPu)K`M>irjT{TimsVa6wKVx9TI2(0Pt z?M=a*ESx#jzQ3?}`h|1yQ(u1g?+a%V7ujs~cq9@zA-OA$3Z_FuHj&SjTKzo>O}Jci zO&kFG>qE>qvfD^Lw@)e63Z`6gSLO?>NvG3$Cs8|<$g!Rj=D7xldx^ZBzog002ovPDHLkV1lhe B%%1=N literal 0 HcmV?d00001 diff --git a/icon/icon_32.png b/icon/icon_32.png new file mode 100644 index 0000000000000000000000000000000000000000..4d97e829b6f32fa3a60ce0b5206ee52415a27886 GIT binary patch literal 1961 zcmV;a2UhrrP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H12R2DW zK~z|UrI&wjR96+pKli@(Hk)K2G}(j-r7QuHH)$w|fkvzvN(2OEs09?wP+_DngM~6c z(HV;lj{c)|+6e^*lG+IZMaIF37A!IRoDu`AQ(Ms4O(!HkMj`A<5|Zp@ci+4IvCD2Y zo21g7zuuf5-*fJH=iYOU-~p+)xOj&UVg*nLQYJ35rw+j%rKrQroy;oA~hM!yr zc@EUWR@o8;zx6XjbP&5$#_9d&?;i)a(%08l+1c3{ zgdsKHbUN1q|dmCeNl8hyZQD&`WD(r*`;7NcK2h7e*YkO)8y!O(!!NS#RK%4BB!*D)IR zVmKVs*VVCR&6+gl0ES_(cI{f~>*~-A1EX;-!ha(f;1erAY7l!%61Pv9rum|2n*TLT zGXUh0dJy=$<80+in0a(3yHEy>Xt?d#bbT65Oie-?MgUZOx0UiQYNT3kiL1@cSf}4+E z4|(C_&8uKr%$qkanRX)s>r3C^&QF^8=_NnKv!CSMix<;=M^#l7*f!$k)db(3K8N7u zBZRgb1O{%j_ zNURPbgJ{i1$UXT>ez0*JTMxdArls^W!r?II&z}dW#W3O|+ukGNdX3-OwMWnWp(~q+Sqw{$S!Qkp3HFG;Bhb zg4gTo(^5U0T3T9IzhMJWTM=5j2j!0Uh5l|bfBh`j)@`rXJDK>@G&Fb0?RHN>*>eS8 zPy0fQnUw>sT!gQgw@;kFnUO(hY3Yb*Z)j-XrJXy8Mj}MM{z3u+z_@q_+4(Pk{eHjy zQ#7NGPQ{v$6~*m#kJyX?fk3<&Z6f;k!XZZ+y%{Aun5J0-;vy(_boMt!ZpVQe=;sfh zwOs<+9wwAnGrmaVE8k6~eFzz+>(Jl-Bk^|pq}S_hh171i5R_YuFCg;Nx-fUBAy>&; zAG>7#U97?ijB{_`cGPk8|5j(XxxMT!3ls{N~s0y?d^B& ztB*F8H-dUNeJt0or@+=|5 vcx=l-BxDc?S=d$pxT=)e9|#1R9|Z4zjiUu*hWpGm00000NkvXXu0mjfGL)(H literal 0 HcmV?d00001 diff --git a/icon/icon_48.png b/icon/icon_48.png new file mode 100644 index 0000000000000000000000000000000000000000..c4527d2c9a21c0512f9f570a1bca059707266160 GIT binary patch literal 2994 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 literal 0 HcmV?d00001 diff --git a/icon/icon_64.png b/icon/icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..6c68993e09876c6236924f37e4e6f3b273157f5d GIT binary patch literal 4305 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 literal 0 HcmV?d00001 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 @@ AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAoAAABbAAAAzQAAAPsAAAD7AAAAzQAAAFoAAAAJAAAAAAAAAAAAAAAAAAAAAAAA + AAAlJSUpKCgojCkpKbYoKCjYKCgo7CgoKPkoKCj5KCgo7CgoKNgpKSm2KCgojCUlJSkAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAMAAAAewAAAO4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADuAAAAewAA - AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoKCjVKCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygo + KNUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAHIAAADqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAOoAAAByAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKCjtKCgo/ygoKP8sKyj/OzQn/0M6J/9DOif/OzQn/ywr + KP8oKCj/KCgo/ygoKO0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABmAAAA5AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAHcAAAAHAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAMzMzBSgoKDogICAIAAAAAAAAAAAAAAAAAAAAAAAAAAAoKCjtKCgo/zs0J//bnR//3p8f/96f + H//enx//3p8f/9udH/87NCf/KCgo/ygoKO0AAAAAAAAAAAAAAAAAAAAAAAAAACAgIAgoKCg6MzMzBQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAXwAAAN4AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADeAAAAXwAA - AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAE0AAADRAAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/woLC/8+RET/AAAA/wAAAP8AAAD/AAAA/0ZNTv8ODw//AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAANcAAABeAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAzQAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8JCgr/Z3Fx/83i4/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/R5uf/dYGC/wwN - Df8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1AAAAFUAAAABAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAMEAAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/BQYG/1hhYf/G2tv/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SR - kv/c8vP/3PLz/8vf4P9ncXH/CAkJ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADJAAAATQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAC8AAAA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQFBf9QWFn/wNPU/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAA - AP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8//c8vP/xNfY/19oaf8GBwf/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAA/wAAAMQAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAtgAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwP/UVla/7/S0//c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+/0tP/UVla/wMD - A/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAtgAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAQAA - AHoAAAD6AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/0lRUf+5y8z/3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8//D0tP/xdTV/9zy - 8//c8vP/3PLz/7nLzP9JUVH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAAB6AAAAAQAA - AAAAAAAAAAAAfwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9CSEj/s8TF/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy - 8/+vubn/kJCQ/73Jyv/c8vP/3PLz/9zy8//c8vP/s8TF/0JISP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA - AP8AAAD/AAAAfQAAAAAAAAA0AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/OkBA/6u8vf/c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SR - kv/c8vP/3PLz/9zy8/+vubn/oaGh/5ucnP+2wMH/3PLz/9zy8//c8vP/3PLz/9zy8/+rvL3/OkBA/wAA - AP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAADMAAAClAAAA/wAAAP8AAAD/AAAA/yQoKP+ktLX/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1urr/9Dj5P/X7O3/3PLz/9zy8/+EkZL/AAAA/wAA - AP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v//T09P+ioqL/sbm5/9vx8v/c8vP/3PLz/9zy - 8//c8vP/3PLz/6S0tf8jJyf/AAAA/wAAAP8AAAD/AAAA/wAAAKQAAADeAAAA/wAAAP8AAAD/CQkK/8fb - 3P/c8vP/3PLz/8vc3f+zvb3/rbW1/6eurv+hpqb/nJ+f/5aXl/+QkJD/j4+P/4+Pj//H2Nj/3PLz/9zy - 8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v///////4+Pj/qKmp/6iu - r//Z7u//3PLz/9zy8//c8vP/3PLz/9zy8//G2tv/CAkJ/wAAAP8AAAD/AAAA/wAAAN0AAAD8AAAA/wAA - AP8AAAD/Ki4v/9zy8//c8vP/3PLz/5WWlv+Zmpr/paam/6+vr/+3t7f/wMDA/8jIyP/R0dH/pKWl/7K7 - u//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v//// - ////////+/v7/6+vr/+kqan/2O3u/9zy8//c8vP/3PLz/9zy8//c8vP/Ki4v/wAAAP8AAAD/AAAA/wAA - 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 @@