diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2003-06-19 10:06:07 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2003-06-19 10:06:07 +0200 |
commit | 1922b1401048262b1f6a931ebdeebfc65ccbe2a3 (patch) | |
tree | 2f40527cb637f836bf3389616c9f952f6ab65b9a /vdr.c | |
parent | 8635511b282f8a19db8ef3211b80767efcff74b4 (diff) | |
download | vdr-1922b1401048262b1f6a931ebdeebfc65ccbe2a3.tar.gz vdr-1922b1401048262b1f6a931ebdeebfc65ccbe2a3.tar.bz2 |
Changed the behaviour of the '0' key in normal viewing mode to have a 3 second timeout
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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 <getopt.h> @@ -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()) { |