commit fcd1a44e044759172f3cf4cb5ae94f627a032cf0
Author: Maia Kozheva <si...@ubuntu.com>
Date:   Thu Aug 26 18:37:15 2010 +0700

    media_player: Make song title bold, fix memory leak

 plugins/media_player/media_player.c |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/plugins/media_player/media_player.c 
b/plugins/media_player/media_player.c
index d99522a..b949506 100644
--- a/plugins/media_player/media_player.c
+++ b/plugins/media_player/media_player.c
@@ -167,18 +167,20 @@ static void set_song_label(Track *track) {
     gchar *label;
 
     // title by artist from album
-    if (track->title)
-        label = g_strdup(track->title);
+    const gchar *track_title = track->title ? track->title : _("No Track 
Title");
+    gboolean have_track_artist = track->artist && strlen(track->artist) > 0;
+    gboolean have_track_album = track->album && strlen(track->album) > 0;
+    
+    if (have_track_artist && have_track_album)
+        label = g_markup_printf_escaped(_("<b>%s</b> by %s from %s"), 
track_title, track->artist, track->album);
+    else if (have_track_artist)
+        label = g_markup_printf_escaped(_("<b>%s</b> by %s"), track_title, 
track->artist);
+    else if (have_track_album)
+        label = g_markup_printf_escaped(_("<b>%s</b> from %s"), track_title, 
track->album);
     else
-        label = _("No Track Title");
+        label = g_markup_printf_escaped("<b>%s</b>", track_title);
 
-    if (track->artist && strlen(track->artist) > 0 )
-        label = g_strconcat(label, " by ", track->artist, NULL);
-
-    if (track->album && strlen(track->album) > 0)
-        label = g_strconcat(label, " from ", track->album, NULL);
-
-    gtk_label_set_text(GTK_LABEL(player->song_label), label);
+    gtk_label_set_markup(GTK_LABEL(player->song_label), label);
     g_object_set_data(G_OBJECT (player->song_label), "tr_title", track->title);
     g_object_set_data(G_OBJECT (player->song_label), "tr_artist", 
track->artist);
     g_free(label);

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to