From 52e42d847cca10c53267f518d2d79f6589e596d8 Mon Sep 17 00:00:00 2001 From: pointfeev Date: Sat, 24 Sep 2022 10:00:47 -0400 Subject: [PATCH] v4.2.1.0 - Converted Koaloader settings' automatic updates to save & load buttons similar to those of DLC selections - Improved tab order of selection form --- CreamInstaller/Components/CustomTreeView.cs | 31 ++--- CreamInstaller/CreamInstaller.csproj | 2 +- CreamInstaller/Forms/SelectForm.Designer.cs | 84 +++++++++----- CreamInstaller/Forms/SelectForm.cs | 122 ++++++++++++++++---- CreamInstaller/Utility/ProgramData.cs | 46 +------- preview.png | Bin 43076 -> 43324 bytes 6 files changed, 172 insertions(+), 113 deletions(-) diff --git a/CreamInstaller/Components/CustomTreeView.cs b/CreamInstaller/Components/CustomTreeView.cs index 2bf53c5..5293a51 100644 --- a/CreamInstaller/Components/CustomTreeView.cs +++ b/CreamInstaller/Components/CustomTreeView.cs @@ -1,5 +1,4 @@ using CreamInstaller.Resources; -using CreamInstaller.Utility; using System; using System.Collections.Generic; @@ -206,7 +205,6 @@ internal class CustomTreeView : TreeView } if (e.Button is MouseButtons.Left) { - bool invalidate = false; if (comboBoxBounds.Any() && selectForm is not null) foreach (KeyValuePair pair in comboBoxBounds.ToList()) { @@ -239,38 +237,25 @@ internal class CustomTreeView : TreeView _ = comboBoxDropDown.Items.Add(new ToolStripButton(proxy + ".dll", null, (s, e) => { pair.Key.KoaloaderProxy = proxy == ProgramSelection.DefaultKoaloaderProxy ? null : proxy; - ProgramData.UpdateKoaloaderProxyChoices(); - Invalidate(); + selectForm.OnKoaloaderChanged(); }) { Font = comboBoxFont }); } comboBoxDropDown.Show(this, PointToScreen(new(pair.Value.Left, pair.Value.Bottom - 1))); - invalidate = true; break; } } - if (!invalidate) + foreach (KeyValuePair pair in checkBoxBounds.ToList()) { - foreach (KeyValuePair pair in checkBoxBounds.ToList()) + if (!ProgramSelection.All.Contains(pair.Key)) + _ = checkBoxBounds.Remove(pair.Key); + else if (pair.Value.Contains(clickPoint)) { - if (!ProgramSelection.All.Contains(pair.Key)) - _ = checkBoxBounds.Remove(pair.Key); - else if (pair.Value.Contains(clickPoint)) - { - pair.Key.Koaloader = !pair.Key.Koaloader; - invalidate = true; - break; - } - } - if (invalidate && selectForm is not null) - { - CheckBox koaloaderAllCheckBox = selectForm.KoaloaderAllCheckBox(); - koaloaderAllCheckBox.CheckedChanged -= selectForm.OnKoaloaderAllCheckBoxChanged; - koaloaderAllCheckBox.Checked = ProgramSelection.AllSafe.TrueForAll(selection => selection.Koaloader); - koaloaderAllCheckBox.CheckedChanged += selectForm.OnKoaloaderAllCheckBoxChanged; + pair.Key.Koaloader = !pair.Key.Koaloader; + selectForm.OnKoaloaderChanged(); + break; } } - if (invalidate) Invalidate(); } } } \ No newline at end of file diff --git a/CreamInstaller/CreamInstaller.csproj b/CreamInstaller/CreamInstaller.csproj index 09cea68..378bd4b 100644 --- a/CreamInstaller/CreamInstaller.csproj +++ b/CreamInstaller/CreamInstaller.csproj @@ -5,7 +5,7 @@ True Resources\ini.ico true - 4.2.0.1 + 4.2.1.0 Resources\ini.ico LICENSE 2021, pointfeev (https://github.com/pointfeev) diff --git a/CreamInstaller/Forms/SelectForm.Designer.cs b/CreamInstaller/Forms/SelectForm.Designer.cs index b52a28f..07d1245 100644 --- a/CreamInstaller/Forms/SelectForm.Designer.cs +++ b/CreamInstaller/Forms/SelectForm.Designer.cs @@ -43,6 +43,8 @@ namespace CreamInstaller this.loadButton = new System.Windows.Forms.Button(); this.resetKoaloaderButton = new System.Windows.Forms.Button(); this.resetButton = new System.Windows.Forms.Button(); + this.saveKoaloaderButton = new System.Windows.Forms.Button(); + this.loadKoaloaderButton = new System.Windows.Forms.Button(); this.programsGroupBox.SuspendLayout(); this.koaloaderFlowPanel.SuspendLayout(); this.blockedGamesFlowPanel.SuspendLayout(); @@ -60,7 +62,7 @@ namespace CreamInstaller this.installButton.Name = "installButton"; this.installButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); this.installButton.Size = new System.Drawing.Size(149, 24); - this.installButton.TabIndex = 10004; + this.installButton.TabIndex = 10000; this.installButton.Text = "Generate and Install"; this.installButton.UseVisualStyleBackColor = true; this.installButton.Click += new System.EventHandler(this.OnInstall); @@ -75,7 +77,7 @@ namespace CreamInstaller this.cancelButton.Name = "cancelButton"; this.cancelButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); this.cancelButton.Size = new System.Drawing.Size(81, 24); - this.cancelButton.TabIndex = 10000; + this.cancelButton.TabIndex = 10004; this.cancelButton.Text = "Cancel"; this.cancelButton.UseVisualStyleBackColor = true; this.cancelButton.Click += new System.EventHandler(this.OnCancel); @@ -183,15 +185,15 @@ namespace CreamInstaller // selectionTreeView // this.selectionTreeView.BackColor = System.Drawing.SystemColors.Control; - this.selectionTreeView.BorderStyle = BorderStyle.None; + this.selectionTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.selectionTreeView.CheckBoxes = true; - this.selectionTreeView.Dock = DockStyle.Fill; - this.selectionTreeView.DrawMode = TreeViewDrawMode.OwnerDrawAll; + this.selectionTreeView.Dock = System.Windows.Forms.DockStyle.Fill; + this.selectionTreeView.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll; this.selectionTreeView.Enabled = false; this.selectionTreeView.FullRowSelect = true; - this.selectionTreeView.Location = new Point(3, 19); + this.selectionTreeView.Location = new System.Drawing.Point(3, 19); this.selectionTreeView.Name = "selectionTreeView"; - this.selectionTreeView.Size = new Size(554, 217); + this.selectionTreeView.Size = new System.Drawing.Size(554, 187); this.selectionTreeView.Sorted = true; this.selectionTreeView.TabIndex = 1001; // @@ -244,7 +246,7 @@ namespace CreamInstaller // // scanButton // - this.scanButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.scanButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.scanButton.AutoSize = true; this.scanButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.scanButton.Enabled = false; @@ -269,7 +271,7 @@ namespace CreamInstaller this.uninstallButton.Name = "uninstallButton"; this.uninstallButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); this.uninstallButton.Size = new System.Drawing.Size(91, 24); - this.uninstallButton.TabIndex = 10003; + this.uninstallButton.TabIndex = 10001; this.uninstallButton.Text = "Uninstall"; this.uninstallButton.UseVisualStyleBackColor = true; this.uninstallButton.Click += new System.EventHandler(this.OnUninstall); @@ -298,14 +300,14 @@ namespace CreamInstaller // // sortCheckBox // - this.sortCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.sortCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.sortCheckBox.AutoSize = true; this.sortCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System; this.sortCheckBox.Location = new System.Drawing.Point(120, 328); this.sortCheckBox.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.sortCheckBox.Name = "sortCheckBox"; this.sortCheckBox.Size = new System.Drawing.Size(104, 20); - this.sortCheckBox.TabIndex = 10001; + this.sortCheckBox.TabIndex = 10003; this.sortCheckBox.Text = "Sort By Name"; this.sortCheckBox.CheckedChanged += new System.EventHandler(this.OnSortCheckBoxChanged); // @@ -316,11 +318,10 @@ namespace CreamInstaller this.saveButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.saveButton.Enabled = false; this.saveButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.saveButton.Location = new System.Drawing.Point(376, 295); + this.saveButton.Location = new System.Drawing.Point(424, 295); this.saveButton.Name = "saveButton"; - this.saveButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.saveButton.Size = new System.Drawing.Size(94, 24); - this.saveButton.TabIndex = 10005; + this.saveButton.Size = new System.Drawing.Size(70, 24); + this.saveButton.TabIndex = 10006; this.saveButton.Text = "Save DLC"; this.saveButton.UseVisualStyleBackColor = true; this.saveButton.Click += new System.EventHandler(this.OnSaveDlc); @@ -332,11 +333,10 @@ namespace CreamInstaller this.loadButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.loadButton.Enabled = false; this.loadButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.loadButton.Location = new System.Drawing.Point(476, 295); + this.loadButton.Location = new System.Drawing.Point(500, 295); this.loadButton.Name = "loadButton"; - this.loadButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.loadButton.Size = new System.Drawing.Size(96, 24); - this.loadButton.TabIndex = 10006; + this.loadButton.Size = new System.Drawing.Size(72, 24); + this.loadButton.TabIndex = 10005; this.loadButton.Text = "Load DLC"; this.loadButton.UseVisualStyleBackColor = true; this.loadButton.Click += new System.EventHandler(this.OnLoadDlc); @@ -350,9 +350,8 @@ namespace CreamInstaller this.resetKoaloaderButton.FlatStyle = System.Windows.Forms.FlatStyle.System; this.resetKoaloaderButton.Location = new System.Drawing.Point(12, 295); this.resetKoaloaderButton.Name = "resetKoaloaderButton"; - this.resetKoaloaderButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.resetKoaloaderButton.Size = new System.Drawing.Size(129, 24); - this.resetKoaloaderButton.TabIndex = 10007; + this.resetKoaloaderButton.Size = new System.Drawing.Size(105, 24); + this.resetKoaloaderButton.TabIndex = 10010; this.resetKoaloaderButton.Text = "Reset Koaloader"; this.resetKoaloaderButton.UseVisualStyleBackColor = true; this.resetKoaloaderButton.Click += new System.EventHandler(this.OnResetKoaloader); @@ -364,15 +363,44 @@ namespace CreamInstaller this.resetButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.resetButton.Enabled = false; this.resetButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.resetButton.Location = new System.Drawing.Point(272, 295); + this.resetButton.Location = new System.Drawing.Point(344, 295); this.resetButton.Name = "resetButton"; - this.resetButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.resetButton.Size = new System.Drawing.Size(98, 24); - this.resetButton.TabIndex = 10008; + this.resetButton.Size = new System.Drawing.Size(74, 24); + this.resetButton.TabIndex = 10007; this.resetButton.Text = "Reset DLC"; this.resetButton.UseVisualStyleBackColor = true; this.resetButton.Click += new System.EventHandler(this.OnResetDlc); // + // saveKoaloaderButton + // + this.saveKoaloaderButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.saveKoaloaderButton.AutoSize = true; + this.saveKoaloaderButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.saveKoaloaderButton.Enabled = false; + this.saveKoaloaderButton.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.saveKoaloaderButton.Location = new System.Drawing.Point(123, 295); + this.saveKoaloaderButton.Name = "saveKoaloaderButton"; + this.saveKoaloaderButton.Size = new System.Drawing.Size(101, 24); + this.saveKoaloaderButton.TabIndex = 10009; + this.saveKoaloaderButton.Text = "Save Koaloader"; + this.saveKoaloaderButton.UseVisualStyleBackColor = true; + this.saveKoaloaderButton.Click += new System.EventHandler(this.OnSaveKoaloader); + // + // loadKoaloaderButton + // + this.loadKoaloaderButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.loadKoaloaderButton.AutoSize = true; + this.loadKoaloaderButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.loadKoaloaderButton.Enabled = false; + this.loadKoaloaderButton.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.loadKoaloaderButton.Location = new System.Drawing.Point(230, 295); + this.loadKoaloaderButton.Name = "loadKoaloaderButton"; + this.loadKoaloaderButton.Size = new System.Drawing.Size(103, 24); + this.loadKoaloaderButton.TabIndex = 10008; + this.loadKoaloaderButton.Text = "Load Koaloader"; + this.loadKoaloaderButton.UseVisualStyleBackColor = true; + this.loadKoaloaderButton.Click += new System.EventHandler(this.OnLoadKoaloader); + // // SelectForm // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); @@ -380,6 +408,8 @@ namespace CreamInstaller this.AutoSize = true; this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.ClientSize = new System.Drawing.Size(584, 361); + this.Controls.Add(this.loadKoaloaderButton); + this.Controls.Add(this.saveKoaloaderButton); this.Controls.Add(this.resetButton); this.Controls.Add(this.resetKoaloaderButton); this.Controls.Add(this.loadButton); @@ -437,6 +467,8 @@ namespace CreamInstaller private Button loadButton; private Button resetKoaloaderButton; private Button resetButton; + private Button saveKoaloaderButton; + private Button loadKoaloaderButton; } } diff --git a/CreamInstaller/Forms/SelectForm.cs b/CreamInstaller/Forms/SelectForm.cs index 6614334..8011511 100644 --- a/CreamInstaller/Forms/SelectForm.cs +++ b/CreamInstaller/Forms/SelectForm.cs @@ -22,6 +22,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using static CreamInstaller.Resources.Resources; +using static System.ComponentModel.Design.ObjectSelectorEditor; namespace CreamInstaller; @@ -465,6 +466,8 @@ internal partial class SelectForm : CustomForm saveButton.Enabled = false; loadButton.Enabled = false; resetButton.Enabled = false; + saveKoaloaderButton.Enabled = false; + loadKoaloaderButton.Enabled = false; resetKoaloaderButton.Enabled = false; progressLabel.Text = "Waiting for user to select which programs/games to scan . . ."; ShowProgressBar(); @@ -541,8 +544,8 @@ internal partial class SelectForm : CustomForm await SteamCMD.Cleanup(); } - ProgramData.UpdateKoaloaderProxyChoices(initial: true); OnLoadDlc(null, null); + OnLoadKoaloader(null, null); HideProgressBar(); selectionTreeView.Enabled = ProgramSelection.All.Any(); @@ -552,8 +555,11 @@ internal partial class SelectForm : CustomForm installButton.Enabled = ProgramSelection.AllEnabled.Any(); uninstallButton.Enabled = installButton.Enabled; saveButton.Enabled = CanSaveDlc(); - loadButton.Enabled = ProgramData.ReadDlcChoices() is not null; + loadButton.Enabled = CanLoadDlc(); resetButton.Enabled = CanResetDlc(); + saveKoaloaderButton.Enabled = CanSaveKoaloader(); + loadKoaloaderButton.Enabled = CanLoadKoaloader(); + resetKoaloaderButton.Enabled = CanResetKoaloader(); cancelButton.Enabled = false; scanButton.Enabled = true; blockedGamesCheckBox.Enabled = true; @@ -903,6 +909,23 @@ internal partial class SelectForm : CustomForm allCheckBox.CheckedChanged += OnAllCheckBoxChanged; } + internal void OnKoaloaderAllCheckBoxChanged(object sender, EventArgs e) + { + bool shouldCheck = false; + foreach (ProgramSelection selection in ProgramSelection.AllSafe) + if (!selection.Koaloader) + { + shouldCheck = true; + break; + } + foreach (ProgramSelection selection in ProgramSelection.AllSafe) + selection.Koaloader = shouldCheck; + selectionTreeView.Invalidate(); + koaloaderAllCheckBox.CheckedChanged -= OnKoaloaderAllCheckBoxChanged; + koaloaderAllCheckBox.Checked = shouldCheck; + koaloaderAllCheckBox.CheckedChanged += OnKoaloaderAllCheckBoxChanged; + } + private bool AreSelectionsDefault() { foreach (TreeNode node in TreeNodes) @@ -926,10 +949,12 @@ internal partial class SelectForm : CustomForm } choices = choices.Distinct().ToList(); ProgramData.WriteDlcChoices(choices); - loadButton.Enabled = ProgramData.ReadDlcChoices() is not null; + loadButton.Enabled = CanLoadDlc(); saveButton.Enabled = CanSaveDlc(); } + private static bool CanLoadDlc() => ProgramData.ReadDlcChoices() is not null; + private void OnLoadDlc(object sender, EventArgs e) { List<(Platform platform, string gameId, string dlcId)> choices = ProgramData.ReadDlcChoices(); @@ -937,7 +962,7 @@ internal partial class SelectForm : CustomForm foreach (TreeNode node in TreeNodes) if (node.Parent is TreeNode parent && node.Tag is Platform platform) { - node.Checked = choices.Any(choice => choice.platform == platform && choice.gameId == parent.Name && choice.dlcId == node.Name) + node.Checked = choices.Any(c => c.platform == platform && c.gameId == parent.Name && c.dlcId == node.Name) ? node.Text == "Unknown" : node.Text != "Unknown"; OnTreeViewNodeCheckedChanged(null, new(node, TreeViewAction.ByMouse)); @@ -957,32 +982,87 @@ internal partial class SelectForm : CustomForm resetButton.Enabled = CanResetDlc(); } - internal CheckBox KoaloaderAllCheckBox() => koaloaderAllCheckBox; - internal void OnKoaloaderAllCheckBoxChanged(object sender, EventArgs e) + private static bool AreKoaloaderSelectionsDefault() { - bool shouldCheck = false; foreach (ProgramSelection selection in ProgramSelection.AllSafe) - if (!selection.Koaloader) - { - shouldCheck = true; - break; - } - foreach (ProgramSelection selection in ProgramSelection.AllSafe) - selection.Koaloader = shouldCheck; - selectionTreeView.Invalidate(); - koaloaderAllCheckBox.CheckedChanged -= OnKoaloaderAllCheckBoxChanged; - koaloaderAllCheckBox.Checked = shouldCheck; - koaloaderAllCheckBox.CheckedChanged += OnKoaloaderAllCheckBoxChanged; + if (!selection.Koaloader || selection.KoaloaderProxy is not null) + return false; + return true; } - private static bool CanResetKoaloader() => File.Exists(ProgramData.KoaloaderProxyChoicesPath); + private static bool CanSaveKoaloader() => ProgramData.ReadKoaloaderChoices() is not null || !AreKoaloaderSelectionsDefault(); - private void OnResetKoaloader(object sender, EventArgs e) => ProgramData.ResetKoaloaderProxyChoices(); + private void OnSaveKoaloader(object sender, EventArgs e) + { + List<(Platform platform, string id, string proxy, bool enabled)> choices = ProgramData.ReadKoaloaderChoices() ?? new(); + foreach (ProgramSelection selection in ProgramSelection.AllSafe) + { + _ = choices.RemoveAll(c => c.platform == selection.Platform && c.id == selection.Id); + if (selection.KoaloaderProxy is not null and not ProgramSelection.DefaultKoaloaderProxy || !selection.Koaloader) + choices.Add((selection.Platform, selection.Id, selection.KoaloaderProxy == ProgramSelection.DefaultKoaloaderProxy ? null : selection.KoaloaderProxy, selection.Koaloader)); + } + ProgramData.WriteKoaloaderProxyChoices(choices); + saveKoaloaderButton.Enabled = CanSaveKoaloader(); + loadKoaloaderButton.Enabled = CanLoadKoaloader(); + } - internal void OnKoaloaderProxiesChanged() + private static bool CanLoadKoaloader() => ProgramData.ReadKoaloaderChoices() is not null; + + private void OnLoadKoaloader(object sender, EventArgs e) + { + List<(Platform platform, string id, string proxy, bool enabled)> choices = ProgramData.ReadKoaloaderChoices(); + if (choices is null) return; + foreach (ProgramSelection selection in ProgramSelection.AllSafe) + { + if (choices.Any(c => c.platform == selection.Platform && c.id == selection.Id)) + { + (Platform platform, string id, string proxy, bool enabled) choice = + choices.First(c => c.platform == selection.Platform && c.id == selection.Id); + (Platform platform, string id, string proxy, bool enabled) = choice; + string currentProxy = proxy; + if (proxy is not null && proxy.Contains('.')) // convert pre-v4.1.0.0 choices + proxy.GetProxyInfoFromIdentifier(out currentProxy, out _); + if (proxy != currentProxy && choices.Remove(choice)) // convert pre-v4.1.0.0 choices + choices.Add((platform, id, currentProxy, enabled)); + if (currentProxy is null or ProgramSelection.DefaultKoaloaderProxy && enabled) + _ = choices.RemoveAll(c => c.platform == platform && c.id == id); + else + { + selection.Koaloader = enabled; + selection.KoaloaderProxy = currentProxy == ProgramSelection.DefaultKoaloaderProxy ? currentProxy : proxy; + } + } + else + { + selection.Koaloader = true; + selection.KoaloaderProxy = null; + } + } + ProgramData.WriteKoaloaderProxyChoices(choices); + loadKoaloaderButton.Enabled = CanLoadKoaloader(); + OnKoaloaderChanged(); + } + + private static bool CanResetKoaloader() => !AreKoaloaderSelectionsDefault(); + + private void OnResetKoaloader(object sender, EventArgs e) + { + foreach (ProgramSelection selection in ProgramSelection.AllSafe) + { + selection.Koaloader = true; + selection.KoaloaderProxy = null; + } + OnKoaloaderChanged(); + } + + internal void OnKoaloaderChanged() { selectionTreeView.Invalidate(); + saveKoaloaderButton.Enabled = CanSaveKoaloader(); resetKoaloaderButton.Enabled = CanResetKoaloader(); + koaloaderAllCheckBox.CheckedChanged -= OnKoaloaderAllCheckBoxChanged; + koaloaderAllCheckBox.Checked = ProgramSelection.AllSafe.TrueForAll(selection => selection.Koaloader); + koaloaderAllCheckBox.CheckedChanged += OnKoaloaderAllCheckBoxChanged; } private void OnBlockProtectedGamesCheckBoxChanged(object sender, EventArgs e) diff --git a/CreamInstaller/Utility/ProgramData.cs b/CreamInstaller/Utility/ProgramData.cs index 482ee25..0b2a159 100644 --- a/CreamInstaller/Utility/ProgramData.cs +++ b/CreamInstaller/Utility/ProgramData.cs @@ -1,6 +1,4 @@ -using CreamInstaller.Resources; - -using Newtonsoft.Json; +using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -8,7 +6,6 @@ using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; -using System.Windows.Forms; namespace CreamInstaller.Utility; @@ -137,13 +134,13 @@ internal static class ProgramData catch { } } - internal static List<(Platform platform, string id, string proxy)> ReadKoaloaderProxyChoices() + internal static List<(Platform platform, string id, string proxy, bool enabled)> ReadKoaloaderChoices() { if (!File.Exists(KoaloaderProxyChoicesPath)) return null; try { return JsonConvert.DeserializeObject(File.ReadAllText(KoaloaderProxyChoicesPath), - typeof(List<(Platform platform, string id, string proxy)>)) as List<(Platform platform, string id, string proxy)>; + typeof(List<(Platform platform, string id, string proxy, bool enabled)>)) as List<(Platform platform, string id, string proxy, bool enabled)>; } catch { @@ -151,7 +148,7 @@ internal static class ProgramData } } - internal static void WriteKoaloaderProxyChoices(List<(Platform platform, string id, string proxy)> choices) + internal static void WriteKoaloaderProxyChoices(List<(Platform platform, string id, string proxy, bool enabled)> choices) { try { @@ -162,39 +159,4 @@ internal static class ProgramData } catch { } } - - internal static void UpdateKoaloaderProxyChoices(bool initial = false) - { - List<(Platform platform, string id, string proxy)> choices = ReadKoaloaderProxyChoices() ?? new(); - if (!initial) - foreach (ProgramSelection selection in ProgramSelection.AllSafe) - { - _ = choices.RemoveAll(c => c.platform == selection.Platform && c.id == selection.Id); - if (selection.KoaloaderProxy is not null and not ProgramSelection.DefaultKoaloaderProxy) - choices.Add((selection.Platform, selection.Id, selection.KoaloaderProxy)); - } - foreach ((Platform platform, string id, string proxy) choice in choices.ToList()) - { - string proxy = choice.proxy; - if (proxy is not null && proxy.Contains('.')) // convert pre-v4.1.0.0 choices - proxy.GetProxyInfoFromIdentifier(out proxy, out _); - if (choice.proxy != proxy && choices.Remove(choice)) // convert pre-v4.1.0.0 choices - choices.Add((choice.platform, choice.id, proxy)); - if (proxy is null or ProgramSelection.DefaultKoaloaderProxy) - _ = choices.RemoveAll(c => c.platform == choice.platform && c.id == choice.id); - else if (ProgramSelection.FromPlatformId(choice.platform, choice.id) is ProgramSelection selection) - selection.KoaloaderProxy = proxy; - } - WriteKoaloaderProxyChoices(choices); - foreach (Form form in Application.OpenForms) - if (form is SelectForm selectForm) - selectForm.OnKoaloaderProxiesChanged(); - } - - internal static void ResetKoaloaderProxyChoices() - { - foreach (ProgramSelection selection in ProgramSelection.AllSafe) - selection.KoaloaderProxy = null; - UpdateKoaloaderProxyChoices(); - } } diff --git a/preview.png b/preview.png index ff44cc1bb804c38d1263761869e01420f101196a..c635c38c41e9306cd21e527c9c1535ac6380a94e 100644 GIT binary patch literal 43324 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 NzG-y>Z+iFl{{kN-om~I` literal 43076 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 yV2f_p3X;xOG^t|u_T7! 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 MuIZgJo%=8T1?+akoB#j-