Conor Curran has proposed merging
lp:~cjcurran/indicator-sound/playlist-and-fixes into lp:indicator-sound.
Requested reviews:
Indicator Applet Developers (indicator-applet-developers)
a couple of fixes, plus playlist mock item included
--
https://code.launchpad.net/~cjcurran/indicator-sound/playlist-and-fixes/+merge/31179
Your team ayatana-commits is subscribed to branch lp:indicator-sound.
=== modified file 'src/play-button.c'
--- src/play-button.c 2010-07-27 14:14:53 +
+++ src/play-button.c 2010-07-28 17:23:43 +
@@ -458,7 +458,7 @@
priv-current_state = update;
g_debug(PlayButton::toggle play state : %i, priv-current_state);
- if(changed == TRUE){
+ /*if(changed == TRUE){
g_debug(Toggle play pause - changed of state detected);
cairo_t *cr;
@@ -476,7 +476,7 @@
cairo_clip(cr);
draw (button, cr);
cairo_destroy (cr);
- }
+ }*/
}
=== modified file 'src/player-controller.vala'
--- src/player-controller.vala 2010-07-27 11:39:51 +
+++ src/player-controller.vala 2010-07-28 17:23:43 +
@@ -23,14 +23,15 @@
public class PlayerController : GLib.Object
{
- public const int WIDGET_QUANTITY = 5;
+ public const int WIDGET_QUANTITY = 6;
public static enum widget_order{
SEPARATOR,
TITLE,
METADATA,
SCRUB,
- TRANSPORT
+ TRANSPORT,
+ PLAYLIST
}
public enum state{
@@ -133,6 +134,8 @@
this.custom_items[widget_order.SCRUB].property_set_bool(MENUITEM_PROP_VISIBLE,
false);
this.custom_items[widget_order.METADATA].property_set_bool(MENUITEM_PROP_VISIBLE,
+ false);
+ this.custom_items[widget_order.PLAYLIST].property_set_bool(MENUITEM_PROP_VISIBLE,
false);
return;
}
@@ -146,8 +149,10 @@
this.custom_items[widget_order.TRANSPORT].property_set_bool(MENUITEM_PROP_VISIBLE,
- this.current_state == state.CONNECTED);
-
+ true);
+
+ this.custom_items[widget_order.PLAYLIST].property_set_bool(MENUITEM_PROP_VISIBLE,
+ true);
}
private void construct_widgets()
@@ -170,12 +175,34 @@
// Transport item
TransportMenuitem transport_item = new TransportMenuitem(this);
this.custom_items.add(transport_item);
-
+
+ this.custom_items.add(create_playlist());
foreach(PlayerItem item in this.custom_items){
root_menu.child_add_position(item, this.menu_offset + this.custom_items.index_of(item));
}
}
+
+ private PlayerItem create_playlist()
+ {
+ PlayerItem playlist_root = new PlayerItem(CLIENT_TYPES_DEFAULT);
+ playlist_root.property_set(MENUITEM_PROP_LABEL, Choose Playlist);
+
+ PlayerItem subentry_1 = new PlayerItem(CLIENT_TYPES_DEFAULT);
+ subentry_1.property_set(MENUITEM_PROP_LABEL, 90's Warp);
+
+ PlayerItem subentry_2 = new PlayerItem(CLIENT_TYPES_DEFAULT);
+ subentry_2.property_set(MENUITEM_PROP_LABEL, Rune Grammafon 00's);
+
+ PlayerItem subentry_3 = new PlayerItem(CLIENT_TYPES_DEFAULT);
+ subentry_3.property_set(MENUITEM_PROP_LABEL, Kranky pics);
+
+ playlist_root.child_append(subentry_1);
+ playlist_root.child_append(subentry_2);
+ playlist_root.child_append(subentry_3);
+
+ return playlist_root;
+ }
private static string format_client_name(string client_name)
{
=== modified file 'src/scrub-widget.c'
--- src/scrub-widget.c 2010-07-27 11:39:51 +
+++ src/scrub-widget.c 2010-07-28 17:23:43 +
@@ -93,10 +93,13 @@
priv-ido_scrub_bar = ido_scale_menu_item_new_with_range (Scrub, IDO_RANGE_STYLE_SMALL, 0, 0, 100, 1);
priv-time_line = ido_timeline_new(0);
- ido_scale_menu_item_set_style (IDO_SCALE_MENU_ITEM(priv-ido_scrub_bar), IDO_SCALE_MENU_ITEM_STYLE_LABEL);
+ ido_scale_menu_item_set_style (IDO_SCALE_MENU_ITEM(priv-ido_scrub_bar), IDO_SCALE_MENU_ITEM_STYLE_LABEL);
+
g_object_set(priv-ido_scrub_bar, reverse-scroll-events, TRUE, NULL);
priv-scrubbing = FALSE;
-
+
+ gtk_widget_set_size_request(GTK_WIDGET(priv-ido_scrub_bar), 100, 80);
+
// register slider changes listening on the range
GtkWidget* scrub_widget = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv-ido_scrub_bar);
g_signal_connect(scrub_widget, change-value, G_CALLBACK(scrub_widget_change_value_cb), self);
@@ -105,6 +108,7 @@
g_signal_connect(priv-time_line, finished, G_CALLBACK(scrub_widget_timeline_finished_cb), self);
g_signal_connect(priv-ido_scrub_bar, slider-grabbed, G_CALLBACK(scrub_widget_slider_grabbed), self);
g_signal_connect(priv-ido_scrub_bar, slider-released, G_CALLBACK(scrub_widget_slider_released), self);
+
}
static void
@@ -131,14 +135,15 @@
if(g_ascii_strcasecmp(DBUSMENU_SCRUB_MENUITEM_DURATION, property) == 0){
g_debug(scrub-widget::update length = %i, g_value_get_int(value));
-