From f8386cdd8bb0fbad05eb7db09bdfd840bac324c8 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 3 Aug 2003 09:54:18 +0200 Subject: [PATCH] Added the usual menu timeout to the CAM menus --- HISTORY | 3 ++- menu.c | 12 +++++++++++- menu.h | 4 +++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index 14d921e0..52a30059 100644 --- a/HISTORY +++ b/HISTORY @@ -2254,7 +2254,7 @@ Video Disk Recorder Revision History - Some corrections to the Finnish OSD texts (thanks to Niko Tarnanen and Rolf Ahrenberg). -2003-07-26: Version 1.2.2 +2003-08-03: Version 1.2.2 - Fixed a bug in channel switching after Left/Right has been pressed (thanks to Michael Walle for reporting this one). @@ -2281,3 +2281,4 @@ Video Disk Recorder Revision History with VFAT=1 (thanks to Ernst Fürst for reporting this one). - Now the program uses the values of VIDEODIR and PLUGINDIR defined in Makefile or Makefile.config as defaults (thanks to Steffen Barszus). +- Added the usual menu timeout to the CAM menus. diff --git a/menu.c b/menu.c index b260ee38..b29961e4 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.263 2003/08/02 13:23:58 kls Exp $ + * $Id: menu.c 1.264 2003/08/03 09:38:37 kls Exp $ */ #include "menu.h" @@ -1562,6 +1562,7 @@ cMenuCam::cMenuCam(cCiMenu *CiMenu) Add(new cOsdItem(ciMenu->BottomText())); Display(); dsyslog("CAM: Menu - %s", ciMenu->TitleText()); + lastActivity = time(NULL); } cMenuCam::~cMenuCam() @@ -1590,6 +1591,10 @@ eOSState cMenuCam::ProcessKey(eKeys Key) default: break; } } + if (Key != kNone) + lastActivity = time(NULL); + else if (time(NULL) - lastActivity > MENUTIMEOUT) + state = osEnd; return state; } @@ -1607,6 +1612,7 @@ cMenuCamEnquiry::cMenuCamEnquiry(cCiEnquiry *CiEnquiry) SetTitle(ciEnquiry->Text() ? ciEnquiry->Text() : "CAM"); Add(new cMenuEditNumItem("Input", input, Length, ciEnquiry->Blind())); Display(); + lastActivity = time(NULL); } cMenuCamEnquiry::~cMenuCamEnquiry() @@ -1635,6 +1641,10 @@ eOSState cMenuCamEnquiry::ProcessKey(eKeys Key) default: break; } } + if (Key != kNone) + lastActivity = time(NULL); + else if (time(NULL) - lastActivity > MENUTIMEOUT) + state = osEnd; return state; } diff --git a/menu.h b/menu.h index 5dd40806..e304ea31 100644 --- a/menu.h +++ b/menu.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.h 1.56 2003/05/24 16:35:52 kls Exp $ + * $Id: menu.h 1.57 2003/08/03 09:37:18 kls Exp $ */ #ifndef __MENU_H @@ -62,6 +62,7 @@ public: class cMenuCam : public cOsdMenu { private: cCiMenu *ciMenu; + time_t lastActivity; bool selected; eOSState Select(void); public: @@ -73,6 +74,7 @@ public: class cMenuCamEnquiry : public cOsdMenu { private: cCiEnquiry *ciEnquiry; + time_t lastActivity; char *input; bool replied; eOSState Reply(void);