diff options
author | svntcreutz <svntcreutz@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-26 23:15:13 +0000 |
---|---|---|
committer | svntcreutz <svntcreutz@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-26 23:15:13 +0000 |
commit | 445606188d114920c6fae3d6986dfc060a2dbffe (patch) | |
tree | 93691dc54943226675dfa2961f2f9691fc8d4556 /src/menusetup.cpp | |
parent | 926b492183dd2b598587e962f952dabf9401f56c (diff) | |
download | vdr-plugin-menuorg-445606188d114920c6fae3d6986dfc060a2dbffe.tar.gz vdr-plugin-menuorg-445606188d114920c6fae3d6986dfc060a2dbffe.tar.bz2 |
for the moment I give up at this state.. the submenu in ProcessKey in cMenuSetup will not be called?!
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@6008 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'src/menusetup.cpp')
-rw-r--r-- | src/menusetup.cpp | 67 |
1 files changed, 60 insertions, 7 deletions
diff --git a/src/menusetup.cpp b/src/menusetup.cpp index 81f0103..255801e 100644 --- a/src/menusetup.cpp +++ b/src/menusetup.cpp @@ -22,19 +22,21 @@ #include "menusetup.h" #include <vdr/menu.h> +#include <vdr/interface.h> #include <libxml++/libxml++.h> #include "menuconfiguration.h" +#include "menusetupitemsetup.h" using namespace xmlpp; using namespace std; cMenuSetup::cMenuSetup(MenuConfiguration& menuConfiguration) -:cOsdMenu(tr("MENU"),25),_menuConfiguration(menuConfiguration) +:cOsdMenu(tr("Menu Setup"),25),_menuConfiguration(menuConfiguration) { //TODO - + Element* root = _menuConfiguration.Configuration(); - + Node::NodeList children = root->get_children(); for (Node::NodeList::iterator i = children.begin(); i != children.end(); i++) { @@ -46,15 +48,66 @@ cMenuSetup::cMenuSetup(MenuConfiguration& menuConfiguration) string type = childElement->get_name(); string name = nameAttribute->get_value(); - - Add(new cOsdItem(name.c_str(), osUser1)); + + Add(new cOsdItem(name.c_str(), osContinue)); } } + DrawButton(); } eOSState cMenuSetup::ProcessKey(eKeys Key) { - eOSState state=cOsdMenu::ProcessKey(Key); - if(state==osUnknown && Key==kOk) state=osBack; + dsyslog("menuorg: cMenuSetup::ProcessKey called"); + + eOSState state = cOsdMenu::ProcessKey(Key); + + if (state == osUnknown) + { + switch(Key) + { + case kRed: + DrawButton(); + break; + + case kGreen: + state = AddSubMenu(new cMenuSetupItemSetup()); + break; + + case kYellow: + DrawButton(); + break; + + case kBlue: + DrawButton(); + break; + + case kUp: + case kDown: + case kLeft: + DrawButton(); + break; + + case kOk: + if (Interface->Confirm(tr("Apply Changes?"))) + { + // Save it! + } + return osEnd; + break; + + case kBack : + return osBack; + break; + + default: + DrawButton(); + break; + } + } return state; } + +void cMenuSetup::DrawButton(void) +{ + SetHelp(tr("Create"),tr("Edit"),tr("Delete"),tr("Move")); +} |