Fix context menu.

This commit is contained in:
2026-04-17 16:31:49 -05:00
parent fe90f4954e
commit 6c8c1aed45
2 changed files with 58 additions and 15 deletions
+24 -6
View File
@@ -38,7 +38,10 @@ public class TreeViewPanel : Panel
});
}
private void Rename()
/// <summary>
/// Renames the selected item.
/// </summary>
public void Rename()
{
if (ContentTree == null || !Visible)
return;
@@ -54,7 +57,10 @@ public class TreeViewPanel : Panel
}
}
private void Delete()
/// <summary>
/// Deletes the selected items.
/// </summary>
public void Delete()
{
if (ContentTree == null || !Visible)
return;
@@ -75,7 +81,10 @@ public class TreeViewPanel : Panel
}
}
private void Duplicate()
/// <summary>
/// Duplicates the selected items.
/// </summary>
public void Duplicate()
{
if (ContentTree == null || !Visible)
return;
@@ -96,7 +105,10 @@ public class TreeViewPanel : Panel
}
}
private void Copy()
/// <summary>
/// Copies the items.
/// </summary>
public void Copy()
{
if (ContentTree == null || !Visible)
return;
@@ -113,7 +125,10 @@ public class TreeViewPanel : Panel
UpdateContentItemCut(false);
}
private void Paste()
/// <summary>
/// Pastes the items.
/// </summary>
public void Paste()
{
if (ContentTree == null || !Visible)
return;
@@ -126,7 +141,10 @@ public class TreeViewPanel : Panel
UpdateContentItemCut(false);
}
private void Cut()
/// <summary>
/// Cuts the items.
/// </summary>
public void Cut()
{
if (ContentTree == null || !Visible)
return;
@@ -67,12 +67,28 @@ namespace FlaxEditor.Windows
b = cm.AddButton("Open", () => Open(item));
b.Enabled = proxy != null || isFolder;
if (_view.SelectedCount > 1)
b = cm.AddButton("Open (all selected)", () =>
if (_showAllContentInTree)
{
var selection = _tree.Selection;
if (selection.Count > 0)
{
foreach (var e in _view.Selection)
Open(e);
});
b = cm.AddButton("Open (all selected)", () =>
{
foreach (var e in _tree.Selection)
if (e is ContentItemTreeNode contentNode)
Open(contentNode.Item);
});
}
}
else
{
if (_view.SelectedCount > 1)
b = cm.AddButton("Open (all selected)", () =>
{
foreach (var e in _view.Selection)
Open(e);
});
}
cm.AddButton(Utilities.Constants.ShowInExplorer, () => FileSystem.ShowFileExplorer(System.IO.Path.GetDirectoryName(item.Path)));
@@ -137,12 +153,21 @@ namespace FlaxEditor.Windows
{
cm.AddButton("Delete", () => Delete(item));
cm.AddSeparator();
cm.AddButton("Duplicate", _view.Duplicate);
cm.AddButton("Cut", _view.Cut);
cm.AddButton("Copy", _view.Copy);
if (_showAllContentInTree)
{
cm.AddButton("Duplicate", _treeOnlyPanel.Duplicate);
cm.AddButton("Cut", _treeOnlyPanel.Cut);
cm.AddButton("Copy", _treeOnlyPanel.Copy);
}
else
{
cm.AddButton("Duplicate", _view.Duplicate);
cm.AddButton("Cut", _view.Cut);
cm.AddButton("Copy", _view.Copy);
}
}
b = cm.AddButton("Paste", _view.Paste);
b = _showAllContentInTree ? cm.AddButton("Paste", _treeOnlyPanel.Paste) : cm.AddButton("Paste", _view.Paste);
b.Enabled = _view.CanPaste();
if (isFolder && folder.Node is MainContentFolderTreeNode)