int CT_Opt_Config_Key(int key, CTab_t *tab, CTabPage_t *page) { switch (MOpt_configpage_mode) { case MOCPM_SETTINGS: return Settings_Key(&settconfig, key); break; case MOCPM_CHOOSECONFIG: if (key == K_ENTER || key == K_MOUSE1) { Cbuf_AddText(va("cfg_load \"%s\"\n", COM_SkipPath(FL_GetCurrentEntry(&configs_filelist)->name))); MOpt_configpage_mode = MOCPM_SETTINGS; return true; } else if (key == K_ESCAPE || key == K_MOUSE2) { MOpt_configpage_mode = MOCPM_SETTINGS; return true; } else return FL_Key(&configs_filelist, key); case MOCPM_CHOOSESCRIPT: if (key == K_ENTER || key == K_MOUSE1) { Cbuf_AddText(va("exec \"cfg/%s\"\n", COM_SkipPath(FL_GetCurrentEntry(&configs_filelist)->name))); MOpt_configpage_mode = MOCPM_SETTINGS; return true; } else if (key == K_ESCAPE || key == K_MOUSE2) { MOpt_configpage_mode = MOCPM_SETTINGS; return true; } else return FL_Key(&configs_filelist, key); case MOCPM_ENTERFILENAME: if (key == K_ENTER || key == K_MOUSE1) { Cbuf_AddText(va("cfg_save \"%s\"\n", MOpt_FileNameInputBoxGetText())); MOpt_configpage_mode = MOCPM_SETTINGS; return true; } else if (key == K_ESCAPE || key == K_MOUSE2) { MOpt_configpage_mode = MOCPM_SETTINGS; return true; } else return MOpt_FileNameInputBoxKey(key); } return false; }
int CT_Demo_Browser_Key(int key, wchar unichar, CTab_t *tab, CTabPage_t *page) { extern void M_ToggleMenu_f (void); extern void M_LeaveMenu (int); qbool processed = false; // Special case for adding zips/dirs to playlist. if (key == K_INS || (key == K_ENTER && keydown[K_CTRL])) { #ifdef WITH_ZIP if (FS_IsArchive (FL_GetCurrentPath(&demo_filelist))) { // Zip. Demo_AddZipToPlaylist (FL_GetCurrentPath(&demo_filelist)); return true; } else #endif // WITH_ZIP { if (FL_IsCurrentDir (&demo_filelist)) { // Dir. Demo_AddDirToPlaylist (FL_GetCurrentPath(&demo_filelist)); return true; } } } // See if the main filebrowser functions wants to // do something first, like enter a dir/zip. processed = FL_Key(&demo_filelist, key); if (!processed) { if (key == K_INS) { // Add the selected demo to the playlist. Demo_AddDemoToPlaylist (FL_GetCurrentDisplay (&demo_filelist), FL_GetCurrentPath (&demo_filelist)); } else if (key == K_ENTER || key == K_MOUSE1) { if (keydown[K_CTRL]) { // Add the selected demo to the playlist. Demo_AddDemoToPlaylist (FL_GetCurrentDisplay (&demo_filelist), FL_GetCurrentPath (&demo_filelist)); } else if (keydown[K_SHIFT]) { M_LeaveMenus(); Cbuf_AddText (va("timedemo \"%s\"\n", FL_GetCurrentPath(&demo_filelist))); } else { M_LeaveMenus(); Cbuf_AddText(va("playdemo \"%s\"\n", FL_GetCurrentPath(&demo_filelist))); processed = true; } } } return processed; }