LOCEditor - Fix resizing bug and overall errors that where occurring

This commit is contained in:
miku-666
2024-07-11 12:19:54 +02:00
parent 384e1e2246
commit 3f897beb1d
3 changed files with 126 additions and 85 deletions

View File

@@ -45,6 +45,8 @@
this.dataGridViewLocEntryData = new System.Windows.Forms.DataGridView();
this.textBoxReplaceAll = new System.Windows.Forms.TextBox();
this.treeViewLocKeys = new System.Windows.Forms.TreeView();
this.Language = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DisplayName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.contextMenuStrip1.SuspendLayout();
this.GridContextMenu.SuspendLayout();
this.menuStrip.SuspendLayout();
@@ -95,9 +97,10 @@
// menuStrip
//
this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13)))));
this.locSort.SetColumnSpan(this.menuStrip, 3);
resources.ApplyResources(this.menuStrip, "menuStrip");
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem});
resources.ApplyResources(this.menuStrip, "menuStrip");
this.menuStrip.Name = "menuStrip";
//
// fileToolStripMenuItem
@@ -118,10 +121,11 @@
//
this.locSort.AccessibleRole = System.Windows.Forms.AccessibleRole.Table;
resources.ApplyResources(this.locSort, "locSort");
this.locSort.Controls.Add(this.buttonReplaceAll, 2, 0);
this.locSort.Controls.Add(this.dataGridViewLocEntryData, 1, 1);
this.locSort.Controls.Add(this.textBoxReplaceAll, 1, 0);
this.locSort.Controls.Add(this.treeViewLocKeys, 0, 0);
this.locSort.Controls.Add(this.buttonReplaceAll, 2, 1);
this.locSort.Controls.Add(this.dataGridViewLocEntryData, 1, 2);
this.locSort.Controls.Add(this.menuStrip, 0, 0);
this.locSort.Controls.Add(this.textBoxReplaceAll, 1, 1);
this.locSort.Controls.Add(this.treeViewLocKeys, 0, 1);
this.locSort.Name = "locSort";
//
// buttonReplaceAll
@@ -136,6 +140,8 @@
//
this.dataGridViewLocEntryData.AllowUserToAddRows = false;
this.dataGridViewLocEntryData.AllowUserToDeleteRows = false;
this.dataGridViewLocEntryData.AllowUserToResizeColumns = false;
this.dataGridViewLocEntryData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridViewLocEntryData.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13)))));
this.dataGridViewLocEntryData.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
@@ -145,7 +151,10 @@
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridViewLocEntryData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridViewLocEntryData.ColumnHeadersVisible = false;
this.dataGridViewLocEntryData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dataGridViewLocEntryData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Language,
this.DisplayName});
this.locSort.SetColumnSpan(this.dataGridViewLocEntryData, 2);
this.dataGridViewLocEntryData.ContextMenuStrip = this.GridContextMenu;
resources.ApplyResources(this.dataGridViewLocEntryData, "dataGridViewLocEntryData");
@@ -171,18 +180,28 @@
this.treeViewLocKeys.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewLocKeys_AfterSelect);
this.treeViewLocKeys.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown);
//
// Language
//
this.Language.FillWeight = 15F;
resources.ApplyResources(this.Language, "Language");
this.Language.Name = "Language";
this.Language.ReadOnly = true;
//
// DisplayName
//
resources.ApplyResources(this.DisplayName, "DisplayName");
this.DisplayName.Name = "DisplayName";
//
// LOCEditor
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.menuStrip);
this.Controls.Add(this.locSort);
this.Name = "LOCEditor";
this.Style = MetroFramework.MetroColorStyle.Silver;
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.LOCEditor_FormClosing);
this.Load += new System.EventHandler(this.LOCEditor_Load);
this.Resize += new System.EventHandler(this.LOCEditor_Resize);
this.contextMenuStrip1.ResumeLayout(false);
this.GridContextMenu.ResumeLayout(false);
this.menuStrip.ResumeLayout(false);
@@ -191,7 +210,6 @@
this.locSort.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewLocEntryData)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -211,5 +229,7 @@
private System.Windows.Forms.MenuStrip menuStrip;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.DataGridViewTextBoxColumn Language;
private System.Windows.Forms.DataGridViewTextBoxColumn DisplayName;
}
}

