void FPlaylistForm::FillListItems() { curplayingitemid = -1; int curplayingitemindex = -1; UList_->SetTextOfEmptyList(L"Empty playlist"); Osp::Base::Collection::IEnumerator * pEnum; FMainForm *pMainForm = static_cast<FMainForm *>(Application::GetInstance()->GetAppFrame()->GetFrame()->GetControl("FMainForm")); if (pMainForm->isstreaming) { pEnum = pMainForm->playliststream->GetEnumeratorN(); } else { pEnum = publicfunc_->playlist->GetEnumeratorN(); } PlayListItem * playlistitem_ = null; int listitemindex = 1; while (pEnum->MoveNext() == E_SUCCESS) { playlistitem_ = static_cast<PlayListItem *> (pEnum->GetCurrent()); if (pMainForm->isstreaming) { playlistitem_->iscurrent = (pMainForm->streamingcurrentitemindex == (listitemindex-1)); } Osp::Base::String artist = playlistitem_->artist; Osp::Base::String title = playlistitem_->title; artist.Trim(); title.Trim(); if ((title == L"") && (artist == L"")) { title = publicfunc_->GetTitleFromUri(playlistitem_->uri); artist = "Unknown artist - without metadata"; } if (artist == L"") { artist = L"Unknown artist"; } if (title == L"") { title = L"Unknown title"; } if (playlistitem_->iscurrent) { AddListItem(listitemindex, artist, title, currenticon); curplayingitemid = listitemindex; curplayingitemindex = listitemindex-1; } else { AddListItem(listitemindex, artist, title, null); } listitemindex++; } delete pEnum; if (curplayingitemindex > 1) { UList_->ScrollToTop(curplayingitemindex-1); } else { UList_->ScrollToTop(); } this->RequestRedraw(); }