diff --git a/CreamInstaller/Components/CustomTreeView.cs b/CreamInstaller/Components/CustomTreeView.cs index d21b564..1adff2c 100644 --- a/CreamInstaller/Components/CustomTreeView.cs +++ b/CreamInstaller/Components/CustomTreeView.cs @@ -89,8 +89,8 @@ internal sealed class CustomTreeView : TreeView string text; if (dlcType is not DLCType.None) { - SelectionDLC dlc = SelectionDLC.FromTypeId(dlcType, id); - text = dlc is not null ? dlc.Selection.Platform.ToString() : dlcType.ToString(); + SelectionDLC dlc = SelectionDLC.FromId(dlcType, node.Parent?.Name, id); + text = dlc?.Selection != null ? dlc.Selection.Platform.ToString() : dlcType.ToString(); } else text = platform.ToString(); @@ -118,7 +118,7 @@ internal sealed class CustomTreeView : TreeView } if (form is SelectForm) { - Selection selection = Selection.FromPlatformId(platform, id); + Selection selection = Selection.FromId(platform, id); if (selection is not null) { if (bounds == node.Bounds) diff --git a/CreamInstaller/CreamInstaller.csproj b/CreamInstaller/CreamInstaller.csproj index 0ba00fc..c1bf096 100644 --- a/CreamInstaller/CreamInstaller.csproj +++ b/CreamInstaller/CreamInstaller.csproj @@ -4,7 +4,7 @@ net7.0-windows True Resources\ini.ico - 4.9.6 + 4.9.7 2021, pointfeev (https://github.com/pointfeev) CreamInstaller Automatic DLC Unlocker Installer & Configuration Generator diff --git a/CreamInstaller/Forms/DebugForm.Designer.cs b/CreamInstaller/Forms/DebugForm.Designer.cs index 3e54019..871537c 100644 --- a/CreamInstaller/Forms/DebugForm.Designer.cs +++ b/CreamInstaller/Forms/DebugForm.Designer.cs @@ -31,39 +31,38 @@ partial class DebugForm /// private void InitializeComponent() { - this.debugTextBox = new System.Windows.Forms.RichTextBox(); - this.SuspendLayout(); - // - // debugTextBox - // - this.debugTextBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.debugTextBox.Location = new System.Drawing.Point(10, 10); - this.debugTextBox.Name = "debugTextBox"; - this.debugTextBox.ReadOnly = true; - this.debugTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedBoth; - this.debugTextBox.Size = new System.Drawing.Size(544, 321); - this.debugTextBox.TabIndex = 0; - this.debugTextBox.TabStop = false; - this.debugTextBox.Text = ""; - // - // DebugForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(564, 341); - this.ControlBox = false; - this.Controls.Add(this.debugTextBox); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "DebugForm"; - this.Padding = new System.Windows.Forms.Padding(10); - this.ShowIcon = false; - this.ShowInTaskbar = false; - this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; - this.Text = "Debug"; - this.ResumeLayout(false); - + debugTextBox = new RichTextBox(); + SuspendLayout(); + // + // debugTextBox + // + debugTextBox.Dock = DockStyle.Fill; + debugTextBox.Location = new System.Drawing.Point(10, 10); + debugTextBox.Name = "debugTextBox"; + debugTextBox.ReadOnly = true; + debugTextBox.ScrollBars = RichTextBoxScrollBars.ForcedBoth; + debugTextBox.Size = new System.Drawing.Size(540, 317); + debugTextBox.TabIndex = 0; + debugTextBox.TabStop = false; + debugTextBox.Text = ""; + // + // DebugForm + // + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new System.Drawing.Size(560, 337); + ControlBox = false; + Controls.Add(debugTextBox); + FormBorderStyle = FormBorderStyle.FixedSingle; + MaximizeBox = false; + MinimizeBox = false; + Name = "DebugForm"; + Padding = new Padding(10); + ShowIcon = false; + ShowInTaskbar = false; + StartPosition = FormStartPosition.Manual; + Text = "Debug"; + ResumeLayout(false); } #endregion diff --git a/CreamInstaller/Forms/DebugForm.cs b/CreamInstaller/Forms/DebugForm.cs index 6b0e2b3..c81c837 100644 --- a/CreamInstaller/Forms/DebugForm.cs +++ b/CreamInstaller/Forms/DebugForm.cs @@ -72,7 +72,7 @@ internal sealed partial class DebugForm : CustomForm internal void Log(string text, Color color) { if (!debugTextBox.Disposing && !debugTextBox.IsDisposed) - debugTextBox.Invoke(() => + Invoke(() => { if (debugTextBox.Text.Length > 0) debugTextBox.AppendText(Environment.NewLine, color, true); diff --git a/CreamInstaller/Forms/DebugForm.resx b/CreamInstaller/Forms/DebugForm.resx index 8d05001..49ea9be 100644 --- a/CreamInstaller/Forms/DebugForm.resx +++ b/CreamInstaller/Forms/DebugForm.resx @@ -1,4 +1,64 @@ - + + + diff --git a/CreamInstaller/Forms/DialogForm.Designer.cs b/CreamInstaller/Forms/DialogForm.Designer.cs index 274ce1f..64cd5ac 100644 --- a/CreamInstaller/Forms/DialogForm.Designer.cs +++ b/CreamInstaller/Forms/DialogForm.Designer.cs @@ -21,141 +21,137 @@ namespace CreamInstaller.Forms /// private void InitializeComponent() { - this.cancelButton = new System.Windows.Forms.Button(); - this.acceptButton = new System.Windows.Forms.Button(); - this.descriptionLabel = new System.Windows.Forms.LinkLabel(); - this.icon = new System.Windows.Forms.PictureBox(); - this.descriptionPanel = new System.Windows.Forms.FlowLayoutPanel(); - this.descriptionLabelPanel = new System.Windows.Forms.FlowLayoutPanel(); - this.buttonPanel = new System.Windows.Forms.FlowLayoutPanel(); - ((System.ComponentModel.ISupportInitialize)(this.icon)).BeginInit(); - this.descriptionPanel.SuspendLayout(); - this.descriptionLabelPanel.SuspendLayout(); - this.buttonPanel.SuspendLayout(); - this.SuspendLayout(); + cancelButton = new Button(); + acceptButton = new Button(); + descriptionLabel = new LinkLabel(); + icon = new PictureBox(); + descriptionPanel = new FlowLayoutPanel(); + descriptionLabelPanel = new FlowLayoutPanel(); + buttonPanel = new FlowLayoutPanel(); + ((ISupportInitialize)icon).BeginInit(); + descriptionPanel.SuspendLayout(); + descriptionLabelPanel.SuspendLayout(); + buttonPanel.SuspendLayout(); + SuspendLayout(); // // 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.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.cancelButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.cancelButton.Location = new System.Drawing.Point(132, 9); - this.cancelButton.Name = "cancelButton"; - this.cancelButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.cancelButton.Size = new System.Drawing.Size(115, 24); - this.cancelButton.TabIndex = 1; - this.cancelButton.Text = "cancelButton"; - this.cancelButton.UseVisualStyleBackColor = true; + cancelButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + cancelButton.AutoSize = true; + cancelButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + cancelButton.DialogResult = DialogResult.Cancel; + cancelButton.Location = new System.Drawing.Point(136, 10); + cancelButton.Name = "cancelButton"; + cancelButton.Padding = new Padding(12, 0, 12, 0); + cancelButton.Size = new System.Drawing.Size(115, 24); + cancelButton.TabIndex = 1; + cancelButton.Text = "cancelButton"; + cancelButton.UseVisualStyleBackColor = true; // // acceptButton // - this.acceptButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.acceptButton.AutoSize = true; - this.acceptButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.acceptButton.DialogResult = System.Windows.Forms.DialogResult.OK; - this.acceptButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.acceptButton.Location = new System.Drawing.Point(253, 9); - this.acceptButton.Name = "acceptButton"; - this.acceptButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.acceptButton.Size = new System.Drawing.Size(116, 24); - this.acceptButton.TabIndex = 0; - this.acceptButton.Text = "acceptButton"; - this.acceptButton.UseVisualStyleBackColor = true; + acceptButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + acceptButton.AutoSize = true; + acceptButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + acceptButton.DialogResult = DialogResult.OK; + acceptButton.Location = new System.Drawing.Point(257, 9); + acceptButton.Name = "acceptButton"; + acceptButton.Padding = new Padding(12, 0, 12, 0); + acceptButton.Size = new System.Drawing.Size(112, 25); + acceptButton.TabIndex = 0; + acceptButton.Text = "acceptButton"; + acceptButton.UseVisualStyleBackColor = true; // // descriptionLabel // - this.descriptionLabel.AutoSize = true; - this.descriptionLabel.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.descriptionLabel.LinkArea = new System.Windows.Forms.LinkArea(0, 0); - this.descriptionLabel.Location = new System.Drawing.Point(9, 0); - this.descriptionLabel.Margin = new System.Windows.Forms.Padding(9, 0, 3, 0); - this.descriptionLabel.Name = "descriptionLabel"; - this.descriptionLabel.Size = new System.Drawing.Size(94, 15); - this.descriptionLabel.TabIndex = 2; - this.descriptionLabel.Text = "descriptionLabel"; + descriptionLabel.AutoSize = true; + descriptionLabel.LinkArea = new LinkArea(0, 0); + descriptionLabel.Location = new System.Drawing.Point(9, 0); + descriptionLabel.Margin = new Padding(9, 0, 3, 0); + descriptionLabel.Name = "descriptionLabel"; + descriptionLabel.Size = new System.Drawing.Size(94, 15); + descriptionLabel.TabIndex = 2; + descriptionLabel.Text = "descriptionLabel"; // // icon // - this.icon.Location = new System.Drawing.Point(15, 15); - this.icon.Name = "icon"; - this.icon.Size = new System.Drawing.Size(48, 48); - this.icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.icon.TabIndex = 4; - this.icon.TabStop = false; + icon.Location = new System.Drawing.Point(15, 15); + icon.Name = "icon"; + icon.Size = new System.Drawing.Size(48, 48); + icon.SizeMode = PictureBoxSizeMode.AutoSize; + icon.TabIndex = 4; + icon.TabStop = false; // // descriptionPanel // - this.descriptionPanel.AutoSize = true; - this.descriptionPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.descriptionPanel.Controls.Add(this.icon); - this.descriptionPanel.Controls.Add(this.descriptionLabelPanel); - this.descriptionPanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.descriptionPanel.Location = new System.Drawing.Point(0, 0); - this.descriptionPanel.Margin = new System.Windows.Forms.Padding(0); - this.descriptionPanel.Name = "descriptionPanel"; - this.descriptionPanel.Padding = new System.Windows.Forms.Padding(12, 12, 12, 6); - this.descriptionPanel.Size = new System.Drawing.Size(384, 73); - this.descriptionPanel.TabIndex = 5; + descriptionPanel.AutoSize = true; + descriptionPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; + descriptionPanel.Controls.Add(icon); + descriptionPanel.Controls.Add(descriptionLabelPanel); + descriptionPanel.Dock = DockStyle.Fill; + descriptionPanel.Location = new System.Drawing.Point(0, 0); + descriptionPanel.Margin = new Padding(0); + descriptionPanel.Name = "descriptionPanel"; + descriptionPanel.Padding = new Padding(12, 12, 12, 6); + descriptionPanel.Size = new System.Drawing.Size(384, 72); + descriptionPanel.TabIndex = 5; // // descriptionLabelPanel // - this.descriptionLabelPanel.AutoScroll = true; - this.descriptionLabelPanel.AutoSize = true; - this.descriptionLabelPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.descriptionLabelPanel.Controls.Add(this.descriptionLabel); - this.descriptionLabelPanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.descriptionLabelPanel.Location = new System.Drawing.Point(66, 12); - this.descriptionLabelPanel.Margin = new System.Windows.Forms.Padding(0); - this.descriptionLabelPanel.Name = "descriptionLabelPanel"; - this.descriptionLabelPanel.Size = new System.Drawing.Size(106, 54); - this.descriptionLabelPanel.TabIndex = 6; + descriptionLabelPanel.AutoScroll = true; + descriptionLabelPanel.AutoSize = true; + descriptionLabelPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; + descriptionLabelPanel.Controls.Add(descriptionLabel); + descriptionLabelPanel.Dock = DockStyle.Fill; + descriptionLabelPanel.Location = new System.Drawing.Point(66, 12); + descriptionLabelPanel.Margin = new Padding(0); + descriptionLabelPanel.Name = "descriptionLabelPanel"; + descriptionLabelPanel.Size = new System.Drawing.Size(106, 54); + descriptionLabelPanel.TabIndex = 6; // // buttonPanel // - this.buttonPanel.AutoSize = true; - this.buttonPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.buttonPanel.Controls.Add(this.acceptButton); - this.buttonPanel.Controls.Add(this.cancelButton); - this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom; - this.buttonPanel.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.buttonPanel.Location = new System.Drawing.Point(0, 73); - this.buttonPanel.Name = "buttonPanel"; - this.buttonPanel.Padding = new System.Windows.Forms.Padding(12, 6, 0, 12); - this.buttonPanel.Size = new System.Drawing.Size(384, 48); - this.buttonPanel.TabIndex = 6; + buttonPanel.AutoSize = true; + buttonPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; + buttonPanel.Controls.Add(acceptButton); + buttonPanel.Controls.Add(cancelButton); + buttonPanel.Dock = DockStyle.Bottom; + buttonPanel.FlowDirection = FlowDirection.RightToLeft; + buttonPanel.Location = new System.Drawing.Point(0, 72); + buttonPanel.Name = "buttonPanel"; + buttonPanel.Padding = new Padding(12, 6, 0, 12); + buttonPanel.Size = new System.Drawing.Size(384, 49); + buttonPanel.TabIndex = 6; // // DialogForm // - this.AcceptButton = this.acceptButton; - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.AutoSize = true; - this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.CancelButton = this.cancelButton; - this.ClientSize = new System.Drawing.Size(384, 121); - this.Controls.Add(this.descriptionPanel); - this.Controls.Add(this.buttonPanel); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(1600, 900); - this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(400, 160); - this.Name = "DialogForm"; - this.ShowInTaskbar = false; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "DialogForm"; - ((System.ComponentModel.ISupportInitialize)(this.icon)).EndInit(); - this.descriptionPanel.ResumeLayout(false); - this.descriptionPanel.PerformLayout(); - this.descriptionLabelPanel.ResumeLayout(false); - this.descriptionLabelPanel.PerformLayout(); - this.buttonPanel.ResumeLayout(false); - this.buttonPanel.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - + AcceptButton = acceptButton; + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + AutoSize = true; + AutoSizeMode = AutoSizeMode.GrowAndShrink; + CancelButton = cancelButton; + ClientSize = new System.Drawing.Size(384, 121); + Controls.Add(descriptionPanel); + Controls.Add(buttonPanel); + FormBorderStyle = FormBorderStyle.FixedSingle; + MaximizeBox = false; + MaximumSize = new System.Drawing.Size(1600, 900); + MinimizeBox = false; + MinimumSize = new System.Drawing.Size(400, 160); + Name = "DialogForm"; + ShowInTaskbar = false; + StartPosition = FormStartPosition.CenterParent; + Text = "DialogForm"; + ((ISupportInitialize)icon).EndInit(); + descriptionPanel.ResumeLayout(false); + descriptionPanel.PerformLayout(); + descriptionLabelPanel.ResumeLayout(false); + descriptionLabelPanel.PerformLayout(); + buttonPanel.ResumeLayout(false); + buttonPanel.PerformLayout(); + ResumeLayout(false); + PerformLayout(); } #endregion diff --git a/CreamInstaller/Forms/DialogForm.resx b/CreamInstaller/Forms/DialogForm.resx index f298a7b..a395bff 100644 --- a/CreamInstaller/Forms/DialogForm.resx +++ b/CreamInstaller/Forms/DialogForm.resx @@ -1,4 +1,64 @@ - + + + diff --git a/CreamInstaller/Forms/InstallForm.Designer.cs b/CreamInstaller/Forms/InstallForm.Designer.cs index b98794f..e429ba9 100644 --- a/CreamInstaller/Forms/InstallForm.Designer.cs +++ b/CreamInstaller/Forms/InstallForm.Designer.cs @@ -21,125 +21,115 @@ namespace CreamInstaller.Forms /// private void InitializeComponent() { - this.userProgressBar = new System.Windows.Forms.ProgressBar(); - this.userInfoLabel = new System.Windows.Forms.Label(); - this.acceptButton = new System.Windows.Forms.Button(); - this.retryButton = new System.Windows.Forms.Button(); - this.cancelButton = new System.Windows.Forms.Button(); - this.logTextBox = new System.Windows.Forms.RichTextBox(); - this.reselectButton = new System.Windows.Forms.Button(); - this.SuspendLayout(); + userProgressBar = new ProgressBar(); + userInfoLabel = new Label(); + acceptButton = new Button(); + retryButton = new Button(); + cancelButton = new Button(); + logTextBox = new RichTextBox(); + reselectButton = new Button(); + SuspendLayout(); // // userProgressBar // - this.userProgressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.userProgressBar.Location = new System.Drawing.Point(12, 27); - this.userProgressBar.Name = "userProgressBar"; - this.userProgressBar.Size = new System.Drawing.Size(760, 23); - this.userProgressBar.TabIndex = 1; + userProgressBar.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + userProgressBar.Location = new System.Drawing.Point(12, 27); + userProgressBar.Name = "userProgressBar"; + userProgressBar.Size = new System.Drawing.Size(760, 23); + userProgressBar.TabIndex = 1; // // userInfoLabel // - this.userInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.userInfoLabel.AutoEllipsis = true; - this.userInfoLabel.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.userInfoLabel.Location = new System.Drawing.Point(12, 9); - this.userInfoLabel.Name = "userInfoLabel"; - this.userInfoLabel.Size = new System.Drawing.Size(760, 15); - this.userInfoLabel.TabIndex = 2; - this.userInfoLabel.Text = "Loading . . . "; + userInfoLabel.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + userInfoLabel.AutoEllipsis = true; + userInfoLabel.Location = new System.Drawing.Point(12, 9); + userInfoLabel.Name = "userInfoLabel"; + userInfoLabel.Size = new System.Drawing.Size(760, 15); + userInfoLabel.TabIndex = 2; + userInfoLabel.Text = "Loading . . . "; // // acceptButton // - this.acceptButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.acceptButton.Enabled = false; - this.acceptButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.acceptButton.Location = new System.Drawing.Point(697, 526); - this.acceptButton.Name = "acceptButton"; - this.acceptButton.Size = new System.Drawing.Size(75, 23); - this.acceptButton.TabIndex = 4; - this.acceptButton.Text = "OK"; - this.acceptButton.UseVisualStyleBackColor = true; - this.acceptButton.Click += new System.EventHandler(this.OnAccept); + acceptButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + acceptButton.Enabled = false; + acceptButton.Location = new System.Drawing.Point(697, 526); + acceptButton.Name = "acceptButton"; + acceptButton.Size = new System.Drawing.Size(75, 23); + acceptButton.TabIndex = 4; + acceptButton.Text = "OK"; + acceptButton.UseVisualStyleBackColor = true; + acceptButton.Click += OnAccept; // // retryButton // - this.retryButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.retryButton.Enabled = false; - this.retryButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.retryButton.Location = new System.Drawing.Point(616, 526); - this.retryButton.Name = "retryButton"; - this.retryButton.Size = new System.Drawing.Size(75, 23); - this.retryButton.TabIndex = 3; - this.retryButton.Text = "Retry"; - this.retryButton.UseVisualStyleBackColor = true; - this.retryButton.Click += new System.EventHandler(this.OnRetry); + retryButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + retryButton.Enabled = false; + retryButton.Location = new System.Drawing.Point(616, 526); + retryButton.Name = "retryButton"; + retryButton.Size = new System.Drawing.Size(75, 23); + retryButton.TabIndex = 3; + retryButton.Text = "Retry"; + retryButton.UseVisualStyleBackColor = true; + retryButton.Click += OnRetry; // // cancelButton // - this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.cancelButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.cancelButton.Location = new System.Drawing.Point(12, 526); - this.cancelButton.Name = "cancelButton"; - this.cancelButton.Size = new System.Drawing.Size(75, 23); - this.cancelButton.TabIndex = 1; - this.cancelButton.Text = "Cancel"; - this.cancelButton.UseVisualStyleBackColor = true; - this.cancelButton.Click += new System.EventHandler(this.OnCancel); + cancelButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + cancelButton.Location = new System.Drawing.Point(12, 526); + cancelButton.Name = "cancelButton"; + cancelButton.Size = new System.Drawing.Size(75, 23); + cancelButton.TabIndex = 1; + cancelButton.Text = "Cancel"; + cancelButton.UseVisualStyleBackColor = true; + cancelButton.Click += OnCancel; // // logTextBox // - this.logTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.logTextBox.HideSelection = false; - this.logTextBox.Location = new System.Drawing.Point(12, 56); - this.logTextBox.Name = "logTextBox"; - this.logTextBox.ReadOnly = true; - this.logTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedBoth; - this.logTextBox.Size = new System.Drawing.Size(760, 464); - this.logTextBox.TabIndex = 4; - this.logTextBox.TabStop = false; - this.logTextBox.Text = ""; + logTextBox.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + logTextBox.HideSelection = false; + logTextBox.Location = new System.Drawing.Point(12, 56); + logTextBox.Name = "logTextBox"; + logTextBox.ReadOnly = true; + logTextBox.ScrollBars = RichTextBoxScrollBars.ForcedBoth; + logTextBox.Size = new System.Drawing.Size(760, 464); + logTextBox.TabIndex = 4; + logTextBox.TabStop = false; + logTextBox.Text = ""; // // reselectButton // - this.reselectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.reselectButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.reselectButton.Location = new System.Drawing.Point(410, 526); - this.reselectButton.Name = "reselectButton"; - this.reselectButton.Size = new System.Drawing.Size(200, 23); - this.reselectButton.TabIndex = 2; - this.reselectButton.Text = "Reselect Programs / Games"; - this.reselectButton.UseVisualStyleBackColor = true; - this.reselectButton.Click += new System.EventHandler(this.OnReselect); + reselectButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + reselectButton.Location = new System.Drawing.Point(410, 526); + reselectButton.Name = "reselectButton"; + reselectButton.Size = new System.Drawing.Size(200, 23); + reselectButton.TabIndex = 2; + reselectButton.Text = "Reselect Programs / Games"; + reselectButton.UseVisualStyleBackColor = true; + reselectButton.Click += OnReselect; // // InstallForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.AutoSize = true; - this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.ClientSize = new System.Drawing.Size(784, 561); - this.Controls.Add(this.reselectButton); - this.Controls.Add(this.logTextBox); - this.Controls.Add(this.cancelButton); - this.Controls.Add(this.retryButton); - this.Controls.Add(this.acceptButton); - this.Controls.Add(this.userProgressBar); - this.Controls.Add(this.userInfoLabel); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "InstallForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; - this.Text = "InstallForm"; - this.Load += new System.EventHandler(this.OnLoad); - this.ResumeLayout(false); - + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + AutoSize = true; + AutoSizeMode = AutoSizeMode.GrowAndShrink; + ClientSize = new System.Drawing.Size(784, 561); + Controls.Add(reselectButton); + Controls.Add(logTextBox); + Controls.Add(cancelButton); + Controls.Add(retryButton); + Controls.Add(acceptButton); + Controls.Add(userProgressBar); + Controls.Add(userInfoLabel); + DoubleBuffered = true; + FormBorderStyle = FormBorderStyle.FixedSingle; + MaximizeBox = false; + MinimizeBox = false; + Name = "InstallForm"; + StartPosition = FormStartPosition.Manual; + Text = "InstallForm"; + Load += OnLoad; + ResumeLayout(false); } #endregion diff --git a/CreamInstaller/Forms/InstallForm.cs b/CreamInstaller/Forms/InstallForm.cs index 20b2d82..8cf056a 100644 --- a/CreamInstaller/Forms/InstallForm.cs +++ b/CreamInstaller/Forms/InstallForm.cs @@ -32,7 +32,7 @@ internal sealed partial class InstallForm : CustomForm private void UpdateProgress(int progress) { if (!userProgressBar.Disposing && !userProgressBar.IsDisposed) - userProgressBar.Invoke(() => + Invoke(() => { int value = (int)((float)completeOperationsCount / operationsCount * 100) + progress / operationsCount; if (value < userProgressBar.Value) @@ -44,9 +44,9 @@ internal sealed partial class InstallForm : CustomForm internal void UpdateUser(string text, Color color, bool info = true, bool log = true) { if (info) - _ = userInfoLabel.Invoke(() => userInfoLabel.Text = text); + _ = Invoke(() => userInfoLabel.Text = text); if (log && !logTextBox.Disposing && !logTextBox.IsDisposed) - logTextBox.Invoke(() => + Invoke(() => { if (logTextBox.Text.Length > 0) logTextBox.AppendText(Environment.NewLine, color); diff --git a/CreamInstaller/Forms/InstallForm.resx b/CreamInstaller/Forms/InstallForm.resx index f298a7b..a395bff 100644 --- a/CreamInstaller/Forms/InstallForm.resx +++ b/CreamInstaller/Forms/InstallForm.resx @@ -1,4 +1,64 @@ - + + + diff --git a/CreamInstaller/Forms/SelectDialogForm.Designer.cs b/CreamInstaller/Forms/SelectDialogForm.Designer.cs index 00d29c2..be170aa 100644 --- a/CreamInstaller/Forms/SelectDialogForm.Designer.cs +++ b/CreamInstaller/Forms/SelectDialogForm.Designer.cs @@ -1,5 +1,6 @@ using System.ComponentModel; using System.Windows.Forms; + using CreamInstaller.Components; namespace CreamInstaller.Forms @@ -30,8 +31,8 @@ namespace CreamInstaller.Forms cancelButton = new Button(); loadButton = new Button(); saveButton = new Button(); - selectionTreeView = new CustomTreeView(); uninstallAllButton = new Button(); + selectionTreeView = new CustomTreeView(); groupBox.SuspendLayout(); allCheckBoxFlowPanel.SuspendLayout(); SuspendLayout(); @@ -42,11 +43,10 @@ namespace CreamInstaller.Forms acceptButton.AutoSize = true; acceptButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; acceptButton.DialogResult = DialogResult.OK; - acceptButton.FlatStyle = FlatStyle.System; - acceptButton.Location = new System.Drawing.Point(475, 243); + acceptButton.Location = new System.Drawing.Point(479, 243); acceptButton.Name = "acceptButton"; acceptButton.Padding = new Padding(12, 0, 12, 0); - acceptButton.Size = new System.Drawing.Size(61, 24); + acceptButton.Size = new System.Drawing.Size(57, 25); acceptButton.TabIndex = 6; acceptButton.Text = "OK"; acceptButton.UseVisualStyleBackColor = true; @@ -86,20 +86,20 @@ namespace CreamInstaller.Forms allCheckBoxFlowPanel.AutoSize = true; allCheckBoxFlowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; allCheckBoxFlowPanel.Controls.Add(allCheckBox); - allCheckBoxFlowPanel.Location = new System.Drawing.Point(485, -1); + allCheckBoxFlowPanel.Location = new System.Drawing.Point(477, -1); allCheckBoxFlowPanel.Margin = new Padding(0); allCheckBoxFlowPanel.Name = "allCheckBoxFlowPanel"; - allCheckBoxFlowPanel.Size = new System.Drawing.Size(34, 19); + allCheckBoxFlowPanel.Size = new System.Drawing.Size(42, 19); allCheckBoxFlowPanel.TabIndex = 1007; // // allCheckBox // allCheckBox.Anchor = AnchorStyles.Top | AnchorStyles.Right; - allCheckBox.FlatStyle = FlatStyle.System; + allCheckBox.AutoSize = true; allCheckBox.Location = new System.Drawing.Point(2, 0); allCheckBox.Margin = new Padding(2, 0, 0, 0); allCheckBox.Name = "allCheckBox"; - allCheckBox.Size = new System.Drawing.Size(32, 19); + allCheckBox.Size = new System.Drawing.Size(40, 19); allCheckBox.TabIndex = 1; allCheckBox.Text = "All"; allCheckBox.CheckedChanged += OnAllCheckBoxChanged; @@ -108,11 +108,10 @@ namespace CreamInstaller.Forms // sortCheckBox.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; sortCheckBox.AutoSize = true; - sortCheckBox.FlatStyle = FlatStyle.System; - sortCheckBox.Location = new System.Drawing.Point(220, 245); + sortCheckBox.Location = new System.Drawing.Point(220, 247); sortCheckBox.Margin = new Padding(3, 0, 0, 0); sortCheckBox.Name = "sortCheckBox"; - sortCheckBox.Size = new System.Drawing.Size(104, 20); + sortCheckBox.Size = new System.Drawing.Size(98, 19); sortCheckBox.TabIndex = 3; sortCheckBox.Text = "Sort By Name"; sortCheckBox.CheckedChanged += OnSortCheckBoxChanged; @@ -123,11 +122,10 @@ namespace CreamInstaller.Forms cancelButton.AutoSize = true; cancelButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; cancelButton.DialogResult = DialogResult.Cancel; - cancelButton.FlatStyle = FlatStyle.System; cancelButton.Location = new System.Drawing.Point(12, 243); cancelButton.Name = "cancelButton"; cancelButton.Padding = new Padding(12, 0, 12, 0); - cancelButton.Size = new System.Drawing.Size(81, 24); + cancelButton.Size = new System.Drawing.Size(77, 25); cancelButton.TabIndex = 2; cancelButton.Text = "Cancel"; cancelButton.UseVisualStyleBackColor = true; @@ -138,11 +136,10 @@ namespace CreamInstaller.Forms loadButton.AutoSize = true; loadButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; loadButton.Enabled = false; - loadButton.FlatStyle = FlatStyle.System; - loadButton.Location = new System.Drawing.Point(398, 243); + loadButton.Location = new System.Drawing.Point(406, 243); loadButton.Name = "loadButton"; loadButton.Padding = new Padding(12, 0, 12, 0); - loadButton.Size = new System.Drawing.Size(71, 24); + loadButton.Size = new System.Drawing.Size(67, 25); loadButton.TabIndex = 5; loadButton.Text = "Load"; loadButton.UseVisualStyleBackColor = true; @@ -154,11 +151,10 @@ namespace CreamInstaller.Forms saveButton.AutoSize = true; saveButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; saveButton.Enabled = false; - saveButton.FlatStyle = FlatStyle.System; - saveButton.Location = new System.Drawing.Point(323, 243); + saveButton.Location = new System.Drawing.Point(335, 243); saveButton.Name = "saveButton"; saveButton.Padding = new Padding(12, 0, 12, 0); - saveButton.Size = new System.Drawing.Size(69, 24); + saveButton.Size = new System.Drawing.Size(65, 25); saveButton.TabIndex = 4; saveButton.Text = "Save"; saveButton.UseVisualStyleBackColor = true; @@ -170,11 +166,10 @@ namespace CreamInstaller.Forms uninstallAllButton.AutoSize = true; uninstallAllButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; uninstallAllButton.DialogResult = DialogResult.Abort; - uninstallAllButton.FlatStyle = FlatStyle.System; - uninstallAllButton.Location = new System.Drawing.Point(99, 242); + uninstallAllButton.Location = new System.Drawing.Point(95, 243); uninstallAllButton.Name = "uninstallAllButton"; uninstallAllButton.Padding = new Padding(12, 0, 12, 0); - uninstallAllButton.Size = new System.Drawing.Size(108, 24); + uninstallAllButton.Size = new System.Drawing.Size(104, 25); uninstallAllButton.TabIndex = 7; uninstallAllButton.Text = "Uninstall All"; uninstallAllButton.UseVisualStyleBackColor = true; @@ -204,6 +199,7 @@ namespace CreamInstaller.Forms groupBox.ResumeLayout(false); groupBox.PerformLayout(); allCheckBoxFlowPanel.ResumeLayout(false); + allCheckBoxFlowPanel.PerformLayout(); ResumeLayout(false); PerformLayout(); } diff --git a/CreamInstaller/Forms/SelectDialogForm.resx b/CreamInstaller/Forms/SelectDialogForm.resx index f298a7b..a395bff 100644 --- a/CreamInstaller/Forms/SelectDialogForm.resx +++ b/CreamInstaller/Forms/SelectDialogForm.resx @@ -1,4 +1,64 @@ - + + + diff --git a/CreamInstaller/Forms/SelectForm.Designer.cs b/CreamInstaller/Forms/SelectForm.Designer.cs index 4bf9a80..61ca4af 100644 --- a/CreamInstaller/Forms/SelectForm.Designer.cs +++ b/CreamInstaller/Forms/SelectForm.Designer.cs @@ -1,5 +1,6 @@ using System.ComponentModel; using System.Windows.Forms; + using CreamInstaller.Components; namespace CreamInstaller.Forms @@ -18,426 +19,409 @@ namespace CreamInstaller.Forms private void InitializeComponent() { - this.installButton = new System.Windows.Forms.Button(); - this.cancelButton = new System.Windows.Forms.Button(); - this.programsGroupBox = new System.Windows.Forms.GroupBox(); - this.koaloaderFlowPanel = new System.Windows.Forms.FlowLayoutPanel(); - this.koaloaderAllCheckBox = new System.Windows.Forms.CheckBox(); - this.noneFoundLabel = new System.Windows.Forms.Label(); - this.blockedGamesFlowPanel = new System.Windows.Forms.FlowLayoutPanel(); - this.blockedGamesCheckBox = new System.Windows.Forms.CheckBox(); - this.blockProtectedHelpButton = new System.Windows.Forms.Button(); - this.selectionTreeView = new CreamInstaller.Components.CustomTreeView(); - this.allCheckBoxLayoutPanel = new System.Windows.Forms.FlowLayoutPanel(); - this.allCheckBox = new System.Windows.Forms.CheckBox(); - this.progressBar = new System.Windows.Forms.ProgressBar(); - this.progressLabel = new System.Windows.Forms.Label(); - this.scanButton = new System.Windows.Forms.Button(); - 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.saveButton = new System.Windows.Forms.Button(); - 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(); - this.allCheckBoxLayoutPanel.SuspendLayout(); - this.SuspendLayout(); + installButton = new Button(); + cancelButton = new Button(); + programsGroupBox = new GroupBox(); + koaloaderFlowPanel = new FlowLayoutPanel(); + koaloaderAllCheckBox = new CheckBox(); + noneFoundLabel = new Label(); + blockedGamesFlowPanel = new FlowLayoutPanel(); + blockedGamesCheckBox = new CheckBox(); + blockProtectedHelpButton = new Button(); + allCheckBoxLayoutPanel = new FlowLayoutPanel(); + allCheckBox = new CheckBox(); + progressBar = new ProgressBar(); + progressLabel = new Label(); + scanButton = new Button(); + uninstallButton = new Button(); + progressLabelGames = new Label(); + progressLabelDLCs = new Label(); + sortCheckBox = new CheckBox(); + saveButton = new Button(); + loadButton = new Button(); + resetKoaloaderButton = new Button(); + resetButton = new Button(); + saveKoaloaderButton = new Button(); + loadKoaloaderButton = new Button(); + selectionTreeView = new CustomTreeView(); + programsGroupBox.SuspendLayout(); + koaloaderFlowPanel.SuspendLayout(); + blockedGamesFlowPanel.SuspendLayout(); + allCheckBoxLayoutPanel.SuspendLayout(); + SuspendLayout(); // // 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(423, 325); - 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 = 10000; - this.installButton.Text = "Generate and Install"; - this.installButton.UseVisualStyleBackColor = true; - this.installButton.Click += new System.EventHandler(this.OnInstall); + installButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + installButton.AutoSize = true; + installButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + installButton.Enabled = false; + installButton.Location = new System.Drawing.Point(427, 326); + installButton.Name = "installButton"; + installButton.Padding = new Padding(12, 0, 12, 0); + installButton.Size = new System.Drawing.Size(145, 25); + installButton.TabIndex = 10000; + installButton.Text = "Generate and Install"; + installButton.UseVisualStyleBackColor = true; + installButton.Click += OnInstall; // // 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, 325); - 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 = 10004; - this.cancelButton.Text = "Cancel"; - this.cancelButton.UseVisualStyleBackColor = true; - this.cancelButton.Click += new System.EventHandler(this.OnCancel); + cancelButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + cancelButton.AutoSize = true; + cancelButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + cancelButton.Location = new System.Drawing.Point(12, 326); + cancelButton.Name = "cancelButton"; + cancelButton.Padding = new Padding(12, 0, 12, 0); + cancelButton.Size = new System.Drawing.Size(77, 25); + cancelButton.TabIndex = 10004; + cancelButton.Text = "Cancel"; + cancelButton.UseVisualStyleBackColor = true; + cancelButton.Click += OnCancel; // // programsGroupBox // - this.programsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.programsGroupBox.Controls.Add(this.koaloaderFlowPanel); - this.programsGroupBox.Controls.Add(this.noneFoundLabel); - this.programsGroupBox.Controls.Add(this.blockedGamesFlowPanel); - this.programsGroupBox.Controls.Add(this.selectionTreeView); - this.programsGroupBox.Controls.Add(this.allCheckBoxLayoutPanel); - this.programsGroupBox.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.programsGroupBox.Location = new System.Drawing.Point(12, 12); - this.programsGroupBox.Name = "programsGroupBox"; - this.programsGroupBox.Size = new System.Drawing.Size(560, 209); - this.programsGroupBox.TabIndex = 8; - this.programsGroupBox.TabStop = false; - this.programsGroupBox.Text = "Programs / Games"; + programsGroupBox.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + programsGroupBox.Controls.Add(koaloaderFlowPanel); + programsGroupBox.Controls.Add(noneFoundLabel); + programsGroupBox.Controls.Add(blockedGamesFlowPanel); + programsGroupBox.Controls.Add(allCheckBoxLayoutPanel); + programsGroupBox.Controls.Add(selectionTreeView); + programsGroupBox.Location = new System.Drawing.Point(12, 12); + programsGroupBox.Name = "programsGroupBox"; + programsGroupBox.Size = new System.Drawing.Size(560, 209); + programsGroupBox.TabIndex = 8; + programsGroupBox.TabStop = false; + programsGroupBox.Text = "Programs / Games"; // // koaloaderFlowPanel // - this.koaloaderFlowPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.koaloaderFlowPanel.AutoSize = true; - this.koaloaderFlowPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.koaloaderFlowPanel.Controls.Add(this.koaloaderAllCheckBox); - this.koaloaderFlowPanel.Location = new System.Drawing.Point(430, -1); - this.koaloaderFlowPanel.Margin = new System.Windows.Forms.Padding(0); - this.koaloaderFlowPanel.Name = "koaloaderFlowPanel"; - this.koaloaderFlowPanel.Size = new System.Drawing.Size(73, 19); - this.koaloaderFlowPanel.TabIndex = 10005; - this.koaloaderFlowPanel.WrapContents = false; + koaloaderFlowPanel.Anchor = AnchorStyles.Top | AnchorStyles.Right; + koaloaderFlowPanel.AutoSize = true; + koaloaderFlowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; + koaloaderFlowPanel.Controls.Add(koaloaderAllCheckBox); + koaloaderFlowPanel.Location = new System.Drawing.Point(422, -1); + koaloaderFlowPanel.Margin = new Padding(0); + koaloaderFlowPanel.Name = "koaloaderFlowPanel"; + koaloaderFlowPanel.Size = new System.Drawing.Size(81, 19); + koaloaderFlowPanel.TabIndex = 10005; + koaloaderFlowPanel.WrapContents = false; // // koaloaderAllCheckBox // - this.koaloaderAllCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.koaloaderAllCheckBox.Checked = true; - this.koaloaderAllCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; - this.koaloaderAllCheckBox.Enabled = false; - this.koaloaderAllCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.koaloaderAllCheckBox.Location = new System.Drawing.Point(2, 0); - this.koaloaderAllCheckBox.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0); - this.koaloaderAllCheckBox.Name = "koaloaderAllCheckBox"; - this.koaloaderAllCheckBox.Size = new System.Drawing.Size(71, 19); - this.koaloaderAllCheckBox.TabIndex = 4; - this.koaloaderAllCheckBox.Text = "Koaloader"; - this.koaloaderAllCheckBox.CheckedChanged += new System.EventHandler(this.OnKoaloaderAllCheckBoxChanged); + koaloaderAllCheckBox.Anchor = AnchorStyles.Top | AnchorStyles.Right; + koaloaderAllCheckBox.AutoSize = true; + koaloaderAllCheckBox.Checked = true; + koaloaderAllCheckBox.CheckState = CheckState.Checked; + koaloaderAllCheckBox.Enabled = false; + koaloaderAllCheckBox.Location = new System.Drawing.Point(2, 0); + koaloaderAllCheckBox.Margin = new Padding(2, 0, 0, 0); + koaloaderAllCheckBox.Name = "koaloaderAllCheckBox"; + koaloaderAllCheckBox.Size = new System.Drawing.Size(79, 19); + koaloaderAllCheckBox.TabIndex = 4; + koaloaderAllCheckBox.Text = "Koaloader"; + koaloaderAllCheckBox.CheckedChanged += OnKoaloaderAllCheckBoxChanged; // // noneFoundLabel // - 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, 187); - this.noneFoundLabel.TabIndex = 1002; - this.noneFoundLabel.Text = "No applicable programs nor games were found on your computer!"; - this.noneFoundLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.noneFoundLabel.Visible = false; + noneFoundLabel.Dock = DockStyle.Fill; + noneFoundLabel.Location = new System.Drawing.Point(3, 19); + noneFoundLabel.Name = "noneFoundLabel"; + noneFoundLabel.Size = new System.Drawing.Size(554, 187); + noneFoundLabel.TabIndex = 1002; + noneFoundLabel.Text = "No applicable programs nor games were found on your computer!"; + noneFoundLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + noneFoundLabel.Visible = false; // // blockedGamesFlowPanel // - this.blockedGamesFlowPanel.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.blockedGamesFlowPanel.AutoSize = true; - this.blockedGamesFlowPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.blockedGamesFlowPanel.Controls.Add(this.blockedGamesCheckBox); - this.blockedGamesFlowPanel.Controls.Add(this.blockProtectedHelpButton); - this.blockedGamesFlowPanel.Location = new System.Drawing.Point(125, -1); - this.blockedGamesFlowPanel.Margin = new System.Windows.Forms.Padding(0); - this.blockedGamesFlowPanel.Name = "blockedGamesFlowPanel"; - this.blockedGamesFlowPanel.Size = new System.Drawing.Size(162, 20); - this.blockedGamesFlowPanel.TabIndex = 1005; - this.blockedGamesFlowPanel.WrapContents = false; + blockedGamesFlowPanel.Anchor = AnchorStyles.Top; + blockedGamesFlowPanel.AutoSize = true; + blockedGamesFlowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; + blockedGamesFlowPanel.Controls.Add(blockedGamesCheckBox); + blockedGamesFlowPanel.Controls.Add(blockProtectedHelpButton); + blockedGamesFlowPanel.Location = new System.Drawing.Point(125, -1); + blockedGamesFlowPanel.Margin = new Padding(0); + blockedGamesFlowPanel.Name = "blockedGamesFlowPanel"; + blockedGamesFlowPanel.Size = new System.Drawing.Size(170, 19); + blockedGamesFlowPanel.TabIndex = 1005; + blockedGamesFlowPanel.WrapContents = false; // // blockedGamesCheckBox // - this.blockedGamesCheckBox.Checked = true; - this.blockedGamesCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; - this.blockedGamesCheckBox.Enabled = false; - this.blockedGamesCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.blockedGamesCheckBox.Location = new System.Drawing.Point(2, 0); - this.blockedGamesCheckBox.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0); - this.blockedGamesCheckBox.Name = "blockedGamesCheckBox"; - this.blockedGamesCheckBox.Size = new System.Drawing.Size(140, 20); - this.blockedGamesCheckBox.TabIndex = 1; - this.blockedGamesCheckBox.Text = "Block Protected Games"; - this.blockedGamesCheckBox.UseVisualStyleBackColor = true; - this.blockedGamesCheckBox.CheckedChanged += new System.EventHandler(this.OnBlockProtectedGamesCheckBoxChanged); + blockedGamesCheckBox.AutoSize = true; + blockedGamesCheckBox.Checked = true; + blockedGamesCheckBox.CheckState = CheckState.Checked; + blockedGamesCheckBox.Enabled = false; + blockedGamesCheckBox.Location = new System.Drawing.Point(2, 0); + blockedGamesCheckBox.Margin = new Padding(2, 0, 0, 0); + blockedGamesCheckBox.Name = "blockedGamesCheckBox"; + blockedGamesCheckBox.Size = new System.Drawing.Size(148, 19); + blockedGamesCheckBox.TabIndex = 1; + blockedGamesCheckBox.Text = "Block Protected Games"; + blockedGamesCheckBox.UseVisualStyleBackColor = true; + blockedGamesCheckBox.CheckedChanged += OnBlockProtectedGamesCheckBoxChanged; // // blockProtectedHelpButton // - this.blockProtectedHelpButton.Enabled = false; - this.blockProtectedHelpButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.blockProtectedHelpButton.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); - this.blockProtectedHelpButton.Location = new System.Drawing.Point(142, 0); - this.blockProtectedHelpButton.Margin = new System.Windows.Forms.Padding(0, 0, 1, 0); - this.blockProtectedHelpButton.Name = "blockProtectedHelpButton"; - this.blockProtectedHelpButton.Size = new System.Drawing.Size(19, 19); - this.blockProtectedHelpButton.TabIndex = 2; - this.blockProtectedHelpButton.Text = "?"; - this.blockProtectedHelpButton.UseVisualStyleBackColor = true; - this.blockProtectedHelpButton.Click += new System.EventHandler(this.OnBlockProtectedGamesHelpButtonClicked); + blockProtectedHelpButton.Enabled = false; + blockProtectedHelpButton.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + blockProtectedHelpButton.Location = new System.Drawing.Point(150, 0); + blockProtectedHelpButton.Margin = new Padding(0, 0, 1, 0); + blockProtectedHelpButton.Name = "blockProtectedHelpButton"; + blockProtectedHelpButton.Size = new System.Drawing.Size(19, 19); + blockProtectedHelpButton.TabIndex = 2; + blockProtectedHelpButton.Text = "?"; + blockProtectedHelpButton.UseVisualStyleBackColor = true; + blockProtectedHelpButton.Click += OnBlockProtectedGamesHelpButtonClicked; // // selectionTreeView // - this.selectionTreeView.BackColor = System.Drawing.SystemColors.Control; - this.selectionTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.selectionTreeView.CheckBoxes = true; - 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 System.Drawing.Point(3, 19); - this.selectionTreeView.Name = "selectionTreeView"; - this.selectionTreeView.Size = new System.Drawing.Size(554, 187); - this.selectionTreeView.Sorted = true; - this.selectionTreeView.TabIndex = 1001; + selectionTreeView.BackColor = System.Drawing.SystemColors.Control; + selectionTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None; + selectionTreeView.CheckBoxes = true; + selectionTreeView.Dock = System.Windows.Forms.DockStyle.Fill; + selectionTreeView.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll; + selectionTreeView.Enabled = false; + selectionTreeView.FullRowSelect = true; + selectionTreeView.Location = new System.Drawing.Point(3, 19); + selectionTreeView.Name = "selectionTreeView"; + selectionTreeView.Size = new System.Drawing.Size(554, 187); + selectionTreeView.Sorted = true; + selectionTreeView.TabIndex = 1001; // // allCheckBoxLayoutPanel // - this.allCheckBoxLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.allCheckBoxLayoutPanel.AutoSize = true; - this.allCheckBoxLayoutPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.allCheckBoxLayoutPanel.Controls.Add(this.allCheckBox); - this.allCheckBoxLayoutPanel.Location = new System.Drawing.Point(520, -1); - this.allCheckBoxLayoutPanel.Margin = new System.Windows.Forms.Padding(0); - this.allCheckBoxLayoutPanel.Name = "allCheckBoxLayoutPanel"; - this.allCheckBoxLayoutPanel.Size = new System.Drawing.Size(34, 19); - this.allCheckBoxLayoutPanel.TabIndex = 1006; - this.allCheckBoxLayoutPanel.WrapContents = false; + allCheckBoxLayoutPanel.Anchor = AnchorStyles.Top | AnchorStyles.Right; + allCheckBoxLayoutPanel.AutoSize = true; + allCheckBoxLayoutPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink; + allCheckBoxLayoutPanel.Controls.Add(allCheckBox); + allCheckBoxLayoutPanel.Location = new System.Drawing.Point(512, -1); + allCheckBoxLayoutPanel.Margin = new Padding(0); + allCheckBoxLayoutPanel.Name = "allCheckBoxLayoutPanel"; + allCheckBoxLayoutPanel.Size = new System.Drawing.Size(42, 19); + allCheckBoxLayoutPanel.TabIndex = 1006; + allCheckBoxLayoutPanel.WrapContents = false; // // allCheckBox // - this.allCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.allCheckBox.Checked = true; - this.allCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; - this.allCheckBox.Enabled = false; - this.allCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.allCheckBox.Location = new System.Drawing.Point(2, 0); - this.allCheckBox.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0); - this.allCheckBox.Name = "allCheckBox"; - this.allCheckBox.Size = new System.Drawing.Size(32, 19); - this.allCheckBox.TabIndex = 4; - this.allCheckBox.Text = "All"; - this.allCheckBox.CheckedChanged += new System.EventHandler(this.OnAllCheckBoxChanged); + allCheckBox.Anchor = AnchorStyles.Top | AnchorStyles.Right; + allCheckBox.AutoSize = true; + allCheckBox.Checked = true; + allCheckBox.CheckState = CheckState.Checked; + allCheckBox.Enabled = false; + allCheckBox.Location = new System.Drawing.Point(2, 0); + allCheckBox.Margin = new Padding(2, 0, 0, 0); + allCheckBox.Name = "allCheckBox"; + allCheckBox.Size = new System.Drawing.Size(40, 19); + allCheckBox.TabIndex = 4; + allCheckBox.Text = "All"; + allCheckBox.CheckedChanged += OnAllCheckBoxChanged; // // progressBar // - 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, 266); - this.progressBar.Name = "progressBar"; - this.progressBar.Size = new System.Drawing.Size(560, 23); - this.progressBar.TabIndex = 9; + progressBar.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + progressBar.Location = new System.Drawing.Point(12, 266); + progressBar.Name = "progressBar"; + progressBar.Size = new System.Drawing.Size(560, 23); + progressBar.TabIndex = 9; // // progressLabel // - 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, 224); - this.progressLabel.Name = "progressLabel"; - this.progressLabel.Size = new System.Drawing.Size(560, 15); - this.progressLabel.TabIndex = 10; - this.progressLabel.Text = "Gathering and caching your applicable games and their DLCs . . . 0%"; + progressLabel.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + progressLabel.Location = new System.Drawing.Point(12, 224); + progressLabel.Name = "progressLabel"; + progressLabel.Size = new System.Drawing.Size(560, 15); + progressLabel.TabIndex = 10; + progressLabel.Text = "Gathering and caching your applicable games and their DLCs . . . 0%"; // // scanButton // - 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; - this.scanButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.scanButton.Location = new System.Drawing.Point(238, 325); - this.scanButton.Name = "scanButton"; - this.scanButton.Padding = new System.Windows.Forms.Padding(12, 0, 12, 0); - this.scanButton.Size = new System.Drawing.Size(82, 24); - this.scanButton.TabIndex = 10002; - this.scanButton.Text = "Rescan"; - this.scanButton.UseVisualStyleBackColor = true; - this.scanButton.Click += new System.EventHandler(this.OnScan); + scanButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + scanButton.AutoSize = true; + scanButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + scanButton.Enabled = false; + scanButton.Location = new System.Drawing.Point(250, 326); + scanButton.Name = "scanButton"; + scanButton.Padding = new Padding(12, 0, 12, 0); + scanButton.Size = new System.Drawing.Size(78, 25); + scanButton.TabIndex = 10002; + scanButton.Text = "Rescan"; + scanButton.UseVisualStyleBackColor = true; + scanButton.Click += 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, 325); - 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 = 10001; - this.uninstallButton.Text = "Uninstall"; - this.uninstallButton.UseVisualStyleBackColor = true; - this.uninstallButton.Click += new System.EventHandler(this.OnUninstall); + uninstallButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + uninstallButton.AutoSize = true; + uninstallButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + uninstallButton.Enabled = false; + uninstallButton.Location = new System.Drawing.Point(334, 326); + uninstallButton.Name = "uninstallButton"; + uninstallButton.Padding = new Padding(12, 0, 12, 0); + uninstallButton.Size = new System.Drawing.Size(87, 25); + uninstallButton.TabIndex = 10001; + uninstallButton.Text = "Uninstall"; + uninstallButton.UseVisualStyleBackColor = true; + uninstallButton.Click += OnUninstall; // // progressLabelGames // - 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, 239); - this.progressLabelGames.Name = "progressLabelGames"; - this.progressLabelGames.Size = new System.Drawing.Size(560, 12); - this.progressLabelGames.TabIndex = 11; - this.progressLabelGames.Text = "Remaining games (2): Game 1, Game 2"; + progressLabelGames.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + progressLabelGames.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + progressLabelGames.Location = new System.Drawing.Point(12, 239); + progressLabelGames.Name = "progressLabelGames"; + progressLabelGames.Size = new System.Drawing.Size(560, 12); + progressLabelGames.TabIndex = 11; + progressLabelGames.Text = "Remaining games (2): Game 1, Game 2"; // // progressLabelDLCs // - 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, 251); - this.progressLabelDLCs.Name = "progressLabelDLCs"; - this.progressLabelDLCs.Size = new System.Drawing.Size(560, 12); - this.progressLabelDLCs.TabIndex = 12; - this.progressLabelDLCs.Text = "Remaining DLC (2): 123456, 654321"; + progressLabelDLCs.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + progressLabelDLCs.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + progressLabelDLCs.Location = new System.Drawing.Point(12, 251); + progressLabelDLCs.Name = "progressLabelDLCs"; + progressLabelDLCs.Size = new System.Drawing.Size(560, 12); + progressLabelDLCs.TabIndex = 12; + 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 = 10003; - this.sortCheckBox.Text = "Sort By Name"; - this.sortCheckBox.CheckedChanged += new System.EventHandler(this.OnSortCheckBoxChanged); + sortCheckBox.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + sortCheckBox.AutoSize = true; + sortCheckBox.Location = new System.Drawing.Point(125, 330); + sortCheckBox.Margin = new Padding(3, 0, 0, 0); + sortCheckBox.Name = "sortCheckBox"; + sortCheckBox.Size = new System.Drawing.Size(98, 19); + sortCheckBox.TabIndex = 10003; + sortCheckBox.Text = "Sort By Name"; + sortCheckBox.CheckedChanged += OnSortCheckBoxChanged; // // saveButton // - this.saveButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.saveButton.AutoSize = true; - 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(424, 295); - this.saveButton.Name = "saveButton"; - 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); + saveButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + saveButton.AutoSize = true; + saveButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + saveButton.Enabled = false; + saveButton.Location = new System.Drawing.Point(432, 295); + saveButton.Name = "saveButton"; + saveButton.Size = new System.Drawing.Size(66, 25); + saveButton.TabIndex = 10006; + saveButton.Text = "Save DLC"; + saveButton.UseVisualStyleBackColor = true; + saveButton.Click += OnSaveDlc; // // loadButton // - this.loadButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.loadButton.AutoSize = true; - 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(500, 295); - this.loadButton.Name = "loadButton"; - 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); + loadButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + loadButton.AutoSize = true; + loadButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + loadButton.Enabled = false; + loadButton.Location = new System.Drawing.Point(504, 295); + loadButton.Name = "loadButton"; + loadButton.Size = new System.Drawing.Size(68, 25); + loadButton.TabIndex = 10005; + loadButton.Text = "Load DLC"; + loadButton.UseVisualStyleBackColor = true; + loadButton.Click += OnLoadDlc; // // resetKoaloaderButton // - this.resetKoaloaderButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.resetKoaloaderButton.AutoSize = true; - this.resetKoaloaderButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.resetKoaloaderButton.Enabled = false; - this.resetKoaloaderButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.resetKoaloaderButton.Location = new System.Drawing.Point(12, 295); - this.resetKoaloaderButton.Name = "resetKoaloaderButton"; - 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); + resetKoaloaderButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + resetKoaloaderButton.AutoSize = true; + resetKoaloaderButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + resetKoaloaderButton.Enabled = false; + resetKoaloaderButton.Location = new System.Drawing.Point(12, 295); + resetKoaloaderButton.Name = "resetKoaloaderButton"; + resetKoaloaderButton.Size = new System.Drawing.Size(101, 25); + resetKoaloaderButton.TabIndex = 10010; + resetKoaloaderButton.Text = "Reset Koaloader"; + resetKoaloaderButton.UseVisualStyleBackColor = true; + resetKoaloaderButton.Click += OnResetKoaloader; // // resetButton // - this.resetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.resetButton.AutoSize = true; - 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(344, 295); - this.resetButton.Name = "resetButton"; - 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); + resetButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + resetButton.AutoSize = true; + resetButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + resetButton.Enabled = false; + resetButton.Location = new System.Drawing.Point(356, 295); + resetButton.Name = "resetButton"; + resetButton.Size = new System.Drawing.Size(70, 25); + resetButton.TabIndex = 10007; + resetButton.Text = "Reset DLC"; + resetButton.UseVisualStyleBackColor = true; + resetButton.Click += 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); + saveKoaloaderButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + saveKoaloaderButton.AutoSize = true; + saveKoaloaderButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + saveKoaloaderButton.Enabled = false; + saveKoaloaderButton.Location = new System.Drawing.Point(119, 295); + saveKoaloaderButton.Name = "saveKoaloaderButton"; + saveKoaloaderButton.Size = new System.Drawing.Size(97, 25); + saveKoaloaderButton.TabIndex = 10009; + saveKoaloaderButton.Text = "Save Koaloader"; + saveKoaloaderButton.UseVisualStyleBackColor = true; + saveKoaloaderButton.Click += 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); + loadKoaloaderButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + loadKoaloaderButton.AutoSize = true; + loadKoaloaderButton.AutoSizeMode = AutoSizeMode.GrowAndShrink; + loadKoaloaderButton.Enabled = false; + loadKoaloaderButton.Location = new System.Drawing.Point(222, 295); + loadKoaloaderButton.Name = "loadKoaloaderButton"; + loadKoaloaderButton.Size = new System.Drawing.Size(99, 25); + loadKoaloaderButton.TabIndex = 10008; + loadKoaloaderButton.Text = "Load Koaloader"; + loadKoaloaderButton.UseVisualStyleBackColor = true; + loadKoaloaderButton.Click += OnLoadKoaloader; // // SelectForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - 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); - this.Controls.Add(this.saveButton); - this.Controls.Add(this.sortCheckBox); - this.Controls.Add(this.progressLabelDLCs); - this.Controls.Add(this.progressLabelGames); - this.Controls.Add(this.uninstallButton); - this.Controls.Add(this.scanButton); - this.Controls.Add(this.programsGroupBox); - this.Controls.Add(this.progressBar); - this.Controls.Add(this.cancelButton); - this.Controls.Add(this.installButton); - this.Controls.Add(this.progressLabel); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "SelectForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; - this.Text = "SelectForm"; - this.Load += new System.EventHandler(this.OnLoad); - this.programsGroupBox.ResumeLayout(false); - this.programsGroupBox.PerformLayout(); - this.koaloaderFlowPanel.ResumeLayout(false); - this.blockedGamesFlowPanel.ResumeLayout(false); - this.allCheckBoxLayoutPanel.ResumeLayout(false); - this.ResumeLayout(false); - this.PerformLayout(); - + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + AutoSize = true; + AutoSizeMode = AutoSizeMode.GrowAndShrink; + ClientSize = new System.Drawing.Size(584, 361); + Controls.Add(loadKoaloaderButton); + Controls.Add(saveKoaloaderButton); + Controls.Add(resetButton); + Controls.Add(resetKoaloaderButton); + Controls.Add(loadButton); + Controls.Add(saveButton); + Controls.Add(sortCheckBox); + Controls.Add(progressLabelDLCs); + Controls.Add(progressLabelGames); + Controls.Add(uninstallButton); + Controls.Add(scanButton); + Controls.Add(programsGroupBox); + Controls.Add(progressBar); + Controls.Add(cancelButton); + Controls.Add(installButton); + Controls.Add(progressLabel); + DoubleBuffered = true; + FormBorderStyle = FormBorderStyle.FixedSingle; + MaximizeBox = false; + MinimizeBox = false; + Name = "SelectForm"; + StartPosition = FormStartPosition.Manual; + Text = "SelectForm"; + Load += OnLoad; + programsGroupBox.ResumeLayout(false); + programsGroupBox.PerformLayout(); + koaloaderFlowPanel.ResumeLayout(false); + koaloaderFlowPanel.PerformLayout(); + blockedGamesFlowPanel.ResumeLayout(false); + blockedGamesFlowPanel.PerformLayout(); + allCheckBoxLayoutPanel.ResumeLayout(false); + allCheckBoxLayoutPanel.PerformLayout(); + ResumeLayout(false); + PerformLayout(); } #endregion diff --git a/CreamInstaller/Forms/SelectForm.cs b/CreamInstaller/Forms/SelectForm.cs index 2d5d7a9..06daa50 100644 --- a/CreamInstaller/Forms/SelectForm.cs +++ b/CreamInstaller/Forms/SelectForm.cs @@ -58,7 +58,7 @@ internal sealed partial class SelectForm : CustomForm { if (Program.Canceled) return; - progressLabelGames.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -71,7 +71,7 @@ internal sealed partial class SelectForm : CustomForm { if (Program.Canceled) return; - progressLabelGames.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -86,7 +86,7 @@ internal sealed partial class SelectForm : CustomForm { if (Program.Canceled) return; - progressLabelDLCs.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -99,7 +99,7 @@ internal sealed partial class SelectForm : CustomForm { if (Program.Canceled) return; - progressLabelDLCs.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -270,7 +270,7 @@ internal sealed partial class SelectForm : CustomForm return; if (!string.IsNullOrWhiteSpace(fullGameName)) { - SelectionDLC fullGameDlc = SelectionDLC.GetOrCreate(fullGameOnSteamStore ? DLCType.Steam : DLCType.SteamHidden, + SelectionDLC fullGameDlc = SelectionDLC.GetOrCreate(fullGameOnSteamStore ? DLCType.Steam : DLCType.SteamHidden, appId, fullGameAppId, fullGameName); fullGameDlc.Icon = fullGameIcon; _ = dlc.TryAdd(fullGameDlc, default); @@ -280,7 +280,7 @@ internal sealed partial class SelectForm : CustomForm return; if (string.IsNullOrWhiteSpace(dlcName)) dlcName = "Unknown"; - SelectionDLC _dlc = SelectionDLC.GetOrCreate(onSteamStore ? DLCType.Steam : DLCType.SteamHidden, dlcAppId, dlcName); + SelectionDLC _dlc = SelectionDLC.GetOrCreate(onSteamStore ? DLCType.Steam : DLCType.SteamHidden, appId, dlcAppId, dlcName); _dlc.Icon = dlcIcon; _ = dlc.TryAdd(_dlc, default); RemoveFromRemainingDLCs(dlcAppId); @@ -316,7 +316,7 @@ internal sealed partial class SelectForm : CustomForm selection.Website = appData?.Website; if (Program.Canceled) return; - selectionTreeView.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -385,7 +385,7 @@ internal sealed partial class SelectForm : CustomForm { if (Program.Canceled) return; - SelectionDLC entitlement = SelectionDLC.GetOrCreate(DLCType.EpicEntitlement, id, name); + SelectionDLC entitlement = SelectionDLC.GetOrCreate(DLCType.EpicEntitlement, @namespace, id, name); entitlement.Icon = icon; entitlement.Product = product; entitlement.Publisher = developer; @@ -419,7 +419,7 @@ internal sealed partial class SelectForm : CustomForm } if (Program.Canceled) return; - selectionTreeView.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -481,7 +481,7 @@ internal sealed partial class SelectForm : CustomForm Selection selection = Selection.GetOrCreate(Platform.Ubisoft, gameId, name, gameDirectory, dllDirectories, await gameDirectory.GetExecutableDirectories(true)); selection.Icon = IconGrabber.GetDomainFaviconUrl("store.ubi.com"); - selectionTreeView.Invoke(delegate + Invoke(delegate { if (Program.Canceled) return; @@ -734,10 +734,10 @@ internal sealed partial class SelectForm : CustomForm ToolStripItemCollection items = contextMenuStrip.Items; string id = node.Name; Platform platform = (Platform)node.Tag; - Selection selection = Selection.FromPlatformId(platform, id); + Selection selection = Selection.FromId(platform, id); SelectionDLC dlc = null; if (selection is null) - dlc = SelectionDLC.FromTypeId((DLCType)node.Tag, id); + dlc = SelectionDLC.FromId((DLCType)node.Tag, node.Parent?.Name, id); Selection dlcParentSelection = null; if (dlc is not null) dlcParentSelection = dlc.Selection; @@ -776,6 +776,9 @@ internal sealed partial class SelectForm : CustomForm appInfoVDF.DeleteFile(); appInfoJSON.DeleteFile(); cooldown.DeleteFile(); + selection?.Remove(); + if (dlc is not null) + dlc.Selection = null; OnLoad(true); })); } diff --git a/CreamInstaller/Forms/SelectForm.resx b/CreamInstaller/Forms/SelectForm.resx index f298a7b..a395bff 100644 --- a/CreamInstaller/Forms/SelectForm.resx +++ b/CreamInstaller/Forms/SelectForm.resx @@ -1,4 +1,64 @@ - + + + diff --git a/CreamInstaller/Forms/UpdateForm.Designer.cs b/CreamInstaller/Forms/UpdateForm.Designer.cs index 267e1f7..ca2a190 100644 --- a/CreamInstaller/Forms/UpdateForm.Designer.cs +++ b/CreamInstaller/Forms/UpdateForm.Designer.cs @@ -1,5 +1,6 @@ using System.ComponentModel; using System.Windows.Forms; + using CreamInstaller.Components; namespace CreamInstaller.Forms @@ -16,90 +17,86 @@ namespace CreamInstaller.Forms /// private void InitializeComponent() { - this.progressLabel = new System.Windows.Forms.Label(); - this.updateButton = new System.Windows.Forms.Button(); - this.ignoreButton = new System.Windows.Forms.Button(); - this.progressBar = new System.Windows.Forms.ProgressBar(); - this.changelogTreeView = new CustomTreeView(); - this.SuspendLayout(); + progressLabel = new Label(); + updateButton = new Button(); + ignoreButton = new Button(); + progressBar = new ProgressBar(); + changelogTreeView = new CustomTreeView(); + SuspendLayout(); // // progressLabel // - this.progressLabel.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.progressLabel.Location = new System.Drawing.Point(12, 16); - this.progressLabel.Margin = new System.Windows.Forms.Padding(3, 0, 3, 12); - this.progressLabel.Name = "progressLabel"; - this.progressLabel.Size = new System.Drawing.Size(218, 15); - this.progressLabel.TabIndex = 0; - this.progressLabel.Text = "Checking for updates . . ."; + progressLabel.Location = new System.Drawing.Point(12, 16); + progressLabel.Margin = new Padding(3, 0, 3, 12); + progressLabel.Name = "progressLabel"; + progressLabel.Size = new System.Drawing.Size(218, 15); + progressLabel.TabIndex = 0; + progressLabel.Text = "Checking for updates . . ."; // // updateButton // - this.updateButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.updateButton.Enabled = false; - this.updateButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.updateButton.Location = new System.Drawing.Point(317, 12); - this.updateButton.Margin = new System.Windows.Forms.Padding(3, 3, 3, 12); - this.updateButton.Name = "updateButton"; - this.updateButton.Size = new System.Drawing.Size(75, 23); - this.updateButton.TabIndex = 2; - this.updateButton.Text = "Update"; - this.updateButton.UseVisualStyleBackColor = true; + updateButton.Anchor = AnchorStyles.Top | AnchorStyles.Right; + updateButton.Enabled = false; + updateButton.Location = new System.Drawing.Point(317, 12); + updateButton.Margin = new Padding(3, 3, 3, 12); + updateButton.Name = "updateButton"; + updateButton.Size = new System.Drawing.Size(75, 23); + updateButton.TabIndex = 2; + updateButton.Text = "Update"; + updateButton.UseVisualStyleBackColor = true; // // ignoreButton // - this.ignoreButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.ignoreButton.Enabled = false; - this.ignoreButton.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.ignoreButton.Location = new System.Drawing.Point(236, 12); - this.ignoreButton.Margin = new System.Windows.Forms.Padding(3, 3, 3, 12); - this.ignoreButton.Name = "ignoreButton"; - this.ignoreButton.Size = new System.Drawing.Size(75, 23); - this.ignoreButton.TabIndex = 1; - this.ignoreButton.Text = "Ignore"; - this.ignoreButton.UseVisualStyleBackColor = true; - this.ignoreButton.Click += new System.EventHandler(this.OnIgnore); + ignoreButton.Anchor = AnchorStyles.Top | AnchorStyles.Right; + ignoreButton.Enabled = false; + ignoreButton.Location = new System.Drawing.Point(236, 12); + ignoreButton.Margin = new Padding(3, 3, 3, 12); + ignoreButton.Name = "ignoreButton"; + ignoreButton.Size = new System.Drawing.Size(75, 23); + ignoreButton.TabIndex = 1; + ignoreButton.Text = "Ignore"; + ignoreButton.UseVisualStyleBackColor = true; + ignoreButton.Click += OnIgnore; // // progressBar // - this.progressBar.Location = new System.Drawing.Point(12, 41); - this.progressBar.Name = "progressBar"; - this.progressBar.Size = new System.Drawing.Size(380, 23); - this.progressBar.TabIndex = 4; - this.progressBar.Visible = false; + progressBar.Location = new System.Drawing.Point(12, 41); + progressBar.Name = "progressBar"; + progressBar.Size = new System.Drawing.Size(380, 23); + progressBar.TabIndex = 4; + progressBar.Visible = false; // // changelogTreeView // - this.changelogTreeView.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll; - this.changelogTreeView.Location = new System.Drawing.Point(12, 70); - this.changelogTreeView.Margin = new System.Windows.Forms.Padding(0, 0, 0, 12); - this.changelogTreeView.Name = "changelogTreeView"; - this.changelogTreeView.Size = new System.Drawing.Size(380, 179); - this.changelogTreeView.Sorted = true; - this.changelogTreeView.TabIndex = 5; + changelogTreeView.DrawMode = TreeViewDrawMode.OwnerDrawAll; + changelogTreeView.Location = new System.Drawing.Point(12, 70); + changelogTreeView.Margin = new Padding(0, 0, 0, 12); + changelogTreeView.Name = "changelogTreeView"; + changelogTreeView.Size = new System.Drawing.Size(380, 179); + changelogTreeView.Sorted = true; + changelogTreeView.TabIndex = 5; // // UpdateForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.AutoSize = true; - this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.ClientSize = new System.Drawing.Size(404, 261); - this.Controls.Add(this.changelogTreeView); - this.Controls.Add(this.progressBar); - this.Controls.Add(this.ignoreButton); - this.Controls.Add(this.updateButton); - this.Controls.Add(this.progressLabel); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "UpdateForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "UpdateForm"; - this.Load += new System.EventHandler(this.OnLoad); - this.ResumeLayout(false); - + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + AutoSize = true; + AutoSizeMode = AutoSizeMode.GrowAndShrink; + ClientSize = new System.Drawing.Size(404, 261); + Controls.Add(changelogTreeView); + Controls.Add(progressBar); + Controls.Add(ignoreButton); + Controls.Add(updateButton); + Controls.Add(progressLabel); + DoubleBuffered = true; + FormBorderStyle = FormBorderStyle.FixedSingle; + MaximizeBox = false; + MinimizeBox = false; + Name = "UpdateForm"; + StartPosition = FormStartPosition.CenterScreen; + Text = "UpdateForm"; + Load += OnLoad; + ResumeLayout(false); } #endregion diff --git a/CreamInstaller/Forms/UpdateForm.cs b/CreamInstaller/Forms/UpdateForm.cs index b7a6696..6967b09 100644 --- a/CreamInstaller/Forms/UpdateForm.cs +++ b/CreamInstaller/Forms/UpdateForm.cs @@ -86,7 +86,7 @@ internal sealed partial class UpdateForm : CustomForm if (changelogTreeView.Nodes.Count > 0) changelogTreeView.Nodes[0].EnsureVisible(); for (int i = release.Changes.Length - 1; i >= 0; i--) - changelogTreeView.Invoke(delegate + Invoke(delegate { string change = release.Changes[i]; TreeNode changeNode = new() { Text = change }; diff --git a/CreamInstaller/Forms/UpdateForm.resx b/CreamInstaller/Forms/UpdateForm.resx index f298a7b..a395bff 100644 --- a/CreamInstaller/Forms/UpdateForm.resx +++ b/CreamInstaller/Forms/UpdateForm.resx @@ -1,4 +1,64 @@ - + + + diff --git a/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs b/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs index 6932c3c..bfc97f1 100644 --- a/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs +++ b/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs @@ -28,7 +28,7 @@ internal static class ParadoxLauncher private static void PopulateDlc(Selection paradoxLauncher = null) { - paradoxLauncher ??= Selection.FromPlatformId(Platform.Paradox, "PL"); + paradoxLauncher ??= Selection.FromId(Platform.Paradox, "PL"); if (paradoxLauncher is null) return; paradoxLauncher.ExtraSelections.Clear(); @@ -42,7 +42,7 @@ internal static class ParadoxLauncher internal static bool DlcDialog(Form form) { - Selection paradoxLauncher = Selection.FromPlatformId(Platform.Paradox, "PL"); + Selection paradoxLauncher = Selection.FromId(Platform.Paradox, "PL"); if (paradoxLauncher is null || !paradoxLauncher.Enabled) return false; PopulateDlc(paradoxLauncher); diff --git a/CreamInstaller/Resources/Resources.cs b/CreamInstaller/Resources/Resources.cs index f61e872..cb5e637 100644 --- a/CreamInstaller/Resources/Resources.cs +++ b/CreamInstaller/Resources/Resources.cs @@ -491,7 +491,7 @@ internal static class Resources { e.path = Path.GetDirectoryName(e.path); return e; - }).DistinctBy(e => e.path).ToList()); + }).DistinctBy(e => e.path).ToList() ?? new()); internal static async Task> GetExecutables(this string rootDirectory, bool filterCommon = false, Func validFunc = null) diff --git a/CreamInstaller/Selection.cs b/CreamInstaller/Selection.cs index 4c27805..59b90bf 100644 --- a/CreamInstaller/Selection.cs +++ b/CreamInstaller/Selection.cs @@ -65,9 +65,9 @@ internal sealed class Selection : IEquatable internal static Selection GetOrCreate(Platform platform, string id, string name, string rootDirectory, HashSet dllDirectories, List<(string directory, BinaryType binaryType)> executableDirectories) - => FromPlatformId(platform, id) ?? new Selection(platform, id, name, rootDirectory, dllDirectories, executableDirectories); + => FromId(platform, id) ?? new Selection(platform, id, name, rootDirectory, dllDirectories, executableDirectories); - private void Remove() + internal void Remove() { _ = All.TryRemove(this, out _); TreeNode.Remove(); @@ -103,7 +103,7 @@ internal sealed class Selection : IEquatable selection.Validate(programsToScan); } - internal static Selection FromPlatformId(Platform platform, string gameId) => All.Keys.FirstOrDefault(s => s.Platform == platform && s.Id == gameId); + internal static Selection FromId(Platform platform, string gameId) => All.Keys.FirstOrDefault(s => s.Platform == platform && s.Id == gameId); public override bool Equals(object obj) => ReferenceEquals(this, obj) || obj is Selection other && Equals(other); diff --git a/CreamInstaller/SelectionDLC.cs b/CreamInstaller/SelectionDLC.cs index a718229..33bae83 100644 --- a/CreamInstaller/SelectionDLC.cs +++ b/CreamInstaller/SelectionDLC.cs @@ -56,13 +56,16 @@ internal sealed class SelectionDLC : IEquatable } } - public bool Equals(SelectionDLC other) => other is not null && (ReferenceEquals(this, other) || Id == other.Id && Type == other.Type); + public bool Equals(SelectionDLC other) + => other is not null && (ReferenceEquals(this, other) || Type == other.Type && Selection?.Id == other.Selection?.Id && Id == other.Id); - internal static SelectionDLC GetOrCreate(DLCType type, string id, string name) => FromTypeId(type, id) ?? new SelectionDLC(type, id, name); + internal static SelectionDLC GetOrCreate(DLCType type, string gameId, string id, string name) + => FromId(type, gameId, id) ?? new SelectionDLC(type, id, name); - internal static SelectionDLC FromTypeId(DLCType Type, string dlcId) => All.Keys.FirstOrDefault(dlc => dlc.Type == Type && dlc.Id == dlcId); + internal static SelectionDLC FromId(DLCType type, string gameId, string dlcId) + => All.Keys.FirstOrDefault(dlc => dlc.Type == type && dlc.Selection?.Id == gameId && dlc.Id == dlcId); public override bool Equals(object obj) => ReferenceEquals(this, obj) || obj is SelectionDLC other && Equals(other); - public override int GetHashCode() => HashCode.Combine(Id, (int)Type); + public override int GetHashCode() => HashCode.Combine((int)Type, Selection?.Id, Id); } \ No newline at end of file