View File

@@ -17,7 +17,6 @@ namespace PckStudio.Forms.Editor
{
public partial class LOCEditor : MetroForm
{
DataTable tbl;
LOCFile currentLoc;
PckAsset _asset;
@@ -30,13 +29,6 @@ namespace PckStudio.Forms.Editor
var reader = new LOCFileReader();
currentLoc = reader.FromStream(ms);
}
tbl = new DataTable();
tbl.Columns.Add(new DataColumn("Language") { ReadOnly = true });
tbl.Columns.Add("Display Name");
dataGridViewLocEntryData.DataSource = tbl;
DataGridViewColumn column = dataGridViewLocEntryData.Columns[1];
column.Width = dataGridViewLocEntryData.Width;
saveToolStripMenuItem.Visible = !Settings.Default.AutoSaveChanges;
}
@@ -61,17 +53,15 @@ namespace PckStudio.Forms.Editor
private void addDisplayIDToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewLocKeys.SelectedNode is TreeNode)
using (TextPrompt prompt = new TextPrompt())
using (TextPrompt prompt = new TextPrompt())
{
prompt.OKButtonText = "Add";
if (prompt.ShowDialog(this) == DialogResult.OK &&
currentLoc.AddLocKey(prompt.NewText, ""))
{
prompt.OKButtonText = "Add";
if (prompt.ShowDialog(this) == DialogResult.OK &&
!currentLoc.LocKeys.ContainsKey(prompt.NewText) &&
currentLoc.AddLocKey(prompt.NewText, ""))
{
treeViewLocKeys.Nodes.Add(prompt.NewText);
}
treeViewLocKeys.Nodes.Add(prompt.NewText);
}
}
}
private void deleteDisplayIDToolStripMenuItem_Click(object sender, EventArgs e)
@@ -79,18 +69,23 @@ namespace PckStudio.Forms.Editor
if (treeViewLocKeys.SelectedNode is TreeNode t && currentLoc.RemoveLocKey(t.Text))
{
treeViewLocKeys.SelectedNode.Remove();
ReloadTranslationTable();
}
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex != 1 ||
treeViewLocKeys.SelectedNode == null)
if (e.ColumnIndex != 1 ||
treeViewLocKeys.SelectedNode is null)
{
MessageBox.Show(this, "something went wrong");
return;
}
currentLoc.SetLocEntry(treeViewLocKeys.SelectedNode.Text, tbl.Rows[e.RowIndex][0].ToString(), tbl.Rows[e.RowIndex][1].ToString());
var row = dataGridViewLocEntryData.Rows[e.RowIndex];
string locKey = treeViewLocKeys.SelectedNode.Text;
string language = row.Cells[0].Value.ToString();
string value = row.Cells[1].Value.ToString();
currentLoc.SetLocEntry(locKey, language, value);
}
private void treeView1_KeyDown(object sender, KeyEventArgs e)
@@ -101,25 +96,21 @@ namespace PckStudio.Forms.Editor
private void buttonReplaceAll_Click(object sender, EventArgs e)
{
for (int i = 0; i < tbl.Rows.Count; i++)
for (int i = 0; i < dataGridViewLocEntryData.Rows.Count; i++)
{
tbl.Rows[i][1] = textBoxReplaceAll.Text;
dataGridViewLocEntryData.Rows[i].Cells[1].Value = textBoxReplaceAll.Text;
}
currentLoc.SetLocEntry(treeViewLocKeys.SelectedNode.Text, textBoxReplaceAll.Text);
}
private void LOCEditor_Resize(object sender, EventArgs e)
{
DataGridViewColumn column = dataGridViewLocEntryData.Columns[1];
column.Width = dataGridViewLocEntryData.Width - dataGridViewLocEntryData.Columns[0].Width;
}
private void ReloadTranslationTable()
{
tbl.Rows.Clear();
dataGridViewLocEntryData.Rows.Clear();
if (treeViewLocKeys.SelectedNode is null)
return;
foreach (var l in currentLoc.GetLocEntries(treeViewLocKeys.SelectedNode.Text))
tbl.Rows.Add(l.Key, l.Value);
dataGridViewLocEntryData.Rows.Add(l.Key, l.Value);
}
private IEnumerable<string> GetAvailableLanguages()

