Something odd is happening in my app when I use the JUCE themed FileChooserDialogBox. When the network drive is selected, entries are listed one at a time, at a rate of about one every 10 or so seconds. It can take upwards of a minute to grab the full directory list of even a small directory list.
When I watch the call stack, it looks like one entry is being picked up per refresh - where the refreshes are being called by an async event somewhere. The pause seems to be the interval between these events.
To my uneducated eye, it looks like the event that is supposed to be watching for file-system changes is doing the entire directory list, and for some reason is not finshing the job in one pass.
The code that calls the browser is nothing fancy:
void ScriptHandler::installScript()
{
// prompt user for a script file to import
WildcardFileFilter wildcardFilter(T("*.lua"), T("LUA script file"));
File myFilePath(fImportPath);
FileBrowserComponent browser(FileBrowserComponent::loadFileMode, myFilePath, &wildcardFilter, 0);
FileChooserDialogBox dialogBox(T("Select LUA script file to install."),
T("Please choose a LUA script file to install."), browser, false, Colours::silver);
if (dialogBox.show())
{
....
}
}
:?