Refactor cRecMenuTimeline

This commit is contained in:
kamel5 2019-11-11 13:14:46 +01:00
parent 1f1498a734
commit 0289731158
2 changed files with 22 additions and 20 deletions

View File

@ -2554,6 +2554,8 @@ cRecMenuItemTimelineTimer::cRecMenuItemTimelineTimer(const cTimer *timer, time_t
selectable = true;
this->active = active;
height = geoManager.osdHeight / 16;
if (active)
setActive();
}
cRecMenuItemTimelineTimer::~cRecMenuItemTimelineTimer(void) {

View File

@ -1292,16 +1292,21 @@ cRecMenuSearchConfirmTimer::cRecMenuSearchConfirmTimer(const cEvent *event, eRec
******************************************************************************************/
// --- cRecMenuTimeline ---------------------------------------------------------
cRecMenuTimeline::cRecMenuTimeline(cTVGuideTimerConflicts *timerConflicts) {
cRecMenuTimeline::cRecMenuTimeline(cTVGuideTimerConflicts *timerConflicts) { // OK
SetWidthPercent(90);
numTimersToday = 0;
this->timerConflicts = timerConflicts;
SetStartStop();
conflictsToday = timerConflicts->GetConflictsBetween(timeStart, timeStop);
GetTimersForDay();
SetWidthPercent(90);
header = new cRecMenuItemTimelineHeader(timeStart, numTimersToday, conflictsToday);
SetHeader(header);
cRecMenuItem *footer = new cRecMenuItemButton(tr("Close"), rmsClose, false, true);
SetFooter(footer);
AddHeader(header);
footer = new cRecMenuItemButton(tr("Close"), rmsClose, false, true);
AddFooter(footer);
SetTimers();
}
@ -1310,10 +1315,9 @@ void cRecMenuTimeline::SetStartStop(void) {
tm *timeStruct = localtime(&now);
timeStart = now - timeStruct->tm_hour * 3600 - timeStruct->tm_min * 60 - timeStruct->tm_sec;
today = timeStart;
timeStop = timeStart + 24*3600 - 1;
timeStop = timeStart + 24 * 3600 - 1;
}
void cRecMenuTimeline::GetTimersForDay(void) {
timersToday.clear();
#if VDRVERSNUM >= 20301
@ -1351,40 +1355,36 @@ void cRecMenuTimeline::SetTimers(void) {
AddMenuItem(new cRecMenuItemTimelineTimer(NULL, 0, 0, conflictsToday, header, false));
footer->setActive();
} else {
for (int i = 0; i<numTimersToday; i++) {
cRecMenuItemTimelineTimer *item = new cRecMenuItemTimelineTimer(timersToday[i], timeStart, timeStop, conflictsToday, header, false);
if (i==0)
item->setActive();
if (!AddMenuItemInitial(item))
for (int i = 0; i < numTimersToday; i++) {
if (!AddMenuItemInitial(new cRecMenuItemTimelineTimer(timersToday[i], timeStart, timeStop, conflictsToday, header, (i == 0) ? true : false)))
break;
}
footer->setInactive();
}
CalculateHeight();
CreatePixmap();
Arrange();
}
void cRecMenuTimeline::PrevDay(void) {
if ((timeStart - 3600*24) < today)
if ((timeStart - 3600 * 24) < today)
return;
timeStart -= 3600*24;
timeStop -= 3600*24;
timeStart -= 3600 * 24;
timeStop -= 3600 * 24;
SetTimers();
Display();
}
void cRecMenuTimeline::NextDay(void) {
timeStart += 3600*24;
timeStop += 3600*24;
timeStart += 3600 * 24;
timeStop += 3600 * 24;
SetTimers();
Display();
}
cRecMenuItem *cRecMenuTimeline::GetMenuItem(int number) {
if (number < 0)
return NULL;
if (number >= numTimersToday)
if ((number < 0) || (number >= numTimersToday))
return NULL;
return new cRecMenuItemTimelineTimer(timersToday[number], timeStart, timeStop, conflictsToday, header, false);
}