Mercurial > audlegacy
comparison 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 |
comparison
equal
deleted
inserted
replaced
2513:1e6d2d719876 | 2514:7934ac463591 |
---|---|
973 } | 973 } |
974 | 974 |
975 static void | 975 static void |
976 equalizerwin_delete_selected_presets(GtkTreeView *view, gchar *filename) | 976 equalizerwin_delete_selected_presets(GtkTreeView *view, gchar *filename) |
977 { | 977 { |
978 gchar *text; | 978 gchar *text; |
979 | 979 |
980 GtkTreeSelection *selection = gtk_tree_view_get_selection(view); | 980 GtkTreeSelection *selection = gtk_tree_view_get_selection(view); |
981 GtkTreeModel *model = gtk_tree_view_get_model(view); | 981 GtkTreeModel *model = gtk_tree_view_get_model(view); |
982 | 982 |
983 /* | 983 /* |
984 * first we are making a list of the selected rows, then we convert this | 984 * first we are making a list of the selected rows, then we convert this |
985 * list into a list of GtkTreeRowReferences, so that when you delete an | 985 * list into a list of GtkTreeRowReferences, so that when you delete an |
986 * item you can still access the other items | 986 * item you can still access the other items |
987 * finally we iterate through all GtkTreeRowReferences, convert them to | 987 * finally we iterate through all GtkTreeRowReferences, convert them to |
988 * GtkTreeIters and delete those one after the other | 988 * GtkTreeIters and delete those one after the other |
989 */ | 989 */ |
990 | 990 |
991 GList *list = gtk_tree_selection_get_selected_rows(selection, &model); | 991 GList *list = gtk_tree_selection_get_selected_rows(selection, &model); |
992 GList *rrefs = NULL; | 992 GList *rrefs = NULL; |
993 GList *litr; | 993 GList *litr; |
994 | 994 |
995 for (litr = list; litr; litr = litr->next) | 995 for (litr = list; litr; litr = litr->next) |
996 { | 996 { |
997 GtkTreePath *path = litr->data; | 997 GtkTreePath *path = litr->data; |
998 rrefs = g_list_append(rrefs, gtk_tree_row_reference_new(model, path)); | 998 rrefs = g_list_append(rrefs, gtk_tree_row_reference_new(model, path)); |
999 } | 999 } |
1000 | 1000 |
1001 for (litr = rrefs; litr; litr = litr->next) | 1001 for (litr = rrefs; litr; litr = litr->next) |
1002 { | 1002 { |
1003 GtkTreeRowReference *ref = litr->data; | 1003 GtkTreeRowReference *ref = litr->data; |
1004 GtkTreePath *path = gtk_tree_row_reference_get_path(ref); | 1004 GtkTreePath *path = gtk_tree_row_reference_get_path(ref); |
1005 GtkTreeIter iter; | 1005 GtkTreeIter iter; |
1006 gtk_tree_model_get_iter(model, &iter, path); | 1006 gtk_tree_model_get_iter(model, &iter, path); |
1007 | 1007 |
1008 gtk_tree_model_get(model, &iter, 0, &text, -1); | 1008 gtk_tree_model_get(model, &iter, 0, &text, -1); |
1009 | 1009 |
1010 if (filename == "eq.preset") | 1010 if (filename == "eq.preset") |
1011 equalizer_presets = equalizerwin_delete_preset(equalizer_presets, text, filename); | 1011 equalizer_presets = equalizerwin_delete_preset(equalizer_presets, text, filename); |
1012 else if (filename == "eq.auto_preset") | 1012 else if (filename == "eq.auto_preset") |
1013 equalizer_auto_presets = equalizerwin_delete_preset(equalizer_auto_presets, text, filename); | 1013 equalizer_auto_presets = equalizerwin_delete_preset(equalizer_auto_presets, text, filename); |
1014 | 1014 |
1015 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); | 1015 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); |
1016 } | 1016 } |
1017 } | 1017 } |
1018 | 1018 |
1019 | 1019 |
1020 static GList * | 1020 static GList * |
1021 import_winamp_eqf(VFSFile * file) | 1021 import_winamp_eqf(VFSFile * file) |
1103 gtk_widget_destroy(equalizerwin_save_window); | 1103 gtk_widget_destroy(equalizerwin_save_window); |
1104 } | 1104 } |
1105 | 1105 |
1106 static void | 1106 static void |
1107 equalizerwin_save_select(GtkTreeView *treeview, GtkTreePath *path, | 1107 equalizerwin_save_select(GtkTreeView *treeview, GtkTreePath *path, |
1108 GtkTreeViewColumn *col, gpointer data) | 1108 GtkTreeViewColumn *col, gpointer data) |
1109 { | 1109 { |
1110 gchar *text; | 1110 gchar *text; |
1111 | 1111 |
1112 GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); | 1112 GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); |
1113 GtkTreeModel *model; | 1113 GtkTreeModel *model; |
1114 GtkTreeIter iter; | 1114 GtkTreeIter iter; |
1115 | 1115 |
1116 if (selection) | 1116 if (selection) |
1117 { | 1117 { |
1118 if (gtk_tree_selection_get_selected(selection, &model, &iter)) | 1118 if (gtk_tree_selection_get_selected(selection, &model, &iter)) |
1119 { | 1119 { |
1120 gtk_tree_model_get(model, &iter, 0, &text, -1); | 1120 gtk_tree_model_get(model, &iter, 0, &text, -1); |
1121 gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_entry), text); | 1121 gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_entry), text); |
1122 equalizerwin_save_ok(NULL, NULL); | 1122 equalizerwin_save_ok(NULL, NULL); |
1123 | 1123 |
1124 g_free(text); | 1124 g_free(text); |
1125 } | 1125 } |
1126 } | 1126 } |
1127 } | 1127 } |
1128 | 1128 |
1129 static void | 1129 static void |
1130 equalizerwin_load_ok(GtkWidget *widget, gpointer data) | 1130 equalizerwin_load_ok(GtkWidget *widget, gpointer data) |
1131 { | 1131 { |
1132 gchar *text; | 1132 gchar *text; |
1133 | 1133 |
1134 GtkTreeView* view = GTK_TREE_VIEW(data); | 1134 GtkTreeView* view = GTK_TREE_VIEW(data); |
1135 GtkTreeSelection *selection = gtk_tree_view_get_selection(view); | 1135 GtkTreeSelection *selection = gtk_tree_view_get_selection(view); |
1136 GtkTreeModel *model; | 1136 GtkTreeModel *model; |
1137 GtkTreeIter iter; | 1137 GtkTreeIter iter; |
1138 | 1138 |
1139 if (selection) | 1139 if (selection) |
1140 { | 1140 { |
1141 if (gtk_tree_selection_get_selected(selection, &model, &iter)) | 1141 if (gtk_tree_selection_get_selected(selection, &model, &iter)) |
1142 { | 1142 { |
1143 gtk_tree_model_get(model, &iter, 0, &text, -1); | 1143 gtk_tree_model_get(model, &iter, 0, &text, -1); |
1144 equalizerwin_load_preset(equalizer_presets, text); | 1144 equalizerwin_load_preset(equalizer_presets, text); |
1145 | 1145 |
1146 g_free(text); | 1146 g_free(text); |
1147 } | 1147 } |
1148 } | 1148 } |
1149 gtk_widget_destroy(equalizerwin_load_window); | 1149 gtk_widget_destroy(equalizerwin_load_window); |
1150 } | 1150 } |
1151 | 1151 |
1152 static void | 1152 static void |
1153 equalizerwin_load_select(GtkTreeView *treeview, GtkTreePath *path, | 1153 equalizerwin_load_select(GtkTreeView *treeview, GtkTreePath *path, |
1154 GtkTreeViewColumn *col, gpointer data) | 1154 GtkTreeViewColumn *col, gpointer data) |
1155 { | 1155 { |
1156 equalizerwin_load_ok(NULL, treeview); | 1156 equalizerwin_load_ok(NULL, treeview); |
1157 } | 1157 } |
1158 | 1158 |
1159 static void | 1159 static void |
1160 equalizerwin_delete_delete(GtkWidget *widget, gpointer data) | 1160 equalizerwin_delete_delete(GtkWidget *widget, gpointer data) |
1161 { | 1161 { |
1162 equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.preset"); | 1162 equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.preset"); |
1163 } | 1163 } |
1164 | 1164 |
1165 static void | 1165 static void |
1166 equalizerwin_save_auto_ok(GtkWidget *widget, gpointer data) | 1166 equalizerwin_save_auto_ok(GtkWidget *widget, gpointer data) |
1167 { | 1167 { |
1175 gtk_widget_destroy(equalizerwin_save_auto_window); | 1175 gtk_widget_destroy(equalizerwin_save_auto_window); |
1176 } | 1176 } |
1177 | 1177 |
1178 static void | 1178 static void |
1179 equalizerwin_save_auto_select(GtkTreeView *treeview, GtkTreePath *path, | 1179 equalizerwin_save_auto_select(GtkTreeView *treeview, GtkTreePath *path, |
1180 GtkTreeViewColumn *col, gpointer data) | 1180 GtkTreeViewColumn *col, gpointer data) |
1181 { | 1181 { |
1182 gchar *text; | 1182 gchar *text; |
1183 | 1183 |
1184 GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); | 1184 GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); |
1185 GtkTreeModel *model; | 1185 GtkTreeModel *model; |
1186 GtkTreeIter iter; | 1186 GtkTreeIter iter; |
1187 | 1187 |
1188 if (selection) | 1188 if (selection) |
1189 { | 1189 { |
1190 if (gtk_tree_selection_get_selected(selection, &model, &iter)) | 1190 if (gtk_tree_selection_get_selected(selection, &model, &iter)) |
1191 { | 1191 { |
1192 gtk_tree_model_get(model, &iter, 0, &text, -1); | 1192 gtk_tree_model_get(model, &iter, 0, &text, -1); |
1193 gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_auto_entry), text); | 1193 gtk_entry_set_text(GTK_ENTRY(equalizerwin_save_auto_entry), text); |
1194 equalizerwin_save_auto_ok(NULL, NULL); | 1194 equalizerwin_save_auto_ok(NULL, NULL); |
1195 | 1195 |
1196 g_free(text); | 1196 g_free(text); |
1197 } | 1197 } |
1198 } | 1198 } |
1199 } | 1199 } |
1200 | 1200 |
1201 static void | 1201 static void |
1202 equalizerwin_load_auto_ok(GtkWidget *widget, gpointer data) | 1202 equalizerwin_load_auto_ok(GtkWidget *widget, gpointer data) |
1203 { | 1203 { |
1204 gchar *text; | 1204 gchar *text; |
1205 | 1205 |
1206 GtkTreeView *view = GTK_TREE_VIEW(data); | 1206 GtkTreeView *view = GTK_TREE_VIEW(data); |
1207 GtkTreeSelection *selection = gtk_tree_view_get_selection(view); | 1207 GtkTreeSelection *selection = gtk_tree_view_get_selection(view); |
1208 GtkTreeModel *model; | 1208 GtkTreeModel *model; |
1209 GtkTreeIter iter; | 1209 GtkTreeIter iter; |
1210 | 1210 |
1211 if (selection) | 1211 if (selection) |
1212 { | 1212 { |
1213 if (gtk_tree_selection_get_selected(selection, &model, &iter)) | 1213 if (gtk_tree_selection_get_selected(selection, &model, &iter)) |
1214 { | 1214 { |
1215 gtk_tree_model_get(model, &iter, 0, &text, -1); | 1215 gtk_tree_model_get(model, &iter, 0, &text, -1); |
1216 equalizerwin_load_preset(equalizer_auto_presets, text); | 1216 equalizerwin_load_preset(equalizer_auto_presets, text); |
1217 | 1217 |
1218 g_free(text); | 1218 g_free(text); |
1219 } | 1219 } |
1220 } | 1220 } |
1221 gtk_widget_destroy(equalizerwin_load_auto_window); | 1221 gtk_widget_destroy(equalizerwin_load_auto_window); |
1222 } | 1222 } |
1223 | 1223 |
1224 static void | 1224 static void |
1225 equalizerwin_load_auto_select(GtkTreeView *treeview, GtkTreePath *path, | 1225 equalizerwin_load_auto_select(GtkTreeView *treeview, GtkTreePath *path, |
1226 GtkTreeViewColumn *col, gpointer data) | 1226 GtkTreeViewColumn *col, gpointer data) |
1227 { | 1227 { |
1228 equalizerwin_load_auto_ok(NULL, treeview); | 1228 equalizerwin_load_auto_ok(NULL, treeview); |
1229 } | 1229 } |
1230 | 1230 |
1231 static void | 1231 static void |
1232 equalizerwin_delete_auto_delete(GtkWidget *widget, gpointer data) | 1232 equalizerwin_delete_auto_delete(GtkWidget *widget, gpointer data) |
1233 { | 1233 { |
1234 equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.auto_preset"); | 1234 equalizerwin_delete_selected_presets(GTK_TREE_VIEW(data), "eq.auto_preset"); |
1235 } | 1235 } |
1236 | |
1237 | |
1238 typedef void (*ResponseHandler)(const gchar *filename); | |
1239 | |
1240 static void | |
1241 equalizerwin_file_chooser_on_response(GtkWidget * dialog, | |
1242 gint response, | |
1243 gpointer data) | |
1244 { | |
1245 GtkFileChooser *file_chooser = GTK_FILE_CHOOSER(dialog); | |
1246 ResponseHandler handler = (ResponseHandler) data; | |
1247 gchar *filename; | |
1248 | |
1249 gtk_widget_hide(dialog); | |
1250 | |
1251 switch (response) | |
1252 { | |
1253 case GTK_RESPONSE_ACCEPT: | |
1254 filename = gtk_file_chooser_get_filename(file_chooser); | |
1255 handler(filename); | |
1256 g_free(filename); | |
1257 break; | |
1258 | |
1259 case GTK_RESPONSE_REJECT: | |
1260 break; | |
1261 } | |
1262 | |
1263 gtk_widget_destroy(dialog); | |
1264 } | |
1265 | |
1266 | 1236 |
1267 | 1237 |
1268 static void | 1238 static void |
1269 load_preset_file(const gchar *filename) | 1239 load_preset_file(const gchar *filename) |
1270 { | 1240 { |
1374 const gchar *action_name, | 1344 const gchar *action_name, |
1375 GCallback action_func, | 1345 GCallback action_func, |
1376 GCallback select_row_func) | 1346 GCallback select_row_func) |
1377 { | 1347 { |
1378 GtkWidget *vbox, *scrolled_window, *bbox, *view; | 1348 GtkWidget *vbox, *scrolled_window, *bbox, *view; |
1379 GtkWidget *button_cancel, *button_action; | 1349 GtkWidget *button_cancel, *button_action; |
1380 GList *node; | 1350 GList *node; |
1381 | 1351 |
1382 GtkListStore *store; | 1352 GtkListStore *store; |
1383 GtkTreeIter iter; | 1353 GtkTreeIter iter; |
1384 GtkTreeModel *model; | 1354 GtkTreeModel *model; |
1385 GtkCellRenderer *renderer; | 1355 GtkCellRenderer *renderer; |
1386 GtkTreeSelection *selection; | 1356 GtkTreeSelection *selection; |
1387 GtkTreeSortable *sortable; | 1357 GtkTreeSortable *sortable; |
1388 | 1358 |
1389 | 1359 |
1390 | 1360 |
1391 *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 1361 *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
1392 gtk_window_set_title(GTK_WINDOW(*window), title); | 1362 gtk_window_set_title(GTK_WINDOW(*window), title); |
1405 scrolled_window = gtk_scrolled_window_new(NULL, NULL); | 1375 scrolled_window = gtk_scrolled_window_new(NULL, NULL); |
1406 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), | 1376 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), |
1407 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | 1377 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
1408 | 1378 |
1409 | 1379 |
1410 /* fill the store with the names of all available presets */ | 1380 /* fill the store with the names of all available presets */ |
1411 store = gtk_list_store_new(1, G_TYPE_STRING); | 1381 store = gtk_list_store_new(1, G_TYPE_STRING); |
1412 for (node = preset_list; node; node = g_list_next(node)) | 1382 for (node = preset_list; node; node = g_list_next(node)) |
1413 { | 1383 { |
1414 gtk_list_store_append(store, &iter); | 1384 gtk_list_store_append(store, &iter); |
1415 gtk_list_store_set(store, &iter, | 1385 gtk_list_store_set(store, &iter, |
1416 0, ((EqualizerPreset*)node->data)->name, | 1386 0, ((EqualizerPreset*)node->data)->name, |
1417 -1); | 1387 -1); |
1418 } | 1388 } |
1419 model = GTK_TREE_MODEL(store); | 1389 model = GTK_TREE_MODEL(store); |
1420 | 1390 |
1421 | 1391 |
1422 sortable = GTK_TREE_SORTABLE(store); | 1392 sortable = GTK_TREE_SORTABLE(store); |
1423 gtk_tree_sortable_set_sort_column_id(sortable, 0, GTK_SORT_ASCENDING); | 1393 gtk_tree_sortable_set_sort_column_id(sortable, 0, GTK_SORT_ASCENDING); |
1424 | 1394 |
1425 | 1395 |
1426 view = gtk_tree_view_new(); | 1396 view = gtk_tree_view_new(); |
1427 renderer = gtk_cell_renderer_text_new(); | 1397 renderer = gtk_cell_renderer_text_new(); |
1428 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view), -1, | 1398 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view), -1, |
1429 _("Presets"), renderer, | 1399 _("Presets"), renderer, |
1430 "text", 0, NULL); | 1400 "text", 0, NULL); |
1431 gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); | 1401 gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); |
1432 g_object_unref(model); | 1402 g_object_unref(model); |
1433 | 1403 |
1434 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); | 1404 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); |
1435 gtk_tree_selection_set_mode(selection, sel_mode); | 1405 gtk_tree_selection_set_mode(selection, sel_mode); |
1436 | 1406 |
1437 | 1407 |
1438 | 1408 |
1439 | 1409 |
1440 gtk_container_add(GTK_CONTAINER(scrolled_window), view); | 1410 gtk_container_add(GTK_CONTAINER(scrolled_window), view); |
1441 gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0); | 1411 gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0); |
1442 | 1412 |
1443 if (entry) { | 1413 if (entry) { |
1444 *entry = gtk_entry_new(); | 1414 *entry = gtk_entry_new(); |
1445 g_signal_connect(*entry, "activate", action_func, NULL); | 1415 g_signal_connect(*entry, "activate", action_func, NULL); |
1459 | 1429 |
1460 button_action = gtk_button_new_from_stock(action_name); | 1430 button_action = gtk_button_new_from_stock(action_name); |
1461 g_signal_connect(button_action, "clicked", G_CALLBACK(action_func), view); | 1431 g_signal_connect(button_action, "clicked", G_CALLBACK(action_func), view); |
1462 GTK_WIDGET_SET_FLAGS(button_action, GTK_CAN_DEFAULT); | 1432 GTK_WIDGET_SET_FLAGS(button_action, GTK_CAN_DEFAULT); |
1463 | 1433 |
1464 if (select_row_func) | 1434 if (select_row_func) |
1465 g_signal_connect(view, "row-activated", G_CALLBACK(select_row_func), NULL); | 1435 g_signal_connect(view, "row-activated", G_CALLBACK(select_row_func), NULL); |
1466 | 1436 |
1467 | 1437 |
1468 gtk_box_pack_start(GTK_BOX(bbox), button_action, TRUE, TRUE, 0); | 1438 gtk_box_pack_start(GTK_BOX(bbox), button_action, TRUE, TRUE, 0); |
1469 | 1439 |
1470 gtk_widget_grab_default(button_action); | 1440 gtk_widget_grab_default(button_action); |
1600 | 1570 |
1601 void | 1571 void |
1602 action_equ_load_preset_file(void) | 1572 action_equ_load_preset_file(void) |
1603 { | 1573 { |
1604 GtkWidget *dialog; | 1574 GtkWidget *dialog; |
1575 gchar *filename; | |
1605 | 1576 |
1606 dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); | 1577 dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); |
1607 g_signal_connect(dialog , "response", | 1578 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) |
1608 G_CALLBACK(equalizerwin_file_chooser_on_response), | 1579 { |
1609 load_preset_file); | 1580 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |
1581 load_preset_file(filename); | |
1582 g_free(filename); | |
1583 } | |
1584 gtk_widget_destroy(dialog); | |
1610 } | 1585 } |
1611 | 1586 |
1612 void | 1587 void |
1613 action_equ_load_preset_eqf(void) | 1588 action_equ_load_preset_eqf(void) |
1614 { | 1589 { |
1615 GtkWidget *dialog; | 1590 GtkWidget *dialog; |
1591 gchar *filename; | |
1616 | 1592 |
1617 dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); | 1593 dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); |
1618 g_signal_connect(dialog, "response", | 1594 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) |
1619 G_CALLBACK(equalizerwin_file_chooser_on_response), | 1595 { |
1620 load_winamp_file); | 1596 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |
1597 load_winamp_file(filename); | |
1598 g_free(filename); | |
1599 } | |
1600 gtk_widget_destroy(dialog); | |
1621 } | 1601 } |
1622 | 1602 |
1623 void | 1603 void |
1624 action_equ_import_winamp_presets(void) | 1604 action_equ_import_winamp_presets(void) |
1625 { | 1605 { |
1626 GtkWidget *dialog; | 1606 GtkWidget *dialog; |
1607 gchar *filename; | |
1627 | 1608 |
1628 dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); | 1609 dialog = make_filebrowser(Q_("Load equalizer preset"), FALSE); |
1629 g_signal_connect(dialog, "response", | 1610 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) |
1630 G_CALLBACK(equalizerwin_file_chooser_on_response), | 1611 { |
1631 import_winamp_file); | 1612 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |
1613 import_winamp_file(filename); | |
1614 g_free(filename); | |
1615 } | |
1616 gtk_widget_destroy(dialog); | |
1632 } | 1617 } |
1633 | 1618 |
1634 void | 1619 void |
1635 action_equ_save_preset(void) | 1620 action_equ_save_preset(void) |
1636 { | 1621 { |
1676 } | 1661 } |
1677 | 1662 |
1678 void | 1663 void |
1679 action_equ_save_default_preset(void) | 1664 action_equ_save_default_preset(void) |
1680 { | 1665 { |
1681 equalizer_presets = equalizerwin_save_preset(equalizer_presets, Q_("Default"), | 1666 equalizer_presets = |
1682 "eq.preset"); | 1667 equalizerwin_save_preset(equalizer_presets, Q_("Default"), "eq.preset"); |
1683 } | 1668 } |
1684 | 1669 |
1685 void | 1670 void |
1686 action_equ_save_preset_file(void) | 1671 action_equ_save_preset_file(void) |
1687 { | 1672 { |
1688 GtkWidget *dialog; | 1673 GtkWidget *dialog; |
1674 gchar *filename; | |
1689 gchar *songname; | 1675 gchar *songname; |
1690 Playlist *playlist = playlist_get_active(); | 1676 Playlist *playlist = playlist_get_active(); |
1691 | 1677 |
1692 dialog = make_filebrowser(Q_("Save equalizer preset"), TRUE); | 1678 dialog = make_filebrowser(Q_("Save equalizer preset"), TRUE); |
1693 g_signal_connect(dialog, "response", | 1679 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) |
1694 G_CALLBACK(equalizerwin_file_chooser_on_response), | 1680 { |
1695 save_preset_file); | 1681 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |
1682 save_preset_file(filename); | |
1683 g_free(filename); | |
1684 } | |
1696 | 1685 |
1697 songname = playlist_get_filename(playlist, playlist_get_position(playlist)); | 1686 songname = playlist_get_filename(playlist, playlist_get_position(playlist)); |
1698 if (songname) { | 1687 if (songname) { |
1699 gchar *eqname = g_strdup_printf("%s.%s", songname, | 1688 gchar *eqname = g_strdup_printf("%s.%s", songname, |
1700 cfg.eqpreset_extension); | 1689 cfg.eqpreset_extension); |
1701 g_free(songname); | 1690 g_free(songname); |
1702 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), | 1691 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), |
1703 eqname); | 1692 eqname); |
1704 g_free(eqname); | 1693 g_free(eqname); |
1705 } | 1694 } |
1695 | |
1696 gtk_widget_destroy(dialog); | |
1706 } | 1697 } |
1707 | 1698 |
1708 void | 1699 void |
1709 action_equ_save_preset_eqf(void) | 1700 action_equ_save_preset_eqf(void) |
1710 { | 1701 { |
1711 GtkWidget *dialog; | 1702 GtkWidget *dialog; |
1703 gchar *filename; | |
1712 | 1704 |
1713 dialog = make_filebrowser(Q_("Save equalizer preset"), TRUE); | 1705 dialog = make_filebrowser(Q_("Save equalizer preset"), TRUE); |
1714 g_signal_connect(dialog, "response", | 1706 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) |
1715 G_CALLBACK(equalizerwin_file_chooser_on_response), | 1707 { |
1716 save_winamp_file); | 1708 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |
1709 save_winamp_file(filename); | |
1710 g_free(filename); | |
1711 } | |
1712 gtk_widget_destroy(dialog); | |
1717 } | 1713 } |
1718 | 1714 |
1719 void | 1715 void |
1720 action_equ_delete_preset(void) | 1716 action_equ_delete_preset(void) |
1721 { | 1717 { |