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; selectable = true;
this->active = active; this->active = active;
height = geoManager.osdHeight / 16; height = geoManager.osdHeight / 16;
if (active)
setActive();
} }
cRecMenuItemTimelineTimer::~cRecMenuItemTimelineTimer(void) { cRecMenuItemTimelineTimer::~cRecMenuItemTimelineTimer(void) {

View File

@ -1292,16 +1292,21 @@ cRecMenuSearchConfirmTimer::cRecMenuSearchConfirmTimer(const cEvent *event, eRec
******************************************************************************************/ ******************************************************************************************/
// --- cRecMenuTimeline --------------------------------------------------------- // --- cRecMenuTimeline ---------------------------------------------------------
cRecMenuTimeline::cRecMenuTimeline(cTVGuideTimerConflicts *timerConflicts) { cRecMenuTimeline::cRecMenuTimeline(cTVGuideTimerConflicts *timerConflicts) { // OK
SetWidthPercent(90);
numTimersToday = 0;
this->timerConflicts = timerConflicts; this->timerConflicts = timerConflicts;
SetStartStop(); SetStartStop();
conflictsToday = timerConflicts->GetConflictsBetween(timeStart, timeStop); conflictsToday = timerConflicts->GetConflictsBetween(timeStart, timeStop);
GetTimersForDay(); GetTimersForDay();
SetWidthPercent(90);
header = new cRecMenuItemTimelineHeader(timeStart, numTimersToday, conflictsToday); header = new cRecMenuItemTimelineHeader(timeStart, numTimersToday, conflictsToday);
SetHeader(header); AddHeader(header);
cRecMenuItem *footer = new cRecMenuItemButton(tr("Close"), rmsClose, false, true);
SetFooter(footer); footer = new cRecMenuItemButton(tr("Close"), rmsClose, false, true);
AddFooter(footer);
SetTimers(); SetTimers();
} }
@ -1313,7 +1318,6 @@ void cRecMenuTimeline::SetStartStop(void) {
timeStop = timeStart + 24 * 3600 - 1; timeStop = timeStart + 24 * 3600 - 1;
} }
void cRecMenuTimeline::GetTimersForDay(void) { void cRecMenuTimeline::GetTimersForDay(void) {
timersToday.clear(); timersToday.clear();
#if VDRVERSNUM >= 20301 #if VDRVERSNUM >= 20301
@ -1352,14 +1356,12 @@ void cRecMenuTimeline::SetTimers(void) {
footer->setActive(); footer->setActive();
} else { } else {
for (int i = 0; i < numTimersToday; i++) { for (int i = 0; i < numTimersToday; i++) {
cRecMenuItemTimelineTimer *item = new cRecMenuItemTimelineTimer(timersToday[i], timeStart, timeStop, conflictsToday, header, false); if (!AddMenuItemInitial(new cRecMenuItemTimelineTimer(timersToday[i], timeStart, timeStop, conflictsToday, header, (i == 0) ? true : false)))
if (i==0)
item->setActive();
if (!AddMenuItemInitial(item))
break; break;
} }
footer->setInactive(); footer->setInactive();
} }
CalculateHeight(); CalculateHeight();
CreatePixmap(); CreatePixmap();
Arrange(); Arrange();
@ -1382,9 +1384,7 @@ void cRecMenuTimeline::NextDay(void) {
} }
cRecMenuItem *cRecMenuTimeline::GetMenuItem(int number) { cRecMenuItem *cRecMenuTimeline::GetMenuItem(int number) {
if (number < 0) if ((number < 0) || (number >= numTimersToday))
return NULL;
if (number >= numTimersToday)
return NULL; return NULL;
return new cRecMenuItemTimelineTimer(timersToday[number], timeStart, timeStop, conflictsToday, header, false); return new cRecMenuItemTimelineTimer(timersToday[number], timeStart, timeStop, conflictsToday, header, false);
} }