v3.6.1.1
- Fixed pre-scan dialog "Sort By Name" function - Added the "Sort By Name" function to the main selection form - Small rearrangements and resizes in the main selection form - More minor refactoring
This commit is contained in:
parent
5f3329305c
commit
87fa2fef31
12 changed files with 90 additions and 50 deletions
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
@ -19,7 +18,7 @@ internal class CustomTreeView : TreeView
|
|||
{
|
||||
DrawMode = TreeViewDrawMode.OwnerDrawAll;
|
||||
DrawNode += new DrawTreeNodeEventHandler(DrawTreeNode);
|
||||
TreeViewNodeSorter = PlatformIdComparer.TreeNodes;
|
||||
TreeViewNodeSorter = PlatformIdComparer.NodeName;
|
||||
}
|
||||
|
||||
private void DrawTreeNode(object sender, DrawTreeNodeEventArgs e)
|
||||
|
|
|
@ -7,14 +7,20 @@ namespace CreamInstaller.Components;
|
|||
|
||||
internal static class PlatformIdComparer
|
||||
{
|
||||
private static PlatformIdStringComparer stringComparer;
|
||||
internal static PlatformIdStringComparer Strings => stringComparer ??= new();
|
||||
private static StringComparer stringComparer;
|
||||
internal static StringComparer String => stringComparer ??= new();
|
||||
|
||||
private static PlatformIdNodeComparer nodeComparer;
|
||||
internal static PlatformIdNodeComparer TreeNodes => nodeComparer ??= new();
|
||||
private static NodeComparer nodeComparer;
|
||||
internal static NodeComparer Node => nodeComparer ??= new();
|
||||
|
||||
private static NodeNameComparer nodeNameComparer;
|
||||
internal static NodeNameComparer NodeName => nodeNameComparer ??= new();
|
||||
|
||||
private static NodeTextComparer nodeTextComparer;
|
||||
internal static NodeTextComparer NodeText => nodeTextComparer ??= new();
|
||||
}
|
||||
|
||||
internal class PlatformIdStringComparer : IComparer<string>
|
||||
internal class StringComparer : IComparer<string>
|
||||
{
|
||||
public int Compare(string a, string b) =>
|
||||
!int.TryParse(a, out _) && !int.TryParse(b, out _) ? string.Compare(a, b, StringComparison.Ordinal)
|
||||
|
@ -22,12 +28,25 @@ internal class PlatformIdStringComparer : IComparer<string>
|
|||
: A > B ? 1 : A < B ? -1 : 0;
|
||||
}
|
||||
|
||||
internal class PlatformIdNodeComparer : IComparer
|
||||
internal class NodeComparer : IComparer<TreeNode>
|
||||
{
|
||||
public int Compare(TreeNode a, TreeNode b) =>
|
||||
a.Tag is not Platform A ? 1 : b.Tag is not Platform B ? -1
|
||||
: A > B ? 1 : A < B ? -1 : 0;
|
||||
}
|
||||
|
||||
internal class NodeNameComparer : IComparer
|
||||
{
|
||||
public int Compare(object a, object b) =>
|
||||
a is not TreeNode A ? 1 : b is not TreeNode B ? -1
|
||||
: A.Tag is not Platform pA ? 1 : B.Tag is not Platform pB ? -1
|
||||
: pA > pB ? 1 : pA < pB ? -1
|
||||
: PlatformIdComparer.Strings.Compare(A.Name, B.Name);
|
||||
|
||||
: PlatformIdComparer.Node.Compare(A, B) is int c && c != 0 ? c
|
||||
: PlatformIdComparer.String.Compare(A.Name, B.Name);
|
||||
}
|
||||
|
||||
internal class NodeTextComparer : IComparer
|
||||
{
|
||||
public int Compare(object a, object b) =>
|
||||
a is not TreeNode A ? 1 : b is not TreeNode B ? -1
|
||||
: PlatformIdComparer.Node.Compare(A, B) is int c && c != 0 ? c
|
||||
: PlatformIdComparer.String.Compare(A.Text, B.Text);
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
<UseWindowsForms>True</UseWindowsForms>
|
||||
<ApplicationIcon>Resources\ini.ico</ApplicationIcon>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<Version>3.6.1.0</Version>
|
||||
<Version>3.6.1.1</Version>
|
||||
<PackageIcon>Resources\ini.ico</PackageIcon>
|
||||
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
||||
<Copyright>2021, pointfeev (https://github.com/pointfeev)</Copyright>
|
||||
|
|
|
@ -2,17 +2,12 @@
|
|||
using CreamInstaller.Utility;
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using Windows.Foundation.Metadata;
|
||||
|
||||
using static CreamInstaller.Components.CustomTreeView;
|
||||
|
||||
namespace CreamInstaller;
|
||||
|
||||
internal partial class SelectDialogForm : CustomForm
|
||||
|
@ -77,7 +72,8 @@ internal partial class SelectDialogForm : CustomForm
|
|||
? Program.ApplicationNameShort
|
||||
: Program.ApplicationName;
|
||||
|
||||
private void OnSortCheckBoxChanged(object sender, EventArgs e) => selectionTreeView.TreeViewNodeSorter = PlatformIdComparer.TreeNodes;
|
||||
private void OnSortCheckBoxChanged(object sender, EventArgs e) => selectionTreeView.TreeViewNodeSorter
|
||||
= sortCheckBox.Checked ? PlatformIdComparer.NodeText : PlatformIdComparer.NodeName;
|
||||
|
||||
private void OnAllCheckBoxChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
|
61
CreamInstaller/Forms/SelectForm.Designer.cs
generated
61
CreamInstaller/Forms/SelectForm.Designer.cs
generated
|
@ -48,6 +48,7 @@ namespace CreamInstaller
|
|||
this.uninstallButton = new System.Windows.Forms.Button();
|
||||
this.progressLabelGames = new System.Windows.Forms.Label();
|
||||
this.progressLabelDLCs = new System.Windows.Forms.Label();
|
||||
this.sortCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.flowLayoutPanel2.SuspendLayout();
|
||||
|
@ -56,11 +57,14 @@ namespace CreamInstaller
|
|||
// installButton
|
||||
//
|
||||
this.installButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.installButton.AutoSize = true;
|
||||
this.installButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.installButton.Enabled = false;
|
||||
this.installButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.installButton.Location = new System.Drawing.Point(422, 326);
|
||||
this.installButton.Location = new System.Drawing.Point(420, 325);
|
||||
this.installButton.Name = "installButton";
|
||||
this.installButton.Size = new System.Drawing.Size(150, 23);
|
||||
this.installButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0);
|
||||
this.installButton.Size = new System.Drawing.Size(149, 24);
|
||||
this.installButton.TabIndex = 10003;
|
||||
this.installButton.Text = "Generate and Install";
|
||||
this.installButton.UseVisualStyleBackColor = true;
|
||||
|
@ -69,10 +73,13 @@ namespace CreamInstaller
|
|||
// cancelButton
|
||||
//
|
||||
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.cancelButton.AutoSize = true;
|
||||
this.cancelButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.cancelButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.cancelButton.Location = new System.Drawing.Point(12, 326);
|
||||
this.cancelButton.Location = new System.Drawing.Point(12, 325);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.Size = new System.Drawing.Size(75, 23);
|
||||
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.Text = "Cancel";
|
||||
this.cancelButton.UseVisualStyleBackColor = true;
|
||||
|
@ -97,7 +104,7 @@ namespace CreamInstaller
|
|||
this.groupBox1.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(560, 240);
|
||||
this.groupBox1.Size = new System.Drawing.Size(560, 239);
|
||||
this.groupBox1.TabIndex = 8;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Programs / Games";
|
||||
|
@ -107,7 +114,7 @@ namespace CreamInstaller
|
|||
this.noneFoundLabel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.noneFoundLabel.Location = new System.Drawing.Point(3, 19);
|
||||
this.noneFoundLabel.Name = "noneFoundLabel";
|
||||
this.noneFoundLabel.Size = new System.Drawing.Size(554, 218);
|
||||
this.noneFoundLabel.Size = new System.Drawing.Size(554, 217);
|
||||
this.noneFoundLabel.TabIndex = 1002;
|
||||
this.noneFoundLabel.Text = "No applicable programs nor games were found on your computer!";
|
||||
this.noneFoundLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
|
@ -167,7 +174,7 @@ namespace CreamInstaller
|
|||
this.selectionTreeView.FullRowSelect = true;
|
||||
this.selectionTreeView.Location = new System.Drawing.Point(3, 19);
|
||||
this.selectionTreeView.Name = "selectionTreeView";
|
||||
this.selectionTreeView.Size = new System.Drawing.Size(554, 218);
|
||||
this.selectionTreeView.Size = new System.Drawing.Size(554, 217);
|
||||
this.selectionTreeView.Sorted = true;
|
||||
this.selectionTreeView.TabIndex = 1001;
|
||||
//
|
||||
|
@ -202,7 +209,7 @@ namespace CreamInstaller
|
|||
//
|
||||
this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.progressBar.Location = new System.Drawing.Point(12, 297);
|
||||
this.progressBar.Location = new System.Drawing.Point(12, 296);
|
||||
this.progressBar.Name = "progressBar";
|
||||
this.progressBar.Size = new System.Drawing.Size(560, 23);
|
||||
this.progressBar.TabIndex = 9;
|
||||
|
@ -211,7 +218,7 @@ namespace CreamInstaller
|
|||
//
|
||||
this.progressLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.progressLabel.Location = new System.Drawing.Point(12, 255);
|
||||
this.progressLabel.Location = new System.Drawing.Point(12, 254);
|
||||
this.progressLabel.Name = "progressLabel";
|
||||
this.progressLabel.Size = new System.Drawing.Size(560, 15);
|
||||
this.progressLabel.TabIndex = 10;
|
||||
|
@ -220,24 +227,30 @@ namespace CreamInstaller
|
|||
// scanButton
|
||||
//
|
||||
this.scanButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.scanButton.AutoSize = true;
|
||||
this.scanButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.scanButton.Enabled = false;
|
||||
this.scanButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.scanButton.Location = new System.Drawing.Point(140, 326);
|
||||
this.scanButton.Location = new System.Drawing.Point(235, 325);
|
||||
this.scanButton.Name = "scanButton";
|
||||
this.scanButton.Size = new System.Drawing.Size(180, 23);
|
||||
this.scanButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0);
|
||||
this.scanButton.Size = new System.Drawing.Size(82, 24);
|
||||
this.scanButton.TabIndex = 10001;
|
||||
this.scanButton.Text = "Rescan Programs / Games";
|
||||
this.scanButton.Text = "Rescan";
|
||||
this.scanButton.UseVisualStyleBackColor = true;
|
||||
this.scanButton.Click += new System.EventHandler(this.OnScan);
|
||||
//
|
||||
// uninstallButton
|
||||
//
|
||||
this.uninstallButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.uninstallButton.AutoSize = true;
|
||||
this.uninstallButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.uninstallButton.Enabled = false;
|
||||
this.uninstallButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.uninstallButton.Location = new System.Drawing.Point(326, 326);
|
||||
this.uninstallButton.Location = new System.Drawing.Point(323, 325);
|
||||
this.uninstallButton.Name = "uninstallButton";
|
||||
this.uninstallButton.Size = new System.Drawing.Size(90, 23);
|
||||
this.uninstallButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0);
|
||||
this.uninstallButton.Size = new System.Drawing.Size(91, 24);
|
||||
this.uninstallButton.TabIndex = 10002;
|
||||
this.uninstallButton.Text = "Uninstall";
|
||||
this.uninstallButton.UseVisualStyleBackColor = true;
|
||||
|
@ -248,7 +261,7 @@ namespace CreamInstaller
|
|||
this.progressLabelGames.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.progressLabelGames.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.progressLabelGames.Location = new System.Drawing.Point(12, 270);
|
||||
this.progressLabelGames.Location = new System.Drawing.Point(12, 269);
|
||||
this.progressLabelGames.Name = "progressLabelGames";
|
||||
this.progressLabelGames.Size = new System.Drawing.Size(560, 12);
|
||||
this.progressLabelGames.TabIndex = 11;
|
||||
|
@ -259,12 +272,25 @@ namespace CreamInstaller
|
|||
this.progressLabelDLCs.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.progressLabelDLCs.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.progressLabelDLCs.Location = new System.Drawing.Point(12, 282);
|
||||
this.progressLabelDLCs.Location = new System.Drawing.Point(12, 281);
|
||||
this.progressLabelDLCs.Name = "progressLabelDLCs";
|
||||
this.progressLabelDLCs.Size = new System.Drawing.Size(560, 12);
|
||||
this.progressLabelDLCs.TabIndex = 10004;
|
||||
this.progressLabelDLCs.Text = "Remaining DLC (2): 123456, 654321";
|
||||
//
|
||||
// sortCheckBox
|
||||
//
|
||||
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 = 1;
|
||||
this.sortCheckBox.Text = "Sort By Name";
|
||||
this.sortCheckBox.CheckedChanged += new System.EventHandler(this.OnSortCheckBoxChanged);
|
||||
//
|
||||
// SelectForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
|
@ -272,6 +298,7 @@ namespace CreamInstaller
|
|||
this.AutoSize = true;
|
||||
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.ClientSize = new System.Drawing.Size(584, 361);
|
||||
this.Controls.Add(this.sortCheckBox);
|
||||
this.Controls.Add(this.progressLabelDLCs);
|
||||
this.Controls.Add(this.progressLabelGames);
|
||||
this.Controls.Add(this.uninstallButton);
|
||||
|
@ -296,6 +323,7 @@ namespace CreamInstaller
|
|||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.flowLayoutPanel2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
@ -318,6 +346,7 @@ namespace CreamInstaller
|
|||
private Button uninstallButton;
|
||||
private Label progressLabelGames;
|
||||
private Label progressLabelDLCs;
|
||||
private CheckBox sortCheckBox;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,8 +21,6 @@ using System.Threading;
|
|||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using Windows.Foundation.Metadata;
|
||||
|
||||
namespace CreamInstaller;
|
||||
|
||||
internal partial class SelectForm : CustomForm
|
||||
|
@ -640,7 +638,7 @@ internal partial class SelectForm : CustomForm
|
|||
TreeNode node = e.Node;
|
||||
if (node is null || !node.Bounds.Contains(e.Location) || e.Button != MouseButtons.Right || e.Clicks != 1)
|
||||
return;
|
||||
ContextMenuStrip contextMenuStrip = new();
|
||||
using ContextMenuStrip contextMenuStrip = new();
|
||||
selectionTreeView.SelectedNode = node;
|
||||
string id = node.Name;
|
||||
Platform platform = (Platform)node.Tag;
|
||||
|
@ -876,6 +874,9 @@ internal partial class SelectForm : CustomForm
|
|||
"\n\nBlocked game sub-directory exceptions (not blocked):" + blockedDirectoryExceptions,
|
||||
"OK", customFormText: "Block Protected Games");
|
||||
}
|
||||
|
||||
private void OnSortCheckBoxChanged(object sender, EventArgs e) => selectionTreeView.TreeViewNodeSorter
|
||||
= sortCheckBox.Checked ? PlatformIdComparer.NodeText : PlatformIdComparer.NodeName;
|
||||
}
|
||||
|
||||
#pragma warning restore IDE0058
|
|
@ -1,7 +1,6 @@
|
|||
using CreamInstaller.Components;
|
||||
using CreamInstaller.Resources;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
@ -44,8 +43,8 @@ internal class ProgramSelection
|
|||
internal string RootDirectory;
|
||||
internal List<string> DllDirectories;
|
||||
|
||||
internal readonly SortedList<string, (DlcType type, string name, string icon)> AllDlc = new(PlatformIdComparer.Strings);
|
||||
internal readonly SortedList<string, (DlcType type, string name, string icon)> SelectedDlc = new(PlatformIdComparer.Strings);
|
||||
internal readonly SortedList<string, (DlcType type, string name, string icon)> AllDlc = new(PlatformIdComparer.String);
|
||||
internal readonly SortedList<string, (DlcType type, string name, string icon)> SelectedDlc = new(PlatformIdComparer.String);
|
||||
|
||||
internal readonly List<(string id, string name, SortedList<string, (DlcType type, string name, string icon)> dlc)> ExtraDlc = new(); // for Paradox Launcher
|
||||
internal readonly List<(string id, string name, SortedList<string, (DlcType type, string name, string icon)> dlc)> ExtraSelectedDlc = new(); // for Paradox Launcher
|
||||
|
|
|
@ -151,8 +151,8 @@ internal static class ScreamAPI
|
|||
File.Create(config).Close();
|
||||
StreamWriter writer = new(config, true, Encoding.UTF8);
|
||||
WriteConfig(writer,
|
||||
new(overrideCatalogItems.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.Strings),
|
||||
new(entitlements.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.Strings),
|
||||
new(overrideCatalogItems.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.String),
|
||||
new(entitlements.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.String),
|
||||
installForm);
|
||||
writer.Flush();
|
||||
writer.Close();
|
||||
|
|
|
@ -165,8 +165,8 @@ internal static class SmokeAPI
|
|||
File.Create(config).Close();
|
||||
StreamWriter writer = new(config, true, Encoding.UTF8);
|
||||
WriteConfig(writer,
|
||||
new(overrideDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.Strings),
|
||||
new(injectDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.Strings),
|
||||
new(overrideDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.String),
|
||||
new(injectDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.String),
|
||||
installForm);
|
||||
writer.Flush();
|
||||
writer.Close();
|
||||
|
|
|
@ -123,7 +123,7 @@ internal static class UplayR1
|
|||
installForm.UpdateUser("Generating Uplay R1 Unlocker configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", InstallationLog.Operation);
|
||||
File.Create(config).Close();
|
||||
StreamWriter writer = new(config, true, Encoding.UTF8);
|
||||
WriteConfig(writer, new(blacklistDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.Strings), installForm);
|
||||
WriteConfig(writer, new(blacklistDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.String), installForm);
|
||||
writer.Flush();
|
||||
writer.Close();
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ internal static class UplayR2
|
|||
installForm.UpdateUser("Generating Uplay R2 Unlocker configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", InstallationLog.Operation);
|
||||
File.Create(config).Close();
|
||||
StreamWriter writer = new(config, true, Encoding.UTF8);
|
||||
WriteConfig(writer, new(blacklistDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.Strings), installForm);
|
||||
WriteConfig(writer, new(blacklistDlc.ToDictionary(pair => pair.Key, pair => pair.Value), PlatformIdComparer.String), installForm);
|
||||
writer.Flush();
|
||||
writer.Close();
|
||||
}
|
||||
|
|
|
@ -3,10 +3,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
|
Loading…
Reference in a new issue