void DownloadUI::UpdateInfo(void) { if (!isVisible) return; DownloadItem *dli = downloadList[m_currentindex]; if (!dli) { gtk_label_set_text(GTK_LABEL(artist), ""); gtk_label_set_text(GTK_LABEL(album), ""); gtk_label_set_text(GTK_LABEL(title), ""); gtk_label_set_text(GTK_LABEL(genre), ""); gtk_label_set_text(GTK_LABEL(playlist), ""); gtk_label_set_text(GTK_LABEL(name), ""); gtk_label_set_text(GTK_LABEL(size), ""); return; } gtk_label_set_text(GTK_LABEL(artist), dli->GetMetaData().Artist().c_str()); gtk_label_set_text(GTK_LABEL(album), dli->GetMetaData().Album().c_str()); gtk_label_set_text(GTK_LABEL(title), dli->GetMetaData().Title().c_str()); gtk_label_set_text(GTK_LABEL(genre), dli->GetMetaData().Genre().c_str()); gtk_label_set_text(GTK_LABEL(playlist), dli->PlaylistName().c_str()); gtk_label_set_text(GTK_LABEL(name), dli->DestinationFile().c_str()); float total; char totsize[64]; total = dli->GetTotalBytes(); if (total >= 1048576) { total /= 1048576; sprintf(totsize, "%.2f MB", total);; } else if(total >= 1024) { total /= 1024; sprintf(totsize, "%.2f KB", total); } else sprintf(totsize, "%.2f Bytes", total); string display = totsize; gtk_label_set_text(GTK_LABEL(size), display.c_str()); }