add new file menu stub
This commit is contained in:
@@ -0,0 +1 @@
|
||||
uid://c3k4fos7lp7oa
|
||||
@@ -30,7 +30,7 @@ public partial class SolutionExplorerPanel
|
||||
}
|
||||
else if (actionId is FileContextMenuOptions.RevealInFileExplorer)
|
||||
{
|
||||
OS.ShellOpen(Path.GetDirectoryName(file.Path)!);
|
||||
OS.ShellShowInFileManager(file.Path);
|
||||
}
|
||||
else if (actionId is FileContextMenuOptions.CopyFullPath)
|
||||
{
|
||||
|
||||
@@ -5,7 +5,14 @@ namespace SharpIDE.Godot.Features.SolutionExplorer;
|
||||
|
||||
file enum FolderContextMenuOptions
|
||||
{
|
||||
RevealInFileExplorer = 1
|
||||
CreateNew = 1,
|
||||
RevealInFileExplorer = 2
|
||||
}
|
||||
|
||||
file enum CreateNewSubmenuOptions
|
||||
{
|
||||
Directory = 1,
|
||||
CSharpFile = 2
|
||||
}
|
||||
|
||||
public partial class SolutionExplorerPanel
|
||||
@@ -14,6 +21,13 @@ public partial class SolutionExplorerPanel
|
||||
{
|
||||
var menu = new PopupMenu();
|
||||
AddChild(menu);
|
||||
|
||||
var createNewSubmenu = new PopupMenu();
|
||||
menu.AddSubmenuNodeItem("Add", createNewSubmenu, (int)FolderContextMenuOptions.CreateNew);
|
||||
createNewSubmenu.AddItem("Directory", (int)CreateNewSubmenuOptions.Directory);
|
||||
createNewSubmenu.AddItem("C# File", (int)CreateNewSubmenuOptions.CSharpFile);
|
||||
createNewSubmenu.IdPressed += OnCreateNewSubmenuPressed;
|
||||
|
||||
menu.AddItem("Reveal in File Explorer", (int)FolderContextMenuOptions.RevealInFileExplorer);
|
||||
menu.PopupHide += () => menu.QueueFree();
|
||||
menu.IdPressed += id =>
|
||||
@@ -29,4 +43,17 @@ public partial class SolutionExplorerPanel
|
||||
menu.Position = new Vector2I((int)globalMousePosition.X, (int)globalMousePosition.Y);
|
||||
menu.Popup();
|
||||
}
|
||||
|
||||
private void OnCreateNewSubmenuPressed(long id)
|
||||
{
|
||||
var actionId = (CreateNewSubmenuOptions)id;
|
||||
if (actionId is CreateNewSubmenuOptions.Directory)
|
||||
{
|
||||
//OpenCreateNewFolderDialog(folder);
|
||||
}
|
||||
else if (actionId is CreateNewSubmenuOptions.CSharpFile)
|
||||
{
|
||||
//OpenCreateNewCSharpFileDialog(folder);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user