mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
ide: Open file directory, open package directory
git-svn-id: svn://ultimatepp.org/upp/trunk@3845 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
b1bd0fa9aa
commit
d3a2b4c002
7 changed files with 35 additions and 6 deletions
|
|
@ -188,9 +188,5 @@ void Ide::CreateMakefile()
|
|||
|
||||
void Ide::OpenOutputFolder()
|
||||
{
|
||||
#if defined(PLATFORM_WIN32)
|
||||
LaunchWebBrowser(GetFileFolder(target));
|
||||
#else
|
||||
system("xdg-open " + GetFileFolder(target) + " &");
|
||||
#endif
|
||||
ShellOpenFolder(GetFileFolder(target));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,3 +147,12 @@ FileSel& OutputFs() {
|
|||
fsp->Multi();
|
||||
return *fsp;
|
||||
}
|
||||
|
||||
void ShellOpenFolder(const String& dir)
|
||||
{
|
||||
#if defined(PLATFORM_WIN32)
|
||||
LaunchWebBrowser(dir);
|
||||
#else
|
||||
system("xdg-open " + dir + " &");
|
||||
#endif
|
||||
}
|
||||
|
|
@ -27,6 +27,8 @@ FileSel& AnyPackageFs();
|
|||
FileSel& BasedSourceFs();
|
||||
FileSel& OutputFs();
|
||||
|
||||
void ShellOpenFolder(const String& dir);
|
||||
|
||||
Image IdeFileImage(const String& filename, bool fast = false, bool include_path = false);
|
||||
|
||||
bool FinishSave(String tmpfile, String outfile);
|
||||
|
|
|
|||
|
|
@ -190,8 +190,11 @@ struct WorkspaceWork {
|
|||
void ShowFile(int pi);
|
||||
|
||||
String GetActivePackage() const { return package.GetCurrentName(); }
|
||||
String GetActivePackagePath() const { return PackagePath(package.GetCurrentName()); }
|
||||
String GetActiveFileName() const;
|
||||
String GetActiveFilePath() const;
|
||||
void OpenFileFolder();
|
||||
void OpenPackageFolder();
|
||||
bool IsActiveFile() const;
|
||||
Package::File& ActiveFile();
|
||||
String FileName(int i) const;
|
||||
|
|
|
|||
|
|
@ -710,6 +710,15 @@ void WorkspaceWork::SpecialFileMenu(Bar& menu)
|
|||
#endif
|
||||
menu.Add("Import directory tree sources..", THISBACK(Import));
|
||||
}
|
||||
void WorkspaceWork::OpenFileFolder()
|
||||
{
|
||||
ShellOpenFolder(GetFileDirectory(GetActiveFilePath()));
|
||||
}
|
||||
|
||||
void WorkspaceWork::OpenPackageFolder()
|
||||
{
|
||||
ShellOpenFolder(GetFileDirectory(GetActivePackagePath()));
|
||||
}
|
||||
|
||||
void WorkspaceWork::FileMenu(Bar& menu)
|
||||
{
|
||||
|
|
@ -741,6 +750,8 @@ void WorkspaceWork::FileMenu(Bar& menu)
|
|||
menu.Add(filelist.IsCursor() && !sel, "Delete", THISBACK(DelFile))
|
||||
.Help("Remove file / topic group reference from package & delete file / folder on disk");
|
||||
menu.Separator();
|
||||
menu.Add("Open File Directory",THISBACK(OpenFileFolder));
|
||||
menu.Separator();
|
||||
menu.Add(filelist.GetCursor() > 0, "Move up", THISBACK1(MoveFile, -1))
|
||||
.Key(organizer ? K_CTRL_UP : K_SHIFT_CTRL_UP)
|
||||
.Help("Move current file one position towards package beginning");
|
||||
|
|
@ -866,6 +877,8 @@ void WorkspaceWork::PackageMenu(Bar& menu)
|
|||
.Check(actual.optimize_speed);
|
||||
menu.Separator();
|
||||
BuildPackageMenu(menu);
|
||||
menu.Separator();
|
||||
menu.Add("Open Package Directory",THISBACK(OpenPackageFolder));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,6 +75,9 @@ KEY(CONDBREAKPOINT, "Conditional breakpoint..", K_ALT_F9)
|
|||
KEY(CLEARBREAKPOINTS, "Clear all breakpoints", K_CTRL_F9|K_SHIFT)
|
||||
KEY(OPENLOG, "View the logfile", K_ALT_L)
|
||||
|
||||
KEY(OPENFILEDIR, "Open file directory", 0)
|
||||
KEY(OPENOUTDIR, "Open output directory", 0)
|
||||
|
||||
KEY(TOGGLEBROWSER, "Show Browser++", K_CTRL_B)
|
||||
KEY(NAVIGATOR, "Navigator bar", K_CTRL_N)
|
||||
KEY(SEARCHTOPICS, "Search word in Help & Topics", K_CTRL_F1)
|
||||
|
|
|
|||
|
|
@ -81,6 +81,9 @@ void Ide::File(Bar& menu) {
|
|||
menu.Add(split, AK_SWAP, THISBACK(SwapEditors));
|
||||
|
||||
menu.MenuSeparator();
|
||||
|
||||
menu.Add(AK_OPENFILEDIR, THISBACK(OpenFileFolder));
|
||||
menu.MenuSeparator();
|
||||
|
||||
menu.Add(AK_STATISTICS, THISBACK(Statistics))
|
||||
.Help("Display various statistics");
|
||||
|
|
@ -455,7 +458,7 @@ void Ide::BuildMenu(Bar& menu) {
|
|||
+ "according to console pane");
|
||||
#if defined(PLATFORM_WIN32) || defined(PLATFORM_POSIX)
|
||||
menu.MenuSeparator();
|
||||
menu.Add(!IsNull(target), "Open output directory", THISBACK(OpenOutputFolder));
|
||||
menu.Add(!IsNull(target), AK_OPENOUTDIR, THISBACK(OpenOutputFolder));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue