From 1922b1401048262b1f6a931ebdeebfc65ccbe2a3 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 19 Jun 2003 10:06:07 +0200 Subject: Changed the behaviour of the '0' key in normal viewing mode to have a 3 second timeout --- vdr.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'vdr.c') diff --git a/vdr.c b/vdr.c index 6a6c35dc..e51d9508 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.160 2003/05/29 12:27:26 kls Exp $ + * $Id: vdr.c 1.161 2003/06/15 14:35:05 kls Exp $ */ #include @@ -57,6 +57,7 @@ #define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping #define SHUTDOWNWAIT 300 // seconds to wait in user prompt before automatic shutdown #define MANUALSTART 600 // seconds the next timer must be in the future to assume manual start +#define ZAPTIMEOUT 3 // seconds until a channel counts as "previous" for switching with '0' static int Interrupted = 0; @@ -455,6 +456,8 @@ int main(int argc, char *argv[]) int LastChannel = -1; int LastTimerChannel = -1; int PreviousChannel = cDevice::CurrentChannel(); + int LastLastChannel = PreviousChannel; + time_t LastChannelChanged = time(NULL); time_t LastActivity = 0; int MaxLatencyTime = 0; bool ForceShutdown = false; @@ -492,9 +495,12 @@ int main(int argc, char *argv[]) if (!EITScanner.Active() && cDevice::CurrentChannel() != LastChannel) { if (!Menu) Menu = Temp = new cDisplayChannel(cDevice::CurrentChannel(), LastChannel > 0); - if (LastChannel > 0) - PreviousChannel = LastChannel; LastChannel = cDevice::CurrentChannel(); + LastChannelChanged = time(NULL); + } + if (LastLastChannel != LastChannel && time(NULL) - LastChannelChanged >= ZAPTIMEOUT) { + PreviousChannel = LastLastChannel; + LastLastChannel = LastChannel; } // Timers and Recordings: if (!Timers.BeingEdited()) { -- cgit v1.2.3