bool CGUIWindowPVRCommon::ActionDeleteTimer(CFileItem *item) { bool bReturn = false; /* check if the timer tag is valid */ CPVRTimerInfoTag *timerTag = item->GetPVRTimerInfoTag(); if (!timerTag || timerTag->ClientIndex() < 0) return bReturn; /* show a confirmation dialog */ CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO); if (!pDialog) return false; pDialog->SetHeading(122); pDialog->SetLine(0, 19040); pDialog->SetLine(1, ""); pDialog->SetLine(2, timerTag->Title()); pDialog->DoModal(); /* prompt for the user's confirmation */ if (!pDialog->IsConfirmed()) return bReturn; /* delete the timer */ if (CPVRManager::GetTimers()->DeleteTimer(*item)) { UpdateData(); bReturn = true; } return bReturn; }
void CAddonHelpers_PVR::PVRTransferTimerEntry(void *addonData, const PVRHANDLE handle, const PVR_TIMERINFO *timer) { CAddonHelpers* addon = (CAddonHelpers*) addonData; if (addon == NULL || handle == NULL || timer == NULL) { CLog::Log(LOGERROR, "PVR: PVRTransferTimerEntry is called with NULL-Pointer!!!"); return; } CPVRTimers *xbmcTimers = (CPVRTimers*) handle->DATA_ADDRESS; CPVRClient* client = (CPVRClient*) handle->CALLER_ADDRESS; const CPVRChannel *channel = CPVRManager::GetChannelGroups()->GetByClientFromAll(timer->channelNum, client->GetClientID()); if (channel == NULL) { CLog::Log(LOGERROR, "PVR: PVRTransferTimerEntry is called with not present channel"); return; } CPVRTimerInfoTag tag; tag.SetClientID(client->GetClientID()); tag.SetClientIndex(timer->index); tag.SetActive(timer->active == 1); tag.SetTitle(timer->title); tag.SetDir(timer->directory); tag.SetClientNumber(timer->channelNum); tag.SetStart((time_t) (timer->starttime+client->GetTimeCorrection())); tag.SetStop((time_t) (timer->endtime+client->GetTimeCorrection())); tag.SetFirstDay((time_t) (timer->firstday+client->GetTimeCorrection())); tag.SetPriority(timer->priority); tag.SetLifetime(timer->lifetime); tag.SetRecording(timer->recording == 1); tag.SetRepeating(timer->repeat == 1); tag.SetWeekdays(timer->repeatflags); CStdString path; path.Format("pvr://client%i/timers/%i", tag.ClientID(), tag.ClientIndex()); tag.SetPath(path); xbmcTimers->Update(tag); return; }