bool CPVRTimers::DeleteTimer(const CFileItem &item, bool bForce /* = false */) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "PVRTimers - %s - no TimerInfoTag given", __FUNCTION__); return false; } CPVRTimerInfoTag *tag = (CPVRTimerInfoTag *)item.GetPVRTimerInfoTag(); if (!tag) return false; return DeleteTimer(*tag, bForce); }
bool CPVRTimers::UpdateTimer(const CFileItem &item) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "cPVRTimers: UpdateTimer no TimerInfoTag given!"); return false; } const CPVRTimerInfoTag* tag = item.GetPVRTimerInfoTag(); if (!tag) return false; return UpdateTimer(*tag); }
bool CPVRTimers::RenameTimer(CFileItem &item, const CStdString &strNewName) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "cPVRTimers: RenameTimer no TimerInfoTag given!"); return false; } CPVRTimerInfoTag* tag = item.GetPVRTimerInfoTag(); if (!tag) return false; return RenameTimer(*tag, strNewName); }
bool CPVRTimers::DeleteTimer(const CFileItem &item, bool bForce /* = false */) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "cPVRTimers: DeleteTimer no TimerInfoTag given!"); return false; } const CPVRTimerInfoTag* tag = item.GetPVRTimerInfoTag(); if (!tag) return false; return DeleteTimer(*tag, bForce); }
bool CPVRTimers::UpdateTimer(CFileItem &item) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "PVRTimers - %s - no TimerInfoTag given", __FUNCTION__); return false; } CPVRTimerInfoTagPtr tag = item.GetPVRTimerInfoTag(); if (!tag) return false; return tag->UpdateOnClient(); }
bool CPVRTimers::RenameTimer(CFileItem &item, const std::string &strNewName) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "PVRTimers - %s - no TimerInfoTag given", __FUNCTION__); return false; } CPVRTimerInfoTagPtr tag = item.GetPVRTimerInfoTag(); if (!tag) return false; return tag->RenameOnClient(strNewName); }
bool CPVRTimers::DeleteTimer(const CFileItem &item, bool bForce /* = false */, bool bDeleteSchedule /* = false */) { /* Check if a CPVRTimerInfoTag is inside file item */ if (!item.IsPVRTimer()) { CLog::Log(LOGERROR, "PVRTimers - %s - no TimerInfoTag given", __FUNCTION__); return false; } const CPVRTimerInfoTagPtr tag = item.GetPVRTimerInfoTag(); if (!tag) return false; return tag->DeleteFromClient(bForce, bDeleteSchedule); }
bool CGUIWindowPVRBase::StartRecordFile(CFileItem *item, bool bAdvanced) { if (!item->HasEPGInfoTag()) return false; const CEpgInfoTagPtr tag = item->GetEPGInfoTag(); CPVRChannelPtr channel = tag->ChannelTag(); if (!channel || !g_PVRManager.CheckParentalLock(channel)) return false; CFileItemPtr timer = g_PVRTimers->GetTimerForEpgTag(item); if (timer && timer->HasPVRTimerInfoTag()) { CGUIDialogOK::ShowAndGetInput(CVariant{19033}, CVariant{19034}); return false; } bool bReturn(false); if (bAdvanced) { CPVRTimerInfoTagPtr newTimer = CPVRTimerInfoTag::CreateFromEpg(tag, true); if (newTimer) { CFileItem *newItem = new CFileItem(newTimer); if (ShowTimerSettings(newItem)) bReturn = g_PVRTimers->AddTimer(newItem->GetPVRTimerInfoTag()); delete newItem; } } else { // ask for confirmation before starting a timer if (!CGUIDialogYesNo::ShowAndGetInput( CVariant{264} /* "Record" */, CVariant{tag->PVRChannelName()}, CVariant{""}, CVariant{tag->Title()})) return false; CPVRTimerInfoTagPtr newTimer = CPVRTimerInfoTag::CreateFromEpg(tag); if (newTimer) bReturn = g_PVRTimers->AddTimer(newTimer); } return bReturn; }
bool CGUIWindowPVRCommon::ShowNewTimerDialog(void) { bool bReturn(false); CPVRTimerInfoTag *newTimer = new CPVRTimerInfoTag; CFileItem *newItem = new CFileItem(*newTimer); if (ShowTimerSettings(newItem)) { /* Add timer to backend */ bReturn = g_PVRTimers->AddTimer(*newItem->GetPVRTimerInfoTag()); } delete newItem; delete newTimer; return bReturn; }
bool CGUIWindowPVRSearch::OnContextButton(const CFileItem &item, CONTEXT_BUTTON button) { bool bReturn = false; switch(button) { case CONTEXT_BUTTON_FIND: { m_searchfilter.Reset(); // construct the search term if (item.IsEPG()) m_searchfilter.m_strSearchTerm = "\"" + item.GetEPGInfoTag()->Title() + "\""; else if (item.IsPVRChannel()) { const CEpgInfoTagPtr tag(item.GetPVRChannelInfoTag()->GetEPGNow()); if (tag) m_searchfilter.m_strSearchTerm = "\"" + tag->Title() + "\""; } else if (item.IsUsablePVRRecording()) m_searchfilter.m_strSearchTerm = "\"" + item.GetPVRRecordingInfoTag()->m_strTitle + "\""; else if (item.IsPVRTimer()) { const CPVRTimerInfoTagPtr info(item.GetPVRTimerInfoTag()); const CEpgInfoTagPtr tag(info->GetEpgInfoTag()); if (tag) m_searchfilter.m_strSearchTerm = "\"" + tag->Title() + "\""; else m_searchfilter.m_strSearchTerm = "\"" + info->m_strTitle + "\""; } m_bSearchConfirmed = true; Refresh(true); bReturn = true; break; } default: bReturn = false; } return bReturn; }