Merge branch 'remove-delete' of https://github.com/Tryibion/FlaxEngine into Tryibion-remove-delete

This commit is contained in:
2023-11-27 14:32:34 +01:00
3 changed files with 37 additions and 7 deletions
+12 -2
View File
@@ -24,6 +24,16 @@ namespace FlaxEditor.Content
/// </summary>
protected ContentFolder _folder;
/// <summary>
/// Whether this node can be deleted.
/// </summary>
public virtual bool CanDelete => true;
/// <summary>
/// Whether this node can be duplicated.
/// </summary>
public virtual bool CanDuplicate => true;
/// <summary>
/// Gets the content folder item.
/// </summary>
@@ -301,7 +311,7 @@ namespace FlaxEditor.Content
StartRenaming();
return true;
case KeyboardKeys.Delete:
if (Folder.Exists)
if (Folder.Exists && CanDelete)
Editor.Instance.Windows.ContentWin.Delete(Folder);
return true;
}
@@ -310,7 +320,7 @@ namespace FlaxEditor.Content
switch (key)
{
case KeyboardKeys.D:
if (Folder.Exists)
if (Folder.Exists && CanDuplicate)
Editor.Instance.Windows.ContentWin.Duplicate(Folder);
return true;
}
@@ -12,6 +12,12 @@ namespace FlaxEditor.Content
{
private FileSystemWatcher _watcher;
/// <inheritdoc />
public override bool CanDelete => false;
/// <inheritdoc />
public override bool CanDuplicate => false;
/// <summary>
/// Initializes a new instance of the <see cref="MainContentTreeNode"/> class.
/// </summary>
@@ -114,18 +114,32 @@ namespace FlaxEditor.Windows
}
}
cm.AddButton("Delete", () => Delete(item));
if (isFolder && folder.Node is MainContentTreeNode)
{
cm.AddSeparator();
}
else
{
cm.AddButton("Delete", () => Delete(item));
cm.AddSeparator();
cm.AddSeparator();
cm.AddButton("Duplicate", _view.Duplicate);
cm.AddButton("Duplicate", _view.Duplicate);
cm.AddButton("Copy", _view.Copy);
cm.AddButton("Copy", _view.Copy);
}
b = cm.AddButton("Paste", _view.Paste);
b.Enabled = _view.CanPaste();
cm.AddButton("Rename", () => Rename(item));
if (isFolder && folder.Node is MainContentTreeNode)
{
// Do nothing
}
else
{
cm.AddButton("Rename", () => Rename(item));
}
// Custom options
ContextMenuShow?.Invoke(cm, item);