mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-06-08 18:47:34 +00:00
LOC Editor redesign + added save prompt
This commit is contained in:
29
PCK-Studio/Forms/Editor/LOCEditor.Designer.cs
generated
29
PCK-Studio/Forms/Editor/LOCEditor.Designer.cs
generated
@@ -30,7 +30,8 @@
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LOCEditor));
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addDisplayIDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.deleteDisplayIDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -98,9 +99,9 @@
|
||||
//
|
||||
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
|
||||
@@ -142,21 +143,29 @@
|
||||
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.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
|
||||
this.dataGridViewLocEntryData.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGridViewLocEntryData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGridViewLocEntryData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
|
||||
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;
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.Color.White;
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewLocEntryData.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
resources.ApplyResources(this.dataGridViewLocEntryData, "dataGridViewLocEntryData");
|
||||
this.dataGridViewLocEntryData.Name = "dataGridViewLocEntryData";
|
||||
this.dataGridViewLocEntryData.RowHeadersVisible = false;
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace PckStudio.Forms.Editor
|
||||
{
|
||||
LOCFile _currentLoc;
|
||||
PckAsset _asset;
|
||||
private bool _isModified = false; // Track changes to the LOC strings
|
||||
|
||||
public LOCEditor(PckAsset asset)
|
||||
{
|
||||
@@ -36,8 +37,7 @@ namespace PckStudio.Forms.Editor
|
||||
private void treeViewLocKeys_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
TreeNode node = e.Node;
|
||||
if (node == null ||
|
||||
!_currentLoc.LocKeys.ContainsKey(node.Text))
|
||||
if (node == null || !_currentLoc.LocKeys.ContainsKey(node.Text))
|
||||
{
|
||||
MessageBox.Show(this, "Selected Node does not seem to be in the loc file");
|
||||
return;
|
||||
@@ -54,6 +54,7 @@ namespace PckStudio.Forms.Editor
|
||||
_currentLoc.AddLocKey(prompt.NewText, ""))
|
||||
{
|
||||
treeViewLocKeys.Nodes.Add(prompt.NewText);
|
||||
_isModified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -64,22 +65,24 @@ namespace PckStudio.Forms.Editor
|
||||
{
|
||||
treeViewLocKeys.SelectedNode.Remove();
|
||||
ReloadTranslationTable();
|
||||
_isModified = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex != 1 ||
|
||||
treeViewLocKeys.SelectedNode is null)
|
||||
if (e.ColumnIndex != 1 || treeViewLocKeys.SelectedNode is null)
|
||||
{
|
||||
MessageBox.Show(this, "something went wrong");
|
||||
return;
|
||||
}
|
||||
|
||||
DataGridViewRow 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);
|
||||
_isModified = true;
|
||||
}
|
||||
|
||||
private void treeView1_KeyDown(object sender, KeyEventArgs e)
|
||||
@@ -94,8 +97,8 @@ namespace PckStudio.Forms.Editor
|
||||
{
|
||||
dataGridViewLocEntryData.Rows[i].Cells[1].Value = textBoxReplaceAll.Text;
|
||||
}
|
||||
|
||||
_currentLoc.SetLocEntry(treeViewLocKeys.SelectedNode.Text, textBoxReplaceAll.Text);
|
||||
_isModified = true;
|
||||
}
|
||||
|
||||
private void ReloadTranslationTable()
|
||||
@@ -126,12 +129,14 @@ namespace PckStudio.Forms.Editor
|
||||
{
|
||||
_currentLoc.AddLanguage(dialog.SelectedLanguage);
|
||||
ReloadTranslationTable();
|
||||
_isModified = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_asset.SetData(new LOCFileWriter(_currentLoc, 2));
|
||||
_isModified = false; // Reset modified flag after saving
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
@@ -141,6 +146,19 @@ namespace PckStudio.Forms.Editor
|
||||
{
|
||||
saveToolStripMenuItem_Click(sender, EventArgs.Empty);
|
||||
}
|
||||
else if (_isModified) // Use local modified flag
|
||||
{
|
||||
DialogResult result = MessageBox.Show(
|
||||
"You have unsaved changes. Close without saving?",
|
||||
"Unsaved Changes",
|
||||
MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Warning);
|
||||
|
||||
if (result == DialogResult.No)
|
||||
{
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -181,7 +181,7 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="buttonReplaceAll.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>959, 27</value>
|
||||
<value>943, 27</value>
|
||||
</data>
|
||||
<data name="buttonReplaceAll.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
@@ -229,7 +229,7 @@
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="dataGridViewLocEntryData.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>692, 704</value>
|
||||
<value>676, 676</value>
|
||||
</data>
|
||||
<data name="dataGridViewLocEntryData.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -256,7 +256,7 @@
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="textBoxReplaceAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>597, 23</value>
|
||||
<value>581, 23</value>
|
||||
</data>
|
||||
<data name="textBoxReplaceAll.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@@ -283,7 +283,7 @@
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="treeViewLocKeys.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>342, 738</value>
|
||||
<value>342, 710</value>
|
||||
</data>
|
||||
<data name="treeViewLocKeys.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -313,7 +313,7 @@
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="locSort.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1050, 769</value>
|
||||
<value>1034, 741</value>
|
||||
</data>
|
||||
<data name="locSort.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@@ -331,10 +331,7 @@
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="locSort.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="buttonReplaceAll" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="dataGridViewLocEntryData" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="menuStrip" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="textBoxReplaceAll" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="treeViewLocKeys" Row="1" RowSpan="2" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,350,Percent,100,AutoSize,0" /><Rows Styles="Absolute,23,AutoSize,0,Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="menuStrip.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="buttonReplaceAll" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="dataGridViewLocEntryData" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="menuStrip" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="textBoxReplaceAll" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="treeViewLocKeys" Row="1" RowSpan="2" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,350,Percent,100,AutoSize,0" /><Rows Styles="Absolute,23,AutoSize,0,Percent,100,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 19</value>
|
||||
@@ -345,14 +342,11 @@
|
||||
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="menuStrip.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>7, 2, 0, 2</value>
|
||||
</data>
|
||||
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1050, 23</value>
|
||||
<value>1034, 23</value>
|
||||
</data>
|
||||
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>menuStrip.Name" xml:space="preserve">
|
||||
<value>menuStrip</value>
|
||||
@@ -367,7 +361,7 @@
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="saveToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>98, 22</value>
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="saveToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
@@ -379,7 +373,7 @@
|
||||
<value>7, 15</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1050, 769</value>
|
||||
<value>1034, 741</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
@@ -2897,7 +2891,7 @@
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1056, 784</value>
|
||||
<value>1050, 780</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterParent</value>
|
||||
|
||||
Reference in New Issue
Block a user