void ChannelRecPriority::updateInfo(MythUIButtonListItem *item) { if (!item) return; ChannelInfo *channelItem = item->GetData().value<ChannelInfo *>(); if (!m_channelData.isEmpty() && channelItem) { QString rectype; if (m_iconImage) { QString iconUrl = gCoreContext->GetMasterHostPrefix("ChannelIcons", channelItem->icon); m_iconImage->SetFilename(iconUrl); m_iconImage->Load(); } InfoMap chanmap; channelItem->ToMap(chanmap); SetTextFromMap(chanmap); if (m_chanstringText) m_chanstringText->SetText(channelItem->GetFormatted(ChannelInfo::kChannelLong)); } MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_channelData.isEmpty()); }
void ChannelRecPriority::updateList() { m_channelList->Reset(); QMap<QString, ChannelInfo*>::Iterator it; MythUIButtonListItem *item; for (it = m_sortedChannel.begin(); it != m_sortedChannel.end(); ++it) { ChannelInfo *chanInfo = *it; item = new MythUIButtonListItem(m_channelList, "", qVariantFromValue(chanInfo)); QString fontState = "default"; if (!m_visMap[chanInfo->chanid]) fontState = "disabled"; QString stringFormat = item->GetText(); if (stringFormat.isEmpty()) stringFormat = "<num> <sign> \"<name>\""; item->SetText(chanInfo->GetFormatted(stringFormat), fontState); item->SetText(chanInfo->chanstr, "channum", fontState); item->SetText(chanInfo->callsign, "callsign", fontState); item->SetText(chanInfo->channame, "name", fontState); item->SetText(QString().setNum(chanInfo->sourceid), "sourceid", fontState); item->SetText(chanInfo->sourcename, "sourcename", fontState); if (m_visMap[chanInfo->chanid]) item->DisplayState("normal", "status"); else item->DisplayState("disabled", "status"); item->SetImage(chanInfo->iconpath, "icon"); item->SetImage(chanInfo->iconpath); item->SetText(chanInfo->recpriority, "priority", fontState); if (m_currentItem == chanInfo) m_channelList->SetItemCurrent(item); } MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_channelData.isEmpty()); }
void ChannelRecPriority::updateList() { m_channelList->Reset(); QMap<QString, ChannelInfo*>::Iterator it; for (it = m_sortedChannel.begin(); it != m_sortedChannel.end(); ++it) { ChannelInfo *chanInfo = *it; MythUIButtonListItem *item = new MythUIButtonListItem(m_channelList, "", qVariantFromValue(chanInfo)); QString fontState = "default"; item->SetText(chanInfo->GetFormatted(ChannelInfo::kChannelLong), fontState); InfoMap infomap; chanInfo->ToMap(infomap); item->SetTextFromMap(infomap, fontState); item->DisplayState("normal", "status"); if (!chanInfo->icon.isEmpty()) { QString iconUrl = gCoreContext->GetMasterHostPrefix("ChannelIcons", chanInfo->icon); item->SetImage(iconUrl, "icon"); item->SetImage(iconUrl); } item->SetText(QString::number(chanInfo->recpriority), "priority", fontState); if (m_currentItem == chanInfo) m_channelList->SetItemCurrent(item); } // this textarea name is depreciated use 'nochannels_warning' instead MythUIText *noChannelsText = dynamic_cast<MythUIText*>(GetChild("norecordings_info")); if (!noChannelsText) noChannelsText = dynamic_cast<MythUIText*>(GetChild("nochannels_warning")); if (noChannelsText) noChannelsText->SetVisible(m_channelData.isEmpty()); }
void ChannelRecPriority::updateList() { m_channelList->Reset(); QMap<QString, ChannelInfo*>::Iterator it; MythUIButtonListItem *item; for (it = m_sortedChannel.begin(); it != m_sortedChannel.end(); ++it) { ChannelInfo *chanInfo = *it; item = new MythUIButtonListItem(m_channelList, "", qVariantFromValue(chanInfo)); QString fontState = "default"; if (!m_visMap[chanInfo->chanid]) fontState = "disabled"; item->SetText(chanInfo->GetFormatted(ChannelInfo::kChannelLong), fontState); InfoMap infomap; chanInfo->ToMap(infomap); item->SetTextFromMap(infomap, fontState); if (m_visMap[chanInfo->chanid]) item->DisplayState("normal", "status"); else item->DisplayState("disabled", "status"); item->SetImage(chanInfo->iconpath, "icon"); item->SetImage(chanInfo->iconpath); item->SetText(chanInfo->recpriority, "priority", fontState); if (m_currentItem == chanInfo) m_channelList->SetItemCurrent(item); } MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_channelData.isEmpty()); }
void ChannelRecPriority::updateInfo(MythUIButtonListItem *item) { if (!item) return; ChannelInfo *channelItem = qVariantValue<ChannelInfo *>(item->GetData()); if (!m_channelData.isEmpty() && channelItem) { QString rectype; if (m_iconImage) { m_iconImage->SetFilename(channelItem->iconpath); m_iconImage->Load(); } if (m_chanstringText) m_chanstringText->SetText(channelItem->GetFormatted(m_longchannelformat)); if (m_callsignText) m_callsignText->SetText(channelItem->callsign); if (m_channumText) m_channumText->SetText(channelItem->chanstr); if (m_channameText) m_channameText->SetText(channelItem->channame); if (m_sourcenameText) m_sourcenameText->SetText(channelItem->sourcename); if (m_sourceidText) m_sourceidText->SetText(QString().setNum(channelItem->sourceid)); if (m_priorityText) m_priorityText->SetText(channelItem->recpriority); } MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_channelData.isEmpty()); }
void ViewScheduled::FillList() { m_schedulesList->Reset(); MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_recList.empty()); if (m_recList.empty()) return; ProgramList plist; if (!m_recgroupList.contains(m_currentGroup)) m_currentGroup = m_defaultGroup; plist = m_recgroupList[m_currentGroup]; ProgramList::iterator pit = plist.begin(); while (pit != plist.end()) { ProgramInfo *pginfo = *pit; if (!pginfo) { ++pit; continue; } QString state; const RecStatusType recstatus = pginfo->GetRecordingStatus(); if (recstatus == rsRecording) state = "running"; else if (recstatus == rsConflict || recstatus == rsOffLine || recstatus == rsTunerBusy || recstatus == rsFailed || recstatus == rsAborted || recstatus == rsMissed) state = "error"; else if (recstatus == rsWillRecord) { if ((m_curcard == 0 && m_curinput == 0) || pginfo->GetCardID() == m_curcard || pginfo->GetInputID() == m_curinput) { if (pginfo->GetRecordingPriority2() < 0) state = "warning"; else state = "normal"; } } else if (recstatus == rsRepeat || recstatus == rsOtherShowing || recstatus == rsNeverRecord || recstatus == rsDontRecord || (recstatus != rsDontRecord && recstatus <= rsEarlierShowing)) state = "disabled"; else state = "warning"; MythUIButtonListItem *item = new MythUIButtonListItem(m_schedulesList,"", qVariantFromValue(pginfo)); InfoMap infoMap; pginfo->ToMap(infoMap); item->SetTextFromMap(infoMap, state); QString rating = QString::number(pginfo->GetStars(10)); item->DisplayState(rating, "ratingstate"); item->DisplayState(state, "status"); ++pit; } MythUIText *statusText = dynamic_cast<MythUIText*>(GetChild("status")); if (statusText) { if (m_conflictBool) { // Find first conflict and store in m_conflictDate field ProgramList::const_iterator it = plist.begin(); for (; it != plist.end(); ++it) { ProgramInfo &p = **it; if (p.GetRecordingStatus() == rsConflict) { m_conflictDate = p.GetRecordingStartTime().date(); break; } } // figure out caption based on m_conflictDate QString cstring = tr("Time Conflict"); QDate now = QDate::currentDate(); int daysToConflict = now.daysTo(m_conflictDate); if (daysToConflict == 0) cstring = tr("Conflict Today"); else if (daysToConflict > 0) cstring = QString(tr("Conflict %1")) .arg(m_conflictDate.toString(m_dateFormat)); statusText->SetText(cstring); } else statusText->SetText(tr("No Conflicts")); } MythUIText *filterText = dynamic_cast<MythUIText*>(GetChild("filter")); if (filterText) { if (m_showAll) filterText->SetText(tr("All")); else filterText->SetText(tr("Important")); } }
void ViewScheduled::FillList() { m_schedulesList->Reset(); MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_recList.empty()); if (m_recList.empty()) return; ProgramList plist; if (!m_recgroupList.contains(m_currentGroup)) m_currentGroup = m_defaultGroup; plist = m_recgroupList[m_currentGroup]; ProgramList::iterator pit = plist.begin(); while (pit != plist.end()) { ProgramInfo *pginfo = *pit; if (!pginfo) { ++pit; continue; } QString state; const RecStatus::Type recstatus = pginfo->GetRecordingStatus(); if (recstatus == RecStatus::Recording || recstatus == RecStatus::Tuning) state = "running"; else if (recstatus == RecStatus::Conflict || recstatus == RecStatus::Offline || recstatus == RecStatus::TunerBusy || recstatus == RecStatus::Failed || recstatus == RecStatus::Failing || recstatus == RecStatus::Aborted || recstatus == RecStatus::Missed) state = "error"; else if (recstatus == RecStatus::WillRecord || recstatus == RecStatus::Pending) { if (m_curinput == 0 || pginfo->GetInputID() == m_curinput) { if (pginfo->GetRecordingPriority2() < 0) state = "warning"; else state = "normal"; } } else if (recstatus == RecStatus::Repeat || recstatus == RecStatus::NeverRecord || recstatus == RecStatus::DontRecord || (recstatus != RecStatus::DontRecord && recstatus <= RecStatus::EarlierShowing)) state = "disabled"; else state = "warning"; MythUIButtonListItem *item = new MythUIButtonListItem(m_schedulesList,"", qVariantFromValue(pginfo)); InfoMap infoMap; pginfo->ToMap(infoMap); item->SetTextFromMap(infoMap, state); QString rating = QString::number(pginfo->GetStars(10)); item->DisplayState(rating, "ratingstate"); item->DisplayState(state, "status"); ++pit; } MythUIText *statusText = dynamic_cast<MythUIText*>(GetChild("status")); if (statusText) { if (m_conflictBool) { // Find first conflict and store in m_conflictDate field ProgramList::const_iterator it = plist.begin(); for (; it != plist.end(); ++it) { ProgramInfo &p = **it; if (p.GetRecordingStatus() == RecStatus::Conflict) { m_conflictDate = p.GetRecordingStartTime() .toLocalTime().date(); break; } } // TODO: This can be templated instead of hardcoding // Conflict/No Conflict QString cstring = tr("Conflict %1") .arg(MythDate::toString(m_conflictDate, MythDate::kDateFull | MythDate::kSimplify)); statusText->SetText(cstring); } else statusText->SetText(tr("No Conflicts")); } MythUIText *filterText = dynamic_cast<MythUIText*>(GetChild("filter")); if (filterText) { if (m_showAll) filterText->SetText(tr("All")); else filterText->SetText(tr("Important")); } }
void ProgramRecPriority::UpdateList() { if (!m_currentItem && !m_programList->IsEmpty()) m_currentItem = m_programList->GetItemCurrent()->GetData() .value<ProgramRecPriorityInfo*>(); m_programList->Reset(); vector<ProgramRecPriorityInfo*>::iterator it; MythUIButtonListItem *item; for (it = m_sortedProgram.begin(); it != m_sortedProgram.end(); ++it) { ProgramRecPriorityInfo *progInfo = *it; item = new MythUIButtonListItem(m_programList, "", qVariantFromValue(progInfo)); int progRecPriority = progInfo->GetRecordingPriority(); if ((progInfo->rectype == kSingleRecord || progInfo->rectype == kOverrideRecord || progInfo->rectype == kDontRecord) && !(progInfo->GetSubtitle()).trimmed().isEmpty()) { QString rating = QString::number(progInfo->GetStars(10)); item->DisplayState(rating, "ratingstate"); } else progInfo->subtitle.clear(); QString state; if (progInfo->recType == kDontRecord || (progInfo->recType != kTemplateRecord && progInfo->recstatus == RecStatus::Inactive)) state = "disabled"; else if (m_conMatch[progInfo->GetRecordingRuleID()] > 0) state = "error"; else if (m_recMatch[progInfo->GetRecordingRuleID()] > 0 || progInfo->recType == kTemplateRecord) state = "normal"; else if (m_nowMatch[progInfo->GetRecordingRuleID()] > 0) state = "running"; else state = "warning"; InfoMap infoMap; progInfo->ToMap(infoMap); item->SetTextFromMap(infoMap, state); QString subtitle; if (progInfo->subtitle != "(null)" && (progInfo->rectype == kSingleRecord || progInfo->rectype == kOverrideRecord || progInfo->rectype == kDontRecord)) { subtitle = progInfo->subtitle; } QString matchInfo; if (progInfo->GetRecordingStatus() == RecStatus::Inactive) { matchInfo = QString("%1 %2") .arg(m_listMatch[progInfo->GetRecordingRuleID()]) .arg(RecStatus::toString(progInfo->GetRecordingStatus(), progInfo->GetRecordingRuleType())); } else matchInfo = tr("Recording %1 of %2") .arg(m_recMatch[progInfo->GetRecordingRuleID()]) .arg(m_listMatch[progInfo->GetRecordingRuleID()]); subtitle = QString("(%1) %2").arg(matchInfo).arg(subtitle); item->SetText(subtitle, "scheduleinfo", state); item->SetText(QString::number(progRecPriority), "progpriority", state); item->SetText(QString::number(progRecPriority), "finalpriority", state); item->SetText(QString::number(progRecPriority), "recpriority", state); item->SetText(QString::number(progRecPriority), "recpriorityB", state); QString tempDateTime = MythDate::toString(progInfo->last_record, MythDate::kDateTimeFull | MythDate::kSimplify | MythDate::kAddYear); item->SetText(tempDateTime, "lastrecorded", state); QString tempDate = MythDate::toString(progInfo->last_record, MythDate::kDateFull | MythDate::kSimplify | MythDate::kAddYear); item->SetText(tempDate, "lastrecordeddate", state); QString tempTime = MythDate::toString( progInfo->last_record, MythDate::kTime); item->SetText(tempTime, "lastrecordedtime", state); QString channame = progInfo->channame; QString channum = progInfo->chanstr; QString callsign = progInfo->chansign; if (progInfo->recType != kSingleRecord && progInfo->recType != kOverrideRecord && progInfo->recType != kDontRecord && !(progInfo->GetRecordingRule()->m_filter & 1024) && progInfo->GetRecordingRule()->m_searchType != kManualSearch) { channame = tr("Any"); channum = tr("Any"); callsign = tr("Any"); } item->SetText(channame, "channel", state); item->SetText(channum, "channum", state); item->SetText(callsign, "callsign", state); QString profile = progInfo->profile; if ((profile == "Default") || (profile == "Live TV") || (profile == "High Quality") || (profile == "Low Quality")) profile = tr(profile.toUtf8().constData()); item->SetText(profile, "recordingprofile", state); item->DisplayState(state, "status"); if (m_currentItem == progInfo) m_programList->SetItemCurrent(item); } m_currentItem = NULL; MythUIText *norecordingText = dynamic_cast<MythUIText*> (GetChild("norecordings_info")); if (norecordingText) norecordingText->SetVisible(m_programData.isEmpty()); }