static void dlginit(void) { menudlg_appends(res_fs, NELEMENTS(res_fs)); menudlg_seticon(DID_PARENT, MICON_FOLDERPARENT); menudlg_settext(DID_FILE, file_getname(filesel.path)); menudlg_settext(DID_FILTER, filesel.filter); file_cutname(filesel.path); file_cutseparator(filesel.path); dlgsetlist(); }
static void VERMOUTHCL pathaddex(MIDIMOD mod, const OEMCHAR *path) { OEMCHAR _path[MAX_PATH]; if (milstr_memcmp(path, str_basedir)) { pathadd(mod, path); } else { file_cpyname(_path, file_getcd(str_null), NELEMENTS(_path)); file_cutseparator(_path); file_catname(_path, path + 10, NELEMENTS(_path)); pathadd(mod, _path); } }
static int dlgcmd(int msg, MENUID id, long param) { switch(msg) { case DLGMSG_CREATE: dlginit(); break; case DLGMSG_COMMAND: switch(id) { case DID_OK: if (dlgupdate()) { menubase_close(); } break; case DID_CANCEL: menubase_close(); break; case DID_PARENT: file_cutname(filesel.path); file_cutseparator(filesel.path); dlgsetlist(); menudlg_settext(DID_FILE, NULL); break; case DID_FLIST: if (param) { return(dlgcmd(DLGMSG_COMMAND, DID_OK, 0)); } else { dlgflist(); } break; } break; case DLGMSG_CLOSE: menubase_close(); break; case DLGMSG_DESTROY: listarray_destroy(filesel.flist); filesel.flist = NULL; break; } (void)param; return(0); }