mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
				synced 2023-10-05 13:01:48 +00:00 
			
		
		
		
	Refactor cRecMenuTimeline
This commit is contained in:
		| @@ -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) { | ||||
|   | ||||
							
								
								
									
										40
									
								
								recmenus.c
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								recmenus.c
									
									
									
									
									
								
							| @@ -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); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user