本文整理汇总了C++中RecordingInfo::GetRecordingRuleType方法的典型用法代码示例。如果您正苦于以下问题:C++ RecordingInfo::GetRecordingRuleType方法的具体用法?C++ RecordingInfo::GetRecordingRuleType怎么用?C++ RecordingInfo::GetRecordingRuleType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RecordingInfo
的用法示例。
在下文中一共展示了RecordingInfo::GetRecordingRuleType方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowNotScheduledDialog
/**
* \brief Creates a dialog displaying current recording status and options
* available
*/
void ScheduleCommon::ShowNotScheduledDialog(const RecordingInfo& recinfo)
{
QString message = recinfo.toString(ProgramInfo::kTitleSubtitle, " - ");
message += "\n\n";
message += toDescription(recinfo.GetRecordingStatus(),
recinfo.GetRecordingRuleType(),
recinfo.GetRecordingStartTime());
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythDialogBox *menuPopup = new MythDialogBox(message, popupStack,
"notSchedOptionPopup", true);
if (menuPopup->Create())
{
menuPopup->SetReturnEvent(this, "schedulenotscheduled");
QDateTime now = MythDate::current();
if (recinfo.GetRecordingEndTime() > now)
menuPopup->AddButton(tr("Record only this showing"),
qVariantFromValue(recinfo));
menuPopup->AddButton(tr("Record all showings"),
qVariantFromValue(recinfo));
if (!recinfo.IsGeneric())
menuPopup->AddButton(tr("Record one showing of this episode"),
qVariantFromValue(recinfo));
menuPopup->AddButton(tr("Record all showings on this channel"),
qVariantFromValue(recinfo));
menuPopup->AddButton(tr("Record with more options"),
qVariantFromValue(recinfo));
popupStack->AddScreen(menuPopup);
}
else
delete menuPopup;
}
示例2: IsFindApplicable
/**
* \brief Returns true if a search should be employed to find a matching
* program.
*/
bool ScheduleCommon::IsFindApplicable(const RecordingInfo& recInfo) const
{
return recInfo.GetRecordingRuleType() == kDailyRecord ||
recInfo.GetRecordingRuleType() == kWeeklyRecord;
}
示例3: customEvent
void ScheduleCommon::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "editrecording")
{
if (!dce->GetData().canConvert<RecordingInfo>())
return;
RecordingInfo recInfo = dce->GetData().value<RecordingInfo>();
if (resulttext == tr("Record this showing"))
{
if (recInfo.GetRecordingRuleType() == kNotRecording)
recInfo.ApplyRecordStateChange(kSingleRecord);
else
{
recInfo.ApplyRecordStateChange(kOverrideRecord);
if (recInfo.GetRecordingStartTime() < MythDate::current())
recInfo.ReactivateRecording();
}
}
else if (resulttext == tr("Record all showings"))
recInfo.ApplyRecordStateChange(kAllRecord);
else if (resulttext == tr("Record one showing (this episode)") ||
resulttext == tr("Record one showing"))
{
recInfo.ApplyRecordStateChange(kOneRecord, false);
recInfo.GetRecordingRule()->m_filter |= 64; // This episode
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Record all showings (this channel)"))
{
recInfo.ApplyRecordStateChange(kAllRecord, false);
recInfo.GetRecordingRule()->m_filter |= 1024; // This channel
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Stop this recording"))
{
RemoteStopRecording(&recInfo);
}
else if (resulttext == tr("Modify recording options") ||
resulttext == tr("Add override rule"))
{
if (recInfo.GetRecordingRuleType() == kSingleRecord ||
recInfo.GetRecordingRuleType() == kOverrideRecord ||
recInfo.GetRecordingRuleType() == kOneRecord)
EditScheduled(&recInfo);
else
MakeOverride(&recInfo);
}
else if (resulttext == tr("Restart this recording"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Forget previous recording"))
recInfo.ForgetHistory();
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.ApplyNeverRecord();
}
else if (resulttext == tr("Edit recording rule") ||
resulttext == tr("Edit override rule"))
EditScheduled(&recInfo);
else if (resulttext == tr("Delete recording rule") ||
resulttext == tr("Delete override rule"))
recInfo.ApplyRecordStateChange(kNotRecording);
}
}
}
示例4: customEvent
//.........这里部分代码省略.........
{
recInfo.ApplyRecordStateChange(kAllRecord, false);
recInfo.GetRecordingRule()->m_filter |= 1024; // This channel
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Record with more options"))
{
EditScheduled(&recInfo);
}
}
else if (resultid == "schedulenotrecording")
{
if (!qVariantCanConvert<RecordingInfo>(dce->GetData()))
return;
RecordingInfo recInfo = qVariantValue<RecordingInfo>
(dce->GetData());
if (resulttext == tr("Restart recording this showing"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Record this showing anyway"))
{
recInfo.ApplyRecordStateChange(kOverrideRecord);
if (recInfo.GetRecordingStartTime() < MythDate::current())
recInfo.ReactivateRecording();
}
else if (resulttext == tr("Forget previous recording"))
recInfo.ForgetHistory();
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.SetRecordingStatus(rsNeverRecord);
recInfo.SetScheduledStartTime(MythDate::current());
recInfo.SetScheduledEndTime(recInfo.GetRecordingStartTime());
recInfo.AddHistory(true, true);
}
else if (resulttext == tr("Delete override rule") ||
resulttext == tr("Delete recording rule"))
recInfo.ApplyRecordStateChange(kNotRecording);
else if (resulttext == tr("Edit override options") ||
resulttext == tr("Edit recording options"))
{
EditScheduled(&recInfo);
}
else if (resulttext == tr("Override this showing with options"))
{
MakeOverride(&recInfo);
}
}
else if (resultid == "schedulerecording")
{
if (!qVariantCanConvert<RecordingInfo>(dce->GetData()))
return;
RecordingInfo recInfo = qVariantValue<RecordingInfo>
(dce->GetData());
if (resulttext == tr("Restart recording this showing"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Stop recording this showing"))
{
ProgramInfo pginfo(
recInfo.GetChanID(), recInfo.GetRecordingStartTime());
if (pginfo.GetChanID())
RemoteStopRecording(&pginfo);
}
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.SetRecordingStatus(rsNeverRecord);
recInfo.SetScheduledStartTime(MythDate::current());
recInfo.SetScheduledEndTime(recInfo.GetRecordingStartTime());
recInfo.AddHistory(true, true);
}
else if (resulttext == tr("Delete override rule") ||
resulttext == tr("Delete recording rule"))
recInfo.ApplyRecordStateChange(kNotRecording);
else if (resulttext == tr("Edit options for this showing"))
{
if (recInfo.GetRecordingRuleType() == kSingleRecord ||
recInfo.GetRecordingRuleType() == kOverrideRecord ||
recInfo.GetRecordingRuleType() == kOneRecord)
EditScheduled(&recInfo);
else
MakeOverride(&recInfo, true);
}
else if (resulttext == tr("Edit override options") ||
resulttext == tr("Edit recording options"))
{
EditScheduled(&recInfo);
}
else if (resulttext == tr("Override this showing with options"))
{
MakeOverride(&recInfo);
}
}
}
}
示例5: ShowNotRecordingDialog
/**
* \brief Creates a dialog displaying current recording status and options
* available
*/
void ScheduleCommon::ShowNotRecordingDialog(const RecordingInfo& recinfo)
{
QString timeFormat = gCoreContext->GetSetting("TimeFormat", "h:mm AP");
QString message = recinfo.toString(ProgramInfo::kTitleSubtitle, " - ");
message += "\n\n";
message += toDescription(recinfo.GetRecordingStatus(),
recinfo.GetRecordingRuleType(),
recinfo.GetRecordingStartTime());
if (recinfo.GetRecordingStatus() == rsConflict ||
recinfo.GetRecordingStatus() == rsLaterShowing)
{
vector<ProgramInfo *> *confList = RemoteGetConflictList(&recinfo);
if (!confList->empty())
{
message += " ";
message += tr("The following programs will be recorded instead:");
message += "\n";
}
uint maxi = 0;
for (; confList->begin() != confList->end() && maxi < 4; maxi++)
{
ProgramInfo *p = *confList->begin();
message += QString("%1 - %2 %3\n")
.arg(p->GetRecordingStartTime()
.toLocalTime().toString(timeFormat))
.arg(p->GetRecordingEndTime()
.toLocalTime().toString(timeFormat))
.arg(p->toString(ProgramInfo::kTitleSubtitle, " - "));
delete p;
confList->erase(confList->begin());
}
message += "\n";
while (!confList->empty())
{
delete confList->back();
confList->pop_back();
}
delete confList;
}
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythDialogBox *menuPopup = new MythDialogBox(message, popupStack,
"notRecOptionPopup", true);
if (menuPopup->Create())
{
menuPopup->SetReturnEvent(this, "schedulenotrecording");
QDateTime now = MythDate::current();
if ((recinfo.GetRecordingStartTime() < now) &&
(recinfo.GetRecordingEndTime() > now) &&
(recinfo.GetRecordingStatus() != rsDontRecord) &&
(recinfo.GetRecordingStatus() != rsNotListed))
{
menuPopup->AddButton(tr("Restart recording this showing"),
qVariantFromValue(recinfo));
}
if (recinfo.GetRecordingEndTime() > now)
{
if ((recinfo.GetRecordingRuleType() != kSingleRecord &&
recinfo.GetRecordingRuleType() != kOverrideRecord) &&
(recinfo.GetRecordingStatus() == rsDontRecord ||
recinfo.GetRecordingStatus() == rsPreviousRecording ||
recinfo.GetRecordingStatus() == rsCurrentRecording ||
recinfo.GetRecordingStatus() == rsEarlierShowing ||
recinfo.GetRecordingStatus() == rsNeverRecord ||
recinfo.GetRecordingStatus() == rsRepeat ||
recinfo.GetRecordingStatus() == rsInactive ||
recinfo.GetRecordingStatus() == rsLaterShowing))
{
menuPopup->AddButton(tr("Record this showing anyway"),
qVariantFromValue(recinfo));
if (recinfo.GetRecordingStatus() == rsPreviousRecording ||
recinfo.GetRecordingStatus() == rsNeverRecord)
{
menuPopup->AddButton(tr("Forget previous recording"),
qVariantFromValue(recinfo));
}
}
if (recinfo.GetRecordingRuleType() != kOverrideRecord &&
recinfo.GetRecordingRuleType() != kDontRecord)
{
if (recinfo.GetRecordingRuleType() != kSingleRecord &&
recinfo.GetRecordingStatus() != rsPreviousRecording &&
recinfo.GetRecordingStatus() != rsCurrentRecording &&
recinfo.GetRecordingStatus() != rsNeverRecord &&
recinfo.GetRecordingStatus() != rsNotListed)
{
//.........这里部分代码省略.........
示例6: ShowRecordingDialog
/**
* \brief Creates a dialog displaying current recording status and options
* available
*/
void ScheduleCommon::ShowRecordingDialog(const RecordingInfo& recinfo)
{
QString message = recinfo.toString(ProgramInfo::kTitleSubtitle, " - ");
message += "\n\n";
message += toDescription(recinfo.GetRecordingStatus(),
recinfo.GetRecordingRuleType(),
recinfo.GetRecordingStartTime());
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythDialogBox *menuPopup = new MythDialogBox(message, popupStack,
"recOptionPopup", true);
if (menuPopup->Create())
{
menuPopup->SetReturnEvent(this, "schedulerecording");
QDateTime now = MythDate::current();
if (recinfo.GetRecordingStartTime() < now &&
recinfo.GetRecordingEndTime() > now)
{
if (recinfo.GetRecordingStatus() != rsRecording &&
recinfo.GetRecordingStatus() != rsTuning &&
recinfo.GetRecordingStatus() != rsOtherRecording &&
recinfo.GetRecordingStatus() != rsOtherTuning)
menuPopup->AddButton(tr("Restart recording this showing"),
qVariantFromValue(recinfo));
else
menuPopup->AddButton(tr("Stop recording this showing"),
qVariantFromValue(recinfo));
}
if (recinfo.GetRecordingEndTime() > now)
{
if (recinfo.GetRecordingRuleType() != kSingleRecord &&
recinfo.GetRecordingRuleType() != kOverrideRecord)
{
if (recinfo.GetRecordingStartTime() > now)
{
menuPopup->AddButton(tr("Don't record this showing"),
qVariantFromValue(recinfo));
}
const RecordingDupMethodType dupmethod =
recinfo.GetDuplicateCheckMethod();
if (recinfo.GetRecordingStatus() != rsRecording &&
recinfo.GetRecordingStatus() != rsTuning &&
recinfo.GetRecordingStatus() != rsOtherRecording &&
recinfo.GetRecordingStatus() != rsOtherTuning &&
recinfo.GetRecordingRuleType() != kOneRecord &&
!((recinfo.GetFindID() == 0 ||
!IsFindApplicable(recinfo)) &&
recinfo.GetCategoryType() == "series" &&
recinfo.GetProgramID().contains(QRegExp("0000$"))) &&
((!(dupmethod & kDupCheckNone) &&
!recinfo.GetProgramID().isEmpty() &&
(recinfo.GetFindID() != 0 ||
!IsFindApplicable(recinfo))) ||
((dupmethod & kDupCheckSub) &&
!recinfo.GetSubtitle().isEmpty()) ||
((dupmethod & kDupCheckDesc) &&
!recinfo.GetDescription().isEmpty()) ||
((dupmethod & kDupCheckSubThenDesc) &&
(!recinfo.GetSubtitle().isEmpty() ||
!recinfo.GetDescription().isEmpty())) ))
{
menuPopup->AddButton(tr("Never record this episode"),
qVariantFromValue(recinfo));
}
}
if (recinfo.GetRecordingRuleType() != kOverrideRecord &&
recinfo.GetRecordingRuleType() != kDontRecord)
{
if (recinfo.GetRecordingStatus() == rsRecording ||
recinfo.GetRecordingStatus() == rsTuning ||
recinfo.GetRecordingStatus() == rsOtherRecording ||
recinfo.GetRecordingStatus() == rsOtherTuning)
{
menuPopup->AddButton(tr("Edit options for this showing"),
qVariantFromValue(recinfo));
}
else
{
if (recinfo.GetRecordingRuleType() != kSingleRecord)
{
menuPopup->AddButton(tr("Override this showing with options"),
qVariantFromValue(recinfo));
}
}
}
if (recinfo.GetRecordingRuleType() == kOverrideRecord ||
//.........这里部分代码省略.........
示例7: FillProgramInfo
//.........这里部分代码省略.........
pProgram->setSeriesId ( pInfo->GetSeriesID() );
pProgram->setProgramId ( pInfo->GetProgramID() );
pProgram->setStars ( pInfo->GetStars() );
pProgram->setLastModified( pInfo->GetLastModifiedTime() );
pProgram->setProgramFlags( pInfo->GetProgramFlags() );
// ----
// DEPRECATED - See RecordingInfo instead
pProgram->setFileName ( pInfo->GetPathname() );
pProgram->setFileSize ( pInfo->GetFilesize() );
pProgram->setHostName ( pInfo->GetHostname() );
// ----
if (pInfo->GetOriginalAirDate().isValid())
pProgram->setAirdate( pInfo->GetOriginalAirDate() );
else if (pInfo->GetYearOfInitialRelease() > 0)
{
QDate year;
year.setDate(pInfo->GetYearOfInitialRelease(), 1, 1);
pProgram->setAirdate( year );
}
pProgram->setDescription( pInfo->GetDescription() );
pProgram->setInetref ( pInfo->GetInetRef() );
pProgram->setSeason ( pInfo->GetSeason() );
pProgram->setEpisode ( pInfo->GetEpisode() );
pProgram->setTotalEpisodes( pInfo->GetEpisodeTotal() );
}
pProgram->setSerializeCast(bIncCast);
if (bIncCast)
{
FillCastMemberList( pProgram->Cast(), pInfo );
}
pProgram->setSerializeChannel( bIncChannel );
if ( bIncChannel )
{
// Build Channel Child Element
if (!FillChannelInfo( pProgram->Channel(), pInfo->GetChanID(), bDetails ))
{
// The channel associated with a given recording may no longer exist
// however the ChanID is one half of the unique identifier for the
// recording and therefore MUST be included in the return data
pProgram->Channel()->setChanId(pInfo->GetChanID());
}
}
// Build Recording Child Element
if ( pInfo->GetRecordingStatus() != RecStatus::Unknown )
{
pProgram->setSerializeRecording( true );
DTC::RecordingInfo *pRecording = pProgram->Recording();
const RecordingInfo pRecInfo(*pInfo);
pRecording->setRecordedId ( pRecInfo.GetRecordingID() );
pRecording->setStatus ( pRecInfo.GetRecordingStatus() );
pRecording->setPriority( pRecInfo.GetRecordingPriority() );
pRecording->setStartTs ( pRecInfo.GetRecordingStartTime() );
pRecording->setEndTs ( pRecInfo.GetRecordingEndTime() );
pRecording->setSerializeDetails( bDetails );
if (bDetails)
{
pRecording->setFileName ( pRecInfo.GetPathname() );
pRecording->setFileSize ( pRecInfo.GetFilesize() );
pRecording->setHostName ( pRecInfo.GetHostname() );
pRecording->setLastModified( pRecInfo.GetLastModifiedTime() );
pRecording->setRecordId ( pRecInfo.GetRecordingRuleID() );
pRecording->setRecGroup ( pRecInfo.GetRecordingGroup() );
pRecording->setPlayGroup ( pRecInfo.GetPlaybackGroup() );
pRecording->setStorageGroup( pRecInfo.GetStorageGroup() );
pRecording->setRecType ( pRecInfo.GetRecordingRuleType() );
pRecording->setDupInType ( pRecInfo.GetDuplicateCheckSource() );
pRecording->setDupMethod ( pRecInfo.GetDuplicateCheckMethod() );
pRecording->setEncoderId ( pRecInfo.GetInputID() );
if (pProgram->Channel())
{
QString encoderName = CardUtil::GetDisplayName(pRecInfo.GetInputID());
pRecording->setEncoderName( encoderName );
}
pRecording->setProfile( pRecInfo.GetProgramRecordingProfile() );
}
}
if (!pInfo->GetInetRef().isEmpty() )
{
pProgram->setSerializeArtwork( true );
FillArtworkInfoList( pProgram->Artwork(), pInfo->GetInetRef(),
pInfo->GetSeason());
}
}