static void browse_cb(Fl_Widget*, void* w) { IconChooser* ic = (IconChooser*)w; const char* dd = fl_dir_chooser(_("Choose icon directory..."), ic->get_start().c_str(), false); if(!dd) return; ic->load(dd); }
void add_cb(Fl_Widget*, void*) { const char* n = fl_dir_chooser("Add directory", "."); if(n) { dirlist->add(n); snprintf(write_buff, 256, "Added %s to be watched\n", n); tlog->append(write_buff); DirWatch::add(n, DW_CREATE|DW_DELETE|DW_ATTRIB|DW_RENAME|DW_MODIFY); } }
// message et fname peuvent être des null const char *fn_dir_chooser(const char *message, const char *fname) { #ifdef WIN32 return win_dir_chooser(message,fname); #endif #ifdef LINUX #ifdef USE_FLU return flu_dir_chooser(message,fname); #else return fl_dir_chooser(message,fname); #endif #endif }
void DirectoryChooser(Fl_Widget *widget, void *text){ Fl_Input *dirfield = (Fl_Input *)text; char *dir = fl_dir_chooser("Select a directory to use as the startup directory", dirfield->value(), 1); if(dir==NULL){ return; } dirfield->value(dir); dirfield->do_callback(); }
void Mixer::cb_menu(Fl_Widget* o) { Fl_Menu_Bar *menu = (Fl_Menu_Bar*)o; /* const Fl_Menu_Item *mi = &menu->menu()[menu->value()]; */ char picked[256]; // const char *picked = menu->text(); menu->item_pathname( picked, sizeof( picked ) ); if (! strcmp( picked, "&Project/&New") ) { DMESSAGE( "New project" ); const char *templates[] = { "Default", NULL }; char *default_path; char *selected_template; read_line( user_config_dir, "default_path", &default_path ); char *path = new_project_chooser( templates, &default_path, &selected_template ); if ( path ) { if ( ! Project::create( path, selected_template ) ) fl_alert( "Error creating project!" ); free( path ); free( selected_template ); } update_menu(); if ( default_path ) { write_line( user_config_dir, "default_path", default_path ); free( default_path ); } } else if (! strcmp( picked, "&Project/&Open" ) ) { char *path = NULL; // read_line( user_config_dir, "default_path", &path ); const char *name = fl_dir_chooser( "Open Project", path ); free( path ); mixer->hide(); if ( int err = Project::open( name ) ) { fl_alert( "Error opening project: %s", Project::errstr( err ) ); } update_menu(); mixer->show(); } else if (! strcmp( picked, "&Project/&Save" ) ) { command_save(); } else if (! strcmp( picked, "&Project/&Quit") ) { command_quit(); } else if ( !strcmp( picked, "&Mixer/&Add Strip" ) ) { command_add_strip(); } else if ( !strcmp( picked, "&Mixer/Add &N Strips" ) ) { const char *s = fl_input( "Enter number of strips to add" ); if ( s ) { for ( int i = atoi( s ); i > 0; i-- ) command_add_strip(); } } else if ( !strcmp( picked, "&Mixer/&Import Strip" ) ) { const char *s = fl_file_chooser( "Export strip to filename:", "*.strip", NULL, 0 ); if ( s ) { if (! Mixer_Strip::import_strip( s ) ) fl_alert( "%s", "Failed to import strip!" ); } } else if (! strcmp( picked, "&Mixer/&Rows/One") ) { rows( 1 ); } else if (! strcmp( picked, "&Mixer/&Rows/Two") ) { rows( 2 ); } else if (! strcmp( picked, "&Mixer/&Rows/Three") ) { rows( 3 ); } else if (! strcmp( picked, "&View/&Theme") ) { fl_theme_chooser(); } else if (! strcmp( picked, "&Options/&Display/&Knobs/&Burnished") ) { Fl_Dial::default_style( Fl_Dial::BURNISHED_DIAL ); redraw_windows(); } else if (! strcmp( picked, "&Options/&Display/&Knobs/&Arc") ) { Fl_Dial::default_style( Fl_Dial::ARC_DIAL ); redraw_windows(); } else if (! strcmp( picked, "&Options/&Display/&Knobs/&Plastic") ) { Fl_Dial::default_style( Fl_Dial::PLASTIC_DIAL ); redraw_windows(); } else if (! strcmp( picked, "&Options/&Display/&Sliders/&Nice") ) { Fl_Value_SliderX::default_style( Fl_Value_SliderX::NICE_SLIDER ); redraw_windows(); } else if (! strcmp( picked, "&Options/&Display/&Sliders/&Fill") ) { Fl_Value_SliderX::default_style( Fl_Value_SliderX::FILL_SLIDER ); redraw_windows(); } else if (! strcmp( picked, "&Options/&Display/&Sliders/&Simple") ) { Fl_Value_SliderX::default_style( Fl_Value_SliderX::SIMPLE_SLIDER ); redraw_windows(); } else if ( ! strcmp( picked, "&Help/&About" ) ) { About_Dialog ab( PIXMAP_PATH "/non-mixer/icon-256x256.png" ); ab.logo_box->label( VERSION ); ab.title->label( "The Non Mixer" ); ab.copyright->label( "Copyright (C) 2008-2010 Jonathan Moore Liles" ); ab.credits->label( "Non-Mixer was written from scratch by\n" "Jonathan Moore Liles for his own use\n" "(see the manual).\n" "\n" "Nobody planned. Nobody helped.\n" "You can help now by donating time, money,\n" "and/or replacing the rest of Linux Audio\n" "with fast, light, reliable alternatives.\n" ); ab.website_url->label( "http://non-mixer.tuxfamily.org" ); ab.run(); } else if ( !strcmp( picked, "&Help/&Manual" )) { char *pat; asprintf( &pat, "file://%s.html", DOCUMENT_PATH "/non-mixer/MANUAL" ); open_url( pat ); free( pat ); } }
static void dir_browse_cb(Fl_Widget*, void*) { const char *p = fl_dir_chooser(_("Choose directory"), "*", 0); if(p) workdir->value(p); }
FL_EXPORT_C(char*,flc_dir_chooser_with_relative)(const char* message,const char* fname,int relative) { return fl_dir_chooser (message, fname, relative); }
FL_EXPORT_C(char*,flc_dir_chooser)(const char* message,const char* fname) { return fl_dir_chooser (message, fname); }
void ProjectOptionsDlg::BrowsePath(const char *title, Fl_Input *inp) { const char *dir = fl_dir_chooser(title, inp->value()); if (dir) inp->value(dir); }