void RecordingSelector::titleChanged(MythUIButtonListItem *item) { ProgramInfo *p; p = qVariantValue<ProgramInfo *>(item->GetData()); if (!p) return; if (m_titleText) m_titleText->SetText(p->GetTitle()); if (m_datetimeText) m_datetimeText->SetText(p->GetScheduledStartTime() .toString("dd MMM yy (hh:mm)")); if (m_descriptionText) { m_descriptionText->SetText( ((!p->GetSubtitle().isEmpty()) ? p->GetSubtitle() + "\n" : "") + p->GetDescription()); } if (m_filesizeText) { m_filesizeText->SetText(formatSize(p->GetFilesize() / 1024)); } if (m_cutlistImage) { if (p->HasCutlist()) m_cutlistImage->Show(); else m_cutlistImage->Hide(); } if (m_previewImage) { // try to locate a preview image if (QFile::exists(p->GetPathname() + ".png")) { m_previewImage->SetFilename(p->GetPathname() + ".png"); m_previewImage->Load(); } else { m_previewImage->SetFilename("blank.png"); m_previewImage->Load(); } } }
void RecordingSelector::OKPressed() { // loop though selected recordings and add them to the list ProgramInfo *p; ArchiveItem *a; // remove any items that have been removed from the list QList<ArchiveItem *> tempAList; for (int x = 0; x < m_archiveList->size(); x++) { a = m_archiveList->at(x); bool found = false; for (int y = 0; y < m_selectedList.size(); y++) { p = m_selectedList.at(y); if (a->type != "Recording" || a->filename == p->GetPlaybackURL(false, true)) { found = true; break; } } if (!found) tempAList.append(a); } for (int x = 0; x < tempAList.size(); x++) m_archiveList->removeAll(tempAList.at(x)); // remove any items that are already in the list QList<ProgramInfo *> tempSList; for (int x = 0; x < m_selectedList.size(); x++) { p = m_selectedList.at(x); for (int y = 0; y < m_archiveList->size(); y++) { a = m_archiveList->at(y); if (a->filename == p->GetPlaybackURL(false, true)) { tempSList.append(p); break; } } } for (int x = 0; x < tempSList.size(); x++) m_selectedList.removeAll(tempSList.at(x)); // add all that are left for (int x = 0; x < m_selectedList.size(); x++) { p = m_selectedList.at(x); a = new ArchiveItem; a->type = "Recording"; a->title = p->GetTitle(); a->subtitle = p->GetSubtitle(); a->description = p->GetDescription(); a->startDate = p->GetScheduledStartTime().toString("dd MMM yy"); a->startTime = p->GetScheduledStartTime().toString("(hh:mm)"); a->size = p->GetFilesize(); a->filename = p->GetPlaybackURL(false, true); a->hasCutlist = p->HasCutlist(); a->useCutlist = false; a->duration = 0; a->cutDuration = 0; a->videoWidth = 0; a->videoHeight = 0; a->fileCodec = ""; a->videoCodec = ""; a->encoderProfile = NULL; a->editedDetails = false; m_archiveList->append(a); } emit haveResult(true); Close(); }
void RecordingSelector::updateRecordingList(void) { if (!m_recordingList || m_recordingList->empty()) return; m_recordingButtonList->Reset(); if (m_categorySelector) { ProgramInfo *p; vector<ProgramInfo *>::iterator i = m_recordingList->begin(); for ( ; i != m_recordingList->end(); ++i) { p = *i; if (p->GetTitle() == m_categorySelector->GetValue() || m_categorySelector->GetValue() == tr("All Recordings")) { MythUIButtonListItem* item = new MythUIButtonListItem( m_recordingButtonList, p->GetTitle() + " ~ " + p->GetScheduledStartTime().toLocalTime() .toString("dd MMM yy (hh:mm)")); item->setCheckable(true); if (m_selectedList.indexOf((ProgramInfo *) p) != -1) { item->setChecked(MythUIButtonListItem::FullChecked); } else { item->setChecked(MythUIButtonListItem::NotChecked); } QString title = p->GetTitle(); QString subtitle = p->GetSubtitle(); QDateTime recstartts = p->GetScheduledStartTime(); QDateTime recendts = p->GetScheduledEndTime(); QString timedate = QString("%1 - %2") .arg(MythDate::toString(recstartts,MythDate::kDateTimeFull)) .arg(MythDate::toString(recendts, MythDate::kTime)); uint season = p->GetSeason(); uint episode = p->GetEpisode(); QString seasone, seasonx; if (season && episode) { seasone = QString("s%1e%2") .arg(format_season_and_episode(season, 2)) .arg(format_season_and_episode(episode, 2)); seasonx = QString("%1x%2") .arg(format_season_and_episode(season, 1)) .arg(format_season_and_episode(episode, 2)); } item->SetText(title, "title"); item->SetText(subtitle, "subtitle"); if (subtitle.isEmpty()) item->SetText(title, "titlesubtitle"); else item->SetText(title + " - \"" + subtitle + '"', "titlesubtitle"); item->SetText(timedate, "timedate"); item->SetText(p->GetDescription(), "description"); item->SetText(formatSize(p->GetFilesize() / 1024), "filesize_str"); item->SetText(QString::number(season), "season"); item->SetText(QString::number(episode), "episode"); item->SetText(seasonx, "00x00"); item->SetText(seasone, "s00e00"); item->DisplayState(p->HasCutlist() ? "yes" : "no", "cutlist"); item->SetData(qVariantFromValue(p)); } qApp->processEvents(); } } m_recordingButtonList->SetItemCurrent(m_recordingButtonList->GetItemFirst()); titleChanged(m_recordingButtonList->GetItemCurrent()); }