From 504e6c67948702e0474897b59690e6fe447fa588 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 3 Jun 2023 13:31:07 +0200 Subject: [PATCH] Cemu Panel - Added feature to open dlc foler in explorer when clicking on the text box --- PCK-Studio/Features/CemuPanel.Designer.cs | 4 ++- PCK-Studio/Features/CemuPanel.cs | 36 ++++++++++++++++++----- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/PCK-Studio/Features/CemuPanel.Designer.cs b/PCK-Studio/Features/CemuPanel.Designer.cs index b197f251..36b4d612 100644 --- a/PCK-Studio/Features/CemuPanel.Designer.cs +++ b/PCK-Studio/Features/CemuPanel.Designer.cs @@ -160,7 +160,6 @@ this.GameDirectoryTextBox.CustomButton.UseSelectable = true; this.GameDirectoryTextBox.CustomButton.Visible = false; this.GameDirectoryTextBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.GameDirectoryTextBox.Enabled = false; this.GameDirectoryTextBox.Lines = new string[0]; this.GameDirectoryTextBox.Location = new System.Drawing.Point(3, 3); this.GameDirectoryTextBox.MaxLength = 32767; @@ -181,6 +180,7 @@ this.GameDirectoryTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); this.GameDirectoryTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); this.GameDirectoryTextBox.TextChanged += new System.EventHandler(this.GameDirectoryTextBox_TextChanged); + this.GameDirectoryTextBox.Click += new System.EventHandler(this.GameDirectoryTextBox_Click); // // BrowseDirectoryBtn // @@ -213,6 +213,8 @@ this.DLCTreeView.TabIndex = 13; this.DLCTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.DLCTreeView_AfterSelect); this.DLCTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.DLCTreeView_NodeMouseDoubleClick); + this.DLCTreeView.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.DLCTreeView_KeyPress); + this.DLCTreeView.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.DLCTreeView_PreviewKeyDown); // // DLCContextMenu // diff --git a/PCK-Studio/Features/CemuPanel.cs b/PCK-Studio/Features/CemuPanel.cs index 49c32205..bea1326b 100644 --- a/PCK-Studio/Features/CemuPanel.cs +++ b/PCK-Studio/Features/CemuPanel.cs @@ -47,17 +47,17 @@ namespace PckStudio.Features { try { - var xml = new XmlDocument(); - xml.Load(settingsPath); - GameDirectoryTextBox.Text = xml.SelectSingleNode("content").SelectSingleNode("mlc_path").InnerText; + var xml = new XmlDocument(); + xml.Load(settingsPath); + GameDirectoryTextBox.Text = xml.SelectSingleNode("content").SelectSingleNode("mlc_path").InnerText; GameDirectoryTextBox.ReadOnly = true; - BrowseDirectoryBtn.Enabled = false; - } + BrowseDirectoryBtn.Enabled = false; + } catch (Exception ex) { Debug.WriteLine(ex, category: $"{nameof(CemuPanel)}:{nameof(TryApplyCemuConfig)}"); - return false; - } + return false; + } } return false; } @@ -295,5 +295,27 @@ namespace PckStudio.Features { ListDLCs(); } + + private void GameDirectoryTextBox_Click(object sender, EventArgs e) + { + if (GameDirectoryTextBox.ReadOnly) + { + Process.Start(GetContentSubDirectory("WiiU", "DLC")); + } + } + + private void DLCTreeView_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) + { + if (e.KeyCode == Keys.Enter && DLCTreeView.SelectedNode is not null) + { + openSkinPackToolStripMenuItem_Click(sender, EventArgs.Empty); + } + base.OnPreviewKeyDown(e); + } + + private void DLCTreeView_KeyPress(object sender, KeyPressEventArgs e) + { + e.Handled = true; + } } }