BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) { BOOL rtn = FALSE; // if local file browsing is turned off, return without opening dialog if ( check_local_file_access_enabled() == false ) { return FALSE; } gViewerWindow->getWindow()->beforeDialog(); reset(); GtkWindow* picker = buildFilePicker(false, false, "openfile"); if (picker) { std::string caption = LLTrans::getString("load_file_verb") + " "; std::string filtername = ""; switch (filter) { case FFLOAD_WAV: filtername = add_wav_filter_to_gtkchooser(picker); break; case FFLOAD_ANIM: filtername = add_anim_filter_to_gtkchooser(picker); break; case FFLOAD_COLLADA: filtername = add_collada_filter_to_gtkchooser(picker); break; case FFLOAD_IMAGE: filtername = add_imageload_filter_to_gtkchooser(picker); break; case FFLOAD_SCRIPT: filtername = add_script_filter_to_gtkchooser(picker); break; case FFLOAD_DICTIONARY: filtername = add_dictionary_filter_to_gtkchooser(picker); break; default:; break; } caption += filtername; gtk_window_set_title(GTK_WINDOW(picker), caption.c_str()); gtk_widget_show_all(GTK_WIDGET(picker)); gtk_main(); rtn = (getFileCount() == 1); } gViewerWindow->getWindow()->afterDialog(); return rtn; }
BOOL LLFilePicker::getOpenFile( ELoadFilter filter ) { BOOL rtn = FALSE; gViewerWindow->mWindow->beforeDialog(); reset(); GtkWindow* picker = buildFilePicker(false, false, "openfile"); if (picker) { std::string caption = LLTrans::getString("load_file_verb") + " "; std::string filtername = ""; switch (filter) { case FFLOAD_WAV: filtername = add_wav_filter_to_gtkchooser(picker); break; case FFLOAD_ANIM: filtername = add_bvh_filter_to_gtkchooser(picker); break; case FFLOAD_IMAGE: filtername = add_imageload_filter_to_gtkchooser(picker); break; case FFLOAD_XML: filtername = add_xml_filter_to_gtkchooser(picker); break; case FFLOAD_CSV: filtername = add_csv_filter_to_gtkchooser(picker); break; default:; break; } caption += filtername; gtk_window_set_title(GTK_WINDOW(picker), caption.c_str()); gtk_widget_show_all(GTK_WIDGET(picker)); gtk_main(); rtn = (getFileCount() == 1); } gViewerWindow->mWindow->afterDialog(); return rtn; }