diff --git a/uppsrc/CtrlLib/FileSel.h b/uppsrc/CtrlLib/FileSel.h index 21c8eff00..57bb77d9b 100644 --- a/uppsrc/CtrlLib/FileSel.h +++ b/uppsrc/CtrlLib/FileSel.h @@ -265,6 +265,7 @@ public: String SelectFileOpen(const char *types); String SelectFileSaveAs(const char *types); +String SelectDirectory(); String SelectLoadFile(const char *types); bool SelectSaveFile(const char *types, const String& data); diff --git a/uppsrc/CtrlLib/FileSelUtil.cpp b/uppsrc/CtrlLib/FileSelUtil.cpp index 4d6a07fee..49784f044 100644 --- a/uppsrc/CtrlLib/FileSelUtil.cpp +++ b/uppsrc/CtrlLib/FileSelUtil.cpp @@ -37,6 +37,16 @@ String SelectFileSaveAs(const char *types) return b ? ~fs : String::GetVoid(); } +String SelectDirectory() +{ + FileSel fs; + fs.ActiveDir(GetHomeDirectory()); + LoadFromGlobal(fs, "GlobalDirSelector"); + bool b = fs.ExecuteSelectDir(); + StoreToGlobal(fs, "GlobalDirSelector"); + return b ? ~fs : String::GetVoid(); +} + SelectFileIn::SelectFileIn(const char *types) { for(;;) {