void FileDialog::OpenFiles (std::vector<const char*>* files, const char* filter, const char* defaultPath) { nfdpathset_t pathSet; nfdresult_t result = NFD_OpenDialogMultiple (filter, defaultPath, &pathSet); switch (result) { case NFD_OKAY: { for (int i = 0; i < NFD_PathSet_GetCount (&pathSet); i++) { files->push_back (NFD_PathSet_GetPath (&pathSet, i)); } NFD_PathSet_Free (&pathSet); break; } case NFD_CANCEL: break; default: printf ("Error: %s\n", NFD_GetError ()); break; } }
bool FileDialog::getFilenames(const String& filename, Array<String>& filenames, const String& extension) { nfdpathset_t paths; const String& fname = FileSystem::NFDStandardizeFilename(filename); nfdresult_t result = NFD_OpenDialogMultiple(extension.c_str(), fname.c_str(), &paths); if (result == NFD_OKAY) { for (size_t i = 0; i < NFD_PathSet_GetCount(&paths); ++i) { filenames.append(NFD_PathSet_GetPath(&paths, i)); } } NFD_PathSet_Free(&paths); return (result == NFD_OKAY); }