summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY2
-rw-r--r--menu.c26
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 <mrq1@gmx.net>
Peter Bieringer <pb@bieringer.de>
for reporting a problem with duplicate recordings with the same file name
+
+Alexander Damhuis <ad@phonedation.de>
+ 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;
}