mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-25 05:40:21 -04:00
[GUI] Improve de-selection in Scene Hierarchy tab
- improved de-selection perfomance - selected objects count is now displayed in the status bar - "Select none" renamed to "Clear selection"
This commit is contained in:
parent
4bae98813b
commit
2d81007556
32
AssetStudioGUI/AssetStudioGUIForm.Designer.cs
generated
32
AssetStudioGUI/AssetStudioGUIForm.Designer.cs
generated
@ -121,10 +121,10 @@
|
|||||||
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.selectNoneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.clearSelectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.collapseAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.expandAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.expandAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.collapseAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.timer = new System.Windows.Forms.Timer(this.components);
|
this.timer = new System.Windows.Forms.Timer(this.components);
|
||||||
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
@ -1046,7 +1046,7 @@
|
|||||||
//
|
//
|
||||||
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.selectAllToolStripMenuItem,
|
this.selectAllToolStripMenuItem,
|
||||||
this.selectNoneToolStripMenuItem,
|
this.clearSelectionToolStripMenuItem,
|
||||||
this.toolStripSeparator5,
|
this.toolStripSeparator5,
|
||||||
this.expandAllToolStripMenuItem,
|
this.expandAllToolStripMenuItem,
|
||||||
this.collapseAllToolStripMenuItem});
|
this.collapseAllToolStripMenuItem});
|
||||||
@ -1060,25 +1060,18 @@
|
|||||||
this.selectAllToolStripMenuItem.Text = "Select all";
|
this.selectAllToolStripMenuItem.Text = "Select all";
|
||||||
this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
|
this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// selectNoneToolStripMenuItem
|
// clearSelectionToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.selectNoneToolStripMenuItem.Name = "selectNoneToolStripMenuItem";
|
this.clearSelectionToolStripMenuItem.Name = "clearSelectionToolStripMenuItem";
|
||||||
this.selectNoneToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
this.clearSelectionToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||||
this.selectNoneToolStripMenuItem.Text = "Select none";
|
this.clearSelectionToolStripMenuItem.Text = "Clear selection";
|
||||||
this.selectNoneToolStripMenuItem.Click += new System.EventHandler(this.selectNoneToolStripMenuItem_Click);
|
this.clearSelectionToolStripMenuItem.Click += new System.EventHandler(this.clearSelectionToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator5
|
// toolStripSeparator5
|
||||||
//
|
//
|
||||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||||
this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6);
|
this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6);
|
||||||
//
|
//
|
||||||
// collapseAllToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.collapseAllToolStripMenuItem.Name = "collapseAllToolStripMenuItem";
|
|
||||||
this.collapseAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
|
||||||
this.collapseAllToolStripMenuItem.Text = "Collapse all";
|
|
||||||
this.collapseAllToolStripMenuItem.Click += new System.EventHandler(this.collapseAllToolStripMenuItem_Click);
|
|
||||||
//
|
|
||||||
// expandAllToolStripMenuItem
|
// expandAllToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.expandAllToolStripMenuItem.Name = "expandAllToolStripMenuItem";
|
this.expandAllToolStripMenuItem.Name = "expandAllToolStripMenuItem";
|
||||||
@ -1086,6 +1079,13 @@
|
|||||||
this.expandAllToolStripMenuItem.Text = "Expand all";
|
this.expandAllToolStripMenuItem.Text = "Expand all";
|
||||||
this.expandAllToolStripMenuItem.Click += new System.EventHandler(this.expandAllToolStripMenuItem_Click);
|
this.expandAllToolStripMenuItem.Click += new System.EventHandler(this.expandAllToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
// collapseAllToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.collapseAllToolStripMenuItem.Name = "collapseAllToolStripMenuItem";
|
||||||
|
this.collapseAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||||
|
this.collapseAllToolStripMenuItem.Text = "Collapse all";
|
||||||
|
this.collapseAllToolStripMenuItem.Click += new System.EventHandler(this.collapseAllToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// timer
|
// timer
|
||||||
//
|
//
|
||||||
this.timer.Interval = 10;
|
this.timer.Interval = 10;
|
||||||
@ -1307,7 +1307,7 @@
|
|||||||
private System.Windows.Forms.CheckBox filterExcludeMode;
|
private System.Windows.Forms.CheckBox filterExcludeMode;
|
||||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip2;
|
private System.Windows.Forms.ContextMenuStrip contextMenuStrip2;
|
||||||
private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem selectNoneToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem clearSelectionToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
||||||
private System.Windows.Forms.ToolStripMenuItem collapseAllToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem collapseAllToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem expandAllToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem expandAllToolStripMenuItem;
|
||||||
|
@ -95,6 +95,11 @@ namespace AssetStudioGUI
|
|||||||
private int nextGObject;
|
private int nextGObject;
|
||||||
private List<TreeNode> treeSrcResults = new List<TreeNode>();
|
private List<TreeNode> treeSrcResults = new List<TreeNode>();
|
||||||
|
|
||||||
|
//tree selection
|
||||||
|
private List<TreeNode> treeNodeSelectedList = new List<TreeNode>();
|
||||||
|
private bool treeRecursionEnabled = true;
|
||||||
|
private bool isRecursionEvent = false;
|
||||||
|
|
||||||
private string openDirectoryBackup = string.Empty;
|
private string openDirectoryBackup = string.Empty;
|
||||||
private string saveDirectoryBackup = string.Empty;
|
private string saveDirectoryBackup = string.Empty;
|
||||||
|
|
||||||
@ -571,10 +576,38 @@ namespace AssetStudioGUI
|
|||||||
|
|
||||||
private void sceneTreeView_AfterCheck(object sender, TreeViewEventArgs e)
|
private void sceneTreeView_AfterCheck(object sender, TreeViewEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (!treeRecursionEnabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!isRecursionEvent)
|
||||||
|
{
|
||||||
|
if (e.Node.Checked)
|
||||||
|
{
|
||||||
|
treeNodeSelectedList.Add(e.Node);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
treeNodeSelectedList.Remove(e.Node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach (TreeNode childNode in e.Node.Nodes)
|
foreach (TreeNode childNode in e.Node.Nodes)
|
||||||
{
|
{
|
||||||
|
isRecursionEvent = true;
|
||||||
|
bool wasChecked = childNode.Checked;
|
||||||
childNode.Checked = e.Node.Checked;
|
childNode.Checked = e.Node.Checked;
|
||||||
|
if (!wasChecked && childNode.Checked)
|
||||||
|
{
|
||||||
|
treeNodeSelectedList.Add(childNode);
|
||||||
|
}
|
||||||
|
else if (!childNode.Checked)
|
||||||
|
{
|
||||||
|
treeNodeSelectedList.Remove(childNode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
isRecursionEvent = false;
|
||||||
|
|
||||||
|
StatusStripUpdate($"Selected {treeNodeSelectedList.Count} object(s).");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void listSearch_Enter(object sender, EventArgs e)
|
private void listSearch_Enter(object sender, EventArgs e)
|
||||||
@ -1738,22 +1771,22 @@ namespace AssetStudioGUI
|
|||||||
|
|
||||||
private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
|
private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
sceneTreeView.BeginUpdate();
|
|
||||||
foreach (TreeNode node in sceneTreeView.Nodes)
|
foreach (TreeNode node in sceneTreeView.Nodes)
|
||||||
{
|
{
|
||||||
node.Checked = true;
|
node.Checked = true;
|
||||||
}
|
}
|
||||||
sceneTreeView.EndUpdate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectNoneToolStripMenuItem_Click(object sender, EventArgs e)
|
private void clearSelectionToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
sceneTreeView.BeginUpdate();
|
treeRecursionEnabled = false;
|
||||||
foreach (TreeNode node in sceneTreeView.Nodes)
|
for(var i = 0; i < treeNodeSelectedList.Count; i++)
|
||||||
{
|
{
|
||||||
node.Checked = false;
|
treeNodeSelectedList[i].Checked = false;
|
||||||
}
|
}
|
||||||
sceneTreeView.EndUpdate();
|
treeRecursionEnabled = true;
|
||||||
|
treeNodeSelectedList.Clear();
|
||||||
|
StatusStripUpdate($"Selected {treeNodeSelectedList.Count} object(s).");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void expandAllToolStripMenuItem_Click(object sender, EventArgs e)
|
private void expandAllToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
@ -120,6 +120,9 @@
|
|||||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>312, 17</value>
|
<value>312, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>432, 17</value>
|
||||||
|
</metadata>
|
||||||
<data name="fontPreviewBox.Text" xml:space="preserve">
|
<data name="fontPreviewBox.Text" xml:space="preserve">
|
||||||
<value>abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWYZ
|
<value>abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWYZ
|
||||||
1234567890.:,;'\"(!?)+-*/=
|
1234567890.:,;'\"(!?)+-*/=
|
||||||
@ -138,9 +141,6 @@ The quick brown fox jumps over the lazy dog. 1234567890
|
|||||||
|
|
||||||
The quick brown fox jumps over the lazy dog. 1234567890</value>
|
The quick brown fox jumps over the lazy dog. 1234567890</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>432, 17</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="contextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="contextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>775, 21</value>
|
<value>775, 21</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
Loading…
Reference in New Issue
Block a user