diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/submenuplugin.h | 2 | ||||
-rw-r--r-- | src/submenuprovider.cc | 8 | ||||
-rw-r--r-- | src/submenuprovider.h | 3 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/submenuplugin.h b/src/submenuplugin.h index 504af9c..e810a23 100644 --- a/src/submenuplugin.h +++ b/src/submenuplugin.h @@ -2,8 +2,6 @@ #define ___SUBMENUPLUGIN_H #include <vdr/plugin.h> -//#include <vdr/config.h> -//#include <vdr/tools.h> #include "submenuprovider.h" using namespace SubMenuPatch; diff --git a/src/submenuprovider.cc b/src/submenuprovider.cc index 0b5abde..3b9389a 100644 --- a/src/submenuprovider.cc +++ b/src/submenuprovider.cc @@ -19,8 +19,8 @@ MainMenuItemsList* SubMenuProvider::MainMenuItems() } else { - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem("A custom sub menu", osUser1))); - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem("Another custom sub menu", osContinue))); + _subMenuItem = new cOsdItem("A custom sub menu\t1xxx", osUser1); + _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(_subMenuItem)); for (int i = 0; ; i++) { cPlugin *p = cPluginManager::GetPlugin(i); if (p) { @@ -50,9 +50,9 @@ void SubMenuProvider::ResetMainMenuItemsList() _osdItems.clear(); } -void SubMenuProvider::EnterSubMenu(int mainMenuItemIndex) +void SubMenuProvider::EnterSubMenu(cOsdItem* item) { - if ((mainMenuItemIndex == 0) && !_inSubMenu) + if (item == _subMenuItem) { _inSubMenu = true; } diff --git a/src/submenuprovider.h b/src/submenuprovider.h index d4d73eb..f0b9172 100644 --- a/src/submenuprovider.h +++ b/src/submenuprovider.h @@ -9,12 +9,13 @@ class SubMenuProvider: public ISubMenuProvider { private: MainMenuItemsList _osdItems; + cOsdItem* _subMenuItem; bool _inSubMenu; public: SubMenuProvider(); virtual MainMenuItemsList* MainMenuItems(); - virtual void EnterSubMenu(int mainMenuItemIndex); + virtual void EnterSubMenu(cOsdItem* item); virtual bool LeaveSubMenu(); private: |