Mercurial > audlegacy
comparison audacious/equalizer.c @ 439:3c43e25ddc7d trunk
[svn] Add `Apply' button to the presets window. Patch via NhJm.
author | nenolod |
---|---|
date | Sun, 15 Jan 2006 00:34:41 -0800 |
parents | d7d70779c074 |
children | fc968772e096 |
comparison
equal
deleted
inserted
replaced
438:d6051a60aae2 | 439:3c43e25ddc7d |
---|---|
1085 } | 1085 } |
1086 gtk_widget_destroy(equalizerwin_load_window); | 1086 gtk_widget_destroy(equalizerwin_load_window); |
1087 } | 1087 } |
1088 | 1088 |
1089 static void | 1089 static void |
1090 equalizerwin_load_apply(GtkWidget * widget, gpointer data) | |
1091 { | |
1092 gchar *text; | |
1093 GtkCList *clist = GTK_CLIST(data); | |
1094 | |
1095 if (clist && clist->selection) { | |
1096 gtk_clist_get_text(clist, GPOINTER_TO_INT(clist->selection->data), | |
1097 0, &text); | |
1098 equalizerwin_load_preset(equalizer_presets, text); | |
1099 } | |
1100 } | |
1101 | |
1102 | |
1103 static void | |
1090 equalizerwin_load_select(GtkCList * widget, gint row, | 1104 equalizerwin_load_select(GtkCList * widget, gint row, |
1091 gint column, GdkEventButton * event, gpointer data) | 1105 gint column, GdkEventButton * event, gpointer data) |
1092 { | 1106 { |
1093 if (event->type == GDK_2BUTTON_PRESS) | 1107 if (event->type == GDK_2BUTTON_PRESS) |
1094 equalizerwin_load_ok(NULL, widget); | 1108 equalizerwin_load_ok(NULL, widget); |
1377 const gchar * title, | 1391 const gchar * title, |
1378 GtkWidget ** window, | 1392 GtkWidget ** window, |
1379 GtkSelectionMode sel_mode, | 1393 GtkSelectionMode sel_mode, |
1380 GtkWidget ** entry, | 1394 GtkWidget ** entry, |
1381 const gchar * btn2_stock_name, | 1395 const gchar * btn2_stock_name, |
1396 const gchar * btn3_stock_name, | |
1382 const gchar * btn1_stock_name, | 1397 const gchar * btn1_stock_name, |
1383 GCallback btn2_func, | 1398 GCallback btn2_func, |
1399 GCallback btn3_func, | |
1384 GCallback select_row_func) | 1400 GCallback select_row_func) |
1385 { | 1401 { |
1386 GtkWidget *vbox, *scrolled_window, *bbox, *btn1, *btn2, *clist; | 1402 GtkWidget *vbox, *scrolled_window, *bbox, *btn1, *btn2, *btn3, *clist; |
1387 gchar *preset_text[1]; | 1403 gchar *preset_text[1]; |
1388 GList *node; | 1404 GList *node; |
1389 | 1405 |
1390 *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 1406 *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
1391 gtk_window_set_title(GTK_WINDOW(*window), title); | 1407 gtk_window_set_title(GTK_WINDOW(*window), title); |
1438 g_signal_connect_swapped(btn1, "clicked", | 1454 g_signal_connect_swapped(btn1, "clicked", |
1439 G_CALLBACK(gtk_widget_destroy), | 1455 G_CALLBACK(gtk_widget_destroy), |
1440 GTK_OBJECT(*window)); | 1456 GTK_OBJECT(*window)); |
1441 gtk_box_pack_start(GTK_BOX(bbox), btn1, TRUE, TRUE, 0); | 1457 gtk_box_pack_start(GTK_BOX(bbox), btn1, TRUE, TRUE, 0); |
1442 | 1458 |
1459 if (btn3_stock_name) { | |
1460 btn3 = gtk_button_new_from_stock(btn3_stock_name); | |
1461 g_signal_connect(btn3, "clicked", G_CALLBACK(btn3_func), clist); | |
1462 gtk_box_pack_start(GTK_BOX(bbox), btn3, TRUE, TRUE, 0); | |
1463 } | |
1464 | |
1443 btn2 = gtk_button_new_from_stock(btn2_stock_name); | 1465 btn2 = gtk_button_new_from_stock(btn2_stock_name); |
1444 g_signal_connect(btn2, "clicked", G_CALLBACK(btn2_func), clist); | 1466 g_signal_connect(btn2, "clicked", G_CALLBACK(btn2_func), clist); |
1445 GTK_WIDGET_SET_FLAGS(btn2, GTK_CAN_DEFAULT); | 1467 GTK_WIDGET_SET_FLAGS(btn2, GTK_CAN_DEFAULT); |
1446 | 1468 |
1447 | |
1448 gtk_box_pack_start(GTK_BOX(bbox), btn2, TRUE, TRUE, 0); | 1469 gtk_box_pack_start(GTK_BOX(bbox), btn2, TRUE, TRUE, 0); |
1449 | 1470 |
1450 gtk_widget_grab_default(btn2); | 1471 gtk_widget_grab_default(btn2); |
1451 | 1472 |
1452 | 1473 |
1465 if (!equalizerwin_load_window) | 1486 if (!equalizerwin_load_window) |
1466 equalizerwin_create_list_window(equalizer_presets, | 1487 equalizerwin_create_list_window(equalizer_presets, |
1467 _("Load preset"), | 1488 _("Load preset"), |
1468 &equalizerwin_load_window, | 1489 &equalizerwin_load_window, |
1469 GTK_SELECTION_SINGLE, NULL, | 1490 GTK_SELECTION_SINGLE, NULL, |
1470 GTK_STOCK_OK, GTK_STOCK_CANCEL, | 1491 GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_CANCEL, |
1471 G_CALLBACK | 1492 G_CALLBACK |
1472 (equalizerwin_load_ok), | 1493 (equalizerwin_load_ok), |
1494 G_CALLBACK | |
1495 (equalizerwin_load_apply), | |
1473 G_CALLBACK | 1496 G_CALLBACK |
1474 (equalizerwin_load_select)); | 1497 (equalizerwin_load_select)); |
1475 else | 1498 else |
1476 gtk_window_present(GTK_WINDOW(equalizerwin_load_window)); | 1499 gtk_window_present(GTK_WINDOW(equalizerwin_load_window)); |
1477 break; | 1500 break; |
1479 if (!equalizerwin_load_auto_window) | 1502 if (!equalizerwin_load_auto_window) |
1480 equalizerwin_create_list_window(equalizer_auto_presets, | 1503 equalizerwin_create_list_window(equalizer_auto_presets, |
1481 _("Load auto-preset"), | 1504 _("Load auto-preset"), |
1482 &equalizerwin_load_auto_window, | 1505 &equalizerwin_load_auto_window, |
1483 GTK_SELECTION_SINGLE, NULL, | 1506 GTK_SELECTION_SINGLE, NULL, |
1484 GTK_STOCK_OK, GTK_STOCK_CANCEL, | 1507 GTK_STOCK_OK, NULL, GTK_STOCK_CANCEL, |
1485 G_CALLBACK | 1508 G_CALLBACK |
1486 (equalizerwin_load_auto_ok), | 1509 (equalizerwin_load_auto_ok), |
1510 NULL, | |
1487 G_CALLBACK | 1511 G_CALLBACK |
1488 (equalizerwin_load_auto_select)); | 1512 (equalizerwin_load_auto_select)); |
1489 else | 1513 else |
1490 gtk_window_present(GTK_WINDOW(equalizerwin_load_auto_window)); | 1514 gtk_window_present(GTK_WINDOW(equalizerwin_load_auto_window)); |
1491 break; | 1515 break; |
1527 equalizerwin_create_list_window(equalizer_presets, | 1551 equalizerwin_create_list_window(equalizer_presets, |
1528 _("Save preset"), | 1552 _("Save preset"), |
1529 &equalizerwin_save_window, | 1553 &equalizerwin_save_window, |
1530 GTK_SELECTION_SINGLE, | 1554 GTK_SELECTION_SINGLE, |
1531 &equalizerwin_save_entry, | 1555 &equalizerwin_save_entry, |
1532 GTK_STOCK_OK, GTK_STOCK_CANCEL, | 1556 GTK_STOCK_OK, NULL, GTK_STOCK_CANCEL, |
1533 G_CALLBACK | 1557 G_CALLBACK |
1534 (equalizerwin_save_ok), | 1558 (equalizerwin_save_ok), |
1559 NULL, | |
1535 G_CALLBACK | 1560 G_CALLBACK |
1536 (equalizerwin_save_select)); | 1561 (equalizerwin_save_select)); |
1537 else | 1562 else |
1538 gtk_window_present(GTK_WINDOW(equalizerwin_save_window)); | 1563 gtk_window_present(GTK_WINDOW(equalizerwin_save_window)); |
1539 break; | 1564 break; |
1547 _("Save auto-preset"), | 1572 _("Save auto-preset"), |
1548 &equalizerwin_save_auto_window, | 1573 &equalizerwin_save_auto_window, |
1549 GTK_SELECTION_SINGLE, | 1574 GTK_SELECTION_SINGLE, |
1550 &equalizerwin_save_auto_entry, | 1575 &equalizerwin_save_auto_entry, |
1551 GTK_STOCK_OK, | 1576 GTK_STOCK_OK, |
1577 NULL, | |
1552 GTK_STOCK_CANCEL, | 1578 GTK_STOCK_CANCEL, |
1553 G_CALLBACK | 1579 G_CALLBACK |
1554 (equalizerwin_save_auto_ok), | 1580 (equalizerwin_save_auto_ok), |
1581 NULL, | |
1555 G_CALLBACK | 1582 G_CALLBACK |
1556 (equalizerwin_save_auto_select)); | 1583 (equalizerwin_save_auto_select)); |
1557 else | 1584 else |
1558 gtk_window_present(GTK_WINDOW(equalizerwin_save_auto_window)); | 1585 gtk_window_present(GTK_WINDOW(equalizerwin_save_auto_window)); |
1559 | 1586 |
1607 equalizerwin_create_list_window(equalizer_presets, | 1634 equalizerwin_create_list_window(equalizer_presets, |
1608 _("Delete preset"), | 1635 _("Delete preset"), |
1609 &equalizerwin_delete_window, | 1636 &equalizerwin_delete_window, |
1610 GTK_SELECTION_EXTENDED, NULL, | 1637 GTK_SELECTION_EXTENDED, NULL, |
1611 GTK_STOCK_DELETE, | 1638 GTK_STOCK_DELETE, |
1639 NULL, | |
1612 GTK_STOCK_CLOSE, | 1640 GTK_STOCK_CLOSE, |
1613 G_CALLBACK | 1641 G_CALLBACK |
1614 (equalizerwin_delete_delete), | 1642 (equalizerwin_delete_delete), |
1643 NULL, | |
1615 NULL); | 1644 NULL); |
1616 else | 1645 else |
1617 gtk_window_present(GTK_WINDOW(equalizerwin_delete_window)); | 1646 gtk_window_present(GTK_WINDOW(equalizerwin_delete_window)); |
1618 | 1647 |
1619 break; | 1648 break; |
1623 equalizerwin_create_list_window(equalizer_auto_presets, | 1652 equalizerwin_create_list_window(equalizer_auto_presets, |
1624 _("Delete auto-preset"), | 1653 _("Delete auto-preset"), |
1625 &equalizerwin_delete_auto_window, | 1654 &equalizerwin_delete_auto_window, |
1626 GTK_SELECTION_EXTENDED, NULL, | 1655 GTK_SELECTION_EXTENDED, NULL, |
1627 GTK_STOCK_DELETE, | 1656 GTK_STOCK_DELETE, |
1657 NULL, | |
1628 GTK_STOCK_CLOSE, | 1658 GTK_STOCK_CLOSE, |
1629 G_CALLBACK | 1659 G_CALLBACK |
1630 (equalizerwin_delete_auto_delete), | 1660 (equalizerwin_delete_auto_delete), |
1661 NULL, | |
1631 NULL); | 1662 NULL); |
1632 else | 1663 else |
1633 gtk_window_present(GTK_WINDOW(equalizerwin_delete_auto_window)); | 1664 gtk_window_present(GTK_WINDOW(equalizerwin_delete_auto_window)); |
1634 | 1665 |
1635 break; | 1666 break; |