The Timers list is now marked as modified whenever a recording starts or ends

This commit is contained in:
Klaus Schmidinger 2012-04-25 11:14:12 +02:00
parent 53d0825515
commit fb3e5ca4ee
2 changed files with 5 additions and 4 deletions

View File

@ -7084,3 +7084,4 @@ Video Disk Recorder Revision History
- OSD and skin are now reinitialized after a plugin setup page has been confirmed, - OSD and skin are now reinitialized after a plugin setup page has been confirmed,
to have them react immediately in case any change to a plugin's setup parameter to have them react immediately in case any change to a plugin's setup parameter
has an effect on the OSD. has an effect on the OSD.
- The Timers list is now marked as modified whenever a recording starts or ends.

8
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.c 2.51 2012/04/24 09:17:45 kls Exp $ * $Id: menu.c 2.52 2012/04/25 09:42:54 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -4094,6 +4094,8 @@ eOSState cDisplaySubtitleTracks::ProcessKey(eKeys Key)
cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause) cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause)
{ {
// Whatever happens here, the timers will be modified in some way...
Timers.SetModified();
// We're going to manipulate an event here, so we need to prevent // We're going to manipulate an event here, so we need to prevent
// others from modifying any EPG data: // others from modifying any EPG data:
cSchedulesLock SchedulesLock; cSchedulesLock SchedulesLock;
@ -4108,7 +4110,6 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause)
if (!timer) { if (!timer) {
timer = new cTimer(true, Pause); timer = new cTimer(true, Pause);
Timers.Add(timer); Timers.Add(timer);
Timers.SetModified();
instantId = cString::sprintf(cDevice::NumDevices() > 1 ? "%s - %d" : "%s", timer->Channel()->Name(), device->CardIndex() + 1); instantId = cString::sprintf(cDevice::NumDevices() > 1 ? "%s - %d" : "%s", timer->Channel()->Name(), device->CardIndex() + 1);
} }
timer->SetPending(true); timer->SetPending(true);
@ -4130,7 +4131,6 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause)
} }
else { else {
Timers.Del(timer); Timers.Del(timer);
Timers.SetModified();
if (!cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo() if (!cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo()
cReplayControl::SetRecording(fileName, Recording.Name()); cReplayControl::SetRecording(fileName, Recording.Name());
} }
@ -4158,7 +4158,6 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause)
timer->SetDeferred(DEFERTIMER); timer->SetDeferred(DEFERTIMER);
if (!Timer) { if (!Timer) {
Timers.Del(timer); Timers.Del(timer);
Timers.SetModified();
timer = NULL; timer = NULL;
} }
} }
@ -4208,6 +4207,7 @@ void cRecordControl::Stop(bool ExecuteUserCommand)
cStatus::MsgRecording(device, NULL, fileName, false); cStatus::MsgRecording(device, NULL, fileName, false);
if (ExecuteUserCommand) if (ExecuteUserCommand)
cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName); cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName);
Timers.SetModified();
} }
} }