Example #1
0
	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;
			
		}
		
	}
Example #2
0
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);
}