View File

@@ -169,40 +169,7 @@
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>321, 17</value>
</metadata>
<data name="saveToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 22</value>
</data>
<data name="saveToolStripMenuItem.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>860, 24</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
<value>menuStrip</value>
</data>
<data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="locSort.ColumnCount" type="System.Int32, mscorlib">
<value>3</value>
</data>
@@ -214,7 +181,7 @@
<value>NoControl</value>
</data>
<data name="buttonReplaceAll.Location" type="System.Drawing.Point, System.Drawing">
<value>783, 3</value>
<value>783, 23</value>
</data>
<data name="buttonReplaceAll.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 23</value>
@@ -237,14 +204,26 @@
<data name="&gt;&gt;buttonReplaceAll.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="Language.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="Language.HeaderText" xml:space="preserve">
<value>Language</value>
</data>
<metadata name="DisplayName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="DisplayName.HeaderText" xml:space="preserve">
<value>Display Name</value>
</data>
<data name="dataGridViewLocEntryData.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="dataGridViewLocEntryData.Location" type="System.Drawing.Point, System.Drawing">
<value>303, 32</value>
<value>303, 52</value>
</data>
<data name="dataGridViewLocEntryData.Size" type="System.Drawing.Size, System.Drawing">
<value>554, 525</value>
<value>554, 532</value>
</data>
<data name="dataGridViewLocEntryData.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -265,7 +244,7 @@
<value>Fill</value>
</data>
<data name="textBoxReplaceAll.Location" type="System.Drawing.Point, System.Drawing">
<value>303, 3</value>
<value>303, 23</value>
</data>
<data name="textBoxReplaceAll.Size" type="System.Drawing.Size, System.Drawing">
<value>474, 20</value>
@@ -283,16 +262,16 @@
<value>locSort</value>
</data>
<data name="&gt;&gt;textBoxReplaceAll.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="treeViewLocKeys.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="treeViewLocKeys.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
<value>3, 23</value>
</data>
<data name="treeViewLocKeys.Size" type="System.Drawing.Size, System.Drawing">
<value>294, 554</value>
<value>294, 561</value>
</data>
<data name="treeViewLocKeys.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -307,16 +286,19 @@
<value>locSort</value>
</data>
<data name="&gt;&gt;treeViewLocKeys.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="locSort.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="locSort.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 87</value>
<value>20, 60</value>
</data>
<data name="locSort.RowCount" type="System.Int32, mscorlib">
<value>2</value>
<value>3</value>
</data>
<data name="locSort.Size" type="System.Drawing.Size, System.Drawing">
<value>860, 560</value>
<value>860, 587</value>
</data>
<data name="locSort.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -331,10 +313,46 @@
<value>$this</value>
</data>
<data name="&gt;&gt;locSort.ZOrder" xml:space="preserve">
<value>3</value>
<value>2</value>
</data>
<data name="locSort.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="buttonReplaceAll" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="dataGridViewLocEntryData" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="textBoxReplaceAll" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="treeViewLocKeys" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Absolute,300,Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="buttonReplaceAll" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="dataGridViewLocEntryData" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="menuStrip" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="textBoxReplaceAll" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="treeViewLocKeys" Row="1" RowSpan="2" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Absolute,300,Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="Absolute,20,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="menuStrip.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="saveToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 22</value>
</data>
<data name="saveToolStripMenuItem.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 16</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>860, 20</value>
</data>
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
<value>menuStrip</value>
</data>
<data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
<value>locSort</value>
</data>
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@@ -2896,6 +2914,18 @@
<data name="&gt;&gt;saveToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Language.Name" xml:space="preserve">
<value>Language</value>
</data>
<data name="&gt;&gt;Language.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;DisplayName.Name" xml:space="preserve">
<value>DisplayName</value>
</data>
<data name="&gt;&gt;DisplayName.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>LOCEditor</value>
</data>