Compare commits

..

7 Commits

Author SHA1 Message Date
Ray
386b78d450 Merge pull request 'Added new icon and logo' (#3) from release/1.1.1 into master
Reviewed-on: #3
2024-07-20 23:39:39 +00:00
Ray
9184eeee85 Added new icon and logo
Changed to latest RyzStudio8
Changed build script
2024-07-21 00:33:50 +01:00
Ray
ec04756989 Merge pull request 'Fixed failure to close previous process' (#2) from release/1.1.0.074 into master
Reviewed-on: #2
2024-06-23 17:45:47 +00:00
Ray
cece2ea83a Fixed failure to close previous process 2024-06-23 18:45:23 +01:00
Ray
0b3d33e10c Merge pull request 'Upgraded to RyzStudio8 package' (#1) from release/1.1.0.074 into master
Reviewed-on: #1
2024-06-23 17:05:17 +00:00
Ray
bf6997c71b Upgraded to RyzStudio8 package
Upgraded to .NET 8
2024-06-23 17:51:44 +01:00
Ray
f489679dd4 Merge branch 'release/0.1.2.065' into 'master'
Upgraded UI dependency + icons

See merge request SympatheticFire/random-file-runner!3
2021-12-29 19:23:18 +00:00
23 changed files with 1599 additions and 1418 deletions

5
.gitignore vendored
View File

@ -2,4 +2,7 @@
/bin
/obj
/*.user
/Properties/PublishProfiles/*.user
/*/.vs
/*/bin
/*/obj
/*/*.user

View File

@ -19,7 +19,7 @@ namespace RandomFileRunner {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class AppResource {
@ -60,6 +60,24 @@ namespace RandomFileRunner {
}
}
/// <summary>
/// Looks up a localized string similar to .
/// </summary>
internal static string AppAuthorURL {
get {
return ResourceManager.GetString("AppAuthorURL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to https://www.hiimray.co.uk.
/// </summary>
internal static string AppCompanyURL {
get {
return ResourceManager.GetString("AppCompanyURL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to https://www.hiimray.co.uk/software-random-file-runner.
/// </summary>
@ -68,5 +86,24 @@ namespace RandomFileRunner {
return ResourceManager.GetString("AppHelpURL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to https://www.hiimray.co.uk/software-random-file-runner.
/// </summary>
internal static string AppProductURL {
get {
return ResourceManager.GetString("AppProductURL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap icon_64 {
get {
object obj = ResourceManager.GetObject("icon_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -112,12 +112,25 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AppAuthorURL" xml:space="preserve">
<value />
</data>
<data name="AppCompanyURL" xml:space="preserve">
<value>https://www.hiimray.co.uk</value>
</data>
<data name="AppHelpURL" xml:space="preserve">
<value>https://www.hiimray.co.uk/software-random-file-runner</value>
</data>
<data name="AppProductURL" xml:space="preserve">
<value>https://www.hiimray.co.uk/software-random-file-runner</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="icon_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\icon-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

684
MainForm.Designer.cs generated
View File

@ -29,424 +29,409 @@ namespace RandomFileRunner
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.button2 = new RyzStudio.Windows.ThemedForms.TButton();
this.label9 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem13 = new System.Windows.Forms.ToolStripSeparator();
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem15 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.viewHelpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem16 = new System.Windows.Forms.ToolStripSeparator();
this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.addDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new RyzStudio.Windows.ThemedForms.TButton();
this.tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.textBox1 = new RyzStudio.Windows.ThemedForms.TClearableTextBox();
this.tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.button4 = new RyzStudio.Windows.ThemedForms.TButton();
this.button3 = new RyzStudio.Windows.ThemedForms.TMenuButton();
this.memoBox1 = new RyzStudio.Windows.ThemedForms.TMemoBox();
this.button5 = new RyzStudio.Windows.ThemedForms.TButton();
this.openFileDialog2 = new System.Windows.Forms.OpenFileDialog();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.menuStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
pictureBox1 = new System.Windows.Forms.PictureBox();
toolTip1 = new System.Windows.Forms.ToolTip(components);
button2 = new RyzStudio.Windows.ThemedForms.ThButton();
label9 = new System.Windows.Forms.Label();
menuStrip1 = new System.Windows.Forms.MenuStrip();
fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolStripMenuItem13 = new System.Windows.Forms.ToolStripSeparator();
saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolStripMenuItem15 = new System.Windows.Forms.ToolStripSeparator();
exitToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
viewHelpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
toolStripMenuItem16 = new System.Windows.Forms.ToolStripSeparator();
aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
label1 = new System.Windows.Forms.Label();
textBox1 = new RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox();
tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
button5 = new RyzStudio.Windows.ThemedForms.ThButton();
openFileDialog2 = new System.Windows.Forms.OpenFileDialog();
saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
progressBar2 = new RyzStudio.Windows.ThemedForms.ThProgressBar();
progressBar1 = new RyzStudio.Windows.ThemedForms.ThProgressBar();
label3 = new System.Windows.Forms.Label();
label4 = new System.Windows.Forms.Label();
tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator();
label2 = new System.Windows.Forms.Label();
textBox2 = new RyzStudio.Windows.ThemedForms.ThHiButtonTextBox();
button4 = new RyzStudio.Windows.ThemedForms.ThButton();
dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter();
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
menuStrip1.SuspendLayout();
SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.ErrorImage = null;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(81, 79);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(33, 33);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBox1.TabIndex = 15;
this.pictureBox1.TabStop = false;
pictureBox1.ErrorImage = null;
pictureBox1.InitialImage = null;
pictureBox1.Location = new System.Drawing.Point(289, 121);
pictureBox1.Name = "pictureBox1";
pictureBox1.Size = new System.Drawing.Size(33, 33);
pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
pictureBox1.TabIndex = 15;
pictureBox1.TabStop = false;
//
// button2
//
this.button2.ActiveImage = null;
this.button2.BackColor = System.Drawing.Color.Transparent;
this.button2.HoverImage = null;
this.button2.IdleImage = null;
this.button2.LabelText = "&Search";
this.button2.Location = new System.Drawing.Point(127, 79);
this.button2.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.button2.Name = "button2";
this.button2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button2.Size = new System.Drawing.Size(149, 33);
this.button2.TabIndex = 1;
this.button2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button2_MouseClick);
button2.ActiveImage = null;
button2.BackColor = System.Drawing.Color.Transparent;
button2.EnableMenuOnClick = false;
button2.EnableReactiveVisual = true;
button2.HoverImage = null;
button2.IdleImage = null;
button2.LabelText = "&Search";
button2.Location = new System.Drawing.Point(127, 121);
button2.Name = "button2";
button2.Size = new System.Drawing.Size(149, 33);
button2.TabIndex = 1;
button2.TabStop = false;
button2.MouseClick += button2_MouseClick;
//
// label9
//
this.label9.Location = new System.Drawing.Point(13, 36);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(101, 33);
this.label9.TabIndex = 27;
this.label9.Text = "Search Filter";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label2
//
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label2.Location = new System.Drawing.Point(289, 81);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(156, 31);
this.label2.TabIndex = 30;
this.label2.Text = "0";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
label9.Location = new System.Drawing.Point(13, 78);
label9.Name = "label9";
label9.Size = new System.Drawing.Size(101, 33);
label9.TabIndex = 27;
label9.Text = "Search Pattern";
label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.toolsToolStripMenuItem,
this.helpToolStripMenuItem1});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(464, 24);
this.menuStrip1.TabIndex = 32;
menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { fileToolStripMenuItem, toolsToolStripMenuItem, helpToolStripMenuItem1 });
menuStrip1.Location = new System.Drawing.Point(0, 0);
menuStrip1.Name = "menuStrip1";
menuStrip1.Size = new System.Drawing.Size(464, 24);
menuStrip1.TabIndex = 32;
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.newToolStripMenuItem,
this.openToolStripMenuItem,
this.toolStripMenuItem13,
this.saveAsToolStripMenuItem,
this.toolStripMenuItem15,
this.exitToolStripMenuItem2});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File";
fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { newToolStripMenuItem, openToolStripMenuItem, toolStripMenuItem13, saveAsToolStripMenuItem, toolStripMenuItem15, exitToolStripMenuItem2 });
fileToolStripMenuItem.Name = "fileToolStripMenuItem";
fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
fileToolStripMenuItem.Text = "&File";
//
// newToolStripMenuItem
//
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
this.newToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.newToolStripMenuItem.Text = "&New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
newToolStripMenuItem.Name = "newToolStripMenuItem";
newToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N;
newToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
newToolStripMenuItem.Text = "&New";
newToolStripMenuItem.Click += newToolStripMenuItem_Click;
//
// openToolStripMenuItem
//
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.openToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.openToolStripMenuItem.Text = "&Open";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
openToolStripMenuItem.Name = "openToolStripMenuItem";
openToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O;
openToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
openToolStripMenuItem.Text = "&Open";
openToolStripMenuItem.Click += openToolStripMenuItem_Click;
//
// toolStripMenuItem13
//
this.toolStripMenuItem13.Name = "toolStripMenuItem13";
this.toolStripMenuItem13.Size = new System.Drawing.Size(143, 6);
toolStripMenuItem13.Name = "toolStripMenuItem13";
toolStripMenuItem13.Size = new System.Drawing.Size(143, 6);
//
// saveAsToolStripMenuItem
//
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.saveAsToolStripMenuItem.Text = "Save &As...";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
saveAsToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
saveAsToolStripMenuItem.Text = "Save &As...";
saveAsToolStripMenuItem.Click += saveAsToolStripMenuItem_Click;
//
// toolStripMenuItem15
//
this.toolStripMenuItem15.Name = "toolStripMenuItem15";
this.toolStripMenuItem15.Size = new System.Drawing.Size(143, 6);
toolStripMenuItem15.Name = "toolStripMenuItem15";
toolStripMenuItem15.Size = new System.Drawing.Size(143, 6);
//
// exitToolStripMenuItem2
//
this.exitToolStripMenuItem2.Name = "exitToolStripMenuItem2";
this.exitToolStripMenuItem2.Size = new System.Drawing.Size(146, 22);
this.exitToolStripMenuItem2.Text = "E&xit";
this.exitToolStripMenuItem2.Click += new System.EventHandler(this.exitToolStripMenuItem2_Click);
exitToolStripMenuItem2.Name = "exitToolStripMenuItem2";
exitToolStripMenuItem2.Size = new System.Drawing.Size(146, 22);
exitToolStripMenuItem2.Text = "E&xit";
exitToolStripMenuItem2.Click += exitToolStripMenuItem2_Click;
//
// toolsToolStripMenuItem
//
this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.optionsToolStripMenuItem});
this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
this.toolsToolStripMenuItem.Size = new System.Drawing.Size(46, 20);
this.toolsToolStripMenuItem.Text = "&Tools";
toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { optionsToolStripMenuItem });
toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
toolsToolStripMenuItem.Size = new System.Drawing.Size(46, 20);
toolsToolStripMenuItem.Text = "&Tools";
//
// optionsToolStripMenuItem
//
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12)));
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
this.optionsToolStripMenuItem.Text = "&Options";
this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
optionsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12;
optionsToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
optionsToolStripMenuItem.Text = "&Options";
optionsToolStripMenuItem.Click += optionsToolStripMenuItem_Click;
//
// helpToolStripMenuItem1
//
this.helpToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.viewHelpToolStripMenuItem1,
this.toolStripMenuItem16,
this.aboutToolStripMenuItem1});
this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1";
this.helpToolStripMenuItem1.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem1.Text = "&Help";
helpToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { viewHelpToolStripMenuItem1, toolStripMenuItem16, aboutToolStripMenuItem1 });
helpToolStripMenuItem1.Name = "helpToolStripMenuItem1";
helpToolStripMenuItem1.Size = new System.Drawing.Size(44, 20);
helpToolStripMenuItem1.Text = "&Help";
//
// viewHelpToolStripMenuItem1
//
this.viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1";
this.viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1;
this.viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(146, 22);
this.viewHelpToolStripMenuItem1.Text = "&View Help";
this.viewHelpToolStripMenuItem1.Click += new System.EventHandler(this.viewHelpToolStripMenuItem1_Click);
viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1";
viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1;
viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(146, 22);
viewHelpToolStripMenuItem1.Text = "&View Help";
viewHelpToolStripMenuItem1.Click += viewHelpToolStripMenuItem1_Click;
//
// toolStripMenuItem16
//
this.toolStripMenuItem16.Name = "toolStripMenuItem16";
this.toolStripMenuItem16.Size = new System.Drawing.Size(143, 6);
toolStripMenuItem16.Name = "toolStripMenuItem16";
toolStripMenuItem16.Size = new System.Drawing.Size(143, 6);
//
// aboutToolStripMenuItem1
//
this.aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
this.aboutToolStripMenuItem1.Size = new System.Drawing.Size(146, 22);
this.aboutToolStripMenuItem1.Text = "&About";
this.aboutToolStripMenuItem1.Click += new System.EventHandler(this.aboutToolStripMenuItem1_Click);
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addDirectoryToolStripMenuItem,
this.addFileToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(148, 48);
//
// addDirectoryToolStripMenuItem
//
this.addDirectoryToolStripMenuItem.Name = "addDirectoryToolStripMenuItem";
this.addDirectoryToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
this.addDirectoryToolStripMenuItem.Text = "&Add Directory";
this.addDirectoryToolStripMenuItem.Click += new System.EventHandler(this.addDirectoryToolStripMenuItem_Click);
//
// addFileToolStripMenuItem
//
this.addFileToolStripMenuItem.Name = "addFileToolStripMenuItem";
this.addFileToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
this.addFileToolStripMenuItem.Text = "Add &File";
this.addFileToolStripMenuItem.Click += new System.EventHandler(this.addFileToolStripMenuItem_Click);
//
// folderBrowserDialog1
//
this.folderBrowserDialog1.ShowNewFolderButton = false;
//
// openFileDialog1
//
this.openFileDialog1.Filter = "All files (*.*)|*.*";
aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
aboutToolStripMenuItem1.Size = new System.Drawing.Size(146, 22);
aboutToolStripMenuItem1.Text = "&About";
aboutToolStripMenuItem1.Click += aboutToolStripMenuItem1_Click;
//
// label1
//
this.label1.Location = new System.Drawing.Point(13, 154);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(101, 33);
this.label1.TabIndex = 40;
this.label1.Text = "Search Paths";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// button1
//
this.button1.ActiveImage = null;
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.BackColor = System.Drawing.Color.Transparent;
this.button1.HoverImage = null;
this.button1.IdleImage = null;
this.button1.LabelText = "&Close";
this.button1.Location = new System.Drawing.Point(296, 705);
this.button1.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.button1.Name = "button1";
this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button1.Size = new System.Drawing.Size(149, 37);
this.button1.TabIndex = 6;
this.button1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick);
//
// tHorizontalSeparator2
//
this.tHorizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator2.BackColor = System.Drawing.Color.Transparent;
this.tHorizontalSeparator2.Location = new System.Drawing.Point(8, 673);
this.tHorizontalSeparator2.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10);
this.tHorizontalSeparator2.MaximumSize = new System.Drawing.Size(5760, 22);
this.tHorizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22);
this.tHorizontalSeparator2.Name = "tHorizontalSeparator2";
this.tHorizontalSeparator2.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
this.tHorizontalSeparator2.Size = new System.Drawing.Size(448, 22);
this.tHorizontalSeparator2.TabIndex = 42;
this.tHorizontalSeparator2.TabStop = false;
label1.Location = new System.Drawing.Point(13, 36);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(101, 33);
label1.TabIndex = 40;
label1.Text = "Search Path";
label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// textBox1
//
this.textBox1.AcceptButton = null;
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.BackColor = System.Drawing.Color.Transparent;
this.textBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.textBox1.HighlightImage = null;
this.textBox1.Location = new System.Drawing.Point(127, 36);
this.textBox1.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.textBox1.Name = "textBox1";
this.textBox1.NormalImage = null;
this.textBox1.Padding = new System.Windows.Forms.Padding(10, 9, 9, 9);
this.textBox1.Size = new System.Drawing.Size(318, 34);
this.textBox1.TabIndex = 0;
this.textBox1.UseSystemPasswordChar = false;
textBox1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
textBox1.BackColor = System.Drawing.Color.Transparent;
textBox1.ClearedValue = "";
textBox1.EnableReactiveVisual = true;
textBox1.Font = new System.Drawing.Font("Segoe UI", 9F);
textBox1.Icon = "O";
textBox1.IconSize = 13F;
textBox1.Location = new System.Drawing.Point(127, 78);
textBox1.Name = "textBox1";
textBox1.Size = new System.Drawing.Size(318, 32);
textBox1.TabIndex = 0;
textBox1.TabStop = false;
textBox1.UseSystemPasswordChar = false;
//
// tHorizontalSeparator1
//
this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent;
this.tHorizontalSeparator1.Location = new System.Drawing.Point(8, 122);
this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10);
this.tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(5760, 22);
this.tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22);
this.tHorizontalSeparator1.Name = "tHorizontalSeparator1";
this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
this.tHorizontalSeparator1.Size = new System.Drawing.Size(448, 22);
this.tHorizontalSeparator1.TabIndex = 45;
this.tHorizontalSeparator1.TabStop = false;
//
// button4
//
this.button4.ActiveImage = null;
this.button4.BackColor = System.Drawing.Color.Transparent;
this.button4.HoverImage = null;
this.button4.IdleImage = null;
this.button4.LabelText = "&Clear";
this.button4.Location = new System.Drawing.Point(296, 154);
this.button4.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.button4.Name = "button4";
this.button4.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button4.Size = new System.Drawing.Size(149, 33);
this.button4.TabIndex = 3;
this.button4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button4_MouseClick);
//
// button3
//
this.button3.ActiveImage = null;
this.button3.BackColor = System.Drawing.Color.Transparent;
this.button3.ContextMenuStrip = this.contextMenuStrip1;
this.button3.HoverImage = null;
this.button3.IdleImage = null;
this.button3.LabelText = "&Add";
this.button3.Location = new System.Drawing.Point(127, 154);
this.button3.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.button3.Name = "button3";
this.button3.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button3.Size = new System.Drawing.Size(149, 33);
this.button3.TabIndex = 2;
//
// memoBox1
//
this.memoBox1.AllowDrop = true;
this.memoBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.memoBox1.BackColor = System.Drawing.Color.Transparent;
this.memoBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.memoBox1.Location = new System.Drawing.Point(13, 203);
this.memoBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
this.memoBox1.Name = "memoBox1";
this.memoBox1.Padding = new System.Windows.Forms.Padding(10, 10, 3, 9);
this.memoBox1.ReadOnly = false;
this.memoBox1.Size = new System.Drawing.Size(432, 464);
this.memoBox1.TabIndex = 4;
this.memoBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.memoBox1_DragDrop);
this.memoBox1.DragOver += new System.Windows.Forms.DragEventHandler(this.memoBox1_DragOver);
tHorizontalSeparator1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0);
tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0);
tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent;
tHorizontalSeparator1.Location = new System.Drawing.Point(8, 164);
tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(0, 10, 0, 0);
tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(5760, 22);
tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22);
tHorizontalSeparator1.Name = "tHorizontalSeparator1";
tHorizontalSeparator1.Size = new System.Drawing.Size(448, 22);
tHorizontalSeparator1.TabIndex = 45;
tHorizontalSeparator1.TabStop = false;
//
// button5
//
this.button5.ActiveImage = null;
this.button5.BackColor = System.Drawing.Color.Transparent;
this.button5.HoverImage = null;
this.button5.IdleImage = null;
this.button5.LabelText = "&Run Next";
this.button5.Location = new System.Drawing.Point(127, 705);
this.button5.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.button5.Name = "button5";
this.button5.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button5.Size = new System.Drawing.Size(149, 37);
this.button5.TabIndex = 5;
this.button5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button5_MouseClick);
button5.ActiveImage = null;
button5.BackColor = System.Drawing.Color.Transparent;
button5.EnableMenuOnClick = false;
button5.EnableReactiveVisual = true;
button5.HoverImage = null;
button5.IdleImage = null;
button5.LabelText = "&Run Next";
button5.Location = new System.Drawing.Point(127, 309);
button5.Name = "button5";
button5.Size = new System.Drawing.Size(149, 33);
button5.TabIndex = 5;
button5.TabStop = false;
button5.MouseClick += button5_MouseClick;
//
// openFileDialog2
//
this.openFileDialog2.DefaultExt = "jsonfig";
this.openFileDialog2.Filter = "Session files (*.jsonfig)|*.jsonfig";
openFileDialog2.DefaultExt = "jsonfig";
openFileDialog2.Filter = "Session files (*.jsonfig)|*.jsonfig";
//
// saveFileDialog1
//
this.saveFileDialog1.DefaultExt = "jsonfig";
this.saveFileDialog1.Filter = "Session files (*.jsonfig)|*.jsonfig";
saveFileDialog1.DefaultExt = "jsonfig";
saveFileDialog1.Filter = "Session files (*.jsonfig)|*.jsonfig";
//
// progressBar2
//
progressBar2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
progressBar2.BackColor = System.Drawing.Color.Transparent;
progressBar2.BarColour = System.Drawing.Color.FromArgb(79, 193, 203);
progressBar2.BarTextColour = System.Drawing.Color.Black;
progressBar2.EnableReactiveVisual = false;
progressBar2.Font = new System.Drawing.Font("Segoe UI", 9F);
progressBar2.Location = new System.Drawing.Point(127, 215);
progressBar2.Maximum = 100;
progressBar2.Minimum = 0;
progressBar2.Name = "progressBar2";
progressBar2.ProgressText = "50/100";
progressBar2.ShowProgressText = true;
progressBar2.Size = new System.Drawing.Size(318, 20);
progressBar2.TabIndex = 46;
progressBar2.TabStop = false;
progressBar2.Value = 50;
//
// progressBar1
//
progressBar1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
progressBar1.BackColor = System.Drawing.Color.Transparent;
progressBar1.BarColour = System.Drawing.Color.FromArgb(79, 202, 130);
progressBar1.BarTextColour = System.Drawing.Color.Black;
progressBar1.EnableReactiveVisual = false;
progressBar1.Font = new System.Drawing.Font("Segoe UI", 9F);
progressBar1.Location = new System.Drawing.Point(127, 192);
progressBar1.Maximum = 100;
progressBar1.Minimum = 0;
progressBar1.Name = "progressBar1";
progressBar1.ProgressText = "50/100";
progressBar1.ShowProgressText = true;
progressBar1.Size = new System.Drawing.Size(318, 20);
progressBar1.TabIndex = 47;
progressBar1.TabStop = false;
progressBar1.Value = 50;
//
// label3
//
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(127, 256);
label3.Margin = new System.Windows.Forms.Padding(0);
label3.Name = "label3";
label3.Size = new System.Drawing.Size(318, 15);
label3.TabIndex = 49;
label3.Text = "label3";
//
// label4
//
label4.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label4.Location = new System.Drawing.Point(127, 241);
label4.Margin = new System.Windows.Forms.Padding(0);
label4.Name = "label4";
label4.Size = new System.Drawing.Size(318, 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.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(8, 281);
tHorizontalSeparator3.Margin = new System.Windows.Forms.Padding(0, 10, 0, 0);
tHorizontalSeparator3.MaximumSize = new System.Drawing.Size(5760, 22);
tHorizontalSeparator3.MinimumSize = new System.Drawing.Size(0, 22);
tHorizontalSeparator3.Name = "tHorizontalSeparator3";
tHorizontalSeparator3.Size = new System.Drawing.Size(448, 22);
tHorizontalSeparator3.TabIndex = 50;
tHorizontalSeparator3.TabStop = false;
//
// label2
//
label2.Location = new System.Drawing.Point(13, 192);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(101, 33);
label2.TabIndex = 51;
label2.Text = "Search Engine";
label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// textBox2
//
textBox2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
textBox2.BackColor = System.Drawing.Color.Transparent;
textBox2.EnableReactiveVisual = true;
textBox2.Font = new System.Drawing.Font("Segoe UI", 9F);
textBox2.Icon = "M";
textBox2.IconSize = 13F;
textBox2.Location = new System.Drawing.Point(127, 36);
textBox2.Name = "textBox2";
textBox2.Size = new System.Drawing.Size(318, 32);
textBox2.TabIndex = 52;
textBox2.TabStop = false;
textBox2.UseSystemPasswordChar = false;
textBox2.OnButtonClick += textBox2_OnButtonClick;
//
// button4
//
button4.ActiveImage = null;
button4.BackColor = System.Drawing.Color.Transparent;
button4.EnableMenuOnClick = false;
button4.EnableReactiveVisual = true;
button4.HoverImage = null;
button4.IdleImage = null;
button4.LabelText = "Save File &List";
button4.Location = new System.Drawing.Point(296, 309);
button4.Name = "button4";
button4.Size = new System.Drawing.Size(149, 33);
button4.TabIndex = 53;
button4.TabStop = false;
button4.MouseClick += button4_MouseClick;
//
// dialogFooter1
//
dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240);
dialogFooter1.Button1Text = "&Close";
dialogFooter1.Dialog = this;
dialogFooter1.Dock = System.Windows.Forms.DockStyle.Bottom;
dialogFooter1.Location = new System.Drawing.Point(0, 517);
dialogFooter1.Name = "dialogFooter1";
dialogFooter1.Size = new System.Drawing.Size(464, 84);
//
// MainForm
//
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
this.ClientSize = new System.Drawing.Size(464, 761);
this.Controls.Add(this.button5);
this.Controls.Add(this.memoBox1);
this.Controls.Add(this.button3);
this.Controls.Add(this.button4);
this.Controls.Add(this.tHorizontalSeparator1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button2);
this.Controls.Add(this.tHorizontalSeparator2);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label9);
this.Controls.Add(this.pictureBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "MainForm";
this.Text = "Random File Runner";
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
AllowDrop = true;
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
BackColor = System.Drawing.Color.FromArgb(250, 250, 250);
ClientSize = new System.Drawing.Size(464, 601);
Controls.Add(dialogFooter1);
Controls.Add(button4);
Controls.Add(textBox2);
Controls.Add(label2);
Controls.Add(tHorizontalSeparator3);
Controls.Add(label3);
Controls.Add(label4);
Controls.Add(progressBar2);
Controls.Add(progressBar1);
Controls.Add(button5);
Controls.Add(tHorizontalSeparator1);
Controls.Add(textBox1);
Controls.Add(button2);
Controls.Add(label1);
Controls.Add(menuStrip1);
Controls.Add(label9);
Controls.Add(pictureBox1);
Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
MinimumSize = new System.Drawing.Size(480, 480);
Name = "MainForm";
Text = "Random File Runner";
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
menuStrip1.ResumeLayout(false);
menuStrip1.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
#endregion
private RyzStudio.Windows.ThemedForms.TButton button1;
private System.Windows.Forms.PictureBox pictureBox1;
private RyzStudio.Windows.ThemedForms.TButton button2;
private RyzStudio.Windows.ThemedForms.ThButton button2;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Label label9;
private RyzStudio.Windows.ThemedForms.TButton button4;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
@ -461,20 +446,21 @@ namespace RandomFileRunner
private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem16;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1;
private RyzStudio.Windows.ThemedForms.TMemoBox memoBox1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem addDirectoryToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem addFileToolStripMenuItem;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1;
private System.Windows.Forms.Label label1;
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator2;
private RyzStudio.Windows.ThemedForms.TClearableTextBox textBox1;
private RyzStudio.Windows.ThemedForms.TMenuButton button3;
private RyzStudio.Windows.ThemedForms.TButton button5;
private RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox textBox1;
private RyzStudio.Windows.ThemedForms.ThButton button5;
private System.Windows.Forms.OpenFileDialog openFileDialog2;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private RyzStudio.Windows.ThemedForms.ThProgressBar progressBar2;
private RyzStudio.Windows.ThemedForms.ThProgressBar progressBar1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator3;
private System.Windows.Forms.Label label2;
private RyzStudio.Windows.ThemedForms.ThHiButtonTextBox textBox2;
private RyzStudio.Windows.ThemedForms.ThButton button4;
private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1;
}
}

View File

@ -1,68 +1,71 @@
using RyzStudio.IO;
using RyzStudio.Windows.Forms;
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.Linq;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using RyzStudio.IO;
using RyzStudio.Runtime.InteropServices;
using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms;
namespace RandomFileRunner
{
public partial class MainForm : Form
{
[DllImport("user32.dll")]
protected static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
private readonly Random _randy;
private readonly FileSearcher _fileSearcher;
private CancellationTokenSource _cancellationToken = new CancellationTokenSource();
[DllImport("user32.dll")]
protected static extern bool UnregisterHotKey(IntPtr hWnd, int id);
private bool _isBusy = false;
//protected const int MOD_NONE = 0x0000;
//protected const int MOD_ALT = 0x1;
//protected const int MOD_CONTROL = 0x2;
//protected const int MOD_SHIFT = 0x4;
//protected const int MOD_WIN = 0x8;
protected const int WM_HOTKEY = 0x312;
protected const int WM_QUERYENDSESSION = 0x0011;
protected readonly Random randy = new Random();
protected CancellationTokenSource cancellationToken = new CancellationTokenSource();
protected OptionsForm optionsForm = null;
protected bool isBusy = false;
protected bool requestCancel = false;
protected List<string> foundFiles = null;
protected Process currentProcess = null;
private List<string> _searchPaths = new List<string>();
private List<string> _foundFiles = new List<string>();
private Process _currentProcess = null;
public MainForm()
{
InitializeComponent();
textBox1.Text = "*.*";
memoBox1.TextBox.WordWrap = false;
textBox2.TextBox.ReadOnly = true;
_randy = new Random();
_fileSearcher = new FileSearcher();
_fileSearcher.OnDirectoryFound += fileSearcher_OnDirectoryFound;
_fileSearcher.OnFileFound += fileSearcher_OnFileFound;
_fileSearcher.OnSearchCompleted += fileSearcher_OnSearchCompleted;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.ClearSession();
}
protected async override void OnShown(EventArgs e)
{
base.OnShown(e);
string[] commandLineArgs = Environment.GetCommandLineArgs();
var args = RyzStudio.Windows.Forms.WinApplication.GetCommandLine();
string jsonfigFilename = null;
if (string.IsNullOrWhiteSpace(jsonfigFilename)) jsonfigFilename = ParseOpenFile_FromCMD(commandLineArgs);
if (string.IsNullOrWhiteSpace(jsonfigFilename)) jsonfigFilename = Path.ChangeExtension(Application.ExecutablePath, "jsonfig");
string jsonfigFilename = args.Where(x => (x.Key.Equals("o") || x.Key.Equals("open"))).Select(x => x.Value).FirstOrDefault();
if (string.IsNullOrWhiteSpace(jsonfigFilename))
{
jsonfigFilename = Path.ChangeExtension(Application.ExecutablePath, "jsonfig");
}
if (!string.IsNullOrWhiteSpace(jsonfigFilename) && File.Exists(jsonfigFilename))
if (!string.IsNullOrWhiteSpace(jsonfigFilename) && System.IO.File.Exists(jsonfigFilename))
{
await LoadSessionFile(jsonfigFilename);
}
textBox2.Focus();
}
protected override void OnClosing(CancelEventArgs e)
@ -75,15 +78,18 @@ namespace RandomFileRunner
return;
}
if (this.CurrentSession.ClosePrevOnNext) CloseCurrentProcess(currentProcess);
if (this.CurrentSession.ClosePrevOnNext)
{
CloseCurrentProcess(_currentProcess);
}
if (this.CurrentSession.NextHotKey != null)
{
if (this.CurrentSession.NextHotKey.KeyCode != Keys.None)
{
//#if !DEBUG
UnregisterHotKey((IntPtr)Handle, 1);
//#endif
//#if !DEBUG
User32.UnregisterHotKey((IntPtr)Handle, 1);
//#endif
}
}
}
@ -92,8 +98,11 @@ namespace RandomFileRunner
{
switch (m.Msg)
{
case WM_HOTKEY:
if (m.WParam.ToInt32() == 1) button5_MouseClick(null, null);
case User32.WM_HOTKEY:
if (m.WParam.ToInt32() == 1)
{
button5_MouseClick(null, null);
}
break;
//case WM_QUERYENDSESSION:
@ -102,7 +111,8 @@ namespace RandomFileRunner
// Application.Exit();
// break;
default: break;
default:
break;
}
base.WndProc(ref m);
@ -111,40 +121,34 @@ namespace RandomFileRunner
public bool IsBusy
{
get => isBusy;
get => _isBusy;
set
{
isBusy = value;
_isBusy = value;
ThreadControl.SetValue(pictureBox1, (isBusy ? UIcon.GetImage("loading_block") : null));
ThreadControl.SetEnable(textBox1, !isBusy);
//ThreadControl.SetEnable(button2, !isBusy);
button2.LabelText = (isBusy? "&Cancel" : "&Search");
ThreadControl.SetEnable(button3, !isBusy);
ThreadControl.SetEnable(button4, !isBusy);
ThreadControl.SetEnable(memoBox1, !isBusy);
ThreadControl.SetEnable(button5, !isBusy);
//ThreadControl.SetEnable(button1, !isBusy);
UIControl.SetValue(pictureBox1, (_isBusy ? RyzStudio.Windows.ThemedForms.Resource2.loading_block : null));
UIControl.SetEnable(textBox1, !_isBusy);
button2.LabelText = (_isBusy ? "&Cancel" : "&Search");
UIControl.SetEnable(button5, !_isBusy);
UIControl.SetEnable(button4, !_isBusy);
}
}
public AppSession CurrentSession { get; set; } = new AppSession();
protected bool SearchDirecory_OnFound(string file, ulong searchCount, int searchQueue)
public List<string> SearchPaths
{
if (!string.IsNullOrWhiteSpace(file))
get => _searchPaths;
set
{
foundFiles.Add(file);
_searchPaths = value;
textBox2.Text = string.Join(", ", _searchPaths.ToArray());
}
//ThreadControl.SetText(label2, foundFiles.Count.ToString());
ThreadControl.SetText(label2, foundFiles.Count.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture) + Environment.NewLine + searchQueue.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture));
return true;
}
#region Main Menu
/// <summary>
/// New
@ -155,9 +159,15 @@ namespace RandomFileRunner
{
await Task.Run(() =>
{
if (this.IsBusy) return;
if (this.IsBusy)
{
return;
}
if (this.CurrentSession.ClosePrevOnNext) CloseCurrentProcess(currentProcess);
if (this.CurrentSession.ClosePrevOnNext)
{
CloseCurrentProcess(_currentProcess);
}
ClearSession();
});
@ -170,7 +180,10 @@ namespace RandomFileRunner
/// <param name="e"></param>
private async void openToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.IsBusy) return;
if (this.IsBusy)
{
return;
}
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
@ -185,7 +198,14 @@ namespace RandomFileRunner
/// <param name="e"></param>
private async void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.IsBusy) return;
if (this.IsBusy)
{
return;
}
saveFileDialog1.Title = "Save session";
saveFileDialog1.Filter = "Session files (*.jsonfig)|*.jsonfig";
saveFileDialog1.DefaultExt = "jsonfig";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
@ -210,12 +230,15 @@ namespace RandomFileRunner
/// <param name="e"></param>
private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.IsBusy) return;
if (this.IsBusy)
{
return;
}
if (optionsForm == null) optionsForm = new OptionsForm(this.CurrentSession);
var optionsForm = new OptionsForm(this.CurrentSession);
if (optionsForm.ShowDialog() == DialogResult.OK)
{
this.CurrentSession = optionsForm.Session;
this.CurrentSession = optionsForm.Result;
InvalidateHotKey();
}
@ -228,18 +251,7 @@ namespace RandomFileRunner
/// <param name="e"></param>
private void viewHelpToolStripMenuItem1_Click(object sender, EventArgs e)
{
try
{
System.Diagnostics.Process.Start(new ProcessStartInfo()
{
FileName = AppResource.AppHelpURL,
UseShellExecute = true
});
}
catch
{
// do nothing
}
RyzStudio.Diagnostics.Process.Execute(AppResource.AppHelpURL);
}
/// <summary>
@ -249,9 +261,72 @@ namespace RandomFileRunner
/// <param name="e"></param>
private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
var form = new RyzStudio.Windows.ThemedForms.AboutForm();
form.ProductURL = AppResource.AppProductURL;
form.AuthorURL = AppResource.AppAuthorURL;
form.CompanyURL = AppResource.AppCompanyURL;
form.ProductCopyrightStartYear = 2021;
form.ProductLogo = AppResource.icon_64;
form.ShowDialog();
}
#endregion
#region Search Engine
private async Task fileSearcher_OnFileFound(FileSearcher sender, string searchPath, string fileName)
{
await Task.Run(() =>
{
_foundFiles.Add(fileName);
UIControl.SetText(label3, Path.GetFileName(fileName));
progressBar2.Maximum = (sender.FileCount + sender.NoAccessFileCount);
progressBar2.Value = sender.FileCount;
});
}
private async Task fileSearcher_OnDirectoryFound(FileSearcher sender, string searchPath, string directoryName)
{
await Task.Run(() =>
{
UIControl.SetText(label4, Path.GetFileName(directoryName));
progressBar1.Maximum = sender.DirectoryCount;
progressBar1.Value = sender.BufferLevel;
});
}
private async Task fileSearcher_OnSearchCompleted(FileSearcher sender, TimeSpan elapsedTime)
{
await Task.Run(() =>
{
UIControl.SetText(label4, $"Done in {Math.Floor(elapsedTime.TotalMinutes)}m {elapsedTime.Seconds}s");
UIControl.SetText(label3, ((_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;
});
}
#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;
}
}
/// <summary>
/// Search
@ -260,138 +335,61 @@ namespace RandomFileRunner
/// <param name="e"></param>
private async void button2_MouseClick(object sender, MouseEventArgs e)
{
await Task.Run(async () =>
if (this.IsBusy)
{
if (this.IsBusy)
{
requestCancel = true;
button2.LabelText = "&Cancelling...";
cancellationToken.Cancel();
button2.LabelText = "&Cancelling...";
_cancellationToken.Cancel();
return;
}
this.IsBusy = true;
requestCancel = false;
foundFiles = new List<string>();
cancellationToken = new CancellationTokenSource();
currentProcess = null;
if (!string.IsNullOrWhiteSpace(memoBox1.Text))
{
string[] itemList = memoBox1.Text?.Trim().Split('\n');
for (int i = 0; i < itemList.Length; i++)
{
if (string.IsNullOrWhiteSpace(itemList[i])) continue;
if (requestCancel) break;
string item = itemList[i]?.Trim();
if (File.Exists(item))
{
if (AccessibleDirectory.IsFileAccessible(item))
{
foundFiles.Add(item);
ThreadControl.SetText(label2, foundFiles.Count.ToString());
continue;
}
}
if (Directory.Exists(item))
{
await AccessibleDirectory.GetFilesAsync(item, textBox1.Text, this.CurrentSession.SearchTopDirectoryOnly, SearchDirecory_OnFound, cancellationToken.Token);
ThreadControl.SetText(label2, foundFiles.Count.ToString());
continue;
}
}
}
ThreadControl.SetText(label2, ((foundFiles.Count <= 0) ? "0" :foundFiles.Count.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture)) + " File" + ((foundFiles.Count == 1) ? "" : "s") + " Found");
this.IsBusy = false;
requestCancel = false;
});
}
/// <summary>
/// Add directory
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addDirectoryToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.IsBusy) return;
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
AddSearchItem(folderBrowserDialog1.SelectedPath);
}
}
/// <summary>
/// Add file
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.IsBusy) return;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
AddSearchItem(openFileDialog1.FileName);
}
}
/// <summary>
/// Clear
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_MouseClick(object sender, MouseEventArgs e)
{
if (this.IsBusy) return;
memoBox1.Text = string.Empty;
}
private void memoBox1_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
if (this.IsBusy)
{
e.Effect = DragDropEffects.None;
}
else
{
e.Effect = DragDropEffects.Copy;
}
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void memoBox1_DragDrop(object sender, DragEventArgs e)
{
if (this.IsBusy) return;
string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
if (fileList == null)
{
return;
}
foreach (string item in fileList)
this.IsBusy = true;
progressBar1.ShowProgressText = true;
progressBar2.ShowProgressText = true;
_foundFiles = new List<string>();
_cancellationToken = new CancellationTokenSource();
_currentProcess = null;
_fileSearcher.FileSearchPattern = textBox1.Text;
_fileSearcher.SearchPath = new List<string>();
await Task.Run(() =>
{
AddSearchItem(item);
foreach (var item in SearchPaths)
{
if (_cancellationToken.IsCancellationRequested)
{
break;
}
if (System.IO.File.Exists(item))
{
_foundFiles.Add(item);
continue;
}
if (System.IO.Directory.Exists(item))
{
_fileSearcher.SearchPath.Add(item);
continue;
}
}
UIControl.SetText(label3, ((_foundFiles.Count <= 0) ? "0" : _foundFiles.Count.ToString("#,#", System.Globalization.CultureInfo.CurrentCulture)) + " File" + ((_foundFiles.Count == 1) ? "" : "s") + " Found");
});
if (_fileSearcher.SearchPath.Count > 0)
{
await _fileSearcher.Search(_cancellationToken.Token);
}
this.IsBusy = false;
_cancellationToken = new CancellationTokenSource();
}
/// <summary>
@ -401,24 +399,37 @@ namespace RandomFileRunner
/// <param name="e"></param>
private async void button5_MouseClick(object sender, MouseEventArgs e)
{
if (this.IsBusy)
{
return;
}
if (_foundFiles.Count <= 0)
{
return;
}
await Task.Run(() =>
{
if (this.IsBusy) return;
if (foundFiles.Count <= 0) return;
//this.IsBusy = true;
if (this.CurrentSession == null) this.CurrentSession = new AppSession();
if (this.CurrentSession == null)
{
this.CurrentSession = new AppSession();
}
if (this.CurrentSession.ClosePrevOnNext) CloseCurrentProcess(currentProcess);
if (this.CurrentSession.ClosePrevOnNext)
{
CloseCurrentProcess(_currentProcess);
}
string filename = null;
// retry 8 times
for (int i = 0; i < this.CurrentSession.RetryOnError; i++)
{
filename = foundFiles[randy.Next(0, (foundFiles.Count - 1))];
if (File.Exists(filename))
filename = _foundFiles[_randy.Next(0, (_foundFiles.Count - 1))];
if (System.IO.File.Exists(filename))
{
continue;
}
@ -428,23 +439,47 @@ namespace RandomFileRunner
if (!string.IsNullOrWhiteSpace(filename))
{
ProcessStartInfo psi = new ProcessStartInfo(filename);
psi.UseShellExecute = true;
try
{
currentProcess = Process.Start(psi);
}
catch (Exception)
{
// do nothing
}
_currentProcess = RyzStudio.Diagnostics.Process.Execute(filename);
}
//this.IsBusy = false;
});
}
/// <summary>
/// Save File List
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void button4_MouseClick(object sender, MouseEventArgs e)
{
if (this.IsBusy)
{
return;
}
if (_foundFiles.Count <= 0)
{
return;
}
saveFileDialog1.Title = "Save File List";
saveFileDialog1.Filter = "Text files (*.txt)|*.txt";
saveFileDialog1.DefaultExt = "txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
await System.IO.File.WriteAllTextAsync(saveFileDialog1.FileName, string.Join(Environment.NewLine, _foundFiles.ToArray()));
}
catch (Exception exc)
{
ThMessageBox.Show(this, exc.Message, "Save File List", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
/// <summary>
/// Close
/// </summary>
@ -456,24 +491,16 @@ namespace RandomFileRunner
}
protected void AddSearchItem(string line)
{
memoBox1.Text = memoBox1.Text.Trim();
// above line-break
if (!string.IsNullOrWhiteSpace(memoBox1.Text)) memoBox1.Text += Environment.NewLine;
memoBox1.Text += line + Environment.NewLine;
}
private void CloseCurrentProcess(Process p)
{
if (p == null) return;
if (p == null)
{
return;
}
try
{
p.CloseMainWindow();
//p.Close();
}
catch (Exception)
{
@ -483,188 +510,93 @@ namespace RandomFileRunner
private void InvalidateHotKey()
{
//#if !DEBUG
if (this.InvokeRequired)
//#if !DEBUG
UIControl.Invoke(this, (x) =>
{
this.Invoke(new MethodInvoker(() =>
{
UnregisterHotKey((IntPtr)Handle, 1);
}));
}
else
{
UnregisterHotKey((IntPtr)Handle, 1);
}
//#endif
User32.UnregisterHotKey((IntPtr)Handle, 1);
});
//#endif
if (this.CurrentSession.NextHotKey != null)
{
if (this.CurrentSession.NextHotKey.KeyCode != Keys.None)
{
//#if !DEBUG
if (this.InvokeRequired)
//#if !DEBUG
UIControl.Invoke(this, (x) =>
{
this.Invoke(new MethodInvoker(() =>
{
RegisterHotKey((IntPtr)Handle, 1, this.CurrentSession.NextHotKey.ModifierCode, this.CurrentSession.NextHotKey.Key);
}));
}
else
{
RegisterHotKey((IntPtr)Handle, 1, this.CurrentSession.NextHotKey.ModifierCode, this.CurrentSession.NextHotKey.Key);
}
//#endif
User32.RegisterHotKey((IntPtr)Handle, 1, this.CurrentSession.NextHotKey.ModifierCode, this.CurrentSession.NextHotKey.Key);
});
//#endif
}
}
}
private void ClearSession()
{
foundFiles = new List<string>();
currentProcess = null;
_foundFiles = new List<string>();
_currentProcess = null;
textBox1.Text = "*.*";
ThreadControl.SetText(label2, "0");
memoBox1.Text = string.Empty;
progressBar1.Clear(0, 0, 0);
progressBar2.Clear(0, 0, 0);
UIControl.SetText(label4, "");
UIControl.SetText(label3, "");
}
protected async Task LoadSessionFile(string filename)
{
await Task.Run(() =>
{
if (string.IsNullOrWhiteSpace(filename)) return;
if (!File.Exists(filename)) return;
string sourceCode = null;
try
{
sourceCode = File.ReadAllText(filename);
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Load session");
return;
}
if (string.IsNullOrWhiteSpace(sourceCode))
{
return;
}
// load options
var options = new JsonSerializerOptions();
//options.Converters.Add(new JsonPointConverter());
//options.Converters.Add(new JsonSizeConverter());
try
{
this.CurrentSession = JsonSerializer.Deserialize<AppSession>(sourceCode, options);
}
catch (Exception exc)
{
MessageBox.Show("Unable to read session", "Load session");
return;
}
if (this.CurrentSession == null) this.CurrentSession = new AppSession();
this.CurrentSession = RyzStudio.Text.Json.JsonSerialiser.DeserialiseFile<AppSession>(filename) ?? new AppSession();
ClearSession();
textBox1.Text = (string.IsNullOrWhiteSpace(this.CurrentSession.SearchFilePattern) ? "*" : this.CurrentSession.SearchFilePattern?.Trim());
if (this.CurrentSession.SearchItems != null)
{
foreach (string item in this.CurrentSession.SearchItems)
{
AddSearchItem(item);
}
}
SearchPaths = this.CurrentSession?.SearchItems ?? new List<string>();
// hotkey
InvalidateHotKey();
});
}
protected string ParseOpenFile_FromCMD(string[] args)
{
if (args.Length <= 1)
{
return null;
}
int i = 1;
while (true)
{
if (i > (args.Length - 1))
{
break;
}
switch (args[i].Trim().ToLower())
{
case "-o":
case "-open":
if ((i + 1) > (args.Length - 1)) break;
string openFilename = args[(i + 1)];
if (string.IsNullOrWhiteSpace(openFilename)) break;
if (!File.Exists(openFilename)) break;
return openFilename;
i++;
break;
}
i++;
}
return null;
}
protected async Task SaveSessionFile(string filename)
{
if (string.IsNullOrWhiteSpace(filename))
{
return;
}
if (this.CurrentSession == null)
{
this.CurrentSession = new AppSession();
}
await Task.Run(() =>
{
if (string.IsNullOrWhiteSpace(filename)) return;
if (this.CurrentSession == null) this.CurrentSession = new AppSession();
this.CurrentSession.SearchFilePattern = textBox1.Text;
this.CurrentSession.SearchItems = new List<string>();
if (!string.IsNullOrWhiteSpace(memoBox1.Text))
foreach (var item in SearchPaths)
{
foreach (string item in memoBox1.Text?.Trim().Split('\n'))
if (string.IsNullOrWhiteSpace(item))
{
if (string.IsNullOrWhiteSpace(item))
{
continue;
}
this.CurrentSession.SearchItems.Add(item?.Trim());
continue;
}
this.CurrentSession.SearchItems.Add(item.Trim());
}
string sourceCode = null;
try
var result = RyzStudio.Text.Json.JsonSerialiser.SerialiseFile(filename, this.CurrentSession);
if (result.IsSuccess)
{
sourceCode = JsonSerializer.Serialize(this.CurrentSession);
ThMessageBox.Show(this, "Session saved!", "Save session");
}
catch (Exception)
else
{
MessageBox.Show("Unable to write session", "Save session");
return;
}
try
{
File.WriteAllText(filename, sourceCode);
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Save session");
return;
ThMessageBox.Show(this, result.Message, "Save session", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
});
}

View File

@ -1,4 +1,64 @@
<root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@ -63,15 +123,6 @@
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>716, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>831, 17</value>
</metadata>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>986, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1155, 17</value>
</metadata>
<metadata name="openFileDialog2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1155, 17</value>
</metadata>
@ -86,297 +137,297 @@
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
MygzMzPXMzMzszIyMmU1NTUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAoAAABbAAAAzQAAAPsAAAD7AAAAzQAAAFoAAAAJAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMTExOTQ0NO00NDT/NDU1/zMzM/8zMzP9MzMzyDMzM3k0NDQsAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAMAAAAewAAAO4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADuAAAAewAA
AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAHIAAADqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAOoAAAByAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
/////////////+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
zf+wsLD/lpaW/4+Pj/+UlZX/p62t/7rHx//N3+D/2/Hy/9zy8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy8//c8vP/3PLz/4+Pj//d3d3//////9TV1f+lqqr/2/Hy/9zy
8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy
8/+0v7//j4+P/5SUlf+mrKz/ucXF/83f3//b8fL/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/LTEy/wAA
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
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
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
8f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/7zW1/+Ro6P/Ymtr/zY2
Nv4zMzP/MzMz/zMzM9UzMzOIMzMzPAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkBzMzM6k5OTn/eH5+/9Po
6f/c8vP/2/Lz/9Hu7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/8Xh4v+csLD/bHd3/zs9Pf4zMzP/MzMz/zQ0NOI0NDSZMjIyTSQkJAcAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0RMzMzwjw8
PP+Ij5D/2O7v/9zy8//c8vP/1/Hy/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8vo6f+jubr/dICA/0NGRv4zMzP/MzMz/zQ0
NPIyMjJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3
NxwzMzPVQUFB/5Wfn//a8fL/3PLz/9zy8//c8vP/0+/w/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8/t
7v+wyMn/gZCQ/zk6Ov4zMzPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMTExKjQ0NOJGRkb/oKys/9zy8//c8vP/3PLz/9zy8//b8vP/0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/19naP80NDT5JCQkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAyMjI4NTU17UhISP6turr/3PLz/9zy8//c8vP/3PLz/9zy8//X8fH/0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/4KRkv8zMzP/MTExOQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ0NE80NDT3Tk9P/bnJyv/c8vP/3PLz/9zy8//c8vP/3PLz/9zy
8//T7/D/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/6a8vf8zMzP/MzMzcwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyYTQ0NPxUVlb9wtPU/9zy8//c8vP/3PLz/9zy
8//c8vP/3PLz/9vy8//Q7u//0O7v/8fk5f/O7O3/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8nm
5/81NTX+NDQ0rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzN3MzMz/11gYP3K3d3/3PLz/9zy
8//c8vP/3PLz/9zy8//c8vP/3PLz/9jx8v/Q7u//i6Cg/wMEBP8hJib/rcbH/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7/9RV1f/MzMz6gAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVAzIyMpgzMzP/Z2tr/tDk
5f/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9bw8f/Q7u//TVlZ/wAAAP8AAAD/CgsL/4ic
nf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/91goL/MzMz/zMzMyMAAAAAAAAAAAAAAABAQEAIMzMzqzMz
M/9yeHj/1uvr/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9Pv8P/Q7u//TVhY/wAA
AP8AAAD/AAAA/wAAAP9baGj/zOnq/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+Zra7/MzMz/zQ0NF4AAAAAAAAAAAAA
AAAzMzPCMzMz/3uEhP/a7/D/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2/Lz/9Du
7//Q7u//TVhY/wAAAP8AAAD/AAAA/wAAAP8AAAD/MDc3/7vW1//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/++2dr/MzMz/zQ0
NJkAAAAAAAAAAAAAAAAzMzPNPD09/tvx8v/d8/T/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy
8//c8vP/2fHy/9Du7//Q7u//TVhY/wAAAP8AAAD/YnBw/wYHB/8AAAD/AAAA/xQWFv+ds7T/0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//REdH/jQ0NNQAAAAAAAAAAAAAAAAyMjKTMzMz/8ve3//d8/T/3fPz/93z8//c8vP/3PLz/9zy
8//c8vP/3PLz/9zy8//c8vP/1/Hx/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/6e/wP8bHx//AAAA/wAA
AP8DBAT/b39//8/t7v/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//aHJz/zMzM/0tLS0RAAAAAAAAAAA0NDRZMzMz/6u6u//d8/T/3fPz/93z
8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1fDx/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du
7//A3N3/OkJD/wAAAP8AAAD/AAAA/0BJSf/E4OH/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//jJ2e/zMzM/8yMjJIAAAAAAAAAAAzMzMeMzMz/4aQ
kP/d8/T/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1O/w/9Du7//Q7u//TVhY/wAA
AP8AAAD/s8zN/9Du7//Q7u//z+3u/29/f/8CAgL/AAAA/wAAAP8fIyT/rMXG/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//sMfI/zMzM/8zMzOCAAAAAAAA
AAAAAAAAMzMz5FpfX/7d8/T/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/0u/w/9Du
7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7/+Uqar/DhAQ/wAAAP8AAAD/CgsL/4md
nf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//zuvs/zo7
O/40NDS8AAAAAAAAAAAAAAAAMzMzqTY2N//V6er/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy
8//c8vP/0e7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7//Q7u//tM7P/yct
Lf8AAAD/AAAA/wAAAP9baWn/zerr/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/1tjY/80NDT1QEBABAAAAAAAAAAAMzMzbzMzM/+4ycn/3fPz/93z8//c8vP/3PLz/9zy
8//c8vP/3PLz/9zy8//c8vP/0e7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/8nm5/9OWlr/AAAA/wAAAP8AAAD/a3p7/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/36Njf8zMzP/MzMzMgAAAAAAAAAAMTExNDMzM/+UoaH/3fPz/93z
8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/0O7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/8nm5/9OWlr/AAAA/wAAAP8AAAD/a3p7/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/6O4uf8zMzP/MzMzbQAAAAAAAAAAQEBABDQ0
NPRrcnL/3fP0/93z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//b8vP/0O7v/9Du7//Q7u//TVhY/wAA
AP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7//Q7u//tM7P/yctLf8AAAD/AAAA/wAAAP9baWn/zerr/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8bi4/80NDT/MjIypwAA
AAAAAAAAAAAAADMzM749Pj7+3PHx/93z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/0O7v/9Du
7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7/+Uqar/DxER/wAAAP8AAAD/CgsL/4ic
nf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7/9NUVL+NDQ04gAAAAAAAAAAAAAAADIyMoQzMzP/w9bW/93z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy
8//c8vP/0e7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//z+3u/29/f/8CAgL/AAAA/wAA
AP8fIyT/rMXG/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7/9yfn//MzMz/zU1NR0AAAAAAAAAADQ0NEozMzP/oa+w/93z8//d8/P/3PLz/9zy
8//c8vP/3PLz/9zy8//c8vP/0u/w/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//A3N3/O0ND/wAA
AP8AAAD/AAAA/0BJSf/D3+D/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+WqKn/MzMz/zIyMlcAAAAAAAAAADAwMBAzMzP9eIGB/93z
8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1O/w/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/6e/
wP8bHx//AAAA/wAAAP8CAwP/b39//8/t7v/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+50tP/MzMz/zMzM5EAAAAAAAAAAAAA
AAA0NDTUSk1N/t3z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1fDx/9Du7//Q7u//TVhY/wAA
AP8AAAD/YnBw/wYHB/8AAAD/AAAA/xQWFv+ds7T/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//O7O3/Oz09/jMz
M80AAAAAAAAAAAAAAAA0NDSZMzMz/87i4//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2PHy/9Du
7//Q7u//TVhY/wAAAP8AAAD/AAAA/wAAAP8AAAD/MDc3/7vW1//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8zp
6v9qdHT/MzMz/zMzM8IAAAAAAAAAAAAAAAAyMjJgMzMz/6u8vP/d8/P/3PLz/9zy8//c8vP/3PLz/9zy
8//c8vP/2/Lz/9Du7//Q7u//TVhY/wAAAP8AAAD/AAAA/wAAAP9baGj/zOnq/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//yOXm/19oaP8zMzP/MzMzuTs7Ow0AAAAAAAAAAAAAAAAwMDAlMzMz/4WRkf/d8/P/3PLz/9zy
8//c8vP/3PLz/9zy8//c8vP/3PLz/9Pv8P/Q7u//TVlZ/wAAAP8AAAD/CgsL/4icnf/Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//B3d7/UVdX/jMzM/8zMzOgMzMzBQAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz6Vlf
X//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9fx8v/Q7u//i6Cg/wMEBP8hJib/rcbH/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/7vV1v9KTk79MzMz/zMzM4gAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMzMzrzU1Nf7V6+z/3fPz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//R7/D/0O7v/8fk
5f/O7O3/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//sMjI/0FDQ/0zMzP9MzMzaQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAMjIydTMzM/+4ysv/3fPz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy
8//X8fH/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+nvb3/OTs7/TQ0NPkyMjJWAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDQ0OzMzM/+ToKH/3fPz/9zy8//c8vP/3PLz/9zy
8//c8vP/3PLz/9zy8//c8vP/0+/w/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/5eqq/81Njb+NDU18TEx
MT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkBzMzM/hpcXH/3fPz/9zy
8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2vLz/9Hu7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//i5yd/zQ0
NP80NDTnMTExLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
M8Q5Ojr+jZqa/8DT1P/b8vL/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9nx8v/R7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/87s
7f91goL/MzMz/zMzM9U3NzccAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADIyMms0NDTyMzMz/zMzM/9KTU3+hY+P/7XHyP/Y7u//3PLz/9zy8//c8vP/3PLz/9zy
8//Z8fL/0e7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//y+jp/2dwcf8zMzP/MzMzwi0tLREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDMzMzPDMzM4g0NDTbMzMz/zMzM/89Pj7+cnp6/6W0
tP/R5ub/3PLz/9zy8//c8vP/2fHy/9Lv8P/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//I5eb/XWVl/zMzM/8zMzOwOTk5CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANTU1KzMz
M3czMzPEMzMz/jMzM/82Njb+ZWtr/5qoqP/I29z/3PLz/9vy8//U8PH/0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/8Hc3f9QVVX+MzMz/zIyMp1AQEAEAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAALi4uFjQ0NF4zMzOzNDQ0+TMzM/8zMzP/T1NT/oeSkv+3ycn/1+/w/9Tv
8P/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//t9DR/0VJSf4zMzP/MzMziAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzCjIyMk00NDSZMzMz6jMz
M/8zMzP/QEND/niCgv+lt7f/y+bn/9Hu7//Q7u//0O7v/9Du7/+vx8f/P0JC/TMzM/00NDRnAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAVVVVAzMzMzwzMzOIMzQ02DMzM/8zMzP/Nzg4/mBoaf+Nnp//wNvc/6C1tv84OTn+MzMz+DQ0
NFMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ0NCwzMzN5MzMzyDMzM/0zMzP/NDQ0/zQ0
NP8zNTXuMTExOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU1
NRgyMjJlMzMzszMzM9czMzMoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4P///8AAP//AH///wAA//4AB///AAD//AAA//8AAP/4
AAAf/wAA/+AAAAH/AAD/wAAAAD8AAP+AAAAAHwAA/wAAAAAfAAD+AAAAAA8AAPwAAAAADwAA+AAAAAAP
AADwAAAAAA8AAOAAAAAADwAAgAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAMAAAAA
AAAAAwAAAAAAAAADAACAAAAAAAMAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAwAAAAAAB
AADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADgAAAAAAAAAOAAAAAAAAAA4AAAAAAAAADgAAAAAAEAAPAA
AAAAAwAA8AAAAAAPAADwAAAAAB8AAPAAAAAAPwAA8AAAAAB/AAD4AAAAAP8AAPgAAAAB/wAA/AAAAAP/
AAD/wAAAB/8AAP/4AAAf/wAA//8AAD//AAD//+AAf/8AAP///gD//wAA////wf//AAAoAAAAIAAAAEAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkAAACKAAAA0gAAAPEAAADxAAAA0gAA
AIoAAAApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AP///xBP//wAP///EE//8AAP//8QT//AAAP//xBP/w
AAAP//EE/8AAAAP/8QT/gAAAAP/xBP4AAAAAf/EE+AAAAAAf8QTgAAAAAAfxBIAAAAAAAfEEgAAAAAAB
8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAA
AAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA
8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAA
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
Q/czMzN4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY2NhM8Pj7Pdnx8+NXq6//c8vP/3PLz/9fw
8f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//i5yc/zs8PLsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2NjYhOzw84YGIiPrY7+//3PLz/9zy
8//c8vP/0+/w/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7/+vx8f/ODk58gAAAAEAAAAAAAAAAAAAAAAAAAAAMzMzLTo7O+2PmZn82vHy/9zy
8//c8vP/3PLz/9vy8//R7u//l62t/7DKyv/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/83q6/83Nzf7NDQ0JwAAAAAAAAAAAAAAADIyMkI6Ojr2nKio/dzy
8//c8vP/3PLz/9zy8//c8vP/2PHy/8Tg4f8BAQH/CAkJ/4WYmf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/1RaWvMyMjJhAAAAAAAAAAAyMjJbNzg4+qm4
uP/d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//V8PH/vdnZ/wAAAP8AAAD/AAAA/1dkZP/L6On/0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//fYyM/jk5OaIAAAAAAAAAADg5
OeyisrL/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9Pv8P+92dn/AAAA/xgcHP8VGBj/AAAA/y40
NP+51NX/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+it7j/Ozw84gAA
AAAAAAAAOzw8tpmnp//d8/T/3fPz/9zy8//c8vP/3PLz/9zy8//c8vP/0e7v/73Z2f8AAAD/Mjk5/7/a
2/83P0D/AAAA/xATE/+Yrq7/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8Xh
4v80NDT+MzMzFAAAAAAzMzNzb3d3993z9P/d8/P/3PLz/9zy8//c8vP/3PLz/9vy8//Q7u//vdnZ/wAA
AP8yOTn/0O7v/87r7P9hb3D/AQEB/wIDA/9od3f/zuzt/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/0ZKSvQyMjJMAAAAADIyMjhDRET43fLz/93z8//c8vP/3PLz/9zy8//c8vP/2fHy/9Du
7/+92dn/AAAA/zI5Of/Q7u//0O7v/9Du7/+Qpab/DQ8P/wAAAP8/SEj/w9/g/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//bnp6+jU1NYcAAAAAMzMzBTU2NvnL3d7/3fPz/9zy8//c8vP/3PLz/9zy
8//Y8fL/0O7v/73Z2f8AAAD/Mjk5/9Du7//Q7u//0O7v/9Du7/+wysr/Iicn/wAAAP8hJib/zerr/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+Upqf/PD09zAAAAAAAAAAAPT4+zqq4uf/d8/P/3PLz/9zy
8//c8vP/3PLz/9jx8v/Q7u//vdnZ/wAAAP8yOTn/0O7v/9Du7//Q7u//0O7v/7DKyv8iJyf/AAAA/yEm
Jv/N6uv/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/7jS0v81NTX6KysrBgAAAAA0NDSJgouM+93z
8//c8vP/3PLz/9zy8//c8vP/2PHy/9Du7/+92dn/AAAA/zI5Of/Q7u//0O7v/9Du7/+Qpab/DQ8P/wAA
AP8+R0f/w9/g/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//z+3u/zw+Pvg0NDQ2AAAAADQ0
NE5RVFT13fPz/93z8//c8vP/3PLz/9zy8//Y8fL/0O7v/73Z2f8AAAD/Mjk5/9Du7//O6+z/aHd3/wEB
Af8CAwP/aHd3/87s7f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//X2dn9TQ0
NHEAAAAAMzMzFDU1Nf7U6er/3fPz/9zy8//c8vP/3PLz/9ry8v/Q7u//vdnZ/wAAAP8yOTn/v9rb/zc/
QP8AAAD/EBMT/5iurv/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7/+Hl5f/PD09tAAAAAAAAAAAOzw84rTFxv/d8/P/3PLz/9zy8//c8vP/2/Lz/9Du7/+92dn/AAAA/xgc
HP8VGBj/AAAA/y40NP+51NX/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/5KkpP84OTnsAAAAAAAAAAA4Ojqjj5uc/t3z8//c8vP/3PLz/9zy8//c8vP/0+/w/73Z
2f8AAAD/AAAA/wAAAP9XZGT/y+jp/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7/+Xqqv/NjY2+zQ0NGMAAAAAAAAAADQ0NGNiZ2f13fPz/9zy8//c8vP/3PLz/9zy
8//W8PH/xODh/wEBAf8ICQn/hZiZ/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//i5yc/TY3N/c0NDRJAAAAAAAAAAAAAAAAMjIyKTk6Ovva8PD/3PLz/9zy
8//c8vP/3PLz/9vy8//R7u//l62t/7DKyv/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//z+3u/3mIiPw3ODjyMTExOQAAAAAAAAAAAAAAAAAAAAAAAAABODk58sDS
0//c8vP/3PLz/9zy8//c8vP/3PLz/9bw8f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/8zp6v9ncXL5Nzk55jY2NiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA7Pj69nKqr/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9Lv8P/Q7u//0O7v/9Du7//Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//I5eb/XGRk+Ds8PNU3NzcXAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADMzM3hCRET3jZqb/r/S0v/b8vL/3PLz/9zy8//c8vP/2/Lz/9Lv8P/Q7u//0O7v/9Du
7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//wdzd/0tRUfc5OjrAKysrDAAAAAAAAAAAAAAAAAAA
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
rEGAAKxBgAGsQYADrEHgD6xB/B+sQQ==
ADQAAACsAAAA8AAAAPEAAACsAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+B
/0H+AH9B+AAfQeAAB0GAAAFBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
AEEAAABBAAAAQQAAAEGAAAFB4AAHQfgAH0H+AH9B/4H/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAB9AQEB8QEBAfEAAAB9AAAADgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAHUDAwPvAQEB/g4PD/8ODxD/AQEB/gMD
A+8AAAB1AAAACgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAZgMDA+gAAAD/Oj9A/rHDw/8sMDH/LDAx/7fJ
yv9JUFD+AQEB/wMDA+0AAAB3AAAACAAAAAAAAAAtAwMD4QAAAP86QUH9rb/A/9zy8//c8vP/LDAx/yww
Mf/c8vP/x9XW/62/wP86QUH9AAAA/wMDA+EAAAAtAgIC0RcZGfyltbb/zN7e/8fW1//Dz9D/2e7v/yww
Mf8sMDH/3PLz/7q+vv/Gzs//3PLz/6a2t/8WGBj8AgIC0AAAAP5XYGD/xtPU/9na2v/o6Oj/w8rL/9zy
8/8sMDH/LDAx/9zy8//Hy8z/9/f3/8XMzf/b8PH/V2Bg/wAAAP4AAAD/WGFh/8TS0v/09PT/zdPT/9rv
8P/c8vP/LDAx/ywwMf/c8vP/wsXG/9rb2/+/w8P/xdPU/1hhYf8AAAD/AAAA/1hhYf/E0tL/0NPT/9Xo
6f/c8vP/yt7f/xUXF/8VFxf/yt7f/8jW1v/Q4+T/3PLz/9zy8/9YYWH/AAAA/wAAAP9YYWH/ydjZ/8/f
4P/Q5eb/bXh4/wsMDP8CAwP/AgMD/wsMDP9teHj/0OXm/9zy8//c8vP/WGFh/wAAAP8AAAD/WGFh/9fs
7f+EkZL/FBYW/wEBAf9JUVH/u87P/8DU1f9YYWH/AwMD/xAREf91gYL/1Onq/1hhYf8AAAD/AAAA/zQ6
Ov8XGhr/AAAA/ztBQf+yw8T/3PLz/9nv7//K2dr/0+bn/7jKy/9JUVH/AQEB/xIUFP8uMzP/AAAA/wEB
AfEAAAD/NDk6/6u8vf/U6On/wcnJ/9DW1v/a3Nz/y8zM/9Di4//c8vP/3PLz/6u8vf80OTr/AAAA/wEB
AfEAAABfAgIC8AEBAf9JUFD+ucvM/8rZ2v/CyMj/7u/v/7/Dw//c8vP/3PLz/7nLzP9JUFD+AQEB/wIC
AvAAAABeAAAAAAAAAAsAAAB3AgMD8QEBAf5JUFH/vM/Q/8fU1f/Dzc7/wdXV/1hhYf8DAwP+AgIC9AAA
AIgAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABEAAACFAgIC9QMDA/1UXFz/VFxc/wMDA/4CAgL1AAAAhQAA
ABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAACMBAQE5QQEBOUAAACMAAAAFQAA
AAAAAAAAAAAAAAAAAAAAAAAA+B+sQeAHrEGAAaxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA
rEEAAKxBAACsQYABrEHgB6xB+B+sQQ==
</value>
</data>
</root>

210
MemoBoxForm.cs Normal file
View File

@ -0,0 +1,210 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms;
namespace RandomFileRunner
{
public class MemoBoxForm : Form
{
private ThMemoBox memoBox1;
private ThButton button3;
private ThButton 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<string> lines)
{
InitializeComponent();
UISetup.Dialog(this);
if (lines != null)
{
memoBox1.TextBox.Lines = lines.ToArray();
}
memoBox1.TextBox.WordWrap = false;
}
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
memoBox1 = new ThMemoBox();
button3 = new ThButton();
contextMenuStrip1 = new ContextMenuStrip(components);
addDirectoryToolStripMenuItem = new ToolStripMenuItem();
addFileToolStripMenuItem = new ToolStripMenuItem();
button4 = new ThButton();
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.EnableReactiveVisual = true;
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.EnableReactiveVisual = 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.EnableReactiveVisual = true;
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.Dialog = this;
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<string> Result
{
get => memoBox1.Lines;
}
/// <summary>
/// Add Directory.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addDirectoryToolStripMenuItem_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
memoBox1.TextBox.AddLine(folderBrowserDialog1.SelectedPath);
}
}
/// <summary>
/// Add File.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
memoBox1.TextBox.AddLine(openFileDialog1.FileName);
}
}
/// <summary>
/// Clear.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_MouseClick(object sender, MouseEventArgs e)
{
memoBox1.Text = string.Empty;
}
}
}

View File

@ -112,19 +112,18 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="loading_block" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\loading-block.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="trash" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\trash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="trash_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\trash-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>831, 17</value>
</metadata>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>986, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1155, 17</value>
</metadata>
</root>

View File

@ -1,290 +1,280 @@
using RyzStudio.Windows.ThemedForms;
using System;
using System;
using System.Windows.Forms;
using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms.ButtonTextBox;
using RyzStudio.Windows.ThemedForms.PickerBox;
namespace RandomFileRunner
{
public class OptionsForm : TDialogForm
public class OptionsForm : Form
{
private TButton button1;
private TYesNoPickerBox pickerBox1;
private ThYesNoPickerBox pickerBox1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label8;
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1;
private TNumericPickerBox pickerBox2;
private TKeyCodeTextBox textBox1;
private TYesNoPickerBox pickerBox3;
private ThNumericPickerBox pickerBox2;
private ThKeyCodeTextBox textBox1;
private ThYesNoPickerBox 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 AppSession _session = null;
public OptionsForm(AppSession session) : base()
{
InitializeComponent();
this.Session = session;
UISetup.Dialog(this);
_session = session;
if (_session != null)
{
pickerBox1.Value = _session.SearchTopDirectoryOnly;
pickerBox2.Value = _session.RetryOnError;
pickerBox3.Value = _session.ClosePrevOnNext;
if (_session.NextHotKey != null)
{
textBox1.UpdateKeyCode(_session.NextHotKey.IsCtrl, _session.NextHotKey.IsAlt, _session.NextHotKey.IsShift, _session.NextHotKey.KeyCode);
}
}
}
private void InitializeComponent()
{
RyzStudio.Windows.ThemedForms.TKeyCodeTextBox.Results results1 = new RyzStudio.Windows.ThemedForms.TKeyCodeTextBox.Results();
this.button1 = new RyzStudio.Windows.ThemedForms.TButton();
this.pickerBox1 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox();
this.label6 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.pickerBox2 = new RyzStudio.Windows.ThemedForms.TNumericPickerBox();
this.textBox1 = new RyzStudio.Windows.ThemedForms.TKeyCodeTextBox();
this.pickerBox3 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox();
this.label1 = new System.Windows.Forms.Label();
this.tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// button1
//
this.button1.ActiveImage = null;
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.BackColor = System.Drawing.Color.Transparent;
this.button1.HoverImage = null;
this.button1.IdleImage = null;
this.button1.LabelText = "&Save";
this.button1.Location = new System.Drawing.Point(241, 469);
this.button1.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.button1.Name = "button1";
this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button1.Size = new System.Drawing.Size(128, 32);
this.button1.TabIndex = 4;
this.button1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick);
ThKeyCodeTextBox.Results results1 = new ThKeyCodeTextBox.Results();
pickerBox1 = new ThYesNoPickerBox();
label6 = new Label();
label8 = new Label();
tHorizontalSeparator2 = new THorizontalSeparator();
pickerBox2 = new ThNumericPickerBox();
textBox1 = new ThKeyCodeTextBox();
pickerBox3 = new ThYesNoPickerBox();
label1 = new Label();
tHorizontalSeparator3 = new THorizontalSeparator();
label2 = new Label();
dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter();
SuspendLayout();
//
// pickerBox1
//
this.pickerBox1.AcceptButton = null;
this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox1.BackColor = System.Drawing.Color.Transparent;
this.pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.pickerBox1.Location = new System.Drawing.Point(285, 21);
this.pickerBox1.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
this.pickerBox1.Name = "pickerBox1";
this.pickerBox1.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox1.Size = new System.Drawing.Size(84, 35);
this.pickerBox1.TabIndex = 0;
this.pickerBox1.Value = true;
pickerBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox1.BackColor = System.Drawing.Color.Transparent;
pickerBox1.EnableReactiveVisual = true;
pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F);
pickerBox1.Location = new System.Drawing.Point(285, 20);
pickerBox1.Name = "pickerBox1";
pickerBox1.SelectedIndex = 1;
pickerBox1.Size = new System.Drawing.Size(84, 35);
pickerBox1.TabIndex = 0;
pickerBox1.TabStop = false;
pickerBox1.Value = true;
//
// label6
//
this.label6.AutoSize = true;
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.ForeColor = System.Drawing.SystemColors.ControlText;
this.label6.Location = new System.Drawing.Point(10, 85);
this.label6.Margin = new System.Windows.Forms.Padding(0);
this.label6.Name = "label6";
this.label6.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label6.Size = new System.Drawing.Size(81, 34);
this.label6.TabIndex = 182;
this.label6.Text = "Retry On Error";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
label6.AutoSize = true;
label6.BackColor = System.Drawing.Color.Transparent;
label6.ForeColor = System.Drawing.SystemColors.ControlText;
label6.Location = new System.Drawing.Point(10, 95);
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.TabIndex = 182;
label6.Text = "Retry On Error";
label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.ForeColor = System.Drawing.SystemColors.ControlText;
this.label8.Location = new System.Drawing.Point(10, 21);
this.label8.Margin = new System.Windows.Forms.Padding(0);
this.label8.Name = "label8";
this.label8.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label8.Size = new System.Drawing.Size(143, 34);
this.label8.TabIndex = 186;
this.label8.Text = "Search Top Directory Only";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// tHorizontalSeparator1
//
this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent;
this.tHorizontalSeparator1.Location = new System.Drawing.Point(10, 437);
this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10);
this.tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2);
this.tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22);
this.tHorizontalSeparator1.Name = "tHorizontalSeparator1";
this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
this.tHorizontalSeparator1.Size = new System.Drawing.Size(364, 22);
this.tHorizontalSeparator1.TabIndex = 188;
this.tHorizontalSeparator1.TabStop = false;
label8.AutoSize = true;
label8.BackColor = System.Drawing.Color.Transparent;
label8.ForeColor = System.Drawing.SystemColors.ControlText;
label8.Location = new System.Drawing.Point(10, 20);
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.TabIndex = 186;
label8.Text = "Search Top Directory Only";
label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// tHorizontalSeparator2
//
this.tHorizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator2.BackColor = System.Drawing.Color.Transparent;
this.tHorizontalSeparator2.Location = new System.Drawing.Point(10, 59);
this.tHorizontalSeparator2.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10);
this.tHorizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2);
this.tHorizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22);
this.tHorizontalSeparator2.Name = "tHorizontalSeparator2";
this.tHorizontalSeparator2.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
this.tHorizontalSeparator2.Size = new System.Drawing.Size(364, 22);
this.tHorizontalSeparator2.TabIndex = 190;
this.tHorizontalSeparator2.TabStop = false;
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
//
this.pickerBox2.AcceptButton = null;
this.pickerBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox2.BackColor = System.Drawing.Color.Transparent;
this.pickerBox2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.pickerBox2.Location = new System.Drawing.Point(285, 85);
this.pickerBox2.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
this.pickerBox2.Name = "pickerBox2";
this.pickerBox2.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox2.Size = new System.Drawing.Size(84, 35);
this.pickerBox2.TabIndex = 1;
this.pickerBox2.Value = 0;
pickerBox2.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox2.BackColor = System.Drawing.Color.Transparent;
pickerBox2.EnableReactiveVisual = true;
pickerBox2.Font = new System.Drawing.Font("Segoe UI", 9F);
pickerBox2.Location = new System.Drawing.Point(285, 95);
pickerBox2.MaxDropDownItems = 10;
pickerBox2.Maximum = 50;
pickerBox2.Minimum = 0;
pickerBox2.Name = "pickerBox2";
pickerBox2.SelectedIndex = 0;
pickerBox2.Size = new System.Drawing.Size(84, 35);
pickerBox2.TabIndex = 1;
pickerBox2.TabStop = false;
pickerBox2.Value = 0;
//
// textBox1
//
this.textBox1.AcceptButton = null;
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.BackColor = System.Drawing.Color.Transparent;
this.textBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.textBox1.HighlightImage = null;
textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
textBox1.BackColor = System.Drawing.Color.Transparent;
textBox1.EnableReactiveVisual = true;
textBox1.Font = new System.Drawing.Font("Segoe UI", 9F);
textBox1.Icon = "O";
textBox1.IconSize = 13F;
results1.IsAlt = false;
results1.IsCtrl = false;
results1.IsShift = false;
results1.Key = System.Windows.Forms.Keys.None;
this.textBox1.KeyCodeResults = results1;
this.textBox1.Location = new System.Drawing.Point(241, 197);
this.textBox1.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10);
this.textBox1.Name = "textBox1";
this.textBox1.NormalImage = null;
this.textBox1.Padding = new System.Windows.Forms.Padding(10, 9, 9, 9);
this.textBox1.Size = new System.Drawing.Size(128, 34);
this.textBox1.TabIndex = 3;
this.textBox1.UseSystemPasswordChar = false;
results1.Key = Keys.None;
textBox1.KeyCodeResults = results1;
textBox1.Location = new System.Drawing.Point(241, 216);
textBox1.Name = "textBox1";
textBox1.Size = new System.Drawing.Size(128, 32);
textBox1.TabIndex = 3;
textBox1.TabStop = false;
textBox1.UseSystemPasswordChar = false;
//
// pickerBox3
//
this.pickerBox3.AcceptButton = null;
this.pickerBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox3.BackColor = System.Drawing.Color.Transparent;
this.pickerBox3.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.pickerBox3.Location = new System.Drawing.Point(285, 127);
this.pickerBox3.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
this.pickerBox3.Name = "pickerBox3";
this.pickerBox3.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox3.Size = new System.Drawing.Size(84, 35);
this.pickerBox3.TabIndex = 2;
this.pickerBox3.Value = true;
pickerBox3.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox3.BackColor = System.Drawing.Color.Transparent;
pickerBox3.EnableReactiveVisual = true;
pickerBox3.Font = new System.Drawing.Font("Segoe UI", 9F);
pickerBox3.Location = new System.Drawing.Point(285, 140);
pickerBox3.Name = "pickerBox3";
pickerBox3.SelectedIndex = 1;
pickerBox3.Size = new System.Drawing.Size(84, 35);
pickerBox3.TabIndex = 2;
pickerBox3.TabStop = false;
pickerBox3.Value = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.ForeColor = System.Drawing.SystemColors.ControlText;
this.label1.Location = new System.Drawing.Point(10, 127);
this.label1.Margin = new System.Windows.Forms.Padding(0);
this.label1.Name = "label1";
this.label1.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label1.Size = new System.Drawing.Size(169, 34);
this.label1.TabIndex = 196;
this.label1.Text = "Close Current Process On Next";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
label1.AutoSize = true;
label1.BackColor = System.Drawing.Color.Transparent;
label1.ForeColor = System.Drawing.SystemColors.ControlText;
label1.Location = new System.Drawing.Point(10, 140);
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.TabIndex = 196;
label1.Text = "Close Current Process On Next";
label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// tHorizontalSeparator3
//
this.tHorizontalSeparator3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tHorizontalSeparator3.AutoScrollMargin = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator3.AutoScrollMinSize = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator3.BackColor = System.Drawing.Color.Transparent;
this.tHorizontalSeparator3.Location = new System.Drawing.Point(10, 165);
this.tHorizontalSeparator3.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10);
this.tHorizontalSeparator3.MaximumSize = new System.Drawing.Size(4920, 2);
this.tHorizontalSeparator3.MinimumSize = new System.Drawing.Size(0, 22);
this.tHorizontalSeparator3.Name = "tHorizontalSeparator3";
this.tHorizontalSeparator3.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
this.tHorizontalSeparator3.Size = new System.Drawing.Size(364, 22);
this.tHorizontalSeparator3.TabIndex = 197;
this.tHorizontalSeparator3.TabStop = false;
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
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.ForeColor = System.Drawing.SystemColors.ControlText;
this.label2.Location = new System.Drawing.Point(10, 197);
this.label2.Margin = new System.Windows.Forms.Padding(0);
this.label2.Name = "label2";
this.label2.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label2.Size = new System.Drawing.Size(123, 34);
this.label2.TabIndex = 198;
this.label2.Text = "Next File Shortcut Key";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
label2.AutoSize = true;
label2.BackColor = System.Drawing.Color.Transparent;
label2.ForeColor = System.Drawing.SystemColors.ControlText;
label2.Location = new System.Drawing.Point(10, 216);
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.TabIndex = 198;
label2.Text = "Next File Shortcut Key";
label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// dialogFooter1
//
dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240);
dialogFooter1.Button1Text = "&Save";
dialogFooter1.Dialog = this;
dialogFooter1.Dock = DockStyle.Bottom;
dialogFooter1.Location = new System.Drawing.Point(0, 437);
dialogFooter1.Name = "dialogFooter1";
dialogFooter1.Size = new System.Drawing.Size(384, 84);
//
// OptionsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(384, 521);
this.Controls.Add(this.label2);
this.Controls.Add(this.tHorizontalSeparator3);
this.Controls.Add(this.label1);
this.Controls.Add(this.pickerBox3);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.pickerBox2);
this.Controls.Add(this.tHorizontalSeparator2);
this.Controls.Add(this.tHorizontalSeparator1);
this.Controls.Add(this.label8);
this.Controls.Add(this.pickerBox1);
this.Controls.Add(this.label6);
this.Controls.Add(this.button1);
this.MinimumSize = new System.Drawing.Size(400, 560);
this.Name = "OptionsForm";
this.Text = "Options";
this.ResumeLayout(false);
this.PerformLayout();
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(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);
MinimumSize = new System.Drawing.Size(400, 560);
Name = "OptionsForm";
ShowIcon = false;
ShowInTaskbar = false;
Text = "Options";
ResumeLayout(false);
PerformLayout();
}
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
this.DialogResult = System.Windows.Forms.DialogResult.None;
pickerBox1.Value = this.Session.SearchTopDirectoryOnly;
pickerBox2.Clear(0, 20, this.Session.RetryOnError);
pickerBox3.Value = this.Session.ClosePrevOnNext;
if (this.Session.NextHotKey != null) textBox1.UpdateKeyCode(this.Session.NextHotKey.IsCtrl, this.Session.NextHotKey.IsAlt, this.Session.NextHotKey.IsShift, this.Session.NextHotKey.KeyCode);
pickerBox1.Focus();
}
public AppSession Session { get; protected set; }
private void button1_MouseClick(object sender, MouseEventArgs e)
public AppSession Result
{
if (this.Session == null) this.Session = new AppSession();
get
{
if (_session == null)
{
_session = new AppSession();
}
this.Session.SearchTopDirectoryOnly = pickerBox1.Value;
this.Session.RetryOnError = pickerBox2.Value;
this.Session.ClosePrevOnNext = pickerBox3.Value;
this.Session.NextHotKey.IsCtrl = textBox1.KeyCodeResults.IsCtrl;
this.Session.NextHotKey.IsAlt = textBox1.KeyCodeResults.IsAlt;
this.Session.NextHotKey.IsShift = textBox1.KeyCodeResults.IsShift;
this.Session.NextHotKey.Key = textBox1.KeyCodeResults.KeyCode;
_session.SearchTopDirectoryOnly = pickerBox1.Value;
_session.RetryOnError = pickerBox2.Value;
_session.ClosePrevOnNext = pickerBox3.Value;
_session.NextHotKey.IsCtrl = textBox1.KeyCodeResults.IsCtrl;
_session.NextHotKey.IsAlt = textBox1.KeyCodeResults.IsAlt;
_session.NextHotKey.IsShift = textBox1.KeyCodeResults.IsShift;
_session.NextHotKey.Key = textBox1.KeyCodeResults.KeyCode;
this.DialogResult = DialogResult.OK;
this.Close();
return _session;
}
}
}

View File

@ -1,4 +1,64 @@
<root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">

View File

@ -12,8 +12,6 @@ namespace RandomFileRunner
[STAThread]
static void Main()
{
UIcon.UIResource = typeof(UIResource);
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<TargetFramework>net8.0-windows8.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>randomfilerunner</AssemblyName>
<Authors>Ray Lam</Authors>
@ -11,7 +11,7 @@
<Copyright>Ray Lam</Copyright>
<ApplicationIcon>favicon.ico</ApplicationIcon>
<NoWin32Manifest>true</NoWin32Manifest>
<Version>0.1.2.065</Version>
<Version>1.1.1.031</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@ -24,35 +24,24 @@
</PropertyGroup>
<ItemGroup>
<Compile Remove="Resources\**" />
<Compile Remove="RyzStudio\**" />
<EmbeddedResource Remove="Resources\**" />
<EmbeddedResource Remove="RyzStudio\**" />
<None Remove="Resources\**" />
<None Remove="RyzStudio\**" />
</ItemGroup>
<ItemGroup>
<None Remove=".gitignore" />
<None Remove="build.bat" />
<None Remove="MainForm.resx~RF28b83d97.TMP" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\trash-2.png" />
<Content Include="favicon.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\trash.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\loading-block.gif" />
</ItemGroup>
<ItemGroup>
<Reference Include="RyzStudio3">
<HintPath>References\RyzStudio3.dll</HintPath>
</Reference>
<PackageReference Include="RyzStudio" Version="8.1.2.249" />
<PackageReference Include="RyzStudio.Windows.Forms" Version="8.1.3.614" />
</ItemGroup>
<ItemGroup>
@ -61,10 +50,8 @@
<AutoGen>True</AutoGen>
<DependentUpon>AppResource.resx</DependentUpon>
</Compile>
<Compile Update="UIResource.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>UIResource.resx</DependentUpon>
<Compile Update="MemoBoxForm.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
@ -73,10 +60,6 @@
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>AppResource.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Update="UIResource.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>UIResource.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Resources/icon-64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

93
UIResource.Designer.cs generated
View File

@ -1,93 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace RandomFileRunner {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class UIResource {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal UIResource() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RandomFileRunner.UIResource", typeof(UIResource).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap loading_block {
get {
object obj = ResourceManager.GetObject("loading_block", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap trash {
get {
object obj = ResourceManager.GetObject("trash", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap trash_2 {
get {
object obj = ResourceManager.GetObject("trash_2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -1,5 +1,17 @@
rmdir /s /q "bin\Release\64\"
dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\Release\64\"
RMDIR /s /q "bin\"
RMDIR /s /q "obj\"
rmdir /s /q "bin\Release\86\"
dotnet publish skye.sln -r win-x86 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\Release\86\"
MKDIR bin
dotnet restore skye.sln
dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\"
REM "C:\B\Portable Files (dev)\Inno Setup\v6.0.4-2\app\ISCC.exe" "build-installer.iss"
"C:\B\Portable Files\7-Zip (Portable)\23.01\App\7-Zip64\7z.exe" a -t7z "bin\randomfilerunner.7z" ".\bin\randomfilerunner.exe" -mx9
RMDIR /s /q "bin\debug"
RMDIR /s /q "bin\release"
RMDIR /s /q "obj\"
PAUSE

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31702.278
# Visual Studio Version 17
VisualStudioVersion = 17.10.35004.147
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RandomFileRunner", "RandomFileRunner.csproj", "{5F301DDB-6E01-4492-BABC-E134722EF0AC}"
EndProject