Skip to content

Commit

Permalink
Add a long-form description string for recording status to the Progra…
Browse files Browse the repository at this point in the history
…mInfo map. This meant a minor modification to toDescription() so that we returned something sensible for programmes which weren't scheduled to record.
  • Loading branch information
stuartm committed Feb 15, 2012
1 parent 0ac5565 commit 2a74313
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 32 deletions.
6 changes: 5 additions & 1 deletion mythtv/libs/libmyth/programinfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1528,6 +1528,9 @@ void ProgramInfo::ToMap(InfoMap &progMap,

progMap["recstatus"] = ::toString(GetRecordingStatus(),
GetRecordingRuleType());
progMap["recstatuslong"] = ::toDescription(GetRecordingStatus(),
GetRecordingRuleType(),
GetRecordingStartTime());

if (IsRepeat())
{
Expand Down Expand Up @@ -1609,7 +1612,8 @@ void ProgramInfo::ToMap(InfoMap &progMap,
case kProgramInfoTypeRecording : // Fall through
default :
mediaType = "recording";
mediaTypeString = tr("Recording", "Recorded file, object not action");
mediaTypeString = QObject::tr("Recording",
"Recorded file, object not action");
}
progMap["mediatype"] = mediaType;
progMap["mediatypestring"] = mediaTypeString;
Expand Down
6 changes: 5 additions & 1 deletion mythtv/libs/libmyth/programtypes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,12 @@ QString toString(RecStatusType recstatus, RecordingType rectype)
}

/// \brief Converts "recstatus" into a long human readable description.
QString toDescription(RecStatusType recstatus, const QDateTime &recstartts)
QString toDescription(RecStatusType recstatus, RecordingType rectype,
const QDateTime &recstartts)
{
if (rectype == kNotRecording)
return QObject::tr("This showing is not scheduled to record");

QString message;
QDateTime now = QDateTime::currentDateTime();

Expand Down
7 changes: 4 additions & 3 deletions mythtv/libs/libmyth/programtypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ typedef enum SkipTypes {
* are just too many false positives from non-commercial cut scenes. */
COMM_DETECT_2_ALL = (COMM_DETECT_2_LOGO | COMM_DETECT_2_BLANK),

COMM_DETECT_PREPOSTROLL = 0x00000200,
COMM_DETECT_PREPOSTROLL = 0x00000200,
COMM_DETECT_PREPOSTROLL_ALL = (COMM_DETECT_PREPOSTROLL
| COMM_DETECT_BLANKS
| COMM_DETECT_SCENE)
Expand Down Expand Up @@ -144,7 +144,7 @@ typedef enum FlagMask {
} ProgramFlag;

typedef enum ProgramInfoType {
kProgramInfoTypeRecording = 0,
kProgramInfoTypeRecording = 0,
kProgramInfoTypeVideoFile,
kProgramInfoTypeVideoDVD,
kProgramInfoTypeVideoStreamingHTML,
Expand Down Expand Up @@ -227,7 +227,8 @@ typedef enum RecStatusTypes {
MPUBLIC QString toUIState(RecStatusType);
MPUBLIC QString toString(RecStatusType, uint id);
MPUBLIC QString toString(RecStatusType, RecordingType);
MPUBLIC QString toDescription(RecStatusType, const QDateTime &recstartts);
MPUBLIC QString toDescription(RecStatusType, RecordingType,
const QDateTime &recstartts);

typedef enum AvailableStatusTypes {
asAvailable = 0,
Expand Down
52 changes: 27 additions & 25 deletions mythtv/programs/mythfrontend/schedulecommon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "programinfo.h"
#include "remoteutil.h"

// libmythtv
// libmythtv
#include "recordinginfo.h"
#include "tvremoteutil.h"

Expand All @@ -31,23 +31,23 @@ void ScheduleCommon::ShowDetails(ProgramInfo *pginfo) const
{
if (!pginfo)
return;

MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
ProgDetails *details_dialog = new ProgDetails(mainStack, pginfo);

if (!details_dialog->Create())
{
delete details_dialog;
return;
}

mainStack->AddScreen(details_dialog);
}

/**
* \brief Show the upcoming recordings for this title
*/
void ScheduleCommon::ShowUpcoming(const QString &title,
void ScheduleCommon::ShowUpcoming(const QString &title,
const QString &seriesid) const
{
if (title.isEmpty())
Expand Down Expand Up @@ -106,7 +106,7 @@ void ScheduleCommon::EditRecording(ProgramInfo *pginfo)
{
if (!pginfo)
return;

RecordingInfo ri(*pginfo);

if (!ri.GetRecordingRuleID())
Expand All @@ -124,7 +124,7 @@ void ScheduleCommon::EditScheduled(ProgramInfo *pginfo)
{
if (!pginfo)
return;

RecordingInfo ri(*pginfo);
EditScheduled(&ri);
}
Expand Down Expand Up @@ -167,10 +167,10 @@ void ScheduleCommon::MakeOverride(RecordingInfo *recinfo, bool startActive)
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");
Expand All @@ -195,21 +195,22 @@ void ScheduleCommon::MakeOverride(RecordingInfo *recinfo, bool startActive)
void ScheduleCommon::ShowRecordingDialog(const RecordingInfo& recinfo)
{
QString message = recinfo.toString(ProgramInfo::kTitleSubtitle, " - ");

message += "\n\n";
message += toDescription(
recinfo.GetRecordingStatus(), recinfo.GetRecordingStartTime());

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 = QDateTime::currentDateTime();

if (recinfo.GetRecordingStartTime() < now &&
recinfo.GetRecordingEndTime() > now)
{
Expand Down Expand Up @@ -257,7 +258,7 @@ void ScheduleCommon::ShowRecordingDialog(const RecordingInfo& recinfo)
qVariantFromValue(recinfo));
}
}

if (recinfo.GetRecordingRuleType() != kOverrideRecord &&
recinfo.GetRecordingRuleType() != kDontRecord)
{
Expand All @@ -270,7 +271,7 @@ void ScheduleCommon::ShowRecordingDialog(const RecordingInfo& recinfo)
{
menuPopup->AddButton(tr("Edit Options"),
qVariantFromValue(recinfo));

if (recinfo.GetRecordingRuleType() != kSingleRecord &&
recinfo.GetRecordingRuleType() != kFindOneRecord)
{
Expand All @@ -279,7 +280,7 @@ void ScheduleCommon::ShowRecordingDialog(const RecordingInfo& recinfo)
}
}
}

if (recinfo.GetRecordingRuleType() == kOverrideRecord ||
recinfo.GetRecordingRuleType() == kDontRecord)
{
Expand All @@ -296,8 +297,8 @@ void ScheduleCommon::ShowRecordingDialog(const RecordingInfo& recinfo)
qVariantFromValue(recinfo));
}
}
}
}

popupStack->AddScreen(menuPopup);
}
else
Expand All @@ -315,8 +316,9 @@ void ScheduleCommon::ShowNotRecordingDialog(const RecordingInfo& recinfo)
QString message = recinfo.toString(ProgramInfo::kTitleSubtitle, " - ");

message += "\n\n";
message += toDescription(
recinfo.GetRecordingStatus(), recinfo.GetRecordingStartTime());
message += toDescription(recinfo.GetRecordingStatus(),
recinfo.GetRecordingRuleType(),
recinfo.GetRecordingStartTime());

if (recinfo.GetRecordingStatus() == rsConflict ||
recinfo.GetRecordingStatus() == rsLaterShowing)
Expand Down Expand Up @@ -454,7 +456,7 @@ void ScheduleCommon::ShowNotRecordingDialog(const RecordingInfo& recinfo)
qVariantFromValue(recinfo));
}
}

popupStack->AddScreen(menuPopup);
}
else
Expand Down Expand Up @@ -513,10 +515,10 @@ void ScheduleCommon::customEvent(QEvent *event)
{
if (!qVariantCanConvert<RecordingInfo>(dce->GetData()))
return;

RecordingInfo recInfo = qVariantValue<RecordingInfo>
(dce->GetData());

if (resulttext == tr("Reactivate"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Stop recording"))
Expand Down
5 changes: 3 additions & 2 deletions mythtv/programs/mythfrontend/viewschedulediff.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,9 @@ void ViewScheduleDiff::showStatus(MythUIButtonListItem *item)

QString message = pi->toString(ProgramInfo::kTitleSubtitle, " - ");
message += "\n\n";
message += toDescription(
pi->GetRecordingStatus(), pi->GetRecordingStartTime());
message += toDescription(pi->GetRecordingStatus(),
pi->GetRecordingRuleType(),
pi->GetRecordingStartTime());

if (pi->GetRecordingStatus() == rsConflict ||
pi->GetRecordingStatus() == rsLaterShowing)
Expand Down

0 comments on commit 2a74313

Please sign in to comment.