From 3653e63a720114f948d7338415260d0c4d2b5580 Mon Sep 17 00:00:00 2001 From: bm98 Date: Sun, 29 Jun 2014 22:10:22 +0200 Subject: [PATCH] issue #12 addressed - added link label to Github Little GUI layout improvements --- Form1.Designer.cs | 189 +++++++++++++++++++++++++--------------------- Form1.cs | 16 +++- Form1.resx | 166 +++++++++++++++++++++++++++++----------- graphics/Load.png | Bin 863 -> 3514 bytes graphics/Save.png | Bin 0 -> 3760 bytes 5 files changed, 240 insertions(+), 131 deletions(-) create mode 100644 graphics/Save.png diff --git a/Form1.Designer.cs b/Form1.Designer.cs index 23d7a55..8358897 100644 --- a/Form1.Designer.cs +++ b/Form1.Designer.cs @@ -80,6 +80,11 @@ this.txFilter = new System.Windows.Forms.TextBox(); this.btClearFilter = new System.Windows.Forms.Button(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.btSaveMyMapping = new System.Windows.Forms.Button(); + this.btLoadMyMapping = new System.Windows.Forms.Button(); + this.txMappingName = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); this.tsDDbtProfiles = new System.Windows.Forms.ToolStripDropDownButton(); @@ -94,12 +99,9 @@ this.resetLoadAndGrabToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.loadAndGrabToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); - this.txMappingName = new System.Windows.Forms.TextBox(); - this.btLoadMyMapping = new System.Windows.Forms.Button(); - this.btSaveMyMapping = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); + this.linkLblReleases = new System.Windows.Forms.LinkLabel(); this.UC_JoyPanel = new SCJMapper_V2.UC_JoyPanel(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.cmCopyPaste.SuspendLayout(); this.panel3.SuspendLayout(); this.panel2.SuspendLayout(); @@ -110,8 +112,8 @@ this.flowLayoutPanel1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.statusStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); + this.statusStrip1.SuspendLayout(); this.SuspendLayout(); // // btDumpList @@ -127,9 +129,9 @@ // label3 // this.label3.Dock = System.Windows.Forms.DockStyle.Fill; - this.label3.Location = new System.Drawing.Point(606, 833); + this.label3.Location = new System.Drawing.Point(606, 823); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(372, 26); + this.label3.Size = new System.Drawing.Size(372, 36); this.label3.TabIndex = 22; this.label3.Text = "Right click above to open the context menu"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -145,7 +147,7 @@ this.rtb.Location = new System.Drawing.Point(606, 81); this.rtb.Name = "rtb"; this.tlpanel.SetRowSpan(this.rtb, 2); - this.rtb.Size = new System.Drawing.Size(372, 674); + this.rtb.Size = new System.Drawing.Size(372, 667); this.rtb.TabIndex = 21; this.rtb.Text = ""; this.rtb.WordWrap = false; @@ -420,7 +422,7 @@ this.treeView1.Name = "treeView1"; this.tlpanel.SetRowSpan(this.treeView1, 3); this.treeView1.SelectedImageKey = "Selected"; - this.treeView1.Size = new System.Drawing.Size(294, 749); + this.treeView1.Size = new System.Drawing.Size(294, 739); this.treeView1.TabIndex = 16; this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); // @@ -464,6 +466,7 @@ // panel1 // this.tlpanel.SetColumnSpan(this.panel1, 3); + this.panel1.Controls.Add(this.linkLblReleases); this.panel1.Controls.Add(this.label8); this.panel1.Controls.Add(this.lblTitle); this.panel1.Controls.Add(this.label4); @@ -504,7 +507,7 @@ // buttonExit // this.buttonExit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonExit.Location = new System.Drawing.Point(171, 42); + this.buttonExit.Location = new System.Drawing.Point(171, 39); this.buttonExit.Name = "buttonExit"; this.buttonExit.Size = new System.Drawing.Size(120, 24); this.buttonExit.TabIndex = 13; @@ -553,7 +556,7 @@ this.tlpanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 540F)); this.tlpanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 65F)); this.tlpanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 35F)); - this.tlpanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F)); + this.tlpanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F)); this.tlpanel.Size = new System.Drawing.Size(984, 862); this.tlpanel.TabIndex = 25; // @@ -589,7 +592,7 @@ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(294, 134); + this.tableLayoutPanel1.Size = new System.Drawing.Size(294, 127); this.tableLayoutPanel1.TabIndex = 23; // // txFilter @@ -620,15 +623,78 @@ this.tableLayoutPanel2.Controls.Add(this.buttonExit, 1, 1); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.FixedSize; - this.tableLayoutPanel2.Location = new System.Drawing.Point(306, 761); + this.tableLayoutPanel2.Location = new System.Drawing.Point(306, 754); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.RowCount = 2; this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel2.Size = new System.Drawing.Size(294, 69); + this.tableLayoutPanel2.Size = new System.Drawing.Size(294, 66); this.tableLayoutPanel2.TabIndex = 24; // + // tableLayoutPanel3 + // + this.tableLayoutPanel3.ColumnCount = 2; + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 240F)); + this.tableLayoutPanel3.Controls.Add(this.btSaveMyMapping, 1, 1); + this.tableLayoutPanel3.Controls.Add(this.btLoadMyMapping, 0, 1); + this.tableLayoutPanel3.Controls.Add(this.txMappingName, 1, 0); + this.tableLayoutPanel3.Controls.Add(this.label1, 0, 0); + this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel3.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.FixedSize; + this.tableLayoutPanel3.Location = new System.Drawing.Point(606, 754); + this.tableLayoutPanel3.Name = "tableLayoutPanel3"; + this.tableLayoutPanel3.RowCount = 2; + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanel3.Size = new System.Drawing.Size(372, 66); + this.tableLayoutPanel3.TabIndex = 25; + // + // btSaveMyMapping + // + this.btSaveMyMapping.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btSaveMyMapping.Image = ((System.Drawing.Image)(resources.GetObject("btSaveMyMapping.Image"))); + this.btSaveMyMapping.Location = new System.Drawing.Point(191, 39); + this.btSaveMyMapping.Name = "btSaveMyMapping"; + this.btSaveMyMapping.Size = new System.Drawing.Size(178, 24); + this.btSaveMyMapping.TabIndex = 15; + this.btSaveMyMapping.Text = "Dump and Save my Mapping"; + this.btSaveMyMapping.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btSaveMyMapping.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btSaveMyMapping.Click += new System.EventHandler(this.btSaveMyMapping_Click); + // + // btLoadMyMapping + // + this.btLoadMyMapping.Location = new System.Drawing.Point(3, 39); + this.btLoadMyMapping.Name = "btLoadMyMapping"; + this.btLoadMyMapping.Size = new System.Drawing.Size(120, 24); + this.btLoadMyMapping.TabIndex = 14; + this.btLoadMyMapping.Text = "Load my Mapping"; + this.btLoadMyMapping.Visible = false; + this.btLoadMyMapping.Click += new System.EventHandler(this.btLoadMyMapping_Click); + // + // txMappingName + // + this.txMappingName.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.txMappingName.CharacterCasing = System.Windows.Forms.CharacterCasing.Lower; + this.txMappingName.Location = new System.Drawing.Point(135, 8); + this.txMappingName.Name = "txMappingName"; + this.txMappingName.Size = new System.Drawing.Size(234, 20); + this.txMappingName.TabIndex = 0; + this.txMappingName.WordWrap = false; + this.txMappingName.TextChanged += new System.EventHandler(this.txMappingName_TextChanged); + // + // label1 + // + this.label1.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(49, 11); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(80, 13); + this.label1.TabIndex = 16; + this.label1.Text = "Mapping name:"; + // // statusStrip1 // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -639,19 +705,20 @@ this.toolStripStatusLabel1, this.tsDDbtMappings, this.tsBtLoad}); - this.statusStrip1.Location = new System.Drawing.Point(0, 840); + this.statusStrip1.Location = new System.Drawing.Point(0, 832); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; this.statusStrip1.ShowItemToolTips = true; - this.statusStrip1.Size = new System.Drawing.Size(984, 22); + this.statusStrip1.Size = new System.Drawing.Size(984, 30); this.statusStrip1.TabIndex = 26; this.statusStrip1.Text = "statusStrip1"; // // toolStripStatusLabel2 // this.toolStripStatusLabel2.BackColor = System.Drawing.Color.DarkKhaki; + this.toolStripStatusLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; - this.toolStripStatusLabel2.Size = new System.Drawing.Size(49, 17); + this.toolStripStatusLabel2.Size = new System.Drawing.Size(52, 25); this.toolStripStatusLabel2.Text = "Profiles:"; // // tsDDbtProfiles @@ -661,7 +728,7 @@ this.tsDDbtProfiles.Image = ((System.Drawing.Image)(resources.GetObject("tsDDbtProfiles.Image"))); this.tsDDbtProfiles.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsDDbtProfiles.Name = "tsDDbtProfiles"; - this.tsDDbtProfiles.Size = new System.Drawing.Size(250, 20); + this.tsDDbtProfiles.Size = new System.Drawing.Size(250, 28); this.tsDDbtProfiles.Text = "Available Profiles"; this.tsDDbtProfiles.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.tsDDbtProfiles_DropDownItemClicked); // @@ -675,7 +742,7 @@ this.tsBtReset.Image = ((System.Drawing.Image)(resources.GetObject("tsBtReset.Image"))); this.tsBtReset.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsBtReset.Name = "tsBtReset"; - this.tsBtReset.Size = new System.Drawing.Size(100, 20); + this.tsBtReset.Size = new System.Drawing.Size(100, 28); this.tsBtReset.Text = "Reset..."; this.tsBtReset.ToolTipText = "Reset with chosen options"; // @@ -700,15 +767,16 @@ this.toolStripStatusLabel3.AutoSize = false; this.toolStripStatusLabel3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.toolStripStatusLabel3.Name = "toolStripStatusLabel3"; - this.toolStripStatusLabel3.Size = new System.Drawing.Size(100, 17); + this.toolStripStatusLabel3.Size = new System.Drawing.Size(100, 25); this.toolStripStatusLabel3.Text = " "; // // toolStripStatusLabel1 // this.toolStripStatusLabel1.BackColor = System.Drawing.Color.DarkSeaGreen; this.toolStripStatusLabel1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.toolStripStatusLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - this.toolStripStatusLabel1.Size = new System.Drawing.Size(63, 17); + this.toolStripStatusLabel1.Size = new System.Drawing.Size(63, 25); this.toolStripStatusLabel1.Text = "Mappings:"; // // tsDDbtMappings @@ -720,7 +788,7 @@ this.tsDDbtMappings.Image = ((System.Drawing.Image)(resources.GetObject("tsDDbtMappings.Image"))); this.tsDDbtMappings.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsDDbtMappings.Name = "tsDDbtMappings"; - this.tsDDbtMappings.Size = new System.Drawing.Size(250, 20); + this.tsDDbtMappings.Size = new System.Drawing.Size(250, 28); this.tsDDbtMappings.Text = "Available Mappings"; this.tsDDbtMappings.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.tsDDbtMappings_DropDownItemClicked); // @@ -737,7 +805,7 @@ this.tsBtLoad.Image = ((System.Drawing.Image)(resources.GetObject("tsBtLoad.Image"))); this.tsBtLoad.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsBtLoad.Name = "tsBtLoad"; - this.tsBtLoad.Size = new System.Drawing.Size(80, 20); + this.tsBtLoad.Size = new System.Drawing.Size(80, 28); this.tsBtLoad.Text = "Load..."; // // defaultsLoadAndGrabToolStripMenuItem @@ -772,65 +840,16 @@ this.loadToolStripMenuItem.Text = "Load !"; this.loadToolStripMenuItem.Click += new System.EventHandler(this.loadToolStripMenuItem_Click); // - // tableLayoutPanel3 + // linkLblReleases // - this.tableLayoutPanel3.ColumnCount = 2; - this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 240F)); - this.tableLayoutPanel3.Controls.Add(this.btSaveMyMapping, 1, 1); - this.tableLayoutPanel3.Controls.Add(this.btLoadMyMapping, 0, 1); - this.tableLayoutPanel3.Controls.Add(this.txMappingName, 1, 0); - this.tableLayoutPanel3.Controls.Add(this.label1, 0, 0); - this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; - this.tableLayoutPanel3.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.FixedSize; - this.tableLayoutPanel3.Location = new System.Drawing.Point(606, 761); - this.tableLayoutPanel3.Name = "tableLayoutPanel3"; - this.tableLayoutPanel3.RowCount = 2; - this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); - this.tableLayoutPanel3.Size = new System.Drawing.Size(372, 69); - this.tableLayoutPanel3.TabIndex = 25; - // - // txMappingName - // - this.txMappingName.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.txMappingName.CharacterCasing = System.Windows.Forms.CharacterCasing.Lower; - this.txMappingName.Location = new System.Drawing.Point(135, 9); - this.txMappingName.Name = "txMappingName"; - this.txMappingName.Size = new System.Drawing.Size(234, 20); - this.txMappingName.TabIndex = 0; - this.txMappingName.WordWrap = false; - this.txMappingName.TextChanged += new System.EventHandler(this.txMappingName_TextChanged); - // - // btLoadMyMapping - // - this.btLoadMyMapping.Location = new System.Drawing.Point(3, 42); - this.btLoadMyMapping.Name = "btLoadMyMapping"; - this.btLoadMyMapping.Size = new System.Drawing.Size(120, 24); - this.btLoadMyMapping.TabIndex = 14; - this.btLoadMyMapping.Text = "Load my Mapping"; - this.btLoadMyMapping.Visible = false; - this.btLoadMyMapping.Click += new System.EventHandler(this.btLoadMyMapping_Click); - // - // btSaveMyMapping - // - this.btSaveMyMapping.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btSaveMyMapping.Location = new System.Drawing.Point(191, 42); - this.btSaveMyMapping.Name = "btSaveMyMapping"; - this.btSaveMyMapping.Size = new System.Drawing.Size(178, 24); - this.btSaveMyMapping.TabIndex = 15; - this.btSaveMyMapping.Text = "Dump and Save my Mapping"; - this.btSaveMyMapping.Click += new System.EventHandler(this.btSaveMyMapping_Click); - // - // label1 - // - this.label1.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(49, 13); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(80, 13); - this.label1.TabIndex = 16; - this.label1.Text = "Mapping name:"; + this.linkLblReleases.AutoSize = true; + this.linkLblReleases.Location = new System.Drawing.Point(732, 17); + this.linkLblReleases.Name = "linkLblReleases"; + this.linkLblReleases.Size = new System.Drawing.Size(233, 13); + this.linkLblReleases.TabIndex = 3; + this.linkLblReleases.TabStop = true; + this.linkLblReleases.Text = "For information and updates visit us @ Github ..."; + this.linkLblReleases.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLblReleases_LinkClicked); // // UC_JoyPanel // @@ -865,10 +884,10 @@ this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); this.tableLayoutPanel2.ResumeLayout(false); - this.statusStrip1.ResumeLayout(false); - this.statusStrip1.PerformLayout(); this.tableLayoutPanel3.ResumeLayout(false); this.tableLayoutPanel3.PerformLayout(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -943,6 +962,8 @@ private System.Windows.Forms.Button btLoadMyMapping; private System.Windows.Forms.TextBox txMappingName; private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLblReleases; + private System.Windows.Forms.ToolTip toolTip1; } } diff --git a/Form1.cs b/Form1.cs index 32503fd..ae7b635 100644 --- a/Form1.cs +++ b/Form1.cs @@ -15,7 +15,9 @@ namespace SCJMapper_V2 { public partial class MainForm : Form { - AppSettings m_AppSettings = new AppSettings( ); + private const String c_GithubLink = "https://github.com/bm98/SCJMapper-V2/releases"; + + private AppSettings m_AppSettings = new AppSettings( ); /// /// Holds the DXInput Joystick List @@ -75,6 +77,10 @@ namespace SCJMapper_V2 String version = Application.ProductVersion; // get the version information lblTitle.Text += " - V " + version.Substring( 0, version.IndexOf( ".", version.IndexOf( "." ) + 1 ) ); // get the first two elements + // tooltips where needed + toolTip1.SetToolTip( this.linkLblReleases, c_GithubLink ); // allow to see where the link may head + + // load profiles foreach ( String s in SCDefaultProfile.DefaultProfileNames ) { tsDDbtProfiles.DropDownItems.Add( Path.GetFileNameWithoutExtension( s ) ); @@ -608,6 +614,14 @@ namespace SCJMapper_V2 } } + // Hyperlink + + private void linkLblReleases_LinkClicked( object sender, LinkLabelLinkClickedEventArgs e ) + { + this.linkLblReleases.LinkVisited = true; + System.Diagnostics.Process.Start( c_GithubLink ); + } + #endregion diff --git a/Form1.resx b/Form1.resx index 87a800b..5e77b9b 100644 --- a/Form1.resx +++ b/Form1.resx @@ -392,7 +392,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ - DgAAAk1TRnQBSQFMAgEBBwEAARgBCAEYAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + DgAAAk1TRnQBSQFMAgEBBwEAATgBCAE4AQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -453,6 +453,78 @@ AQEEAAHAAQcBgAEBBAABgAEHAYABAQQAAYABAAGAAQEEAAHAAQABgAEBBAAB4AEBAYABAQQAAeAB/wGA AQEEAAHgAf8BwAEBBAAB4QH/AcABAQQAAYAB/wHAAQMEAAGBAf8B4AEDBAABAwH/AeABBwQAAQcD/wQA AccD/ws= + + + + + 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 @@ -470,34 +542,34 @@ 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 - QmCC + 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 + YII= @@ -552,25 +624,27 @@ - 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 + + 555, 17 + AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAA diff --git a/graphics/Load.png b/graphics/Load.png index 48df359efbcfdb997b1e5f2a95ee1ec35f57d587..21f694b59a98fb2a8c557ef5d7edfeeb312fa398 100644 GIT binary patch literal 3514 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 literal 863 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