Mercurial > audlegacy
comparison src/audacious/ui_playlist.c @ 2528:60f2787cc7fd trunk
[svn] - playlist editor: use SkinnedWindow widgetlist
author | nenolod |
---|---|
date | Thu, 15 Feb 2007 02:03:34 -0800 |
parents | 05c841971f9f |
children | 7c6ce705adda |
comparison
equal
deleted
inserted
replaced
2527:05c841971f9f | 2528:60f2787cc7fd |
---|---|
953 playlistwin_save_playlist(filename); | 953 playlistwin_save_playlist(filename); |
954 g_free(filename); | 954 g_free(filename); |
955 } | 955 } |
956 } | 956 } |
957 | 957 |
958 static gboolean | |
959 inside_sensitive_widgets(gint x, gint y) | |
960 { | |
961 return (widget_contains(WIDGET(playlistwin_list), x, y) || | |
962 widget_contains(WIDGET(playlistwin_slider), x, y) || | |
963 widget_contains(WIDGET(playlistwin_close), x, y) || | |
964 widget_contains(WIDGET(playlistwin_shade), x, y) || | |
965 widget_contains(WIDGET(playlistwin_time_min), x, y) || | |
966 widget_contains(WIDGET(playlistwin_time_sec), x, y) || | |
967 widget_contains(WIDGET(playlistwin_info), x, y) || | |
968 widget_contains(WIDGET(playlistwin_srew), x, y) || | |
969 widget_contains(WIDGET(playlistwin_splay), x, y) || | |
970 widget_contains(WIDGET(playlistwin_spause), x, y) || | |
971 widget_contains(WIDGET(playlistwin_sstop), x, y) || | |
972 widget_contains(WIDGET(playlistwin_sfwd), x, y) || | |
973 widget_contains(WIDGET(playlistwin_seject), x, y) || | |
974 widget_contains(WIDGET(playlistwin_sscroll_up), x, y) || | |
975 widget_contains(WIDGET(playlistwin_sscroll_down), x, y)); | |
976 } | |
977 | |
978 #define REGION_L(x1,x2,y1,y2) \ | 958 #define REGION_L(x1,x2,y1,y2) \ |
979 (event->x >= (x1) && event->x < (x2) && \ | 959 (event->x >= (x1) && event->x < (x2) && \ |
980 event->y >= cfg.playlist_height - (y1) && \ | 960 event->y >= cfg.playlist_height - (y1) && \ |
981 event->y < cfg.playlist_height - (y2)) | 961 event->y < cfg.playlist_height - (y2)) |
982 | 962 |
1088 widget_contains(WIDGET(playlistwin_list), event->x, event->y)) { | 1068 widget_contains(WIDGET(playlistwin_list), event->x, event->y)) { |
1089 gtk_selection_convert(widget, GDK_SELECTION_PRIMARY, | 1069 gtk_selection_convert(widget, GDK_SELECTION_PRIMARY, |
1090 GDK_TARGET_STRING, event->time); | 1070 GDK_TARGET_STRING, event->time); |
1091 } | 1071 } |
1092 else if (event->button == 1 && event->type == GDK_BUTTON_PRESS && | 1072 else if (event->button == 1 && event->type == GDK_BUTTON_PRESS && |
1093 !inside_sensitive_widgets(event->x, event->y) && (cfg.easy_move || event->y < 14)) | 1073 !ui_skinned_window_widgetlist_contained(playlistwin, event->x, |
1074 event->y) && (cfg.easy_move || event->y < 14)) | |
1094 { | 1075 { |
1095 dock_move_press(dock_window_list, GTK_WINDOW(playlistwin), event, | 1076 dock_move_press(dock_window_list, GTK_WINDOW(playlistwin), event, |
1096 FALSE); | 1077 FALSE); |
1097 gtk_window_present(GTK_WINDOW(playlistwin)); | 1078 gtk_window_present(GTK_WINDOW(playlistwin)); |
1098 } | 1079 } |
1099 else if (event->button == 1 && event->type == GDK_2BUTTON_PRESS && | 1080 else if (event->button == 1 && event->type == GDK_2BUTTON_PRESS && |
1100 !inside_sensitive_widgets(event->x, event->y) | 1081 !ui_skinned_window_widgetlist_contained(playlistwin, event->x, event->y) |
1101 && event->y < 14) { | 1082 && event->y < 14) { |
1102 /* double click on title bar */ | 1083 /* double click on title bar */ |
1103 playlistwin_shade_toggle(); | 1084 playlistwin_shade_toggle(); |
1104 if (dock_is_moving(GTK_WINDOW(playlistwin))) | 1085 if (dock_is_moving(GTK_WINDOW(playlistwin))) |
1105 dock_move_release(GTK_WINDOW(playlistwin)); | 1086 dock_move_release(GTK_WINDOW(playlistwin)); |
1523 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 21, 3, | 1504 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 21, 3, |
1524 9, 9, 157, 3, 62, 42, playlistwin_shade_toggle, | 1505 9, 9, 157, 3, 62, 42, playlistwin_shade_toggle, |
1525 SKIN_PLEDIT); | 1506 SKIN_PLEDIT); |
1526 | 1507 |
1527 playlistwin_shade->pb_allow_draw = FALSE; | 1508 playlistwin_shade->pb_allow_draw = FALSE; |
1509 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_shade)); | |
1528 | 1510 |
1529 /* close window push button */ | 1511 /* close window push button */ |
1530 playlistwin_close = | 1512 playlistwin_close = |
1531 create_pbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1513 create_pbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1532 playlistwin_get_width() - 11, 3, 9, 9, | 1514 playlistwin_get_width() - 11, 3, 9, 9, |
1533 cfg.playlist_shaded ? 138 : 167, | 1515 cfg.playlist_shaded ? 138 : 167, |
1534 cfg.playlist_shaded ? 45 : 3, 52, 42, | 1516 cfg.playlist_shaded ? 45 : 3, 52, 42, |
1535 playlistwin_hide, SKIN_PLEDIT); | 1517 playlistwin_hide, SKIN_PLEDIT); |
1536 playlistwin_close->pb_allow_draw = FALSE; | 1518 playlistwin_close->pb_allow_draw = FALSE; |
1519 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_close)); | |
1537 | 1520 |
1538 /* playlist list box */ | 1521 /* playlist list box */ |
1539 playlistwin_list = | 1522 playlistwin_list = |
1540 create_playlist_list(&playlistwin_wlist, playlistwin_bg, | 1523 create_playlist_list(&playlistwin_wlist, playlistwin_bg, |
1541 SKINNED_WINDOW(playlistwin)->gc, 12, 20, | 1524 SKINNED_WINDOW(playlistwin)->gc, 12, 20, |
1542 playlistwin_get_width() - 31, | 1525 playlistwin_get_width() - 31, |
1543 cfg.playlist_height - 58); | 1526 cfg.playlist_height - 58); |
1544 playlist_list_set_font(cfg.playlist_font); | 1527 playlist_list_set_font(cfg.playlist_font); |
1528 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_list)); | |
1545 | 1529 |
1546 /* playlist list box slider */ | 1530 /* playlist list box slider */ |
1547 playlistwin_slider = | 1531 playlistwin_slider = |
1548 create_playlistslider(&playlistwin_wlist, playlistwin_bg, | 1532 create_playlistslider(&playlistwin_wlist, playlistwin_bg, |
1549 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 15, | 1533 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 15, |
1550 20, cfg.playlist_height - 58, playlistwin_list); | 1534 20, cfg.playlist_height - 58, playlistwin_list); |
1535 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_slider)); | |
1536 | |
1551 /* track time (minute) */ | 1537 /* track time (minute) */ |
1552 playlistwin_time_min = | 1538 playlistwin_time_min = |
1553 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1539 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1554 playlistwin_get_width() - 82, | 1540 playlistwin_get_width() - 82, |
1555 cfg.playlist_height - 15, 15, FALSE, SKIN_TEXT); | 1541 cfg.playlist_height - 15, 15, FALSE, SKIN_TEXT); |
1542 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_time_min)); | |
1556 | 1543 |
1557 /* track time (second) */ | 1544 /* track time (second) */ |
1558 playlistwin_time_sec = | 1545 playlistwin_time_sec = |
1559 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1546 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1560 playlistwin_get_width() - 64, | 1547 playlistwin_get_width() - 64, |
1561 cfg.playlist_height - 15, 10, FALSE, SKIN_TEXT); | 1548 cfg.playlist_height - 15, 10, FALSE, SKIN_TEXT); |
1549 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_time_sec)); | |
1562 | 1550 |
1563 /* playlist information (current track length / total track length) */ | 1551 /* playlist information (current track length / total track length) */ |
1564 playlistwin_info = | 1552 playlistwin_info = |
1565 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1553 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1566 playlistwin_get_width() - 143, | 1554 playlistwin_get_width() - 143, |
1567 cfg.playlist_height - 28, 90, FALSE, SKIN_TEXT); | 1555 cfg.playlist_height - 28, 90, FALSE, SKIN_TEXT); |
1556 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_info)); | |
1568 | 1557 |
1569 /* mini play control buttons at right bottom corner */ | 1558 /* mini play control buttons at right bottom corner */ |
1570 | 1559 |
1571 /* rewind button */ | 1560 /* rewind button */ |
1572 playlistwin_srew = | 1561 playlistwin_srew = |
1573 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1562 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1574 playlistwin_get_width() - 144, | 1563 playlistwin_get_width() - 144, |
1575 cfg.playlist_height - 16, 8, 7, local_playlist_prev); | 1564 cfg.playlist_height - 16, 8, 7, local_playlist_prev); |
1565 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_srew)); | |
1576 | 1566 |
1577 /* play button */ | 1567 /* play button */ |
1578 playlistwin_splay = | 1568 playlistwin_splay = |
1579 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1569 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1580 playlistwin_get_width() - 138, | 1570 playlistwin_get_width() - 138, |
1581 cfg.playlist_height - 16, 10, 7, mainwin_play_pushed); | 1571 cfg.playlist_height - 16, 10, 7, mainwin_play_pushed); |
1572 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_splay)); | |
1582 | 1573 |
1583 /* pause button */ | 1574 /* pause button */ |
1584 playlistwin_spause = | 1575 playlistwin_spause = |
1585 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1576 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1586 playlistwin_get_width() - 128, | 1577 playlistwin_get_width() - 128, |
1587 cfg.playlist_height - 16, 10, 7, playback_pause); | 1578 cfg.playlist_height - 16, 10, 7, playback_pause); |
1579 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_spause)); | |
1588 | 1580 |
1589 /* stop button */ | 1581 /* stop button */ |
1590 playlistwin_sstop = | 1582 playlistwin_sstop = |
1591 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1583 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1592 playlistwin_get_width() - 118, | 1584 playlistwin_get_width() - 118, |
1593 cfg.playlist_height - 16, 9, 7, mainwin_stop_pushed); | 1585 cfg.playlist_height - 16, 9, 7, mainwin_stop_pushed); |
1586 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_sstop)); | |
1594 | 1587 |
1595 /* forward button */ | 1588 /* forward button */ |
1596 playlistwin_sfwd = | 1589 playlistwin_sfwd = |
1597 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1590 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1598 playlistwin_get_width() - 109, | 1591 playlistwin_get_width() - 109, |
1599 cfg.playlist_height - 16, 8, 7, local_playlist_next); | 1592 cfg.playlist_height - 16, 8, 7, local_playlist_next); |
1593 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_sfwd)); | |
1600 | 1594 |
1601 /* eject button */ | 1595 /* eject button */ |
1602 playlistwin_seject = | 1596 playlistwin_seject = |
1603 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1597 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1604 playlistwin_get_width() - 100, | 1598 playlistwin_get_width() - 100, |
1605 cfg.playlist_height - 16, 9, 7, mainwin_eject_pushed); | 1599 cfg.playlist_height - 16, 9, 7, mainwin_eject_pushed); |
1606 | 1600 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_seject)); |
1607 | 1601 |
1608 playlistwin_sscroll_up = | 1602 playlistwin_sscroll_up = |
1609 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1603 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1610 playlistwin_get_width() - 14, | 1604 playlistwin_get_width() - 14, |
1611 cfg.playlist_height - 35, 8, 5, | 1605 cfg.playlist_height - 35, 8, 5, |
1612 playlistwin_scroll_up_pushed); | 1606 playlistwin_scroll_up_pushed); |
1607 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_sscroll_up)); | |
1608 | |
1613 playlistwin_sscroll_down = | 1609 playlistwin_sscroll_down = |
1614 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, | 1610 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1615 playlistwin_get_width() - 14, | 1611 playlistwin_get_width() - 14, |
1616 cfg.playlist_height - 30, 8, 5, | 1612 cfg.playlist_height - 30, 8, 5, |
1617 playlistwin_scroll_down_pushed); | 1613 playlistwin_scroll_down_pushed); |
1618 | 1614 ui_skinned_window_widgetlist_associate(playlistwin, WIDGET(playlistwin_sscroll_down)); |
1619 } | 1615 } |
1620 | 1616 |
1621 static void | 1617 static void |
1622 selection_received(GtkWidget * widget, | 1618 selection_received(GtkWidget * widget, |
1623 GtkSelectionData * selection_data, gpointer data) | 1619 GtkSelectionData * selection_data, gpointer data) |