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)