diff options
author | Conor Curran <conor.curran@canonical.com> | 2010-06-14 19:48:11 +0100 |
---|---|---|
committer | Conor Curran <conor.curran@canonical.com> | 2010-06-14 19:48:11 +0100 |
commit | b5684bb4f3480c59d63a02b5f658382d7b0e52a7 (patch) | |
tree | 1744c1565b19e0dde95718ccd98e44b185829c5a /src/metadata-widget.c | |
parent | 11741257873bf35670e2503184821e2bd075c9f6 (diff) | |
download | ayatana-indicator-sound-b5684bb4f3480c59d63a02b5f658382d7b0e52a7.tar.gz ayatana-indicator-sound-b5684bb4f3480c59d63a02b5f658382d7b0e52a7.tar.bz2 ayatana-indicator-sound-b5684bb4f3480c59d63a02b5f658382d7b0e52a7.zip |
rename of transport-bar
Diffstat (limited to 'src/metadata-widget.c')
-rw-r--r-- | src/metadata-widget.c | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/src/metadata-widget.c b/src/metadata-widget.c index 70542e9..a451ad7 100644 --- a/src/metadata-widget.c +++ b/src/metadata-widget.c @@ -34,7 +34,10 @@ struct _MetadataWidgetPrivate { GtkWidget* hbox; GtkWidget* album_art; - gchar* our_path; + gchar* our_path; + GtkWidget* artist_label; + GtkWidget* piece_label; + GtkWidget* container_label; }; #define METADATA_WIDGET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), METADATA_WIDGET_TYPE, MetadataWidgetPrivate)) @@ -49,13 +52,11 @@ static gboolean metadata_widget_button_press_event (GtkWidget *menuitem, GdkEventButton *event); static gboolean metadata_widget_button_release_event (GtkWidget *menuitem, GdkEventButton *event); - - -// Dbusmenuitem update callback +// Dbusmenuitem properties update callback static void metadata_widget_update_state(gchar * property, GValue * value, gpointer userdata); - +//static void update_content( G_DEFINE_TYPE (MetadataWidget, metadata_widget, GTK_TYPE_MENU_ITEM); @@ -84,22 +85,47 @@ metadata_widget_init (MetadataWidget *self) g_debug("MetadataWidget::metadata_widget_init"); MetadataWidgetPrivate * priv = METADATA_WIDGET_GET_PRIVATE(self); - GtkWidget *hbox; - hbox = gtk_hbox_new(TRUE, 2); + GtkWidget *hbox; + hbox = gtk_hbox_new(TRUE, 0); + priv->hbox = hbox; + + // image const gchar* path = dbusmenu_menuitem_property_get(twin_item, DBUSMENU_METADATA_MENUITEM_IMAGE_PATH); - g_debug("MetadataWidget:init - path = %s", path); - priv->our_path = g_strdup(path); + GdkPixbuf* pixbuf; + pixbuf=gdk_pixbuf_new_from_file(path, NULL); + pixbuf=gdk_pixbuf_scale_simple(pixbuf,60,60,GDK_INTERP_BILINEAR); + priv->album_art = gtk_image_new_from_pixbuf(pixbuf); + g_object_unref(pixbuf); + gtk_box_pack_start (GTK_BOX (priv->hbox), priv->album_art, FALSE, FALSE, 0); + GtkWidget* vbox = gtk_vbox_new(TRUE, 0); + + // artist + GtkWidget* artist; + artist = gtk_label_new(dbusmenu_menuitem_property_get(twin_item, DBUSMENU_METADATA_MENUITEM_TEXT_ARTIST)); + priv->artist_label = artist; + gtk_box_pack_start (GTK_BOX (vbox), priv->artist_label, FALSE, FALSE, 0); + + // piece + GtkWidget* piece; + piece = gtk_label_new(dbusmenu_menuitem_property_get(twin_item, DBUSMENU_METADATA_MENUITEM_TEXT_PIECE)); + priv->piece_label = piece; + gtk_box_pack_start (GTK_BOX (vbox), priv->piece_label, FALSE, FALSE, 0); - priv->album_art = gtk_image_new_from_file(priv->our_path); + // container + GtkWidget* container; + container = gtk_label_new(dbusmenu_menuitem_property_get(twin_item, DBUSMENU_METADATA_MENUITEM_TEXT_CONTAINER)); + priv->container_label = container; + gtk_box_pack_start (GTK_BOX (vbox), priv->container_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (priv->hbox), vbox, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT(twin_item), "property-changed", G_CALLBACK(metadata_widget_update_state), self); - - gtk_widget_show_all (priv->hbox); + gtk_widget_show_all (priv->hbox); gtk_container_add (GTK_CONTAINER (self), hbox); } @@ -133,8 +159,6 @@ metadata_widget_button_release_event (GtkWidget *menuitem, return TRUE; } - -//TODO figure out why the userdata is not what I expect it to be. static void metadata_widget_update_state(gchar *property, GValue *value, gpointer userdata) { g_debug("metadata_widget_update_state - with property %s", property); |