Explicitly setting timer's 'active' field to '1' after user changes

This commit is contained in:
Klaus Schmidinger 2001-02-24 15:05:07 +01:00
parent edacac5f91
commit ebc6dccee3
3 changed files with 9 additions and 2 deletions

View File

@ -41,7 +41,10 @@ Video Disk Recorder File Formats
The fields in a timer definition have the following meaning (from left
to right):
- Timer active (0 = inaactive, 1 = active)
- Timer active (0 = inactive, 1 = active)
Values larger than '1' can be used by external programs to mark active timers
and recognize if the user has modified them. When a user modifes an active
timer the 'active' field will be explicitly set to '1'.
- Program number of the channel to record
- Day of recording, either one or more of
M------ = Monday

View File

@ -407,3 +407,5 @@ Video Disk Recorder Revision History
- New setup parameter "PrimaryLimit" that allows to prevent timers from using the
primary DVB interface in multi card systems. Default value is 0, which means
that every timer may use the primary interface.
- The 'active' field of a timer will now be explicitly set to '1' if the user
modifies an active timer (see FORMATS for details).

4
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 1.67 2001/02/24 14:03:39 kls Exp $
* $Id: menu.c 1.68 2001/02/24 14:53:40 kls Exp $
*/
#include "menu.h"
@ -925,6 +925,8 @@ eOSState cMenuEditTimer::ProcessKey(eKeys Key)
strcpy(data.file, Channels.GetChannelNameByNumber(data.channel));
if (timer && memcmp(timer, &data, sizeof(data)) != 0) {
*timer = data;
if (timer->active)
timer->active = 1; // allows external programs to mark active timers with values > 1 and recognize if the user has modified them
Timers.Save();
isyslog(LOG_INFO, "timer %d modified (%s)", timer->Index() + 1, timer->active ? "active" : "inactive");
}