diff options
| -rw-r--r-- | menu.c | 23 | 
1 files changed, 19 insertions, 4 deletions
| @@ -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, | 
