FileDialog is showing a blank white window for me. Only tested on
windows 7 so far, but if I run dmledit, the filedialog on there
works fine. It's weird because I am using almost exactly the same
code.
Here is what it looks like
http://i.imgur.com/qslu7tJ.png
handleAction code:
case ProgramActions.FolderOpen:
UIString caption;
caption = "OPEN_DIR"c;
FileDialog dlg = createFileDialog(caption,
true);
dlg.dialogResult = delegate(Dialog dlg,
const Action result) {
if (result.id == ACTION_OPEN.id) {
string filename = result.stringParam;
//TODO
}
};
dlg.show();
return true;
case ProgramActions.FileOpen:
UIString caption;
caption = "FILE_OPEN"c;
FileDialog dlg = createFileDialog(caption,
false);
dlg.addFilter(FileFilterEntry(UIString("D_FILES"c), "*.d"));
dlg.addFilter(FileFilterEntry(UIString("ALL_FILES"c), "*.*"));
dlg.dialogResult = delegate(Dialog dlg,
const Action result) {
if (result.id == ACTION_OPEN.id) {
string filename = result.stringParam;
//TODO
}
};
dlg.show();
return true;
Here is my createFileDialog
FileDialog createFileDialog(UIString caption, bool folder,
bool fileMustExist = true) {
uint flags = DialogFlag.Modal | DialogFlag.Resizable;
if (fileMustExist)
flags |= FileDialogFlag.FileMustExist;
if (folder)
flags |= FileDialogFlag.SelectDirectory;
FileDialog dlg = new FileDialog(caption, window, null,
flags);
//dlg.filetypeIcons[""] = "";
return dlg;
}
also have this in handleActionStateRequest:
if (!_currentBackgroundOperation)
a.state = ACTION_STATE_ENABLED;
else
a.state = ACTION_STATE_DISABLE;