summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2008-02-23 14:40:58 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2008-02-23 14:40:58 +0100
commit300d402663e3378d3710b40e29c79a1cc4f4c262 (patch)
tree42dabe052b9e8f4b56322e1fb15660e0c0224b18
parentedfe5829417bea8879bd2e45892b4465ea69b6eb (diff)
downloadvdr-300d402663e3378d3710b40e29c79a1cc4f4c262.tar.gz
vdr-300d402663e3378d3710b40e29c79a1cc4f4c262.tar.bz2
The CAM menu now stays open as long as it is automatically updated
-rw-r--r--HISTORY3
-rw-r--r--menu.c3
-rw-r--r--remote.c9
-rw-r--r--remote.h5
4 files changed, 16 insertions, 4 deletions
diff --git a/HISTORY b/HISTORY
index 41b85ea3..0f9a6fa0 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5660,3 +5660,6 @@ Video Disk Recorder Revision History
- 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
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.
diff --git a/menu.c b/menu.c
index 7abe1bad..11a7826d 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.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"
@@ -1697,6 +1697,7 @@ void cMenuCam::Set(void)
AddMultiLineItem(ciMenu->BottomText());
dsyslog("CAM %d: '%s'", camSlot->SlotNumber(), ciMenu->BottomText());
}
+ cRemote::TriggerLastActivity();
}
else if (ciEnquiry) {
Clear();
diff --git a/remote.c b/remote.c
index c20647d3..733ae31c 100644
--- a/remote.c
+++ b/remote.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -185,7 +185,7 @@ eKeys cRemote::Get(int WaitMs, char **UnknownCode)
out = 0;
if ((k & k_Repeat) != 0)
repeatTimeout.Set(REPEATTIMEOUT);
- lastActivity = time(NULL);
+ TriggerLastActivity();
return enabled ? k : kNone;
}
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 Remotes;
diff --git a/remote.h b/remote.h
index a38d6616..46ad9564 100644
--- a/remote.h
+++ b/remote.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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
@@ -67,6 +67,9 @@ public:
static eKeys Get(int WaitMs = 1000, char **UnknownCode = NULL);
static time_t LastActivity(void) { return lastActivity; }
///< 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> {};