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

Changed the behaviour of the '0' key in normal viewing mode to have a 3 second timeout

This commit is contained in:
Klaus Schmidinger 2003-06-19 10:06:07 +02:00
parent 8635511b28
commit 1922b14010
4 changed files with 19 additions and 4 deletions

View File

@ -724,3 +724,8 @@ Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
Michael Walle <michael.walle@web.de> Michael Walle <michael.walle@web.de>
for reporting a bug in channel switching after Left/Right has been pressed for reporting a bug in channel switching after Left/Right has been pressed
Thomas Keil <tk@commedia-group.com>
for suggesting to change the behaviour of the '0' key in normal viewing mode so
that a channel only qualifies as "previous" if it has been selected for at least
3 seconds

View File

@ -2263,3 +2263,6 @@ Video Disk Recorder Revision History
- Fixed creating a new channel in the "Channels" menu in case the 'channels.conf' - Fixed creating a new channel in the "Channels" menu in case the 'channels.conf'
contains ':@nnn' lines with no text (thanks to Guy Roussin for reporting this contains ':@nnn' lines with no text (thanks to Guy Roussin for reporting this
one). one).
- Changed the behaviour of the '0' key in normal viewing mode so that a channel
only qualifies as "previous" if it has been selected for at least 3 seconds
(suggested by Thomas Keil).

3
MANUAL
View File

@ -154,7 +154,8 @@ Version 1.2
menu) by pressing the "Blue" button. menu) by pressing the "Blue" button.
Pressing the '0' key in normal viewing mode toggles between the current and Pressing the '0' key in normal viewing mode toggles between the current and
the previous channel. the previous channel. A channel is considered "previous" if it has been
selected for at least 3 seconds.
After switching to a different channel the channel number and name, as well After switching to a different channel the channel number and name, as well
as the current time are displayed at the top of the screen. If available, the as the current time are displayed at the top of the screen. If available, the

12
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.cadsoft.de/vdr * 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> #include <getopt.h>
@ -57,6 +57,7 @@
#define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping #define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping
#define SHUTDOWNWAIT 300 // seconds to wait in user prompt before automatic shutdown #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 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; static int Interrupted = 0;
@ -455,6 +456,8 @@ int main(int argc, char *argv[])
int LastChannel = -1; int LastChannel = -1;
int LastTimerChannel = -1; int LastTimerChannel = -1;
int PreviousChannel = cDevice::CurrentChannel(); int PreviousChannel = cDevice::CurrentChannel();
int LastLastChannel = PreviousChannel;
time_t LastChannelChanged = time(NULL);
time_t LastActivity = 0; time_t LastActivity = 0;
int MaxLatencyTime = 0; int MaxLatencyTime = 0;
bool ForceShutdown = false; bool ForceShutdown = false;
@ -492,9 +495,12 @@ int main(int argc, char *argv[])
if (!EITScanner.Active() && cDevice::CurrentChannel() != LastChannel) { if (!EITScanner.Active() && cDevice::CurrentChannel() != LastChannel) {
if (!Menu) if (!Menu)
Menu = Temp = new cDisplayChannel(cDevice::CurrentChannel(), LastChannel > 0); Menu = Temp = new cDisplayChannel(cDevice::CurrentChannel(), LastChannel > 0);
if (LastChannel > 0)
PreviousChannel = LastChannel;
LastChannel = cDevice::CurrentChannel(); LastChannel = cDevice::CurrentChannel();
LastChannelChanged = time(NULL);
}
if (LastLastChannel != LastChannel && time(NULL) - LastChannelChanged >= ZAPTIMEOUT) {
PreviousChannel = LastLastChannel;
LastLastChannel = LastChannel;
} }
// Timers and Recordings: // Timers and Recordings:
if (!Timers.BeingEdited()) { if (!Timers.BeingEdited()) {