Mercurial > audlegacy
comparison src/audacious/ui_playlist.c @ 2527:05c841971f9f trunk
[svn] - playlist editor: use SkinnedWindow provided GC.
author | nenolod |
---|---|
date | Thu, 15 Feb 2007 00:45:32 -0800 |
parents | 319b10203d7c |
children | 60f2787cc7fd |
comparison
equal
deleted
inserted
replaced
2526:23ef53e234bc | 2527:05c841971f9f |
---|---|
63 PlayList_List *playlistwin_list = NULL; | 63 PlayList_List *playlistwin_list = NULL; |
64 PButton *playlistwin_shade, *playlistwin_close; | 64 PButton *playlistwin_shade, *playlistwin_close; |
65 | 65 |
66 static GdkPixmap *playlistwin_bg; | 66 static GdkPixmap *playlistwin_bg; |
67 static GdkBitmap *playlistwin_mask = NULL; | 67 static GdkBitmap *playlistwin_mask = NULL; |
68 static GdkGC *playlistwin_gc; | |
69 | 68 |
70 static gboolean playlistwin_hint_flag = FALSE; | 69 static gboolean playlistwin_hint_flag = FALSE; |
71 | 70 |
72 static GtkWidget *playlistwin_infopopup = NULL; | 71 static GtkWidget *playlistwin_infopopup = NULL; |
73 static guint playlistwin_infopopup_sid = 0; | 72 static guint playlistwin_infopopup_sid = 0; |
1349 gtk_window_has_toplevel_focus(GTK_WINDOW(playlistwin)) || | 1348 gtk_window_has_toplevel_focus(GTK_WINDOW(playlistwin)) || |
1350 !cfg.dim_titlebar; | 1349 !cfg.dim_titlebar; |
1351 | 1350 |
1352 if (cfg.playlist_shaded) { | 1351 if (cfg.playlist_shaded) { |
1353 skin_draw_playlistwin_shaded(bmp_active_skin, | 1352 skin_draw_playlistwin_shaded(bmp_active_skin, |
1354 playlistwin_bg, playlistwin_gc, | 1353 playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1355 playlistwin_get_width(), focus); | 1354 playlistwin_get_width(), focus); |
1356 } | 1355 } |
1357 else { | 1356 else { |
1358 skin_draw_playlistwin_frame(bmp_active_skin, | 1357 skin_draw_playlistwin_frame(bmp_active_skin, |
1359 playlistwin_bg, playlistwin_gc, | 1358 playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1360 playlistwin_get_width(), | 1359 playlistwin_get_width(), |
1361 cfg.playlist_height, focus); | 1360 cfg.playlist_height, focus); |
1362 } | 1361 } |
1363 } | 1362 } |
1364 | 1363 |
1501 { | 1500 { |
1502 /* This function creates the custom widgets used by the playlist editor */ | 1501 /* This function creates the custom widgets used by the playlist editor */ |
1503 | 1502 |
1504 /* text box for displaying song title in shaded mode */ | 1503 /* text box for displaying song title in shaded mode */ |
1505 playlistwin_sinfo = | 1504 playlistwin_sinfo = |
1506 create_textbox(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1505 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1507 4, 4, playlistwin_get_width() - 35, TRUE, SKIN_TEXT); | 1506 4, 4, playlistwin_get_width() - 35, TRUE, SKIN_TEXT); |
1508 | 1507 |
1509 playlistwin_set_sinfo_font(cfg.playlist_font); | 1508 playlistwin_set_sinfo_font(cfg.playlist_font); |
1510 | 1509 |
1511 if (!cfg.playlist_shaded) | 1510 if (!cfg.playlist_shaded) |
1513 | 1512 |
1514 /* shade/unshade window push button */ | 1513 /* shade/unshade window push button */ |
1515 if (cfg.playlist_shaded) | 1514 if (cfg.playlist_shaded) |
1516 playlistwin_shade = | 1515 playlistwin_shade = |
1517 create_pbutton(&playlistwin_wlist, playlistwin_bg, | 1516 create_pbutton(&playlistwin_wlist, playlistwin_bg, |
1518 playlistwin_gc, playlistwin_get_width() - 21, 3, | 1517 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 21, 3, |
1519 9, 9, 128, 45, 150, 42, | 1518 9, 9, 128, 45, 150, 42, |
1520 playlistwin_shade_toggle, SKIN_PLEDIT); | 1519 playlistwin_shade_toggle, SKIN_PLEDIT); |
1521 else | 1520 else |
1522 playlistwin_shade = | 1521 playlistwin_shade = |
1523 create_pbutton(&playlistwin_wlist, playlistwin_bg, | 1522 create_pbutton(&playlistwin_wlist, playlistwin_bg, |
1524 playlistwin_gc, playlistwin_get_width() - 21, 3, | 1523 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 21, 3, |
1525 9, 9, 157, 3, 62, 42, playlistwin_shade_toggle, | 1524 9, 9, 157, 3, 62, 42, playlistwin_shade_toggle, |
1526 SKIN_PLEDIT); | 1525 SKIN_PLEDIT); |
1527 | 1526 |
1528 playlistwin_shade->pb_allow_draw = FALSE; | 1527 playlistwin_shade->pb_allow_draw = FALSE; |
1529 | 1528 |
1530 /* close window push button */ | 1529 /* close window push button */ |
1531 playlistwin_close = | 1530 playlistwin_close = |
1532 create_pbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1531 create_pbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1533 playlistwin_get_width() - 11, 3, 9, 9, | 1532 playlistwin_get_width() - 11, 3, 9, 9, |
1534 cfg.playlist_shaded ? 138 : 167, | 1533 cfg.playlist_shaded ? 138 : 167, |
1535 cfg.playlist_shaded ? 45 : 3, 52, 42, | 1534 cfg.playlist_shaded ? 45 : 3, 52, 42, |
1536 playlistwin_hide, SKIN_PLEDIT); | 1535 playlistwin_hide, SKIN_PLEDIT); |
1537 playlistwin_close->pb_allow_draw = FALSE; | 1536 playlistwin_close->pb_allow_draw = FALSE; |
1538 | 1537 |
1539 /* playlist list box */ | 1538 /* playlist list box */ |
1540 playlistwin_list = | 1539 playlistwin_list = |
1541 create_playlist_list(&playlistwin_wlist, playlistwin_bg, | 1540 create_playlist_list(&playlistwin_wlist, playlistwin_bg, |
1542 playlistwin_gc, 12, 20, | 1541 SKINNED_WINDOW(playlistwin)->gc, 12, 20, |
1543 playlistwin_get_width() - 31, | 1542 playlistwin_get_width() - 31, |
1544 cfg.playlist_height - 58); | 1543 cfg.playlist_height - 58); |
1545 playlist_list_set_font(cfg.playlist_font); | 1544 playlist_list_set_font(cfg.playlist_font); |
1546 | 1545 |
1547 /* playlist list box slider */ | 1546 /* playlist list box slider */ |
1548 playlistwin_slider = | 1547 playlistwin_slider = |
1549 create_playlistslider(&playlistwin_wlist, playlistwin_bg, | 1548 create_playlistslider(&playlistwin_wlist, playlistwin_bg, |
1550 playlistwin_gc, playlistwin_get_width() - 15, | 1549 SKINNED_WINDOW(playlistwin)->gc, playlistwin_get_width() - 15, |
1551 20, cfg.playlist_height - 58, playlistwin_list); | 1550 20, cfg.playlist_height - 58, playlistwin_list); |
1552 /* track time (minute) */ | 1551 /* track time (minute) */ |
1553 playlistwin_time_min = | 1552 playlistwin_time_min = |
1554 create_textbox(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1553 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1555 playlistwin_get_width() - 82, | 1554 playlistwin_get_width() - 82, |
1556 cfg.playlist_height - 15, 15, FALSE, SKIN_TEXT); | 1555 cfg.playlist_height - 15, 15, FALSE, SKIN_TEXT); |
1557 | 1556 |
1558 /* track time (second) */ | 1557 /* track time (second) */ |
1559 playlistwin_time_sec = | 1558 playlistwin_time_sec = |
1560 create_textbox(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1559 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1561 playlistwin_get_width() - 64, | 1560 playlistwin_get_width() - 64, |
1562 cfg.playlist_height - 15, 10, FALSE, SKIN_TEXT); | 1561 cfg.playlist_height - 15, 10, FALSE, SKIN_TEXT); |
1563 | 1562 |
1564 /* playlist information (current track length / total track length) */ | 1563 /* playlist information (current track length / total track length) */ |
1565 playlistwin_info = | 1564 playlistwin_info = |
1566 create_textbox(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1565 create_textbox(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1567 playlistwin_get_width() - 143, | 1566 playlistwin_get_width() - 143, |
1568 cfg.playlist_height - 28, 90, FALSE, SKIN_TEXT); | 1567 cfg.playlist_height - 28, 90, FALSE, SKIN_TEXT); |
1569 | 1568 |
1570 /* mini play control buttons at right bottom corner */ | 1569 /* mini play control buttons at right bottom corner */ |
1571 | 1570 |
1572 /* rewind button */ | 1571 /* rewind button */ |
1573 playlistwin_srew = | 1572 playlistwin_srew = |
1574 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1573 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1575 playlistwin_get_width() - 144, | 1574 playlistwin_get_width() - 144, |
1576 cfg.playlist_height - 16, 8, 7, local_playlist_prev); | 1575 cfg.playlist_height - 16, 8, 7, local_playlist_prev); |
1577 | 1576 |
1578 /* play button */ | 1577 /* play button */ |
1579 playlistwin_splay = | 1578 playlistwin_splay = |
1580 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1579 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1581 playlistwin_get_width() - 138, | 1580 playlistwin_get_width() - 138, |
1582 cfg.playlist_height - 16, 10, 7, mainwin_play_pushed); | 1581 cfg.playlist_height - 16, 10, 7, mainwin_play_pushed); |
1583 | 1582 |
1584 /* pause button */ | 1583 /* pause button */ |
1585 playlistwin_spause = | 1584 playlistwin_spause = |
1586 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1585 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1587 playlistwin_get_width() - 128, | 1586 playlistwin_get_width() - 128, |
1588 cfg.playlist_height - 16, 10, 7, playback_pause); | 1587 cfg.playlist_height - 16, 10, 7, playback_pause); |
1589 | 1588 |
1590 /* stop button */ | 1589 /* stop button */ |
1591 playlistwin_sstop = | 1590 playlistwin_sstop = |
1592 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1591 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1593 playlistwin_get_width() - 118, | 1592 playlistwin_get_width() - 118, |
1594 cfg.playlist_height - 16, 9, 7, mainwin_stop_pushed); | 1593 cfg.playlist_height - 16, 9, 7, mainwin_stop_pushed); |
1595 | 1594 |
1596 /* forward button */ | 1595 /* forward button */ |
1597 playlistwin_sfwd = | 1596 playlistwin_sfwd = |
1598 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1597 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1599 playlistwin_get_width() - 109, | 1598 playlistwin_get_width() - 109, |
1600 cfg.playlist_height - 16, 8, 7, local_playlist_next); | 1599 cfg.playlist_height - 16, 8, 7, local_playlist_next); |
1601 | 1600 |
1602 /* eject button */ | 1601 /* eject button */ |
1603 playlistwin_seject = | 1602 playlistwin_seject = |
1604 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1603 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1605 playlistwin_get_width() - 100, | 1604 playlistwin_get_width() - 100, |
1606 cfg.playlist_height - 16, 9, 7, mainwin_eject_pushed); | 1605 cfg.playlist_height - 16, 9, 7, mainwin_eject_pushed); |
1607 | 1606 |
1608 | 1607 |
1609 playlistwin_sscroll_up = | 1608 playlistwin_sscroll_up = |
1610 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1609 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1611 playlistwin_get_width() - 14, | 1610 playlistwin_get_width() - 14, |
1612 cfg.playlist_height - 35, 8, 5, | 1611 cfg.playlist_height - 35, 8, 5, |
1613 playlistwin_scroll_up_pushed); | 1612 playlistwin_scroll_up_pushed); |
1614 playlistwin_sscroll_down = | 1613 playlistwin_sscroll_down = |
1615 create_sbutton(&playlistwin_wlist, playlistwin_bg, playlistwin_gc, | 1614 create_sbutton(&playlistwin_wlist, playlistwin_bg, SKINNED_WINDOW(playlistwin)->gc, |
1616 playlistwin_get_width() - 14, | 1615 playlistwin_get_width() - 14, |
1617 cfg.playlist_height - 30, 8, 5, | 1616 cfg.playlist_height - 30, 8, 5, |
1618 playlistwin_scroll_down_pushed); | 1617 playlistwin_scroll_down_pushed); |
1619 | 1618 |
1620 } | 1619 } |
1713 playlistwin_create(void) | 1712 playlistwin_create(void) |
1714 { | 1713 { |
1715 playlistwin_create_window(); | 1714 playlistwin_create_window(); |
1716 | 1715 |
1717 /* create GC and back pixmap for custom widget to draw on */ | 1716 /* create GC and back pixmap for custom widget to draw on */ |
1718 playlistwin_gc = gdk_gc_new(playlistwin->window); | |
1719 playlistwin_bg = gdk_pixmap_new(playlistwin->window, | 1717 playlistwin_bg = gdk_pixmap_new(playlistwin->window, |
1720 playlistwin_get_width(), | 1718 playlistwin_get_width(), |
1721 playlistwin_get_height_unshaded(), -1); | 1719 playlistwin_get_height_unshaded(), -1); |
1722 gdk_window_set_back_pixmap(playlistwin->window, playlistwin_bg, 0); | 1720 gdk_window_set_back_pixmap(playlistwin->window, playlistwin_bg, 0); |
1723 | 1721 |