summaryrefslogtreecommitdiff
path: root/src/pluginsetup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginsetup.cpp')
-rw-r--r--src/pluginsetup.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pluginsetup.cpp b/src/pluginsetup.cpp
index fb68f43..f1b2c19 100644
--- a/src/pluginsetup.cpp
+++ b/src/pluginsetup.cpp
@@ -20,6 +20,7 @@
*
*/
+#include <iostream>
#include <vdr/menu.h>
#include "menuorg.h"
#include "pluginsetup.h"
@@ -46,16 +47,21 @@ void PluginSetup::Store(void)
eOSState PluginSetup::ProcessKey(eKeys Key)
{
dsyslog("menuorg: PluginSetup::ProcessKey called");
-
+ std::cerr << "menuorg: PluginSetup::ProcessKey called" << std::endl;
+ bool HadSubMenu = HasSubMenu();
eOSState state = cOsdMenu::ProcessKey(Key);
+ if (HasSubMenu() || HadSubMenu)
+ {
+ return state;
+ }
switch(state)
{
case osUser1:
- state = AddSubMenu(new cMenuSetup(_menuConfiguration));
+ return AddSubMenu(new cMenuSetup(_menuConfiguration, 1));
break;
case osContinue:
- if(NORMALKEY(Key)==kUp || NORMALKEY(Key)==kDown || NORMALKEY(Key)==kGreen)
+ if(NORMALKEY(Key)==kUp || NORMALKEY(Key)==kDown)
{
cOsdItem *item=Get(Current());
if(item) item->ProcessKey(kNone);