From 5821c26c5ea45a2d7aecbab4f7b71139961c8baf Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Wed, 4 Jan 2006 14:45:23 +0100 Subject: [PATCH] Implemented "Setup/OSD/Timeout requested channel info" --- CONTRIBUTORS | 4 ++++ HISTORY | 4 +++- MANUAL | 4 ++++ config.c | 5 ++++- config.h | 3 ++- i18n.c | 23 ++++++++++++++++++++++- menu.c | 6 ++++-- menu.h | 3 ++- 8 files changed, 45 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 600ca030..1a032c02 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1601,3 +1601,7 @@ J Christian Wieninger for suggesting to add cMenuEditStrItem::InEditMode() + +Thiemo Gehrke + for suggesting to add a setup option to turn off the automatic timeout of the + channel display in case it was invoked by a press of the "Ok" key diff --git a/HISTORY b/HISTORY index 122c755a..c65410dd 100644 --- a/HISTORY +++ b/HISTORY @@ -4082,4 +4082,6 @@ Video Disk Recorder Revision History - The "Menu" key now behaves consistently. If there is anything on the OSD, it is closed when the "Menu" key is pressed, and if there is nothing on the OSD, the "Menu" key opens the main menu (suggested by Luca Olivetti). - +- The new option "Setup/OSD/Timeout requested channel info" can be used to turn + off the automatic timeout of the channel display in case it was invoked by + a press of the "Ok" key (suggested by Thiemo Gehrke). diff --git a/MANUAL b/MANUAL index 9a10b13a..92101973 100644 --- a/MANUAL +++ b/MANUAL @@ -496,6 +496,10 @@ Version 1.2 always displayed when pressing the "Ok" button in normal viewing mode. + Timeout requested channel info = yes + Turns the automatic timeout of the channel display (when + invoked by a press of the "Ok" key) on or off. + Scroll pages = yes no = when pressing the "Down" ("Up") key while the cursor is on the last (first) line of a list page, the list is scrolled down (up) a single line and the cursor will diff --git a/config.c b/config.c index ecd91af2..6e02e3f8 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.138 2005/09/09 15:08:59 kls Exp $ + * $Id: config.c 1.139 2006/01/04 14:37:54 kls Exp $ */ #include "config.h" @@ -250,6 +250,7 @@ cSetup::cSetup(void) strcpy(OSDTheme, "default"); PrimaryDVB = 1; ShowInfoOnChSwitch = 1; + TimeoutRequChInfo = 1; MenuScrollPage = 1; MenuScrollWrap = 0; MarkInstantRecord = 1; @@ -408,6 +409,7 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "OSDTheme")) strn0cpy(OSDTheme, Value, MaxThemeName); else if (!strcasecmp(Name, "PrimaryDVB")) PrimaryDVB = atoi(Value); else if (!strcasecmp(Name, "ShowInfoOnChSwitch")) ShowInfoOnChSwitch = atoi(Value); + else if (!strcasecmp(Name, "TimeoutRequChInfo")) TimeoutRequChInfo = atoi(Value); else if (!strcasecmp(Name, "MenuScrollPage")) MenuScrollPage = atoi(Value); else if (!strcasecmp(Name, "MenuScrollWrap")) MenuScrollWrap = atoi(Value); else if (!strcasecmp(Name, "MarkInstantRecord")) MarkInstantRecord = atoi(Value); @@ -473,6 +475,7 @@ bool cSetup::Save(void) Store("OSDTheme", OSDTheme); Store("PrimaryDVB", PrimaryDVB); Store("ShowInfoOnChSwitch", ShowInfoOnChSwitch); + Store("TimeoutRequChInfo", TimeoutRequChInfo); Store("MenuScrollPage", MenuScrollPage); Store("MenuScrollWrap", MenuScrollWrap); Store("MarkInstantRecord", MarkInstantRecord); diff --git a/config.h b/config.h index 92dd048c..3c6a1524 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.236 2005/12/03 11:50:08 kls Exp $ + * $Id: config.h 1.237 2006/01/04 13:41:59 kls Exp $ */ #ifndef __CONFIG_H @@ -210,6 +210,7 @@ public: char OSDTheme[MaxThemeName]; int PrimaryDVB; int ShowInfoOnChSwitch; + int TimeoutRequChInfo; int MenuScrollPage; int MenuScrollWrap; int MarkInstantRecord; diff --git a/i18n.c b/i18n.c index a21f855d..06790db9 100644 --- a/i18n.c +++ b/i18n.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: i18n.c 1.222 2005/12/30 15:30:59 kls Exp $ + * $Id: i18n.c 1.223 2006/01/04 14:41:50 kls Exp $ * * Translations provided by: * @@ -2947,6 +2947,27 @@ const tI18nPhrase Phrases[] = { "Kanaliteate näitamine", "Info ved kanalskift", }, + { "Setup.OSD$Timeout requested channel info", + "Angeforderte Kanalinfo schließen", + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + }, { "Setup.OSD$Scroll pages", "Seitenweise scrollen", "Drsni meni", diff --git a/menu.c b/menu.c index 0a41312a..bb3c95e5 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.383 2005/12/31 15:08:19 kls Exp $ + * $Id: menu.c 1.384 2006/01/04 14:42:13 kls Exp $ */ #include "menu.h" @@ -1988,6 +1988,7 @@ void cMenuSetupOSD::Set(void) Add(new cMenuEditBoolItem(tr("Setup.OSD$Channel info position"), &data.ChannelInfoPos, tr("bottom"), tr("top"))); Add(new cMenuEditIntItem( tr("Setup.OSD$Channel info time (s)"), &data.ChannelInfoTime, 1, 60)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Info on channel switch"), &data.ShowInfoOnChSwitch)); + Add(new cMenuEditBoolItem(tr("Setup.OSD$Timeout requested channel info"), &data.TimeoutRequChInfo)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Scroll pages"), &data.MenuScrollPage)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Scroll wraps"), &data.MenuScrollWrap)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Sort timers"), &data.SortTimers)); @@ -2856,6 +2857,7 @@ cDisplayChannel::cDisplayChannel(int Number, bool Switched) withInfo = !Switched || Setup.ShowInfoOnChSwitch; displayChannel = Skins.Current()->DisplayChannel(withInfo); number = 0; + timeout = Switched || Setup.TimeoutRequChInfo; channel = Channels.GetByNumber(Number); lastPresent = lastFollowing = NULL; if (channel) { @@ -3039,7 +3041,7 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key) return osEnd; } }; - if (lastTime.Elapsed() < (uint64)(Setup.ChannelInfoTime * 1000)) { + if (!timeout || lastTime.Elapsed() < (uint64)(Setup.ChannelInfoTime * 1000)) { if (!number && group < 0 && channel && channel->Number() != cDevice::CurrentChannel()) Refresh(); // makes sure a channel switch through the SVDRP CHAN command is displayed DisplayInfo(); diff --git a/menu.h b/menu.h index 39b65fd7..c85654f7 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.79 2005/12/28 12:32:51 kls Exp $ + * $Id: menu.h 1.80 2006/01/04 13:47:00 kls Exp $ */ #ifndef __MENU_H @@ -78,6 +78,7 @@ private: bool withInfo; cTimeMs lastTime; int number; + bool timeout; cChannel *channel; const cEvent *lastPresent; const cEvent *lastFollowing;