diff options
author | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-07-22 13:51:47 +0000 |
---|---|---|
committer | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-07-22 13:51:47 +0000 |
commit | 1e8d4c38cf55f3995a3d02c6c275fec0d1b7326f (patch) | |
tree | cf9e5a2f477405e789a8613bf37ae6d81cb5b97a /src/submenuprovider.cc | |
parent | 2e1c7361dce4d44d980628537a679a9fbebd5546 (diff) | |
download | vdr-plugin-menuorg-1e8d4c38cf55f3995a3d02c6c275fec0d1b7326f.tar.gz vdr-plugin-menuorg-1e8d4c38cf55f3995a3d02c6c275fec0d1b7326f.tar.bz2 |
initial submenu checkin
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/submenu/trunk@5628 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'src/submenuprovider.cc')
-rw-r--r-- | src/submenuprovider.cc | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/submenuprovider.cc b/src/submenuprovider.cc new file mode 100644 index 0000000..ccbb3fc --- /dev/null +++ b/src/submenuprovider.cc @@ -0,0 +1,56 @@ +#include "submenuprovider.h" +#include <vdr/plugin.h> + +MainMenuItemsList* SubMenuProvider::MainMenuItems() +{ + ResetMainMenuItemsList(); + + + _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem("A custom sub menu", osUser1))); +// _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Schedule"), osSchedule))); +// _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Channels"), osChannels))); +// _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Timers"), osTimers))); +// _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Recordings"), osRecordings))); + + for (int i = 0; ; i++) { + cPlugin *p = cPluginManager::GetPlugin(i); + if (p) { + const char *item = p->MainMenuEntry(); + if (item) + _osdItems.push_back(MainMenuItem::CreatePluginMenuItem(item, i)); + } + else + break; + } + + _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Setup"), osSetup))); + + if (Commands.Count()) + _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Commands"), osCommands))); + + return &_osdItems; +} + +void SubMenuProvider::ResetMainMenuItemsList() +{ + for( MainMenuItemsList::iterator i = _osdItems.begin(); i != _osdItems.end(); i++) + { + delete *i; + } + _osdItems.clear(); +} + +cOsdMenu* SubMenuProvider::OpenSubMenu(int mainMenuItemIndex) +{ + if (mainMenuItemIndex == 0) + { + cOsdMenu* fooMenu = new cOsdMenu("Foo-Submenu"); + fooMenu->Add(new cOsdItem(tr("Schedule"), osSchedule)); + fooMenu->Add(new cOsdItem(tr("Channels"), osChannels)); + fooMenu->Add(new cOsdItem(tr("Timers"), osTimers)); + fooMenu->Add(new cOsdItem(tr("Recordings"), osRecordings)); + return fooMenu; + } + + return NULL; +} |