Added Move Up/Down content menu buttons for Skins

This commit is contained in:
MayNL
2026-07-02 23:20:14 -04:00
parent 30671812c5
commit 61d29d9491
3 changed files with 121 additions and 20 deletions
+31 -5
View File
@@ -70,6 +70,8 @@ namespace PckStudio.Controls
this.importFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.as3DSTextureFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.moveUpStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.miscFunctionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setFileTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -99,6 +101,7 @@ namespace PckStudio.Controls
this.exportIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fullBodyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.croppedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertToFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -109,7 +112,7 @@ namespace PckStudio.Controls
this.addMultipleEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BigEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
this.convertToFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.moveDownStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
logoPictureBox = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit();
this.ParametersTabControl.SuspendLayout();
@@ -362,6 +365,9 @@ namespace PckStudio.Controls
this.createToolStripMenuItem,
this.importToolStripMenuItem,
this.exportToolStripMenuItem,
this.toolStripSeparator1,
this.moveUpStripMenuItem,
this.moveDownStripMenuItem,
this.toolStripSeparator5,
this.miscFunctionsToolStripMenuItem,
this.extractToolStripMenuItem,
@@ -474,6 +480,17 @@ namespace PckStudio.Controls
resources.ApplyResources(this.as3DSTextureFileToolStripMenuItem, "as3DSTextureFileToolStripMenuItem");
this.as3DSTextureFileToolStripMenuItem.Click += new System.EventHandler(this.as3DSTextureFileToolStripMenuItem_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// moveUpStripMenuItem
//
this.moveUpStripMenuItem.Name = "moveUpStripMenuItem";
resources.ApplyResources(this.moveUpStripMenuItem, "moveUpStripMenuItem");
this.moveUpStripMenuItem.Click += new System.EventHandler(this.moveUpStripMenuItem_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
@@ -676,6 +693,12 @@ namespace PckStudio.Controls
resources.ApplyResources(this.croppedToolStripMenuItem, "croppedToolStripMenuItem");
this.croppedToolStripMenuItem.Click += new System.EventHandler(this.croppedToolStripMenuItem_Click);
//
// convertToFolderToolStripMenuItem
//
this.convertToFolderToolStripMenuItem.Name = "convertToFolderToolStripMenuItem";
resources.ApplyResources(this.convertToFolderToolStripMenuItem, "convertToFolderToolStripMenuItem");
this.convertToFolderToolStripMenuItem.Click += new System.EventHandler(this.convertToFolderToolStripMenuItem_Click);
//
// extractToolStripMenuItem
//
resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem");
@@ -742,11 +765,11 @@ namespace PckStudio.Controls
this.previewPictureBox.Name = "previewPictureBox";
this.previewPictureBox.TabStop = false;
//
// convertToFolderToolStripMenuItem
// moveDownStripMenuItem
//
this.convertToFolderToolStripMenuItem.Name = "convertToFolderToolStripMenuItem";
resources.ApplyResources(this.convertToFolderToolStripMenuItem, "convertToFolderToolStripMenuItem");
this.convertToFolderToolStripMenuItem.Click += new System.EventHandler(this.convertToFolderToolStripMenuItem_Click);
this.moveDownStripMenuItem.Name = "moveDownStripMenuItem";
resources.ApplyResources(this.moveDownStripMenuItem, "moveDownStripMenuItem");
this.moveDownStripMenuItem.Click += new System.EventHandler(this.moveDownStripMenuItem_Click);
//
// PckEditor
//
@@ -855,5 +878,8 @@ namespace PckStudio.Controls
private ToolStripMenuItem croppedToolStripMenuItem;
private ToolStripMenuItem addOFFSETParameterToolStripMenuItem;
private ToolStripMenuItem convertToFolderToolStripMenuItem;
private ToolStripSeparator toolStripSeparator1;
private ToolStripMenuItem moveUpStripMenuItem;
private ToolStripMenuItem moveDownStripMenuItem;
}
}
+48 -6
View File
@@ -1191,6 +1191,15 @@ namespace PckStudio.Controls
treeViewMain.SelectedNode = selectedNodes[0];
}
private void MovePckAsset(PckAsset movingAsset, PckAsset targetAsset)
{
// I overthought this for so long, I guess this works lol - May
int targetIndex = EditorValue.File.IndexOfAsset(targetAsset);
EditorValue.File.RemoveAsset(movingAsset);
EditorValue.File.InsertAsset(targetIndex, movingAsset);
}
private void treeViewMain_DragDrop(object sender, DragEventArgs e)
{
// Retrieve the client coordinates of the drop location.
@@ -1280,12 +1289,7 @@ namespace PckStudio.Controls
if (draggedNodeIsSkinAsset && targetNodeIsSkinAsset)
{
// I overthought this for so long, I guess this works lol - May
int draggedIndex = EditorValue.File.IndexOfAsset(draggedAsset);
int targetIndex = EditorValue.File.IndexOfAsset(targetAsset);
EditorValue.File.RemoveAsset(draggedAsset);
EditorValue.File.InsertAsset(targetIndex, draggedAsset);
MovePckAsset(draggedAsset, targetAsset);
selectedNodePath = draggedAsset.Filename;
}
if (draggedNodeIsFile &&
@@ -2604,6 +2608,8 @@ namespace PckStudio.Controls
toolStripSeparator6.Visible = false;
exportIconToolStripMenuItem.Visible = false;
convertToFolderToolStripMenuItem.Visible = false;
moveDownStripMenuItem.Visible = false;
moveUpStripMenuItem.Visible = false;
if (treeViewMain?.SelectedNode.TryGetTagData(out PckAsset asset) ?? false)
{
@@ -2619,10 +2625,16 @@ namespace PckStudio.Controls
case PckAssetType.SkinFile:
exportToolStripMenuItem.Visible = true;
moveDownStripMenuItem.Visible = true; // allow for skin sorting
moveUpStripMenuItem.Visible = true;
exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomSkinIcons; // only enable if setting is true, no point in exporting custom icons otherwise
break;
case PckAssetType.CapeFile:
exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomCapeIcons;
moveDownStripMenuItem.Visible = true; // allow for cape sorting
moveUpStripMenuItem.Visible = true;
break;
case PckAssetType.TextureFile:
generateMipMapTextureToolStripMenuItem1.Visible = true;
@@ -2714,5 +2726,35 @@ namespace PckStudio.Controls
}
}
}
private void moveUpStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewMain.SelectedNode is TreeNode selectedNode && selectedNode.Tag is PckAsset selectedAsset)
{
int index = EditorValue.File.IndexOfAsset(selectedAsset);
if (index == 0 || selectedNode.Index == 0)
return;
MovePckAsset(selectedAsset, EditorValue.File.GetAssets().ElementAt(index - 1));
_wasModified = true;
BuildMainTreeView();
SelectNodeByPath(selectedAsset.Filename);
}
}
private void moveDownStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewMain.SelectedNode is TreeNode selectedNode && selectedNode.Tag is PckAsset selectedAsset)
{
int index = EditorValue.File.IndexOfAsset(selectedAsset);
if (index == EditorValue.File.AssetCount || selectedNode == selectedNode.Parent.LastNode)
return;
MovePckAsset(selectedAsset, EditorValue.File.GetAssets().ElementAt(EditorValue.File.IndexOfAsset(selectedAsset) + 1));
_wasModified = true;
BuildMainTreeView();
SelectNodeByPath(selectedAsset.Filename);
}
}
}
}
+42 -9
View File
@@ -912,7 +912,7 @@
<value>True</value>
</data>
<data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>76, 42</value>
<value>76, 36</value>
</data>
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
@@ -957,7 +957,7 @@
<value>False</value>
</data>
<data name="ParameterTypeTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 12</value>
<value>215, 6</value>
</data>
<data name="ParameterTypeTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 20</value>
@@ -1002,7 +1002,7 @@
<value>False</value>
</data>
<data name="parameterValueTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 44</value>
<value>215, 38</value>
</data>
<data name="parameterValueTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 20</value>
@@ -1026,7 +1026,7 @@
<value>Bottom, Right</value>
</data>
<data name="buttonEdit.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 70</value>
<value>215, 64</value>
</data>
<data name="buttonEdit.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 33</value>
@@ -1059,7 +1059,7 @@
<value>True</value>
</data>
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>138, -65</value>
<value>138, -71</value>
</data>
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
@@ -1407,6 +1407,21 @@
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
<value>Export</value>
</data>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
</data>
<data name="moveUpStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="moveUpStripMenuItem.Text" xml:space="preserve">
<value>Move Up</value>
</data>
<data name="moveDownStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="moveDownStripMenuItem.Text" xml:space="preserve">
<value>Move Down</value>
</data>
<data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
</data>
@@ -1644,7 +1659,7 @@
<value>Delete</value>
</data>
<data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 236</value>
<value>181, 286</value>
</data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value>
@@ -1912,6 +1927,18 @@
<data name="&gt;&gt;as3DSTextureFileToolStripMenuItem.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;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;moveUpStripMenuItem.Name" xml:space="preserve">
<value>moveUpStripMenuItem</value>
</data>
<data name="&gt;&gt;moveUpStripMenuItem.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;toolStripSeparator5.Name" xml:space="preserve">
<value>toolStripSeparator5</value>
</data>
@@ -2086,6 +2113,12 @@
<data name="&gt;&gt;croppedToolStripMenuItem.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;convertToFolderToolStripMenuItem.Name" xml:space="preserve">
<value>convertToFolderToolStripMenuItem</value>
</data>
<data name="&gt;&gt;convertToFolderToolStripMenuItem.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;extractToolStripMenuItem.Name" xml:space="preserve">
<value>extractToolStripMenuItem</value>
</data>
@@ -2134,10 +2167,10 @@
<data name="&gt;&gt;addMultipleEntriesToolStripMenuItem.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;convertToFolderToolStripMenuItem.Name" xml:space="preserve">
<value>convertToFolderToolStripMenuItem</value>
<data name="&gt;&gt;moveDownStripMenuItem.Name" xml:space="preserve">
<value>moveDownStripMenuItem</value>
</data>
<data name="&gt;&gt;convertToFolderToolStripMenuItem.Type" xml:space="preserve">
<data name="&gt;&gt;moveDownStripMenuItem.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;$this.Name" xml:space="preserve">