From ffc7a80577572c630c75845df527b37072ab66bb Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 25 May 2003 14:14:32 +0200 Subject: [PATCH] It is now possible to directly delete a timer that is currently recording --- CONTRIBUTORS | 3 +++ HISTORY | 2 ++ menu.c | 26 +++++++++++++++----------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index c6be5156..b1f3a3d5 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -696,3 +696,6 @@ Hermann Gausterer Peter Bieringer for reporting a problem with duplicate recordings with the same file name + +Alexander Damhuis + for reporting problems when deleting a timer that is currently recording diff --git a/HISTORY b/HISTORY index 3226c521..65ca0feb 100644 --- a/HISTORY +++ b/HISTORY @@ -2206,3 +2206,5 @@ Video Disk Recorder Revision History second timer (thanks to Peter Bieringer for reporting this one). - Fixed handling newly created timers in case they are not confirmed with "Ok" (thanks to Gerhard Steiner for reporting this one). +- It is now possible to directly delete a timer that is currently recording + (thanks to Alexander Damhuis for reporting this one). diff --git a/menu.c b/menu.c index 3aebd7b2..9fb37503 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.248 2003/05/25 13:53:53 kls Exp $ + * $Id: menu.c 1.249 2003/05/25 14:06:17 kls Exp $ */ #include "menu.h" @@ -1053,18 +1053,22 @@ eOSState cMenuTimers::Delete(void) // Check if this timer is active: cTimer *ti = CurrentTimer(); if (ti) { - if (!ti->Recording()) { - if (Interface->Confirm(tr("Delete timer?"))) { - int Index = ti->Index(); - Timers.Del(ti); - cOsdMenu::Del(Current()); - Timers.Save(); - Display(); - isyslog("timer %d deleted", Index + 1); + if (Interface->Confirm(tr("Delete timer?"))) { + if (ti->Recording()) { + if (Interface->Confirm(tr("Timer still recording - really delete?"))) { + ti->Skip(); + cRecordControls::Process(time(NULL)); + } + else + return osContinue; } + int Index = ti->Index(); + Timers.Del(ti); + cOsdMenu::Del(Current()); + Timers.Save(); + Display(); + isyslog("timer %d deleted", Index + 1); } - else - Interface->Error(tr("Timer is recording!")); } return osContinue; }