From bf94aef729a732f3d4bac377d550d52b50c0d44b Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 20 Dec 2017 00:16:41 -0800 Subject: [PATCH] sync missing changes oops --- pk3DS/Tools/RandSettings.cs | 18 +++++++++++------- pk3DS/pk3DS.csproj | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pk3DS/Tools/RandSettings.cs b/pk3DS/Tools/RandSettings.cs index dd5c6fc..d79c9bc 100644 --- a/pk3DS/Tools/RandSettings.cs +++ b/pk3DS/Tools/RandSettings.cs @@ -53,13 +53,17 @@ public static void LoadFormSettings(Form form, Control.ControlCollection control public static void SaveFormSettings(Form form, Control.ControlCollection controls) { if (!Settings.TryGetValue(form.Name, out var list)) - return; + { + list = new List(); + Settings.Add(form.Name, list); + } foreach (Control ctrl in controls) { SaveFormSettings(form, ctrl.Controls); var pair = list.FirstOrDefault(z => ctrl.Name == z.Name) ?? new NameValue(ctrl.Name); - TrySetValue(ctrl, pair); + if (TrySetValue(ctrl, pair) && !list.Contains(pair)) + list.Add(pair); } } private static void TryGetValue(Control ctrl, string s) @@ -83,22 +87,22 @@ private static void TryGetValue(Control ctrl, string s) break; } } - private static void TrySetValue(Control ctrl, NameValue v) + private static bool TrySetValue(Control ctrl, NameValue v) { switch (ctrl) { case NumericUpDown nud: v.Value = nud.Value.ToString(CultureInfo.InvariantCulture); - break; + return true; case ComboBox cb: v.Value = cb.SelectedIndex.ToString(); - break; + return true; case CheckBox ck: v.Value = ck.Checked.ToString(); - break; + return true; default: System.Diagnostics.Debug.WriteLine($"{ctrl.Name}: unknown control type."); - break; + return false; } } diff --git a/pk3DS/pk3DS.csproj b/pk3DS/pk3DS.csproj index 94850c1..c6af650 100644 --- a/pk3DS/pk3DS.csproj +++ b/pk3DS/pk3DS.csproj @@ -84,6 +84,7 @@ + Form