Enlightenment CVS committal Author : moom16 Project : e17 Module : apps/eclair
Dir : e17/apps/eclair/src Modified Files: eclair_callbacks.c eclair_dialogs.c eclair_dialogs.h eclair_private.h Log Message: * We can now save the playlist with the popup menu * Cleanup the file chooser code =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_callbacks.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- eclair_callbacks.c 20 May 2005 13:50:32 -0000 1.12 +++ eclair_callbacks.c 20 May 2005 17:03:22 -0000 1.13 @@ -183,7 +183,7 @@ if (!eclair) return; - eclair_dialogs_open_add_files_fc(&eclair->dialogs_manager); + eclair_dialogs_add_files_file_chooser(&eclair->dialogs_manager); } //Called when the user clicks on play button =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_dialogs.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- eclair_dialogs.c 20 May 2005 13:50:32 -0000 1.2 +++ eclair_dialogs.c 20 May 2005 17:03:23 -0000 1.3 @@ -4,12 +4,16 @@ #include "eclair_config.h" #include "eclair_playlist.h" #include "eclair_playlist_container.h" +#include "eclair_utils.h" static void *_eclair_dialogs_thread(void *param); static gint _eclair_dialogs_update(gpointer data); -static void _eclair_dialogs_open_fc_open(Eclair_Dialogs_Manager *dialogs_manager, Eclair_Dialog_Open_FC_Type fc_type); -static gboolean _eclair_dialogs_open_fc_on_ok(GtkWidget *widget, gpointer data); -static gboolean _eclair_dialogs_open_fc_on_delete(GtkWidget *widget, GdkEvent *event, gpointer data); + +static void _eclair_dialogs_file_chooser_open(Eclair_Dialogs_Manager *dialogs_manager, Eclair_Dialog_File_Chooser_Type file_chooser_type); +static gboolean _eclair_dialogs_file_chooser_on_add_files(GtkWidget *widget, gpointer data); +static gboolean _eclair_dialogs_file_chooser_on_save_playlist(GtkWidget *widget, gpointer data); +static gboolean _eclair_dialogs_file_chooser_on_delete(GtkWidget *widget, GdkEvent *event, gpointer data); + static void _eclair_dialogs_menu_on_add_files(gpointer data, guint action, GtkWidget *widget); static void _eclair_dialogs_menu_on_load_list(gpointer data, guint action, GtkWidget *widget); static void _eclair_dialogs_menu_on_save_list(gpointer data, guint action, GtkWidget *widget); @@ -49,21 +53,17 @@ dialogs_manager->eclair = eclair; - dialogs_manager->open_fc_all_button = NULL; - dialogs_manager->open_fc_none_button = NULL; - dialogs_manager->open_fc_ok_button = NULL; - dialogs_manager->open_fc_close_button = NULL; - dialogs_manager->open_fc_widget = NULL; - dialogs_manager->open_fc_dialog = NULL; - dialogs_manager->save_fc_ok_button = NULL; - dialogs_manager->save_fc_close_button = NULL; - dialogs_manager->save_fc_widget = NULL; - dialogs_manager->save_fc_dialog = NULL; + dialogs_manager->file_chooser_all_button = NULL; + dialogs_manager->file_chooser_none_button = NULL; + dialogs_manager->file_chooser_ok_button = NULL; + dialogs_manager->file_chooser_close_button = NULL; + dialogs_manager->file_chooser_widget = NULL; + dialogs_manager->file_chooser_dialog = NULL; dialogs_manager->menu_widget = NULL; dialogs_manager->should_quit = FALSE; dialogs_manager->should_popup_menu = FALSE; - dialogs_manager->should_open_open_fc = ECLAIR_FC_NONE; + dialogs_manager->should_open_file_chooser = ECLAIR_FC_NONE; pthread_create(&dialogs_manager->dialogs_thread, NULL, _eclair_dialogs_thread, eclair); } @@ -76,7 +76,7 @@ if (!dialogs_manager) return; - if (dialogs_manager->open_fc_widget && dialogs_manager->eclair && (last_location_path = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(dialogs_manager->open_fc_widget)))) + if (dialogs_manager->file_chooser_widget && dialogs_manager->eclair && (last_location_path = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget)))) { eclair_config_set_prop_string(&dialogs_manager->eclair->config, "last_location", "path", last_location_path); g_free(last_location_path); @@ -89,21 +89,30 @@ } //Will open the file chooser dialog to add files -void eclair_dialogs_open_add_files_fc(Eclair_Dialogs_Manager *dialogs_manager) +void eclair_dialogs_add_files_file_chooser(Eclair_Dialogs_Manager *dialogs_manager) { if (!dialogs_manager) return; - dialogs_manager->should_open_open_fc = ECLAIR_FC_ADD_FILES; + dialogs_manager->should_open_file_chooser = ECLAIR_FC_ADD_FILES; } //Will open the file chooser dialog to load playlist -void eclair_dialogs_open_load_playlist_fc(Eclair_Dialogs_Manager *dialogs_manager) +void eclair_dialogs_load_playlist_file_chooser(Eclair_Dialogs_Manager *dialogs_manager) +{ + if (!dialogs_manager) + return; + + dialogs_manager->should_open_file_chooser = ECLAIR_FC_LOAD_PLAYLIST; +} + +//Will open the file chooser dialog to save the playlist +void eclair_dialogs_save_playlist_file_chooser(Eclair_Dialogs_Manager *dialogs_manager) { if (!dialogs_manager) return; - dialogs_manager->should_open_open_fc = ECLAIR_FC_LOAD_PLAYLIST; + dialogs_manager->should_open_file_chooser = ECLAIR_FC_SAVE_PLAYLIST; } //Will popup the eclair menu @@ -134,10 +143,10 @@ gtk_menu_popup(GTK_MENU(dialogs_manager->menu_widget), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time()); dialogs_manager->should_popup_menu = FALSE; } - if (dialogs_manager->should_open_open_fc != ECLAIR_FC_NONE) + if (dialogs_manager->should_open_file_chooser != ECLAIR_FC_NONE) { - _eclair_dialogs_open_fc_open(dialogs_manager, dialogs_manager->should_open_open_fc); - dialogs_manager->should_open_open_fc = ECLAIR_FC_NONE; + _eclair_dialogs_file_chooser_open(dialogs_manager, dialogs_manager->should_open_file_chooser); + dialogs_manager->should_open_file_chooser = ECLAIR_FC_NONE; } return 1; @@ -173,8 +182,8 @@ // File chooser functions //------------------------------ -//Open the file chooser -static void _eclair_dialogs_open_fc_open(Eclair_Dialogs_Manager *dialogs_manager, Eclair_Dialog_Open_FC_Type fc_type) +//Open the open file chooser +static void _eclair_dialogs_file_chooser_open(Eclair_Dialogs_Manager *dialogs_manager, Eclair_Dialog_File_Chooser_Type fc_type) { char *last_location_path; Eclair *eclair; @@ -182,68 +191,87 @@ if (!dialogs_manager || !(eclair = dialogs_manager->eclair) || fc_type == ECLAIR_FC_NONE) return; - if (!dialogs_manager->open_fc_dialog) + if (!dialogs_manager->file_chooser_dialog) { //Create the file chooser - dialogs_manager->open_fc_dialog = gtk_dialog_new_with_buttons("Add Files", NULL, GTK_DIALOG_NO_SEPARATOR, NULL); - gtk_window_set_wmclass(GTK_WINDOW(dialogs_manager->open_fc_dialog), "eclair", "eclair"); - gtk_window_set_default_size(GTK_WINDOW(dialogs_manager->open_fc_dialog), 600, 420); - dialogs_manager->open_fc_widget = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_OPEN); - gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(dialogs_manager->open_fc_widget), FALSE); + dialogs_manager->file_chooser_dialog = gtk_dialog_new_with_buttons("Add Files", NULL, GTK_DIALOG_NO_SEPARATOR, NULL); + gtk_window_set_wmclass(GTK_WINDOW(dialogs_manager->file_chooser_dialog), "eclair", "eclair"); + gtk_window_set_default_size(GTK_WINDOW(dialogs_manager->file_chooser_dialog), 600, 420); + dialogs_manager->file_chooser_widget = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_OPEN); + gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), FALSE); if (eclair_config_get_prop_string(&eclair->config, "last_location", "path", &last_location_path)) { if (strlen(last_location_path) > 0) - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialogs_manager->open_fc_widget), last_location_path); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), last_location_path); free(last_location_path); } - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->open_fc_dialog)->vbox), dialogs_manager->open_fc_widget, TRUE, TRUE, 0); - - dialogs_manager->open_fc_all_button = gtk_button_new_with_label("All"); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->open_fc_dialog)->action_area), dialogs_manager->open_fc_all_button, TRUE, TRUE, 0); - dialogs_manager->open_fc_none_button = gtk_button_new_with_label("None"); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->open_fc_dialog)->action_area), dialogs_manager->open_fc_none_button, TRUE, TRUE, 0); - dialogs_manager->open_fc_ok_button = gtk_button_new_with_label("Add Files"); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->open_fc_dialog)->action_area), dialogs_manager->open_fc_ok_button, TRUE, TRUE, 0); - dialogs_manager->open_fc_close_button = gtk_button_new_with_label("Close"); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->open_fc_dialog)->action_area), dialogs_manager->open_fc_close_button, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->file_chooser_dialog)->vbox), dialogs_manager->file_chooser_widget, TRUE, TRUE, 0); - g_signal_connect_swapped(dialogs_manager->open_fc_all_button, "clicked", G_CALLBACK(gtk_file_chooser_select_all), dialogs_manager->open_fc_widget); - g_signal_connect_swapped(dialogs_manager->open_fc_none_button, "clicked", G_CALLBACK(gtk_file_chooser_unselect_all), dialogs_manager->open_fc_widget); - g_signal_connect(dialogs_manager->open_fc_ok_button, "clicked", G_CALLBACK(_eclair_dialogs_open_fc_on_ok), eclair); - g_signal_connect_swapped(dialogs_manager->open_fc_close_button, "clicked", G_CALLBACK(gtk_widget_hide), dialogs_manager->open_fc_dialog); - g_signal_connect(dialogs_manager->open_fc_dialog, "delete_event", G_CALLBACK(_eclair_dialogs_open_fc_on_delete), eclair); + dialogs_manager->file_chooser_all_button = gtk_button_new_with_label("All"); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->file_chooser_dialog)->action_area), dialogs_manager->file_chooser_all_button, TRUE, TRUE, 0); + dialogs_manager->file_chooser_none_button = gtk_button_new_with_label("None"); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->file_chooser_dialog)->action_area), dialogs_manager->file_chooser_none_button, TRUE, TRUE, 0); + dialogs_manager->file_chooser_ok_button = gtk_button_new_with_label("Add Files"); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->file_chooser_dialog)->action_area), dialogs_manager->file_chooser_ok_button, TRUE, TRUE, 0); + dialogs_manager->file_chooser_close_button = gtk_button_new_with_label("Close"); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialogs_manager->file_chooser_dialog)->action_area), dialogs_manager->file_chooser_close_button, TRUE, TRUE, 0); + + g_signal_connect_swapped(dialogs_manager->file_chooser_all_button, "clicked", G_CALLBACK(gtk_file_chooser_select_all), dialogs_manager->file_chooser_widget); + g_signal_connect_swapped(dialogs_manager->file_chooser_none_button, "clicked", G_CALLBACK(gtk_file_chooser_unselect_all), dialogs_manager->file_chooser_widget); + dialogs_manager->file_chooser_ok_handler = g_signal_connect(dialogs_manager->file_chooser_ok_button, "clicked", G_CALLBACK(_eclair_dialogs_file_chooser_on_add_files), eclair); + g_signal_connect_swapped(dialogs_manager->file_chooser_close_button, "clicked", G_CALLBACK(gtk_widget_hide), dialogs_manager->file_chooser_dialog); + g_signal_connect(dialogs_manager->file_chooser_dialog, "delete_event", G_CALLBACK(_eclair_dialogs_file_chooser_on_delete), eclair); - gtk_widget_show_all(dialogs_manager->open_fc_dialog); + gtk_widget_show_all(dialogs_manager->file_chooser_dialog); } if (fc_type == ECLAIR_FC_ADD_FILES) { - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialogs_manager->open_fc_widget), TRUE); - gtk_button_set_label(GTK_BUTTON(dialogs_manager->open_fc_ok_button), "Add Files"); - gtk_window_set_title(GTK_WINDOW(dialogs_manager->open_fc_dialog), "Add Files"); - gtk_widget_show(dialogs_manager->open_fc_all_button); - gtk_widget_show(dialogs_manager->open_fc_none_button); + gtk_file_chooser_set_action(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), GTK_FILE_CHOOSER_ACTION_OPEN); + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), TRUE); + gtk_button_set_label(GTK_BUTTON(dialogs_manager->file_chooser_ok_button), "Add Files"); + gtk_window_set_title(GTK_WINDOW(dialogs_manager->file_chooser_dialog), "Add Files"); + g_signal_handler_disconnect(dialogs_manager->file_chooser_ok_button, dialogs_manager->file_chooser_ok_handler); + dialogs_manager->file_chooser_ok_handler = g_signal_connect(dialogs_manager->file_chooser_ok_button, "clicked", G_CALLBACK(_eclair_dialogs_file_chooser_on_add_files), eclair); + gtk_widget_show(dialogs_manager->file_chooser_all_button); + gtk_widget_show(dialogs_manager->file_chooser_none_button); } else if (fc_type == ECLAIR_FC_LOAD_PLAYLIST) { - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialogs_manager->open_fc_widget), FALSE); - gtk_button_set_label(GTK_BUTTON(dialogs_manager->open_fc_ok_button), "Load Playlist"); - gtk_window_set_title(GTK_WINDOW(dialogs_manager->open_fc_dialog), "Load Playlist"); - gtk_widget_hide(dialogs_manager->open_fc_all_button); - gtk_widget_hide(dialogs_manager->open_fc_none_button); + gtk_file_chooser_set_action(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), GTK_FILE_CHOOSER_ACTION_OPEN); + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), FALSE); + gtk_button_set_label(GTK_BUTTON(dialogs_manager->file_chooser_ok_button), "Load Playlist"); + gtk_window_set_title(GTK_WINDOW(dialogs_manager->file_chooser_dialog), "Load Playlist"); + g_signal_handler_disconnect(dialogs_manager->file_chooser_ok_button, dialogs_manager->file_chooser_ok_handler); + dialogs_manager->file_chooser_ok_handler = g_signal_connect(dialogs_manager->file_chooser_ok_button, "clicked", G_CALLBACK(_eclair_dialogs_file_chooser_on_add_files), eclair); + gtk_widget_hide(dialogs_manager->file_chooser_all_button); + gtk_widget_hide(dialogs_manager->file_chooser_none_button); + } + else if (fc_type == ECLAIR_FC_SAVE_PLAYLIST) + { + gtk_file_chooser_set_action(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), GTK_FILE_CHOOSER_ACTION_SAVE); + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialogs_manager->file_chooser_widget), FALSE); + gtk_button_set_label(GTK_BUTTON(dialogs_manager->file_chooser_ok_button), "Save Playlist"); + gtk_window_set_title(GTK_WINDOW(dialogs_manager->file_chooser_dialog), "Save Playlist"); + g_signal_handler_disconnect(dialogs_manager->file_chooser_ok_button, dialogs_manager->file_chooser_ok_handler); + dialogs_manager->file_chooser_ok_handler = g_signal_connect(dialogs_manager->file_chooser_ok_button, "clicked", G_CALLBACK(_eclair_dialogs_file_chooser_on_save_playlist), eclair); + gtk_widget_hide(dialogs_manager->file_chooser_all_button); + gtk_widget_hide(dialogs_manager->file_chooser_none_button); } + else + return; - gtk_window_present(GTK_WINDOW(dialogs_manager->open_fc_dialog)); + gtk_window_present(GTK_WINDOW(dialogs_manager->file_chooser_dialog)); } //Add the files to the playlist -static gboolean _eclair_dialogs_open_fc_on_ok(GtkWidget *widget, gpointer data) +static gboolean _eclair_dialogs_file_chooser_on_add_files(GtkWidget *widget, gpointer data) { Eclair *eclair = (Eclair *)data; GtkWidget *file_chooser; GSList *filenames, *l; - if (!eclair || !(file_chooser = eclair->dialogs_manager.open_fc_widget)) + if (!eclair || !(file_chooser = eclair->dialogs_manager.file_chooser_widget)) return FALSE; if (!(filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(file_chooser)))) @@ -257,20 +285,50 @@ g_slist_free(filenames); gtk_file_chooser_unselect_all(GTK_FILE_CHOOSER(file_chooser)); - gtk_widget_hide(eclair->dialogs_manager.open_fc_dialog); + gtk_widget_hide(eclair->dialogs_manager.file_chooser_dialog); + return TRUE; +} + +//Save the playlist +static gboolean _eclair_dialogs_file_chooser_on_save_playlist(GtkWidget *widget, gpointer data) +{ + Eclair *eclair = (Eclair *)data; + GtkWidget *file_chooser; + gchar *filename; + char *ext, *new_filename; + + if (!eclair || !(file_chooser = eclair->dialogs_manager.file_chooser_widget)) + return FALSE; + + if (!(filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(file_chooser))) || strlen(filename) <= 0) + return FALSE; + + if ((ext = eclair_utils_file_get_extension(filename)) && strcmp(ext, "m3u") == 0) + eclair_playlist_save(&eclair->playlist, filename); + else + { + new_filename = (char *)malloc(strlen(filename) + 5); + sprintf(new_filename, "%s.m3u", filename); + eclair_playlist_save(&eclair->playlist, new_filename); + free(new_filename); + } + g_free(filename); + + gtk_file_chooser_unselect_all(GTK_FILE_CHOOSER(file_chooser)); + gtk_widget_hide(eclair->dialogs_manager.file_chooser_dialog); return TRUE; } //Do not delete the open file chooser, just hide it -static gboolean _eclair_dialogs_open_fc_on_delete(GtkWidget *widget, GdkEvent *event, gpointer data) +static gboolean _eclair_dialogs_file_chooser_on_delete(GtkWidget *widget, GdkEvent *event, gpointer data) { Eclair *eclair = (Eclair *)data; if (!eclair) return FALSE; - gtk_file_chooser_unselect_all(GTK_FILE_CHOOSER(eclair->dialogs_manager.open_fc_widget)); - gtk_widget_hide(eclair->dialogs_manager.open_fc_dialog); + gtk_file_chooser_unselect_all(GTK_FILE_CHOOSER(eclair->dialogs_manager.file_chooser_widget)); + gtk_widget_hide(eclair->dialogs_manager.file_chooser_dialog); return TRUE; } @@ -285,7 +343,7 @@ if (!eclair) return; - eclair_dialogs_open_add_files_fc(&eclair->dialogs_manager); + eclair_dialogs_add_files_file_chooser(&eclair->dialogs_manager); } static void _eclair_dialogs_menu_on_load_list(gpointer data, guint action, GtkWidget *widget) @@ -295,7 +353,7 @@ if (!eclair) return; - eclair_dialogs_open_load_playlist_fc(&eclair->dialogs_manager); + eclair_dialogs_load_playlist_file_chooser(&eclair->dialogs_manager); } static void _eclair_dialogs_menu_on_save_list(gpointer data, guint action, GtkWidget *widget) @@ -304,6 +362,8 @@ if (!eclair) return; + + eclair_dialogs_save_playlist_file_chooser(&eclair->dialogs_manager); } static void _eclair_dialogs_menu_on_select_all(gpointer data, guint action, GtkWidget *widget) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_dialogs.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- eclair_dialogs.h 20 May 2005 13:50:32 -0000 1.2 +++ eclair_dialogs.h 20 May 2005 17:03:23 -0000 1.3 @@ -5,8 +5,9 @@ void eclair_dialogs_init(Eclair_Dialogs_Manager *dialogs_manager, Eclair *eclair); void eclair_dialogs_shutdown(Eclair_Dialogs_Manager *dialogs_manager); -void eclair_dialogs_open_add_files_fc(Eclair_Dialogs_Manager *dialogs_manager); -void eclair_dialogs_open_load_playlist_fc(Eclair_Dialogs_Manager *dialogs_manager); +void eclair_dialogs_add_files_file_chooser(Eclair_Dialogs_Manager *dialogs_manager); +void eclair_dialogs_load_playlist_file_chooser(Eclair_Dialogs_Manager *dialogs_manager); +void eclair_dialogs_save_playlist_file_chooser(Eclair_Dialogs_Manager *dialogs_manager); void eclair_popup_menu(Eclair_Dialogs_Manager *dialogs_manager); #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_private.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- eclair_private.h 20 May 2005 13:50:32 -0000 1.13 +++ eclair_private.h 20 May 2005 17:03:23 -0000 1.14 @@ -23,7 +23,7 @@ typedef struct _Eclair_Config Eclair_Config; typedef enum _Eclair_Config_Type Eclair_Config_Type; typedef enum _Eclair_Drop_Object Eclair_Drop_Object; -typedef enum _Eclair_Dialog_Open_FC_Type Eclair_Dialog_Open_FC_Type; +typedef enum _Eclair_Dialog_File_Chooser_Type Eclair_Dialog_File_Chooser_Type; typedef struct _Eclair_Dialogs_Manager Eclair_Dialogs_Manager; typedef struct _Eclair_Playlist_Container Eclair_Playlist_Container; typedef struct _Eclair_Playlist_Container_Object Eclair_Playlist_Container_Object; @@ -77,31 +77,28 @@ ECLAIR_ADDING_FILE_TO_TREAT }; -enum _Eclair_Dialog_Open_FC_Type +enum _Eclair_Dialog_File_Chooser_Type { ECLAIR_FC_NONE = 0, ECLAIR_FC_ADD_FILES, - ECLAIR_FC_LOAD_PLAYLIST + ECLAIR_FC_LOAD_PLAYLIST, + ECLAIR_FC_SAVE_PLAYLIST }; struct _Eclair_Dialogs_Manager { - GtkWidget *open_fc_all_button; - GtkWidget *open_fc_none_button; - GtkWidget *open_fc_ok_button; - GtkWidget *open_fc_close_button; - GtkWidget *open_fc_widget; - GtkWidget *open_fc_dialog; - - GtkWidget *save_fc_ok_button; - GtkWidget *save_fc_close_button; - GtkWidget *save_fc_widget; - GtkWidget *save_fc_dialog; + GtkWidget *file_chooser_all_button; + GtkWidget *file_chooser_none_button; + GtkWidget *file_chooser_ok_button; + GtkWidget *file_chooser_close_button; + GtkWidget *file_chooser_widget; + GtkWidget *file_chooser_dialog; + gulong file_chooser_ok_handler; GtkWidget *menu_widget; gboolean should_popup_menu; - Eclair_Dialog_Open_FC_Type should_open_open_fc; + Eclair_Dialog_File_Chooser_Type should_open_file_chooser; gboolean should_quit; pthread_t dialogs_thread; ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs