From 86a9d179bd27177fafa0d0b5931c377e8b90e9d5 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 19 Mar 2005 15:45:19 +0100 Subject: Improved displaying 'day' in Timers menu --- menu.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/menu.c b/menu.c index de5969a5..e30be39e 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.344 2005/03/19 14:23:43 kls Exp $ + * $Id: menu.c 1.345 2005/03/19 15:45:19 kls Exp $ */ #include "menu.h" @@ -732,13 +732,28 @@ int cMenuTimerItem::Compare(const cListObject &ListObject) const void cMenuTimerItem::Set(void) { + cString day, name(""); + if (timer->WeekDays()) + day = timer->PrintDay(0, timer->WeekDays()); + else if (timer->Day() - time(NULL) < 28 * SECSINDAY) { + day = itoa(timer->GetMDay(timer->Day())); + name = WeekDayName(timer->Day()); + } + else { + struct tm tm_r; + time_t Day = timer->Day(); + localtime_r(&Day, &tm_r); + char buffer[16]; + strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r); + day = buffer; + } char *buffer = NULL; asprintf(&buffer, "%c\t%d\t%s%s%s\t%02d:%02d\t%02d:%02d\t%s", !(timer->HasFlags(tfActive)) ? ' ' : timer->FirstDay() ? '!' : timer->Recording() ? '#' : '>', timer->Channel()->Number(), - timer->IsSingleEvent() ? *WeekDayName(timer->StartTime()) : "", - timer->IsSingleEvent() ? " " : "", - *timer->PrintDay(timer->Day(), timer->WeekDays()), + *name, + *name && **name ? " " : "", + *day, timer->Start() / 100, timer->Start() % 100, timer->Stop() / 100, -- cgit v1.2.3