From 272aa78dad7727e0f858c6385a6daca22f1c0a1f Mon Sep 17 00:00:00 2001 From: BrianTee Date: Tue, 7 Jan 2025 19:50:12 -0700 Subject: [PATCH 1/2] Ensure registry settings exist, Save to registry --- SourceCode/AgIO/Source/App.config | 9 ----- SourceCode/AgIO/Source/Classes/CSettings.cs | 25 +++++++++++-- SourceCode/AgIO/Source/Forms/FormKeyboard.cs | 32 +---------------- SourceCode/AgIO/Source/Forms/FormProfiles.cs | 15 -------- SourceCode/AgIO/Source/Forms/FormUDP.cs | 1 - SourceCode/AgIO/Source/Program.cs | 3 -- .../Source/Properties/Settings.Designer.cs | 36 ------------------- .../AgIO/Source/Properties/Settings.settings | 9 ----- SourceCode/GPS/Classes/CSettings.cs | 4 +-- .../Forms/Settings/ConfigVehicle.Designer.cs | 2 -- SourceCode/GPS/Forms/Settings/FormSteer.cs | 4 --- SourceCode/GPS/Forms/Settings/FormSteerWiz.cs | 4 --- 12 files changed, 25 insertions(+), 119 deletions(-) diff --git a/SourceCode/AgIO/Source/App.config b/SourceCode/AgIO/Source/App.config index a0a3c2374..9ae210a5c 100644 --- a/SourceCode/AgIO/Source/App.config +++ b/SourceCode/AgIO/Source/App.config @@ -88,12 +88,6 @@ 0 - - en - - - Default - 0 @@ -190,9 +184,6 @@ False - - Default Profile - diff --git a/SourceCode/AgIO/Source/Classes/CSettings.cs b/SourceCode/AgIO/Source/Classes/CSettings.cs index bf51dd12b..927bae5f3 100644 --- a/SourceCode/AgIO/Source/Classes/CSettings.cs +++ b/SourceCode/AgIO/Source/Classes/CSettings.cs @@ -4,6 +4,7 @@ using System.Configuration; using System.IO; using System.Linq; +using System.Threading; using System.Xml.Linq; using System.Xml.XPath; @@ -97,7 +98,7 @@ public static void Load() if (!string.IsNullOrEmpty(profileDirectory) && !Directory.Exists(profileDirectory)) { Directory.CreateDirectory(profileDirectory); - Log.EventWriter("PRofile Dir Created\r"); + Log.EventWriter("Profile Dir Created\r"); } } catch (Exception ex) @@ -108,7 +109,7 @@ public static void Load() //opening the subkey RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\AgIO"); - ////create default keys if not existing + //create default keys if not existing if (regKey == null) { RegistryKey Key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\AgIO"); @@ -124,7 +125,7 @@ public static void Load() try { //Profile File Name from Registry Key - if (regKey.GetValue("ProfileName") == null) + if (regKey.GetValue("ProfileName") == null || regKey.GetValue("ProfileName").ToString() == null) { RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\AgIO"); key.SetValue("ProfileName", "Default Profile"); @@ -132,6 +133,18 @@ public static void Load() } else { + //Culture from Registry Key + if (regKey.GetValue("AgOne_Culture") == null || regKey.GetValue("Language").ToString() == "") + { + RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\AgIO"); + key.SetValue("Language", "en"); + Log.EventWriter("Registry -> Culture was null and Created"); + } + else + { + culture = regKey.GetValue("Language").ToString(); + } + profileName = regKey.GetValue("ProfileName").ToString(); //get the Documents directory, if not exist, create @@ -194,6 +207,8 @@ public static void Load() public static void Save() { + Properties.Settings.Default.Save(); + RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\AgIO"); try { @@ -207,8 +222,12 @@ public static void Save() key.Close(); if (RegistrySettings.profileName != "Default Profile") + { + Thread.Sleep(500); SettingsIO.ExportSettings(Path.Combine(RegistrySettings.profileDirectory, RegistrySettings.profileName + ".xml")); + } } + public static void Reset() { diff --git a/SourceCode/AgIO/Source/Forms/FormKeyboard.cs b/SourceCode/AgIO/Source/Forms/FormKeyboard.cs index 17f167674..190fe09c9 100644 --- a/SourceCode/AgIO/Source/Forms/FormKeyboard.cs +++ b/SourceCode/AgIO/Source/Forms/FormKeyboard.cs @@ -22,37 +22,7 @@ private void FormKeyboard_Load(object sender, EventArgs e) keyboardString.SelectionLength = 0; keyboard1.Focus(); - //opening the subkey - RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\AgOpenGPS"); - - //create default keys if not existing - if (regKey == null) - { - RegistryKey Key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\AgOpenGPS"); - - //storing the values - Key.SetValue("Language", "en"); - Key.Close(); - - Properties.Settings.Default.setF_culture = "en"; - Properties.Settings.Default.Save(); - } - else - { - Properties.Settings.Default.setF_culture = regKey.GetValue("Language").ToString(); - Properties.Settings.Default.Save(); - regKey.Close(); - } - - string language = Properties.Settings.Default.setF_culture; - if (language == "fr") - { - this.Height = 587; - } - else - { - this.Height = 500; - } + this.Height = 500; } private void RegisterKeyboard1_ButtonPressed(object sender, KeyPressEventArgs e) diff --git a/SourceCode/AgIO/Source/Forms/FormProfiles.cs b/SourceCode/AgIO/Source/Forms/FormProfiles.cs index e11368cb5..dd906a469 100644 --- a/SourceCode/AgIO/Source/Forms/FormProfiles.cs +++ b/SourceCode/AgIO/Source/Forms/FormProfiles.cs @@ -78,9 +78,6 @@ private void cboxOverWrite_SelectedIndexChanged(object sender, EventArgs e) RegistrySettings.profileName = SanitizeFileName(cboxOverWrite.SelectedItem.ToString().Trim()); - Properties.Settings.Default.setConfig_profileName = RegistrySettings.profileName; - Properties.Settings.Default.Save(); - //save profile in registry RegistrySettings.Save(); @@ -112,15 +109,9 @@ private void btnSaveNewProfile_Click(object sender, EventArgs e) //reset to Default Profile and save Settings.Default.Reset(); - Settings.Default.Save(); - - Properties.Settings.Default.setConfig_profileName = RegistrySettings.profileName; - Properties.Settings.Default.Save(); //save profile in registry RegistrySettings.Save(); - - SettingsIO.ExportSettings(Path.Combine(RegistrySettings.profileDirectory, RegistrySettings.profileName + ".xml")); DialogResult = DialogResult.Yes; Close(); @@ -175,9 +166,6 @@ private void btnSaveAs_Click(object sender, EventArgs e) { RegistrySettings.profileName = SanitizeFileName(tboxSaveAs.Text.ToString().Trim()); - Properties.Settings.Default.setConfig_profileName = RegistrySettings.profileName; - Properties.Settings.Default.Save(); - //save profile in registry RegistrySettings.Save(); @@ -215,9 +203,6 @@ private void cboxChooseExisting_SelectedIndexChanged(object sender, EventArgs e) RegistrySettings.profileName = cboxChooseExisting.SelectedItem.ToString().Trim(); - Properties.Settings.Default.setConfig_profileName = RegistrySettings.profileName; - Properties.Settings.Default.Save(); - RegistrySettings.Save(); DialogResult = DialogResult.Yes; diff --git a/SourceCode/AgIO/Source/Forms/FormUDP.cs b/SourceCode/AgIO/Source/Forms/FormUDP.cs index eb28701e7..02e6f38b6 100644 --- a/SourceCode/AgIO/Source/Forms/FormUDP.cs +++ b/SourceCode/AgIO/Source/Forms/FormUDP.cs @@ -330,7 +330,6 @@ private void btnSerialMonitor_Click(object sender, EventArgs e) private void btnUDPOff_Click(object sender, EventArgs e) { - Properties.Settings.Default.setUDP_isOn = false; Properties.Settings.Default.setUDP_isSendNMEAToUDP = false; diff --git a/SourceCode/AgIO/Source/Program.cs b/SourceCode/AgIO/Source/Program.cs index f93a54462..1ed67691c 100644 --- a/SourceCode/AgIO/Source/Program.cs +++ b/SourceCode/AgIO/Source/Program.cs @@ -29,9 +29,6 @@ private static void Main() //load the profile name and set profile directory RegistrySettings.Load(); - Properties.Settings.Default.setConfig_profileName = RegistrySettings.profileName; - Properties.Settings.Default.Save(); - if (Mutex.WaitOne(TimeSpan.Zero, true)) { Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(RegistrySettings.culture); diff --git a/SourceCode/AgIO/Source/Properties/Settings.Designer.cs b/SourceCode/AgIO/Source/Properties/Settings.Designer.cs index 7f9809005..b201bf85f 100644 --- a/SourceCode/AgIO/Source/Properties/Settings.Designer.cs +++ b/SourceCode/AgIO/Source/Properties/Settings.Designer.cs @@ -335,30 +335,6 @@ public double setPgm_defaultLon { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("en")] - public string setF_culture { - get { - return ((string)(this["setF_culture"])); - } - set { - this["setF_culture"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Default")] - public string setF_workingDirectory { - get { - return ((string)(this["setF_workingDirectory"])); - } - set { - this["setF_workingDirectory"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("0")] @@ -753,17 +729,5 @@ public bool setDisplay_isAutoRunGPS_Out { this["setDisplay_isAutoRunGPS_Out"] = value; } } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Default Profile")] - public string setConfig_profileName { - get { - return ((string)(this["setConfig_profileName"])); - } - set { - this["setConfig_profileName"] = value; - } - } } } diff --git a/SourceCode/AgIO/Source/Properties/Settings.settings b/SourceCode/AgIO/Source/Properties/Settings.settings index abfac8f81..2b7464eb8 100644 --- a/SourceCode/AgIO/Source/Properties/Settings.settings +++ b/SourceCode/AgIO/Source/Properties/Settings.settings @@ -80,12 +80,6 @@ 0 - - en - - - Default - 0 @@ -185,8 +179,5 @@ False - - Default Profile - \ No newline at end of file diff --git a/SourceCode/GPS/Classes/CSettings.cs b/SourceCode/GPS/Classes/CSettings.cs index f54ac9f4c..4a58cad17 100644 --- a/SourceCode/GPS/Classes/CSettings.cs +++ b/SourceCode/GPS/Classes/CSettings.cs @@ -388,14 +388,14 @@ public static void Load() public static void Save() { + Properties.Settings.Default.Save(); + RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\AgOpenGPS"); try { key.SetValue("VehicleFileName", vehicleFileName); key.SetValue("Language", culture); key.SetValue("WorkingDirectory", workingDirectory); - - //Log.EventWriter(vehicleFileName + " Saved to registry key"); } catch (Exception ex) { diff --git a/SourceCode/GPS/Forms/Settings/ConfigVehicle.Designer.cs b/SourceCode/GPS/Forms/Settings/ConfigVehicle.Designer.cs index f7a5f3bd7..e25355fd3 100644 --- a/SourceCode/GPS/Forms/Settings/ConfigVehicle.Designer.cs +++ b/SourceCode/GPS/Forms/Settings/ConfigVehicle.Designer.cs @@ -166,8 +166,6 @@ private void btnVehicleSave_Click(object sender, EventArgs e) btnVehicleSave.BackColor = Color.Transparent; btnVehicleSave.Enabled = false; - Settings.Default.Save(); - //save current vehicle RegistrySettings.Save(); diff --git a/SourceCode/GPS/Forms/Settings/FormSteer.cs b/SourceCode/GPS/Forms/Settings/FormSteer.cs index fd6782f0a..4e33f4c79 100644 --- a/SourceCode/GPS/Forms/Settings/FormSteer.cs +++ b/SourceCode/GPS/Forms/Settings/FormSteer.cs @@ -306,8 +306,6 @@ private void FormSteer_FormClosing(object sender, FormClosingEventArgs e) Properties.Settings.Default.setAS_uTurnCompensation = mf.vehicle.uturnCompensation; - Properties.Settings.Default.Save(); - //save current vehicle RegistrySettings.Save(); } @@ -1186,8 +1184,6 @@ private void btnVehicleReset_Click(object sender, EventArgs e) Properties.Settings.Default.setAS_isSteerInReverse = false; mf.isSteerInReverse = false; - Properties.Settings.Default.Save(); - //save current vehicle RegistrySettings.Save(); diff --git a/SourceCode/GPS/Forms/Settings/FormSteerWiz.cs b/SourceCode/GPS/Forms/Settings/FormSteerWiz.cs index 0bd3a6f5a..efe938120 100644 --- a/SourceCode/GPS/Forms/Settings/FormSteerWiz.cs +++ b/SourceCode/GPS/Forms/Settings/FormSteerWiz.cs @@ -243,8 +243,6 @@ private void FormSteer_FormClosing(object sender, FormClosingEventArgs e) Properties.Settings.Default.setIMU_invertRoll = mf.ahrs.isRollInvert; - Properties.Settings.Default.Save(); - //save current vehicle RegistrySettings.Save(); } @@ -589,8 +587,6 @@ private void btnLoadDefaults_Click(object sender, EventArgs e) Properties.Settings.Default.setIMU_rollZero = mf.ahrs.rollZero; - Properties.Settings.Default.Save(); - toSend252 = true; counter252 = 3; toSend251 = true; From 12564b066b7144c7137cd55d3daf4d2de74fd236 Mon Sep 17 00:00:00 2001 From: BrianTee Date: Wed, 8 Jan 2025 06:44:21 -0700 Subject: [PATCH 2/2] Fix Svenn color --- SourceCode/GPS/Classes/CVehicle.cs | 2 +- SourceCode/GPS/Forms/Form_First.Designer.cs | 93 ++++---- SourceCode/GPS/Forms/Form_First.cs | 2 +- SourceCode/GPS/Forms/Form_First.resx | 235 ++++++++++++++++++++ 4 files changed, 278 insertions(+), 54 deletions(-) diff --git a/SourceCode/GPS/Classes/CVehicle.cs b/SourceCode/GPS/Classes/CVehicle.cs index 684cef35b..3db9ac09a 100644 --- a/SourceCode/GPS/Classes/CVehicle.cs +++ b/SourceCode/GPS/Classes/CVehicle.cs @@ -522,7 +522,7 @@ public void DrawVehicle() double svennDist = mf.camera.camSetDistance * -0.07; double svennWidth = svennDist * 0.22; GL.LineWidth(mf.ABLine.lineWidth); - GL.Color3(1.2, 1.25, 0.10); + GL.Color3(0.95, 0.95, 0.10); GL.Begin(PrimitiveType.LineStrip); { GL.Vertex3(svennWidth, wheelbase + svennDist, 0.0); diff --git a/SourceCode/GPS/Forms/Form_First.Designer.cs b/SourceCode/GPS/Forms/Form_First.Designer.cs index 811b14fa2..1c3040644 100644 --- a/SourceCode/GPS/Forms/Form_First.Designer.cs +++ b/SourceCode/GPS/Forms/Form_First.Designer.cs @@ -35,7 +35,6 @@ private void InitializeComponent() this.linkLabelGit = new System.Windows.Forms.LinkLabel(); this.linkLabelCombineForum = new System.Windows.Forms.LinkLabel(); this.lblVersion = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); @@ -111,30 +110,20 @@ private void InitializeComponent() // // lblVersion // - this.lblVersion.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblVersion.Location = new System.Drawing.Point(801, 37); + this.lblVersion.Font = new System.Drawing.Font("Tahoma", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblVersion.Location = new System.Drawing.Point(280, 23); this.lblVersion.Name = "lblVersion"; - this.lblVersion.Size = new System.Drawing.Size(256, 24); + this.lblVersion.Size = new System.Drawing.Size(714, 35); this.lblVersion.TabIndex = 34; this.lblVersion.Text = "Version 5.1"; this.lblVersion.TextAlign = System.Drawing.ContentAlignment.TopCenter; // - // label2 - // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(417, 77); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(239, 25); - this.label2.TabIndex = 128; - this.label2.Text = "Terms and Conditions"; - // // label9 // this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label9.Location = new System.Drawing.Point(153, 114); + this.label9.Location = new System.Drawing.Point(280, 71); this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(784, 64); + this.label9.Size = new System.Drawing.Size(714, 72); this.label9.TabIndex = 130; this.label9.Text = "If you distribute copies of this FREE program, whether gratis or for a fee, impro" + "ved, changed, you must pass on to the recipients the same freedoms that you rece" + @@ -143,20 +132,20 @@ private void InitializeComponent() // label10 // this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label10.Location = new System.Drawing.Point(155, 176); + this.label10.Location = new System.Drawing.Point(280, 153); this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(771, 52); + this.label10.Size = new System.Drawing.Size(714, 56); this.label10.TabIndex = 129; - this.label10.Text = "You must make sure that they, too, receive or can get the source code. And you m" + - "ust show them these terms so they know their rights. Don\'t steal others work and" + - " call it your own."; + this.label10.Text = "You must make sure that they, receive or can get the source code. And you must s" + + "how them these terms so they know their rights. Don\'t steal others work and call" + + " it your own."; // // label4 // this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label4.Location = new System.Drawing.Point(309, 281); + this.label4.Location = new System.Drawing.Point(280, 220); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(442, 295); + this.label4.Size = new System.Drawing.Size(714, 205); this.label4.TabIndex = 132; this.label4.Text = resources.GetString("label4.Text"); // @@ -180,69 +169,70 @@ private void InitializeComponent() // label1 // this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(136, 13); + this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(147, 483); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(66, 24); + this.label1.Size = new System.Drawing.Size(68, 23); this.label1.TabIndex = 134; this.label1.Text = "label1"; // // label7 // this.label7.AutoSize = true; - this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label7.Location = new System.Drawing.Point(136, 40); + this.label7.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label7.Location = new System.Drawing.Point(147, 510); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(66, 24); + this.label7.Size = new System.Drawing.Size(68, 23); this.label7.TabIndex = 135; this.label7.Text = "label7"; // // label8 // this.label8.AutoSize = true; - this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label8.Location = new System.Drawing.Point(136, 66); + this.label8.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label8.Location = new System.Drawing.Point(147, 536); this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(66, 24); + this.label8.Size = new System.Drawing.Size(68, 23); this.label8.TabIndex = 136; this.label8.Text = "label8"; // // label11 // this.label11.AutoSize = true; - this.label11.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label11.Location = new System.Drawing.Point(65, 66); + this.label11.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label11.Location = new System.Drawing.Point(76, 536); this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(75, 24); + this.label11.Size = new System.Drawing.Size(77, 23); this.label11.TabIndex = 139; this.label11.Text = "Culture:"; // // label12 // this.label12.AutoSize = true; - this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label12.Location = new System.Drawing.Point(56, 39); + this.label12.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label12.Location = new System.Drawing.Point(67, 509); this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(85, 24); + this.label12.Size = new System.Drawing.Size(86, 23); this.label12.TabIndex = 138; this.label12.Text = "Working:"; // // label13 // this.label13.AutoSize = true; - this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label13.Location = new System.Drawing.Point(61, 12); + this.label13.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label13.Location = new System.Drawing.Point(77, 482); this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(79, 24); + this.label13.Size = new System.Drawing.Size(76, 23); this.label13.TabIndex = 137; this.label13.Text = "Vehicle:"; // // pictureBox1 // - this.pictureBox1.Image = global::AgOpenGPS.Properties.Resources.QRYouTube; - this.pictureBox1.Location = new System.Drawing.Point(12, 281); + this.pictureBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.BackgroundImage"))); + this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.pictureBox1.Location = new System.Drawing.Point(22, 277); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(287, 283); + this.pictureBox1.Size = new System.Drawing.Size(193, 179); this.pictureBox1.TabIndex = 140; this.pictureBox1.TabStop = false; // @@ -282,10 +272,11 @@ private void InitializeComponent() // // pictureBox2 // - this.pictureBox2.Image = global::AgOpenGPS.Properties.Resources.QRAOG; - this.pictureBox2.Location = new System.Drawing.Point(761, 281); + this.pictureBox2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBox2.BackgroundImage"))); + this.pictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.pictureBox2.Location = new System.Drawing.Point(22, 43); this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(287, 283); + this.pictureBox2.Size = new System.Drawing.Size(193, 179); this.pictureBox2.TabIndex = 141; this.pictureBox2.TabStop = false; // @@ -293,7 +284,7 @@ private void InitializeComponent() // this.label14.AutoSize = true; this.label14.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label14.Location = new System.Drawing.Point(54, 253); + this.label14.Location = new System.Drawing.Point(16, 250); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(202, 25); this.label14.TabIndex = 142; @@ -303,7 +294,7 @@ private void InitializeComponent() // this.label15.AutoSize = true; this.label15.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label15.Location = new System.Drawing.Point(812, 253); + this.label15.Location = new System.Drawing.Point(41, 15); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(166, 25); this.label15.TabIndex = 143; @@ -316,6 +307,7 @@ private void InitializeComponent() this.BackColor = System.Drawing.SystemColors.ActiveCaption; this.ClientSize = new System.Drawing.Size(1064, 703); this.ControlBox = false; + this.Controls.Add(this.button3); this.Controls.Add(this.label10); this.Controls.Add(this.label15); this.Controls.Add(this.label14); @@ -327,10 +319,8 @@ private void InitializeComponent() this.Controls.Add(this.label11); this.Controls.Add(this.label12); this.Controls.Add(this.label13); - this.Controls.Add(this.button3); this.Controls.Add(this.label4); this.Controls.Add(this.label9); - this.Controls.Add(this.label2); this.Controls.Add(this.label3); this.Controls.Add(this.button2); this.Controls.Add(this.lblVersion); @@ -362,7 +352,6 @@ private void InitializeComponent() private System.Windows.Forms.Button button1; private System.Windows.Forms.Label lblVersion; private System.Windows.Forms.Button button2; - private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label4; diff --git a/SourceCode/GPS/Forms/Form_First.cs b/SourceCode/GPS/Forms/Form_First.cs index d0545f19e..a4fc785ff 100644 --- a/SourceCode/GPS/Forms/Form_First.cs +++ b/SourceCode/GPS/Forms/Form_First.cs @@ -27,7 +27,7 @@ private void linkLabelCombineForum_LinkClicked(object sender, LinkLabelLinkClick private void Form_About_Load(object sender, EventArgs e) { - lblVersion.Text = "Version " + GitVersionInformation.SemVer; + lblVersion.Text = "Terms and Conditions of Version " + GitVersionInformation.SemVer; // Add a link to the LinkLabel. LinkLabel.Link link = new LinkLabel.Link { LinkData = "https://github.com/AgOpenGPS-Official/AgOpenGPS" }; diff --git a/SourceCode/GPS/Forms/Form_First.resx b/SourceCode/GPS/Forms/Form_First.resx index 545cf0cde..0bca1e2e6 100644 --- a/SourceCode/GPS/Forms/Form_First.resx +++ b/SourceCode/GPS/Forms/Form_First.resx @@ -123,6 +123,241 @@ It is in no way to be used on real equipment in any circumstance. A simulator is provided to allow the student to safely experience machine guidance. There are no safety systems in the software and none are implied. Use at own Risk. + + + + + + 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 + b3mt4GYAAAAASUVORK5CYII= + + + + + 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 + b3mt4GYAAAAASUVORK5CYII= \ No newline at end of file