From f2d633982a011bb02567dfd810fd8262bcaa593c Mon Sep 17 00:00:00 2001 From: unitycoder Date: Fri, 6 Apr 2018 20:14:57 +0800 Subject: [PATCH] save settings on form close only fixes #53 --- UnityLauncher/Form1.Designer.cs | 6 +-- UnityLauncher/Form1.cs | 78 +++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 38 deletions(-) diff --git a/UnityLauncher/Form1.Designer.cs b/UnityLauncher/Form1.Designer.cs index 57626d3..8708904 100644 --- a/UnityLauncher/Form1.Designer.cs +++ b/UnityLauncher/Form1.Designer.cs @@ -104,7 +104,6 @@ private void InitializeComponent() this.tabUpdates.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.gridUnityUpdates)).BeginInit(); this.tabSettings.SuspendLayout(); - this.statusStrip1.SuspendLayout(); this.SuspendLayout(); // // tabControl1 @@ -901,7 +900,8 @@ private void InitializeComponent() this.MinimumSize = new System.Drawing.Size(600, 650); this.Name = "Form1"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.Text = "UnityLauncher - 2018 Super Edition 24"; + this.Text = "UnityLauncher - Spring Edition 25"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); this.ResizeEnd += new System.EventHandler(this.Form1_ResizeEnd); this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form1_KeyPress); @@ -918,8 +918,6 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.gridUnityUpdates)).EndInit(); this.tabSettings.ResumeLayout(false); this.tabSettings.PerformLayout(); - this.statusStrip1.ResumeLayout(false); - this.statusStrip1.PerformLayout(); this.ResumeLayout(false); } diff --git a/UnityLauncher/Form1.cs b/UnityLauncher/Form1.cs index d22a035..b06c2af 100644 --- a/UnityLauncher/Form1.cs +++ b/UnityLauncher/Form1.cs @@ -36,6 +36,8 @@ private void Form1_Load(object sender, EventArgs e) Start(); } + + void Start() { SetStatus("Initializing ..."); @@ -110,9 +112,6 @@ void Start() // preselect grid gridRecent.Select(); - // subscribe to columnwidthchange event, so that can save column sizes - this.gridRecent.ColumnWidthChanged += new System.Windows.Forms.DataGridViewColumnEventHandler(this.gridRecent_ColumnWidthChanged); - // get previous version build info string // this string is release tag for latest release when this app was compiled using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("UnityLauncher." + "PreviousVersion.txt")) @@ -887,35 +886,6 @@ private void btnOpenLogFolder_Click(object sender, EventArgs e) } } - private void gridRecent_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) - { - List gridWidths; - if (Properties.Settings.Default.gridColumnWidths != null) - { - gridWidths = new List(Properties.Settings.Default.gridColumnWidths); - } - else - { - gridWidths = new List(); - } - - // restore data grid view widths - var colum = gridRecent.Columns[0]; - for (int i = 0; i < gridRecent.Columns.Count; ++i) - { - if (Properties.Settings.Default.gridColumnWidths != null && Properties.Settings.Default.gridColumnWidths.Length > i) - { - gridWidths[i] = gridRecent.Columns[i].Width; - } - else - { - gridWidths.Add(gridRecent.Columns[i].Width); - } - } - Properties.Settings.Default.gridColumnWidths = gridWidths.ToArray(); - Properties.Settings.Default.Save(); - } - private void btnOpenUpdateWebsite_Click(object sender, EventArgs e) { var selected = gridUnityUpdates?.CurrentCell?.RowIndex; @@ -1025,8 +995,16 @@ private void btnBrowseForProject_Click(object sender, EventArgs e) BrowseForExistingProjectFolder(); } + private void Form1_FormClosing(object sender, FormClosingEventArgs e) + { + SaveSettingsOnExit(); + } + #endregion UI events + + + // displays version selector to upgrade project void UpgradeProject() { @@ -1237,5 +1215,37 @@ void BrowseForExistingProjectFolder() gridRecent.Rows[0].Selected = true; } } - } -} \ No newline at end of file + + private void SaveSettingsOnExit() + { + // save list column widths + List gridWidths; + if (Properties.Settings.Default.gridColumnWidths != null) + { + gridWidths = new List(Properties.Settings.Default.gridColumnWidths); + } + else + { + gridWidths = new List(); + } + + // restore data grid view widths + var colum = gridRecent.Columns[0]; + for (int i = 0; i < gridRecent.Columns.Count; ++i) + { + if (Properties.Settings.Default.gridColumnWidths != null && Properties.Settings.Default.gridColumnWidths.Length > i) + { + gridWidths[i] = gridRecent.Columns[i].Width; + } + else + { + gridWidths.Add(gridRecent.Columns[i].Width); + } + } + Properties.Settings.Default.gridColumnWidths = gridWidths.ToArray(); + Properties.Settings.Default.Save(); + } + + + } // class Form +} // namespace \ No newline at end of file