Mercurial > audlegacy
diff src/audacious/ui_equalizer.c @ 2514:7934ac463591 trunk
[svn] - removed unused function bmp_menu_translate()
- removed playlist_file_selection_browser() and replaced it with
make_filebrowser()
- modified make_filebrowser() behaviour
- adapted equalizer file loading/saving functions to new
make_filebrowser()
| author | mf0102 |
|---|---|
| date | Tue, 13 Feb 2007 06:09:50 -0800 |
| parents | 204d1bab71f9 |
| children | 319b10203d7c |
line wrap: on
line diff
--- a/src/audacious/ui_equalizer.c Tue Feb 13 05:48:33 2007 -0800 +++ b/src/audacious/ui_equalizer.c Tue Feb 13 06:09:50 2007 -0800 @@ -975,45 +975,45 @@ static void equalizerwin_delete_selected_presets(GtkTreeView *view, gchar *filename) { - gchar *text; + gchar *text; - GtkTreeSelection *selection = gtk_tree_view_get_selection(view); - GtkTreeModel *model = gtk_tree_view_get_model(view); + GtkTreeSelection *selection = gtk_tree_view_get_selection(view); + GtkTreeModel *model = gtk_tree_view_get_model(view); - /* - * first we are making a list of the selected rows, then we convert this - * list into a list of GtkTreeRowReferences, so that when you delete an - * item you can still access the other items - * finally we iterate through all GtkTreeRowReferences, convert them to - * GtkTreeIters and delete those one after the other - */ + /* + * first we are making a list of the selected rows, then we convert this + * list into a list of GtkTreeRowReferences, so that when you delete an + * item you can still access the other items + * finally we iterate through all GtkTreeRowReferences, convert them to + * GtkTreeIters and delete those one after the other + */ - GList *list = gtk_tree_selection_get_selected_rows(selection, &model); - GList *rrefs = NULL; - GList *litr; + GList *list = gtk_tree_selection_get_selected_rows(selection, &model); + GList *rrefs = NULL; + GList *litr; - for (litr = list; litr; litr = litr->next) - { - GtkTreePath *path = litr->data; - rrefs = g_list_append(rrefs, gtk_tree_row_reference_new(model, path)); - } + for (litr = list; litr; litr = litr->next) + { + GtkTreePath *path = litr->data; + rrefs = g_list_append(rrefs, gtk_tree_row_reference_new(model, path)); + } - for (litr = rrefs; litr; litr = litr->next) - { - GtkTreeRowReference *ref = litr->data; - GtkTreePath *path = gtk_tree_row_reference_get_path(ref); - GtkTreeIter iter; - gtk_tree_model_get_iter(model, &iter, path); + for (litr = rrefs; litr; litr = litr->next) + { + GtkTreeRowReference *ref = litr->data; + GtkTreePath *path = gtk_tree_row_reference_get_path(ref); + GtkTreeIter iter; + gtk_tree_model_get_iter(model, &iter, path); - gtk_tree_model_get(model, &iter, 0, &text, -1); + gtk_tree_model_get(model, &iter, 0, &text, -1); - if (filename == "eq.preset") - equalizer_presets = equalizerwin_delete_preset(equalizer_presets, text, filename); - else if (filename == "eq.auto_preset") - equalizer_auto_presets = equalizerwin_delete_preset(equalizer_auto_presets, text, filename); + if (filename == "eq.preset") + equalizer_presets = equalizerwin_delete_preset(equalizer_presets, text, filename); + else if (filename == "eq.auto_preset") + equalizer_auto_presets = equalizerwin_delete_preset(equalizer_auto_presets, text, filename); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - } + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + } } @@ -1105,25 +1105,25 @@ static void equalizerwin_save_select(GtkTreeView *treeview, GtkTreePath *path, - GtkTreeViewColumn *col, gpointer data) + GtkTreeViewColumn *col, gpointer data) { gchar *text; - GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); - GtkTreeModel *model; - GtkTreeIter iter; + GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); + GtkTreeModel *model; + GtkTreeIter iter; - if (selection) - { - if (gtk_tree_selection_get_selected(selection, &model, &iter)) - { - gtk_tree_model_get(model, &iter, 0, &text, -1); - gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_entry), text); - equalizerwin_save_ok(NULL, NULL); + if (selection) + { + if (gtk_tree_selection_get_selected(selection, &model, &iter)) + { + gtk_tree_model_get(model, &iter, 0, &text, -1); + gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_entry), text); + equalizerwin_save_ok(NULL, NULL); - g_free(text); - } - } + g_free(text); + } + } } static void @@ -1131,35 +1131,35 @@ { gchar *text; - GtkTreeView* view = GTK_TREE_VIEW(data); - GtkTreeSelection *selection = gtk_tree_view_get_selection(view); - GtkTreeModel *model; - GtkTreeIter iter; + GtkTreeView* view = GTK_TREE_VIEW(data); + GtkTreeSelection *selection = gtk_tree_view_get_selection(view); + GtkTreeModel *model; + GtkTreeIter iter; - if (selection) - { - if (gtk_tree_selection_get_selected(selection, &model, &iter)) - { - gtk_tree_model_get(model, &iter, 0, &text, -1); - equalizerwin_load_preset(equalizer_presets, text); + if (selection) + { + if (gtk_tree_selection_get_selected(selection, &model, &iter)) + { + gtk_tree_model_get(model, &iter, 0, &text, -1); + equalizerwin_load_preset(equalizer_presets, text); - g_free(text); - } - } + g_free(text); + } + } gtk_widget_destroy(equalizerwin_load_window); } static void equalizerwin_load_select(GtkTreeView *treeview, GtkTreePath *path, - GtkTreeViewColumn *col, gpointer data) + GtkTreeViewColumn *col, gpointer data) { - equalizerwin_load_ok(NULL, treeview); + equalizerwin_load_ok(NULL, treeview); } static void equalizerwin_delete_delete(GtkWidget *widget, gpointer data) { - equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.preset"); + equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.preset"); } static void @@ -1177,25 +1177,25 @@ static void equalizerwin_save_auto_select(GtkTreeView *treeview, GtkTreePath *path, - GtkTreeViewColumn *col, gpointer data) + GtkTreeViewColumn *col, gpointer data) { gchar *text; - GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); - GtkTreeModel *model; - GtkTreeIter iter; + GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); + GtkTreeModel *model; + GtkTreeIter iter; - if (selection) - { - if (gtk_tree_selection_get_selected(selection, &model, &iter)) - { - gtk_tree_model_get(model, &iter, 0, &text, -1); - gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_auto_entry), text); - equalizerwin_save_auto_ok(NULL, NULL); + if (selection) + { + if (gtk_tree_selection_get_selected(selection, &model, &iter)) + { + gtk_tree_model_get(model, &iter, 0, &text, -1); + gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_auto_entry), text); + equalizerwin_save_auto_ok(NULL, NULL); - g_free(text); - } - } + g_free(text); + } + } } static void @@ -1203,68 +1203,38 @@ { gchar *text; - GtkTreeView *view = GTK_TREE_VIEW(data); - GtkTreeSelection *selection = gtk_tree_view_get_selection(view); - GtkTreeModel *model; - GtkTreeIter iter; + GtkTreeView *view = GTK_TREE_VIEW(data); + GtkTreeSelection *selection = gtk_tree_view_get_selection(view); + GtkTreeModel *model; + GtkTreeIter iter; - if (selection) - { - if (gtk_tree_selection_get_selected(selection, &model, &iter)) - { - gtk_tree_model_get(model, &iter, 0, &text, -1); - equalizerwin_load_preset(equalizer_auto_presets, text); + if (selection) + { + if (gtk_tree_selection_get_selected(selection, &model, &iter)) + { + gtk_tree_model_get(model, &iter, 0, &text, -1); + equalizerwin_load_preset(equalizer_auto_presets, text); - g_free(text); - } - } + g_free(text); + } + } gtk_widget_destroy(equalizerwin_load_auto_window); } static void equalizerwin_load_auto_select(GtkTreeView *treeview, GtkTreePath *path, - GtkTreeViewColumn *col, gpointer data) + GtkTreeViewColumn *col, gpointer data) { - equalizerwin_load_auto_ok(NULL, treeview); + equalizerwin_load_auto_ok(NULL, treeview); } static void equalizerwin_delete_auto_delete(GtkWidget *widget, gpointer data) { - equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.auto_preset"); + equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.auto_preset"); } -typedef void (*ResponseHandler)(const gchar *filename); - -static void -equalizerwin_file_chooser_on_response(GtkWidget * dialog, - gint response, - gpointer data) -{ - GtkFileChooser *file_chooser = GTK_FILE_CHOOSER(dialog); - ResponseHandler handler = (ResponseHandler) data; - gchar *filename; - - gtk_widget_hide(dialog); - - switch (response) - { - case GTK_RESPONSE_ACCEPT: - filename = gtk_file_chooser_get_filename(file_chooser); - handler(filename); - g_free(filename); - break; - - case GTK_RESPONSE_REJECT: - break; - } - - gtk_widget_destroy(dialog); -} - - - static void load_preset_file(const gchar *filename) { @@ -1376,15 +1346,15 @@ GCallback select_row_func) { GtkWidget *vbox, *scrolled_window, *bbox, *view; - GtkWidget *button_cancel, *button_action; + GtkWidget *button_cancel, *button_action; GList *node; - GtkListStore *store; - GtkTreeIter iter; - GtkTreeModel *model; - GtkCellRenderer *renderer; - GtkTreeSelection *selection; - GtkTreeSortable *sortable; + GtkListStore *store; + GtkTreeIter iter; + GtkTreeModel *model; + GtkCellRenderer *renderer; + GtkTreeSelection *selection; + GtkTreeSortable *sortable; @@ -1407,37 +1377,37 @@ GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - /* fill the store with the names of all available presets */ - store = gtk_list_store_new(1, G_TYPE_STRING); - for (node = preset_list; node; node = g_list_next(node)) - { - gtk_list_store_append(store, &iter); - gtk_list_store_set(store, &iter, - 0, ((EqualizerPreset*)node->data)->name, - -1); - } - model = GTK_TREE_MODEL(store); + /* fill the store with the names of all available presets */ + store = gtk_list_store_new(1, G_TYPE_STRING); + for (node = preset_list; node; node = g_list_next(node)) + { + gtk_list_store_append(store, &iter); + gtk_list_store_set(store, &iter, + 0, ((EqualizerPreset*)node->data)->name, + -1); + } + model = GTK_TREE_MODEL(store); - sortable = GTK_TREE_SORTABLE(store); - gtk_tree_sortable_set_sort_column_id(sortable, 0, GTK_SORT_ASCENDING); + sortable = GTK_TREE_SORTABLE(store); + gtk_tree_sortable_set_sort_column_id(sortable, 0, GTK_SORT_ASCENDING); - view = gtk_tree_view_new(); - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view), -1, - _("Presets"), renderer, - "text", 0, NULL); - gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); - g_object_unref(model); + view = gtk_tree_view_new(); + renderer = gtk_cell_renderer_text_new(); + gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view), -1, + _("Presets"), renderer, + "text", 0, NULL); + gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); + g_object_unref(model); - selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); - gtk_tree_selection_set_mode(selection, sel_mode); + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); + gtk_tree_selection_set_mode(selection, sel_mode); - gtk_container_add(GTK_CONTAINER(scrolled_window), view); + gtk_container_add(GTK_CONTAINER(scrolled_window), view); gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0); if (entry) { @@ -1461,8 +1431,8 @@ g_signal_connect(button_action, "clicked", G_CALLBACK(action_func), view); GTK_WIDGET_SET_FLAGS(button_action, GTK_CAN_DEFAULT); - if (select_row_func) - g_signal_connect(view, "row-activated", G_CALLBACK(select_row_func), NULL); + if (select_row_func) + g_signal_connect(view, "row-activated", G_CALLBACK(select_row_func), NULL); gtk_box_pack_start(GTK_BOX(bbox), button_action, TRUE, TRUE, 0); @@ -1602,33 +1572,48 @@ action_equ_load_preset_file(void) { GtkWidget *dialog; + gchar *filename; dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); - g_signal_connect(dialog , "response", - G_CALLBACK(equalizerwin_file_chooser_on_response), - load_preset_file); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) + { + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + load_preset_file(filename); + g_free(filename); + } + gtk_widget_destroy(dialog); } void action_equ_load_preset_eqf(void) { GtkWidget *dialog; + gchar *filename; dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); - g_signal_connect(dialog, "response", - G_CALLBACK(equalizerwin_file_chooser_on_response), - load_winamp_file); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) + { + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + load_winamp_file(filename); + g_free(filename); + } + gtk_widget_destroy(dialog); } void action_equ_import_winamp_presets(void) { GtkWidget *dialog; + gchar *filename; dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); - g_signal_connect(dialog, "response", - G_CALLBACK(equalizerwin_file_chooser_on_response), - import_winamp_file); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) + { + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + import_winamp_file(filename); + g_free(filename); + } + gtk_widget_destroy(dialog); } void @@ -1678,21 +1663,25 @@ void action_equ_save_default_preset(void) { - equalizer_presets = equalizerwin_save_preset(equalizer_presets, Q_("Default"), - "eq.preset"); + equalizer_presets = + equalizerwin_save_preset(equalizer_presets, Q_("Default"), "eq.preset"); } void action_equ_save_preset_file(void) { GtkWidget *dialog; + gchar *filename; gchar *songname; Playlist *playlist = playlist_get_active(); dialog = make_filebrowser(Q_("Save equalizer preset"), TRUE); - g_signal_connect(dialog, "response", - G_CALLBACK(equalizerwin_file_chooser_on_response), - save_preset_file); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) + { + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + save_preset_file(filename); + g_free(filename); + } songname = playlist_get_filename(playlist, playlist_get_position(playlist)); if (songname) { @@ -1703,17 +1692,24 @@ eqname); g_free(eqname); } + + gtk_widget_destroy(dialog); } void action_equ_save_preset_eqf(void) { GtkWidget *dialog; + gchar *filename; dialog = make_filebrowser(Q_("Save equalizer preset"), TRUE); - g_signal_connect(dialog, "response", - G_CALLBACK(equalizerwin_file_chooser_on_response), - save_winamp_file); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) + { + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + save_winamp_file(filename); + g_free(filename); + } + gtk_widget_destroy(dialog); } void
