diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 62b82483..e8f25b0e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1722,6 +1722,8 @@ J Christian Wieninger for suggesting to add cMenuEditStrItem::InEditMode() + for his idea of going directly into the "Edit timer" menu for a timer created + from the "Schedule" menu in case it starts withing the next two minutes Thiemo Gehrke for suggesting to add a setup option to turn off the automatic timeout of the diff --git a/HISTORY b/HISTORY index 45bbb177..5862d68a 100644 --- a/HISTORY +++ b/HISTORY @@ -4594,3 +4594,8 @@ Video Disk Recorder Revision History dist: clean @-rm -rf $(TMPDIR)/$(ARCHIVE) ------------------------------------------------------------ +- If a timer is newly created from within the "Schedule" menu, and its event is + already running or has its start time within the next two minutes, it now goes + directly into the "Edit timer" menu in order to allow the user to make further + changes to timer parameters before the actual recording starts (inspired by + Christian Wieninger's "epgsearch" plugin). diff --git a/MANUAL b/MANUAL index 88f8d920..1ff92037 100644 --- a/MANUAL +++ b/MANUAL @@ -162,6 +162,10 @@ Version 1.3 default margin values will be sufficient, so in case this recording is really important you may want to add an extra margin ;-). VPS recordings will use the exact Start (or VPS) and Stop times as given in the event. + If a timer is newly created from within the "Schedule" menu, and its event is + already running or has its start time within the next two minutes, it goes + directly into the "Edit timer" menu in order to allow the user to make further + changes to timer parameters before the actual recording starts. The "Blue" button can be pressed to switch to the channel with the selected programme. diff --git a/menu.c b/menu.c index d0430af6..553d3a91 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.432 2006/04/15 14:09:40 kls Exp $ + * $Id: menu.c 1.433 2006/04/16 10:09:21 kls Exp $ */ #include "menu.h" @@ -32,6 +32,9 @@ #define MAXWAIT4EPGINFO 3 // seconds #define MODETIMEOUT 3 // seconds #define DISKSPACECHEK 5 // seconds between disk space checks in the main menu +#define NEWTIMERLIMIT 120 // seconds until the start time of a new timer created from the Schedule menu, + // within which it will go directly into the "Edit timer" menu to allow + // further parameter settings #define MAXRECORDCONTROLS (MAXDEVICES * MAXRECEIVERS) #define MAXINSTANTRECTIME (24 * 60 - 1) // 23:59 hours @@ -1152,9 +1155,10 @@ eOSState cMenuWhatsOn::Record(void) } else { Timers.Add(timer); - timer->Matches(); Timers.SetModified(); isyslog("timer %s added (active)", *timer->ToDescr()); + if (timer->Matches(0, false, NEWTIMERLIMIT)) + return AddSubMenu(new cMenuEditTimer(timer)); if (HasSubMenu()) CloseSubMenu(); if (Update()) @@ -1400,9 +1404,10 @@ eOSState cMenuSchedule::Record(void) } else { Timers.Add(timer); - timer->Matches(); Timers.SetModified(); isyslog("timer %s added (active)", *timer->ToDescr()); + if (timer->Matches(0, false, NEWTIMERLIMIT)) + return AddSubMenu(new cMenuEditTimer(timer)); if (HasSubMenu()) CloseSubMenu(); if (Update())