1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

The CAM menu now stays open as long as it is automatically updated

This commit is contained in:
Klaus Schmidinger 2008-02-23 14:40:58 +01:00
parent edfe582941
commit 300d402663
4 changed files with 16 additions and 4 deletions

View File

@ -5660,3 +5660,6 @@ Video Disk Recorder Revision History
- When switching the device that's used for live viewing away from the current - When switching the device that's used for live viewing away from the current
transponder in favor of an upcoming recording, an attempt is now made to stay transponder in favor of an upcoming recording, an attempt is now made to stay
on the current channel by possibly going into 'Transfer Mode'. on the current channel by possibly going into 'Transfer Mode'.
- The CAM menu now stays open as long as it is automatically updated, even without
pressing a remote control key. This is important when updating the CAM firmware
from the transponder.

3
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 1.477 2008/02/16 13:53:26 kls Exp $ * $Id: menu.c 1.478 2008/02/23 14:36:43 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -1697,6 +1697,7 @@ void cMenuCam::Set(void)
AddMultiLineItem(ciMenu->BottomText()); AddMultiLineItem(ciMenu->BottomText());
dsyslog("CAM %d: '%s'", camSlot->SlotNumber(), ciMenu->BottomText()); dsyslog("CAM %d: '%s'", camSlot->SlotNumber(), ciMenu->BottomText());
} }
cRemote::TriggerLastActivity();
} }
else if (ciEnquiry) { else if (ciEnquiry) {
Clear(); Clear();

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: remote.c 1.58 2008/02/22 15:34:08 kls Exp $ * $Id: remote.c 1.59 2008/02/23 14:14:46 kls Exp $
*/ */
#include "remote.h" #include "remote.h"
@ -185,7 +185,7 @@ eKeys cRemote::Get(int WaitMs, char **UnknownCode)
out = 0; out = 0;
if ((k & k_Repeat) != 0) if ((k & k_Repeat) != 0)
repeatTimeout.Set(REPEATTIMEOUT); repeatTimeout.Set(REPEATTIMEOUT);
lastActivity = time(NULL); TriggerLastActivity();
return enabled ? k : kNone; return enabled ? k : kNone;
} }
else if (!WaitMs || !keyPressed.TimedWait(mutex, WaitMs) && repeatTimeout.TimedOut()) else if (!WaitMs || !keyPressed.TimedWait(mutex, WaitMs) && repeatTimeout.TimedOut())
@ -198,6 +198,11 @@ eKeys cRemote::Get(int WaitMs, char **UnknownCode)
} }
} }
void cRemote::TriggerLastActivity(void)
{
lastActivity = time(NULL);
}
// --- cRemotes -------------------------------------------------------------- // --- cRemotes --------------------------------------------------------------
cRemotes Remotes; cRemotes Remotes;

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: remote.h 1.40 2007/04/30 12:37:37 kls Exp $ * $Id: remote.h 1.41 2008/02/23 14:38:47 kls Exp $
*/ */
#ifndef __REMOTE_H #ifndef __REMOTE_H
@ -67,6 +67,9 @@ public:
static eKeys Get(int WaitMs = 1000, char **UnknownCode = NULL); static eKeys Get(int WaitMs = 1000, char **UnknownCode = NULL);
static time_t LastActivity(void) { return lastActivity; } static time_t LastActivity(void) { return lastActivity; }
///< Absolute time when last key was delivered by Get(). ///< Absolute time when last key was delivered by Get().
static void TriggerLastActivity(void);
///< Simulates user activity, for instance to keep the current menu open
///< even if no remote control key has been pressed.
}; };
class cRemotes : public cList<cRemote> {}; class cRemotes : public cList<cRemote> {};