ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #01957
[Merge] lp:~cjcurran/indicator-sound/playlist-and-fixes into lp:indicator-sound
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 +0000
+++ src/play-button.c 2010-07-28 17:23:43 +0000
@@ -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 +0000
+++ src/player-controller.vala 2010-07-28 17:23:43 +0000
@@ -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 +0000
+++ src/scrub-widget.c 2010-07-28 17:23:43 +0000
@@ -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));
- ido_scale_menu_item_set_secondary_label(IDO_SCALE_MENU_ITEM(priv->ido_scrub_bar),
+
+ ido_scale_menu_item_set_secondary_label(IDO_SCALE_MENU_ITEM(priv->ido_scrub_bar),
scrub_widget_format_time(g_value_get_int(value)));
-
+
ido_timeline_set_duration(priv->time_line, g_value_get_int(value) * 1000);
ido_timeline_rewind(priv->time_line);
scrub_widget_check_play_state(mitem);
- g_debug("timeline is running: %i", (gint)ido_timeline_is_running(priv->time_line));
- g_debug("timeline duration = %i", ido_timeline_get_duration(priv->time_line));
+ //g_debug("timeline is running: %i", (gint)ido_timeline_is_running(priv->time_line));
+ //g_debug("timeline duration = %i", ido_timeline_get_duration(priv->time_line));
scrub_widget_set_ido_position(mitem,
dbusmenu_menuitem_property_get_int(priv->twin_item, DBUSMENU_SCRUB_MENUITEM_POSITION)/1000,
@@ -152,11 +157,11 @@
g_debug("scrub-widget::update progress = %f", scrub_widget_calculate_progress(mitem)*100);
- ido_timeline_set_progress(priv->time_line, scrub_widget_calculate_progress(mitem)*1000);
+ ido_timeline_set_progress(priv->time_line, scrub_widget_calculate_progress(mitem));
scrub_widget_set_ido_position(mitem, g_value_get_int(value)/1000,
dbusmenu_menuitem_property_get_int(priv->twin_item, DBUSMENU_SCRUB_MENUITEM_DURATION));
- ido_timeline_start(priv->time_line);
+ scrub_widget_check_play_state(mitem);
}
else if(g_ascii_strcasecmp(DBUSMENU_SCRUB_MENUITEM_PLAY_STATE, property) == 0){
scrub_widget_check_play_state(mitem);
@@ -190,7 +195,8 @@
g_signal_connect(G_OBJECT(twin_item), "property-changed",
G_CALLBACK(scrub_widget_property_update), self);
- gchar* left_text = scrub_widget_format_time(dbusmenu_menuitem_property_get_int(priv->twin_item, DBUSMENU_SCRUB_MENUITEM_POSITION)/1000);
+ gchar* left_text = scrub_widget_format_time(dbusmenu_menuitem_property_get_int(priv->twin_item,
+ DBUSMENU_SCRUB_MENUITEM_POSITION)/1000);
gchar* right_text = scrub_widget_format_time(dbusmenu_menuitem_property_get_int(priv->twin_item,
DBUSMENU_SCRUB_MENUITEM_DURATION));
scrub_widget_set_ido_position(self,
@@ -209,7 +215,7 @@
gdouble new_value,
gpointer user_data)
{
- /*g_return_val_if_fail (IS_SCRUB_WIDGET (user_data), FALSE);
+ g_return_val_if_fail (IS_SCRUB_WIDGET (user_data), FALSE);
ScrubWidget* mitem = SCRUB_WIDGET(user_data);
ScrubWidgetPrivate * priv = SCRUB_WIDGET_GET_PRIVATE(mitem);
@@ -217,14 +223,8 @@
g_value_init(&value, G_TYPE_DOUBLE);
gdouble clamped = CLAMP(new_value, 0, 100);
g_value_set_double(&value, clamped);
- //g_debug("scrub-widget-change-value callback - = %f", clamped);
- if(priv->scrubbing == FALSE){
- dbusmenu_menuitem_handle_event (priv->twin_item, "scrubbing", &value, 0);
- }
- else{
- g_debug("blocking scrubbing because the slider is still grabbed"
- }*/
- return FALSE;
+ dbusmenu_menuitem_handle_event (priv->twin_item, "scrubbing", &value, 0);
+ return TRUE;
}
GtkWidget*
@@ -251,6 +251,7 @@
if(seconds > 9)
seconds_prefix="";
return g_strdup_printf("%s%i:%s%i", prefix, minutes, seconds_prefix, seconds);
+
}
else{
return g_strdup_printf("%s-:%s-", prefix, seconds_prefix);
@@ -308,7 +309,7 @@
ido_scale_menu_item_set_primary_label(IDO_SCALE_MENU_ITEM(priv->ido_scrub_bar), left_text);
GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv->ido_scrub_bar);
GtkRange *range = (GtkRange*)slider;
- //gtk_range_set_value(range, progress * 100);
+ gtk_range_set_value(range, progress * 100);
/*g_debug("position in seconds %i and in words %s", position, left_text);
g_debug("timeline is running: %i", (gint)ido_timeline_is_running(priv->time_line));
g_debug("timeline duration = %i", ido_timeline_get_duration(priv->time_line));
@@ -355,10 +356,6 @@
gpointer user_data)
{
g_debug("Timeline Finished!");
- /*g_return_if_fail (IS_SCRUB_WIDGET (user_data));
- ScrubWidget* mitem = SCRUB_WIDGET(user_data);
- ScrubWidgetPrivate * priv = SCRUB_WIDGET_GET_PRIVATE(mitem);
- ido_timeline_rewind(priv->time_line);*/
}
/**
Follow ups