示例#1
0
static void
pragha_playlist_update_statusbar_playtime (PraghaPlaylist *playlist, PraghaApplication *pragha)
{
	PraghaStatusbar *statusbar;
	gint total_playtime = 0, no_tracks = 0;
	gchar *str, *tot_str;

	if(pragha_playlist_is_changing(playlist))
		return;

	total_playtime = pragha_playlist_get_total_playtime (playlist);
	no_tracks = pragha_playlist_get_no_tracks (playlist);

	tot_str = convert_length_str(total_playtime);
	str = g_strdup_printf("%i %s - %s",
	                      no_tracks,
	                      ngettext("Track", "Tracks", no_tracks),
	                      tot_str);

	CDEBUG(DBG_VERBOSE, "Updating status bar with new playtime: %s", tot_str);

	statusbar = pragha_application_get_statusbar (pragha);
	pragha_statusbar_set_main_text(statusbar, str);

	g_free(tot_str);
	g_free(str);
}
示例#2
0
static void
pragha_filter_dialog_fill_model (GtkListStore *filter_model, PraghaPlaylist *cplaylist)
{
	GtkTreeIter filter_iter;
	PraghaMusicobject *mobj = NULL;
	gchar *ch_title = NULL, *ch_artist = NULL, *ch_album = NULL;
	const gchar *file, *title, *artist, *album;
	gchar *track_data_markup = NULL;
	gint track_i = 0;
	GList *list = NULL, *i;

	list = pragha_playlist_get_mobj_list(cplaylist);

	track_i = pragha_playlist_get_no_tracks(cplaylist);

	if(list != NULL) {
		for (i=list; i != NULL; i = i->next) {
			mobj = i->data;

			file = pragha_musicobject_get_file(mobj);
			title = pragha_musicobject_get_title(mobj);
			artist = pragha_musicobject_get_artist(mobj);
			album = pragha_musicobject_get_album(mobj);

			ch_title = string_is_not_empty(title) ?  g_strdup(title) : get_display_filename (file, FALSE);
			ch_artist = string_is_not_empty(artist) ? g_strdup(artist) : g_strdup(_("Unknown Artist"));
			ch_album = string_is_not_empty(album) ? g_strdup(album) : g_strdup(_("Unknown Album"));

			track_data_markup = g_markup_printf_escaped ("%s - %s - %s", ch_title, ch_artist, ch_album);

			if (track_data_markup != NULL) {
				gtk_list_store_prepend (filter_model, &filter_iter);
				gtk_list_store_set (filter_model, &filter_iter,
							0, track_i,
							1, track_data_markup,
							-1);
			}

			track_i--;

			g_free (ch_title);
			g_free (ch_artist);
			g_free (ch_album);
			g_free (track_data_markup);
		}
		g_list_free(list);
	}
}