mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Made Open Containing Folder available for projects and workspace
This commit is contained in:
parent
2de866ae55
commit
9c59fd0dbf
1 changed files with 43 additions and 18 deletions
|
@ -1923,12 +1923,51 @@ namespace IDE.ui
|
|||
Menu menu = new Menu();
|
||||
bool handled = false;
|
||||
|
||||
void AddOpenContainingFolder()
|
||||
{
|
||||
var item = menu.AddItem("Open Containing Folder");
|
||||
item.mOnMenuItemSelected.Add(new (item) =>
|
||||
{
|
||||
let projectItem = GetSelectedProjectItem();
|
||||
String path = scope String();
|
||||
if (projectItem == null)
|
||||
{
|
||||
path.Set(gApp.mWorkspace.mDir);
|
||||
}
|
||||
else if (let projectFolder = projectItem as ProjectFolder)
|
||||
{
|
||||
if (projectFolder.mParentFolder == null)
|
||||
{
|
||||
path.Set(projectFolder.mProject.mProjectDir);
|
||||
}
|
||||
else
|
||||
projectFolder.GetFullImportPath(path);
|
||||
}
|
||||
else
|
||||
projectItem.mParentFolder.GetFullImportPath(path);
|
||||
|
||||
if (!path.IsWhiteSpace)
|
||||
{
|
||||
ProcessStartInfo psi = scope ProcessStartInfo();
|
||||
psi.SetFileName(path);
|
||||
psi.UseShellExecute = true;
|
||||
psi.SetVerb("Open");
|
||||
|
||||
var process = scope SpawnedProcess();
|
||||
process.Start(psi).IgnoreError();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (projectItem == null)
|
||||
{
|
||||
Menu anItem;
|
||||
|
||||
if (gApp.mWorkspace.IsInitialized)
|
||||
{
|
||||
AddOpenContainingFolder();
|
||||
menu.AddItem();
|
||||
|
||||
anItem = menu.AddItem("Add New Project...");
|
||||
anItem.mOnMenuItemSelected.Add(new (item) => { AddNewProject(); });
|
||||
|
||||
|
@ -1938,6 +1977,7 @@ namespace IDE.ui
|
|||
anItem = menu.AddItem("Add From Installed...");
|
||||
anItem.mOnMenuItemSelected.Add(new (item) => { mImportInstalledDeferred = true; });
|
||||
|
||||
menu.AddItem();
|
||||
anItem = menu.AddItem("Properties...");
|
||||
anItem.mOnMenuItemSelected.Add(new (item) => { ShowWorkspaceProperties(); });
|
||||
|
||||
|
@ -2027,6 +2067,8 @@ namespace IDE.ui
|
|||
}
|
||||
});
|
||||
|
||||
AddOpenContainingFolder();
|
||||
|
||||
menu.AddItem();
|
||||
}
|
||||
|
||||
|
@ -2168,24 +2210,7 @@ namespace IDE.ui
|
|||
|
||||
});
|
||||
|
||||
item = menu.AddItem("Open Containing Folder");
|
||||
item.mOnMenuItemSelected.Add(new (item) =>
|
||||
{
|
||||
let projectItem = GetSelectedProjectItem();
|
||||
String path = scope String();
|
||||
if (let projectFolder = projectItem as ProjectFolder)
|
||||
projectFolder.GetFullImportPath(path);
|
||||
else
|
||||
projectItem.mParentFolder.GetFullImportPath(path);
|
||||
|
||||
ProcessStartInfo psi = scope ProcessStartInfo();
|
||||
psi.SetFileName(path);
|
||||
psi.UseShellExecute = true;
|
||||
psi.SetVerb("Open");
|
||||
|
||||
var process = scope SpawnedProcess();
|
||||
process.Start(psi).IgnoreError();
|
||||
});
|
||||
AddOpenContainingFolder();
|
||||
|
||||
menu.AddItem();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue