X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fplaylist.c;h=287d96410159f3e716e8e1bcab6b3e31e09a6e10;hb=86c9dd5a491cd7ebead02b73896af7e65084a3d4;hp=95ecf04c08d50daa1b5e288aeb09fc656ebe811d;hpb=4327370bd9e07150bdeea7df0416f87f0417b8ab;p=melted_gui diff --git a/src/playlist.c b/src/playlist.c index 95ecf04..287d964 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -679,7 +679,7 @@ void playlist_item_swap(instance_t* app, int dir) pthread_mutex_unlock(&app->playlist.lock); }; - +#if 0 static int playlist_load_file_ply(instance_t* app, char* filename) { FILE* f; @@ -801,56 +801,6 @@ static int playlist_load_file_ply(instance_t* app, char* filename) return count; }; -void playlist_load(instance_t* app) -{ - int r; - GtkWidget *dialog; - GtkFileFilter *filter; - - dialog = gtk_file_chooser_dialog_new("Open File", - GTK_WINDOW (app->window), - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, - NULL); - - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), - (app->playlist.path)?app->playlist.path:getenv("HOME")); - - filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, "Playlist formatted (*.ply)"); - gtk_file_filter_add_pattern(filter, "*.ply"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER (dialog), filter); - filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, "All types (*.*)"); - gtk_file_filter_add_pattern(filter, "*.*"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER (dialog), filter); - - r = gtk_dialog_run(GTK_DIALOG(dialog)); - - if(r == GTK_RESPONSE_ACCEPT) - { - char *filename; - - filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - - r = playlist_load_file_ply(app, filename); - - if(r) - ui_playlist_draw(app); - - if(app->playlist.path) - g_free(app->playlist.path); - if((app->playlist.path = filename)) - { - char* e = strrchr(app->playlist.path, '/'); - if(e) *e = 0; - } - } - - gtk_widget_destroy (dialog); -}; - static int playlist_save_file_ply(instance_t* app, char* filename) { int i; @@ -882,58 +832,58 @@ static int playlist_save_file_ply(instance_t* app, char* filename) return 0; }; +#endif -void playlist_save(instance_t* app) +static int playlist_load_plm(instance_t* app, char* filename) { - int r; - GtkWidget *dialog; - GtkFileFilter *filter; - - dialog = gtk_file_chooser_dialog_new("Save File", - GTK_WINDOW (app->window), - GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, - NULL); - - gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); - - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), - (app->playlist.path)?app->playlist.path:getenv("HOME")); - - filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, "Playlist formatted (*.ply)"); - gtk_file_filter_add_pattern(filter, "*.ply"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER (dialog), filter); - g_object_set_data(G_OBJECT(filter), "id", GINT_TO_POINTER(0)); - filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, "Text (*.txt)"); - gtk_file_filter_add_pattern(filter, "*.*"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER (dialog), filter); - g_object_set_data(G_OBJECT(filter), "id", GINT_TO_POINTER(1)); - - r = gtk_dialog_run(GTK_DIALOG(dialog)); - - if(r == GTK_RESPONSE_ACCEPT) - { - char *filename; + return 0; +}; - filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); +static int playlist_save_plm(instance_t* app, char* filename) +{ + return 0; +}; - r = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(dialog))), "id")); +static int playlist_load_plx(instance_t* app, char* filename) +{ + return -1; +}; - r = playlist_save_file_ply(app, filename); +static int playlist_save_plx(instance_t* app, char* filename) +{ + return -1; +}; - if(app->playlist.path) - g_free(app->playlist.path); - if((app->playlist.path = filename)) - { - char* e = strrchr(app->playlist.path, '/'); - if(e) *e = 0; - } +static struct ui_playlist_io_funcs playlist_io[] = +{ + { + "Text formatted playlist (*.plt)", + "*.plm", + playlist_load_plm, + playlist_save_plm + }, + { + "Xml formatted playlist (*.plx)", + "*.plx", + playlist_load_plx, + playlist_save_plx, + }, + { + NULL, + NULL, + NULL, + NULL } +}; + +void playlist_load(instance_t* app) +{ + ui_playlist_load(app, (app->playlist.path)?app->playlist.path:getenv("HOME"), playlist_io); +}; - gtk_widget_destroy (dialog); +void playlist_save(instance_t* app) +{ + ui_playlist_save(app, (app->playlist.path)?app->playlist.path:getenv("HOME"), playlist_io); };