summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/menu.c b/menu.c
index 4b7136b..341480a 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.237 2003/04/21 14:57:13 kls Exp $
+ * $Id: menu.c 1.240 2003/04/27 12:50:31 kls Exp $
*/
#include "menu.h"
@@ -28,7 +28,7 @@
#include "videodir.h"
#define MENUTIMEOUT 120 // seconds
-#define MAXWAIT4EPGINFO 10 // seconds
+#define MAXWAIT4EPGINFO 3 // seconds
#define MODETIMEOUT 3 // seconds
#define MAXRECORDCONTROLS (MAXDEVICES * MAXRECEIVERS)
@@ -575,6 +575,7 @@ void cMenuEditChannel::Setup(void)
Add(new cMenuEditSrcItem( tr("Source"), &data.source));
Add(new cMenuEditIntItem( tr("Frequency"), &data.frequency));
Add(new cMenuEditIntItem( tr("Vpid"), &data.vpid, 0, 0x1FFF));
+ Add(new cMenuEditIntItem( tr("Ppid"), &data.ppid, 0, 0x1FFF));
Add(new cMenuEditIntItem( tr("Apid1"), &data.apid1, 0, 0x1FFF));
Add(new cMenuEditIntItem( tr("Apid2"), &data.apid2, 0, 0x1FFF));
Add(new cMenuEditIntItem( tr("Dpid1"), &data.dpid1, 0, 0x1FFF));
@@ -2495,8 +2496,10 @@ void cMenuMain::Set(const char *Plugin)
eOSState cMenuMain::ProcessKey(eKeys Key)
{
+ bool HadSubMenu = HasSubMenu();
int osdLanguage = Setup.OSDLanguage;
eOSState state = cOsdMenu::ProcessKey(Key);
+ HadSubMenu |= HasSubMenu();
switch (state) {
case osSchedule: return AddSubMenu(new cMenuSchedule);
@@ -2543,10 +2546,10 @@ eOSState cMenuMain::ProcessKey(eKeys Key)
break;
default: switch (Key) {
case kRecord:
- case kRed: if (!HasSubMenu())
+ case kRed: if (!HadSubMenu)
state = osRecord;
break;
- case kGreen: if (!HasSubMenu()) {
+ case kGreen: if (!HadSubMenu) {
int CurrentAudioTrack = -1;
const char **AudioTracks = cDevice::PrimaryDevice()->GetAudioTracks(&CurrentAudioTrack);
if (AudioTracks) {
@@ -2560,10 +2563,10 @@ eOSState cMenuMain::ProcessKey(eKeys Key)
}
}
break;
- case kYellow: if (!HasSubMenu())
+ case kYellow: if (!HadSubMenu)
state = osPause;
break;
- case kBlue: if (!HasSubMenu())
+ case kBlue: if (!HadSubMenu)
state = replaying ? osStopReplay : cReplayControl::LastReplayed() ? osReplay : osContinue;
break;
default: break;