void CustomEdit::recordClicked(void) { if (!checkSyntax()) return; RecordingRule *record = new RecordingRule(); MythUIButtonListItem* item = m_ruleList->GetItemCurrent(); CustomRuleInfo rule = qVariantValue<CustomRuleInfo>(item->GetData()); int cur_recid = rule.recordid.toInt(); if (cur_recid > 0) { record->ModifyPowerSearchByID(cur_recid, m_titleEdit->GetText(), evaluate(m_descriptionEdit->GetText()), m_subtitleEdit->GetText()); } else { record->LoadBySearch(kPowerSearch, m_titleEdit->GetText(), evaluate(m_descriptionEdit->GetText()), m_subtitleEdit->GetText(), m_pginfo->GetTitle().isEmpty() ? NULL : m_pginfo); } MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, record); if (schededit->Create()) { mainStack->AddScreen(schededit); connect(schededit, SIGNAL(ruleSaved(int)), SLOT(scheduleCreated(int))); } else delete schededit; }
/** * \brief Creates a dialog for editing an override recording schedule */ void ScheduleCommon::MakeOverride(RecordingInfo *recinfo) { if (!recinfo || !recinfo->GetRecordingRuleID()) return; RecordingRule *recrule = new RecordingRule(); if (!recrule->LoadByProgram(static_cast<ProgramInfo*>(recinfo))) LOG(VB_GENERAL, LOG_ERR, "Failed to load by program info"); if (!recrule->MakeOverride()) { LOG(VB_GENERAL, LOG_ERR, "Failed to make Override"); delete recrule; return; } recrule->m_type = kOverrideRecord; MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, recrule); if (schededit->Create()) mainStack->AddScreen(schededit); else delete schededit; }
void ManualSchedule::recordClicked(void) { QDateTime endts = m_startDateTime .addSecs(max(m_durationSpin->GetIntValue() * 60, 60)); if (m_channelList->GetCurrentPos() >= m_chanids.size()) { LOG(VB_GENERAL, LOG_ERR, "Channel out of range."); return; // this can happen if there are no channels.. } ProgramInfo p(m_titleEdit->GetText().trimmed(), m_chanids[m_channelList->GetCurrentPos()], m_startDateTime, endts); RecordingRule *record = new RecordingRule(); record->LoadByProgram(&p); record->m_searchType = kManualSearch; MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, record); if (schededit->Create()) { mainStack->AddScreen(schededit); connect(schededit, SIGNAL(ruleSaved(int)), SLOT(scheduleCreated(int))); } else delete schededit; }
void ProgramRecPriority::edit(MythUIButtonListItem *item) { if (!item) return; ProgramRecPriorityInfo *pgRecInfo = item->GetData().value<ProgramRecPriorityInfo*>(); if (!pgRecInfo) return; RecordingRule *record = new RecordingRule(); record->m_recordID = pgRecInfo->GetRecordingRuleID(); if (record->m_searchType == kNoSearch) record->LoadByProgram(pgRecInfo); MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, record); if (schededit->Create()) { mainStack->AddScreen(schededit); connect(schededit, SIGNAL(ruleSaved(int)), SLOT(scheduleChanged(int))); connect(schededit, SIGNAL(ruleDeleted(int)), SLOT(scheduleChanged(int))); } else delete schededit; }
/** * \brief Creates a dialog for editing an override recording schedule */ void ScheduleCommon::MakeOverride(RecordingInfo *recinfo, bool startActive) { if (!recinfo || !recinfo->GetRecordingRuleID()) return; RecordingRule *recrule = new RecordingRule(); if (!recrule->LoadByProgram(static_cast<ProgramInfo*>(recinfo))) VERBOSE(VB_IMPORTANT, QString("Failed to load by program info")); if (!recrule->MakeOverride()) { VERBOSE(VB_IMPORTANT, QString("Failed to make Override")); delete recrule; return; } if (startActive) recrule->m_type = kOverrideRecord; MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, recrule); if (schededit->Create()) mainStack->AddScreen(schededit); else delete schededit; }
/** * \brief Creates a dialog for editing the recording schedule */ void ScheduleCommon::EditScheduled(RecordingInfo *recinfo) { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, recinfo); if (schededit->Create()) mainStack->AddScreen(schededit); else delete schededit; }
/** * \brief Creates a dialog for editing the recording schedule */ void ScheduleCommon::EditScheduled(RecordingInfo *recinfo) { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, recinfo); if (schededit->Create()) mainStack->AddScreen(schededit); else { delete schededit; ShowOkPopup(tr("Recording rule does not exist.")); } }
void ProgramRecPriority::newTemplate(QString category) { category = category.trimmed(); if (category.isEmpty()) return; // Try to find an existing template and use it. QMap<int, ProgramRecPriorityInfo>::Iterator it; for (it = m_programData.begin(); it != m_programData.end(); ++it) { ProgramRecPriorityInfo *progInfo = &(*it); if (progInfo->GetRecordingRuleType() == kTemplateRecord && category.compare(progInfo->GetCategory(), Qt::CaseInsensitive) == 0) { m_programList->SetValueByData(qVariantFromValue(progInfo)); edit(m_programList->GetItemCurrent()); return; } } RecordingRule *record = new RecordingRule(); if (!record) return; record->MakeTemplate(category); MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ScheduleEditor *schededit = new ScheduleEditor(mainStack, record); if (schededit->Create()) { mainStack->AddScreen(schededit); connect(schededit, SIGNAL(ruleSaved(int)), SLOT(scheduleChanged(int))); connect(schededit, SIGNAL(ruleDeleted(int)), SLOT(scheduleChanged(int))); } else delete schededit; }