summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY3
-rw-r--r--MANUAL7
-rw-r--r--config.c5
-rw-r--r--config.h3
-rw-r--r--i18n.c23
-rw-r--r--menu.c3
-rw-r--r--vdr.c9
7 files changed, 46 insertions, 7 deletions
diff --git a/HISTORY b/HISTORY
index 2f72c3b3..03eda7aa 100644
--- a/HISTORY
+++ b/HISTORY
@@ -4152,3 +4152,6 @@ Video Disk Recorder Revision History
is given.
- Added missing i18n entry for the "Timer" button (thanks to Ville Skyttä)
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
+- Making the "Menu" key behave consistently has not been well received by several
+ users, so the new option "Setup/OSD/Menu button closes" can be used to get the
+ old behavior back (which also is the default value of this option).
diff --git a/MANUAL b/MANUAL
index 6028b75e..e8d88a42 100644
--- a/MANUAL
+++ b/MANUAL
@@ -525,6 +525,13 @@ Version 1.3
(first) line of the list directly to the first (last)
one.
+ Menu button closes = no
+ If set to "yes", pressing the "Menu" button while there is
+ anything displayed on the OSD will close the OSD. If set
+ to "no", the "Menu" button will open the main menu after
+ closing a temporary display, like, for instance, the channel
+ display.
+
Sort timers = yes Turns sorting the timers in the "Timers" menu on/off.
Timers are sorted by ascending start times, with the
first one being the next timer that will start.
diff --git a/config.c b/config.c
index ec06a329..4e469ab9 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.140 2006/01/07 12:28:49 kls Exp $
+ * $Id: config.c 1.141 2006/01/13 15:19:37 kls Exp $
*/
#include "config.h"
@@ -220,6 +220,7 @@ cSetup::cSetup(void)
TimeoutRequChInfo = 1;
MenuScrollPage = 1;
MenuScrollWrap = 0;
+ MenuButtonCloses = 0;
MarkInstantRecord = 1;
strcpy(NameInstantRecord, "TITLE EPISODE");
InstantRecordTime = 180;
@@ -379,6 +380,7 @@ bool cSetup::Parse(const char *Name, const char *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, "MenuButtonCloses")) MenuButtonCloses = atoi(Value);
else if (!strcasecmp(Name, "MarkInstantRecord")) MarkInstantRecord = atoi(Value);
else if (!strcasecmp(Name, "NameInstantRecord")) strn0cpy(NameInstantRecord, Value, MaxFileName);
else if (!strcasecmp(Name, "InstantRecordTime")) InstantRecordTime = atoi(Value);
@@ -445,6 +447,7 @@ bool cSetup::Save(void)
Store("TimeoutRequChInfo", TimeoutRequChInfo);
Store("MenuScrollPage", MenuScrollPage);
Store("MenuScrollWrap", MenuScrollWrap);
+ Store("MenuButtonCloses", MenuButtonCloses);
Store("MarkInstantRecord", MarkInstantRecord);
Store("NameInstantRecord", NameInstantRecord);
Store("InstantRecordTime", InstantRecordTime);
diff --git a/config.h b/config.h
index 7df755ff..3d63ec62 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.239 2006/01/08 13:08:42 kls Exp $
+ * $Id: config.h 1.240 2006/01/13 15:17:19 kls Exp $
*/
#ifndef __CONFIG_H
@@ -193,6 +193,7 @@ public:
int TimeoutRequChInfo;
int MenuScrollPage;
int MenuScrollWrap;
+ int MenuButtonCloses;
int MarkInstantRecord;
char NameInstantRecord[MaxFileName];
int InstantRecordTime;
diff --git a/i18n.c b/i18n.c
index 9d044915..4c426ba4 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.232 2006/01/13 15:02:41 kls Exp $
+ * $Id: i18n.c 1.233 2006/01/13 15:38:17 kls Exp $
*
* Translations provided by:
*
@@ -3052,6 +3052,27 @@ const tI18nPhrase Phrases[] = {
"Ridade kerimine",
"Scroll rundt",
},
+ { "Setup.OSD$Menu button closes",
+ "Menu-Taste schließt",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ },
{ "Setup.OSD$Sort timers",
"Timer sortieren",
"Sortiraj termine",
diff --git a/menu.c b/menu.c
index 33dd1249..b59aabff 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.391 2006/01/13 14:56:00 kls Exp $
+ * $Id: menu.c 1.392 2006/01/13 15:17:53 kls Exp $
*/
#include "menu.h"
@@ -2007,6 +2007,7 @@ void cMenuSetupOSD::Set(void)
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$Menu button closes"), &data.MenuButtonCloses));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Sort timers"), &data.SortTimers));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Recording directories"), &data.RecordingDirs));
SetCurrent(Get(current));
diff --git a/vdr.c b/vdr.c
index c8afec24..5d387909 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.234 2006/01/09 16:44:15 kls Exp $
+ * $Id: vdr.c 1.235 2006/01/13 15:33:54 kls Exp $
*/
#include <getopt.h>
@@ -787,14 +787,17 @@ int main(int argc, char *argv[])
// Keys that must work independent of any interactive mode:
switch (key) {
// Menu control:
- case kMenu:
+ case kMenu: {
key = kNone; // nobody else needs to see this key
+ bool WasOpen = Interact != NULL;
+ bool WasMenu = Interact && Interact->IsMenu();
if (Menu)
DELETE_MENU;
else if (cControl::Control() && cOsd::IsOpen())
cControl::Control()->Hide();
- else
+ if (!WasOpen || !WasMenu && !Setup.MenuButtonCloses)
Menu = new cMenuMain;
+ }
break;
// Info:
case kInfo: {