diff --git a/uppsrc/ide/Build.cpp b/uppsrc/ide/Build.cpp index 6f7605a99..d5e6aebca 100644 --- a/uppsrc/ide/Build.cpp +++ b/uppsrc/ide/Build.cpp @@ -211,8 +211,3 @@ void Ide::CreateMakefile() return; SaveMakeFile(~mfout, true); } - -void Ide::OpenOutputFolder() -{ - ShellOpenFolder(GetFileFolder(target)); -} diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index 190ac1425..0cb56c056 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -914,7 +914,6 @@ public: void Preprocess(bool asmout); void ToggleStopOnErrors(); void CreateHostRunDir(Host& h); - void OpenOutputFolder(); void PreprocessInternal(); void DebugMenu(Bar& menu); diff --git a/uppsrc/ide/ide.key b/uppsrc/ide/ide.key index 56c057d90..18962e096 100644 --- a/uppsrc/ide/ide.key +++ b/uppsrc/ide/ide.key @@ -80,6 +80,9 @@ KEY(OPENLOG, "View log file", K_ALT_L) KEY(OPENFILEDIR, "Open file directory", 0) KEY(OPENOUTDIR, "Open output directory", 0) +KEY(COPYOUTDIR, "Copy output directory", 0) +KEY(COPYTARGET, "Copy target path", 0) +KEY(OUTDIRTERMINAL, "Terminal at output directory", 0) KEY(TOGGLEBROWSER, "Show Browser++", K_CTRL_B) KEY(NAVIGATOR, "Navigator bar", K_CTRL_N) diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index 6c2cbc954..73c1aaf9a 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -681,8 +681,10 @@ void Ide::BuildMenu(Bar& menu) menu.Add(ffb, AK_FINDPREVERROR, THISBACK(FindPrevError)) .Help("Find previous " + hh + "according to console pane"); menu.MenuSeparator(); - menu.Add(!IsNull(target), AK_OPENOUTDIR, THISBACK(OpenOutputFolder)); - menu.Add(!IsNull(target), "Terminal at output directory", [=] { LaunchTerminal(GetFileFolder(target)); }); + menu.Add(!IsNull(target), AK_OPENOUTDIR, [=] { ShellOpenFolder(GetFileFolder(target)); }); + menu.Add(!IsNull(target), AK_COPYOUTDIR, [=] { WriteClipboardText(GetFileFolder(target)); }); + menu.Add(!IsNull(target), AK_COPYTARGET, [=] { WriteClipboardText(target); }); + menu.Add(!IsNull(target), AK_OUTDIRTERMINAL, [=] { LaunchTerminal(GetFileFolder(target)); }); } void Ide::DebugMenu(Bar& menu)