summaryrefslogtreecommitdiff
path: root/src/submenuprovider.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/submenuprovider.cc')
-rw-r--r--src/submenuprovider.cc95
1 files changed, 62 insertions, 33 deletions
diff --git a/src/submenuprovider.cc b/src/submenuprovider.cc
index 3b9389a..94861e0 100644
--- a/src/submenuprovider.cc
+++ b/src/submenuprovider.cc
@@ -1,42 +1,60 @@
#include "submenuprovider.h"
#include <vdr/plugin.h>
+#include <iostream>
+
+//using namespace std;
SubMenuProvider::SubMenuProvider()
{
- _inSubMenu = false;
+ _OsdSet = false;
+ _inSubMenu = false;
+
}
-MainMenuItemsList* SubMenuProvider::MainMenuItems()
+void SubMenuProvider::CreateTestMenus()
{
- ResetMainMenuItemsList();
-
- if (_inSubMenu)
- {
- _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)));
- }
- else
- {
- _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) {
- 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)));
+ // Mainmenu
+ _myOsdItems[0].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("A custom sub menu1"), osUser1)));
+ _myOsdItems[0].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("A custom sub menu2"), osUser1)));
+
+ // Submenu 1
+ _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Schedule"), osSchedule)));
+ _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Channels"), osChannels)));
+ _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Channels"), osChannels)));
+ _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Timers"), osTimers)));
+ _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Recordings"), osRecordings)));
+
+ // Submenu 2
+ _myOsdItems[2].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Setup"), osSetup)));
if (Commands.Count())
- _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Commands"), osCommands)));
- }
+ _myOsdItems[2].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Commands"), osCommands)));
+
+}
+
+MainMenuItemsList* SubMenuProvider::MainMenuItems()
+{
+ ResetMainMenuItemsList();
+
+ if (_OsdSet == false)
+ {
+ // create testmenu´s
+ CreateTestMenus();
+
+ // set mainmenu
+ _osdItems=_myOsdItems[0];
+
+ _OsdSet=true;
+ }
+ else
+ {
+ if (_inSubMenu)
+ _osdItems=_myOsdItems[1];
+ else
+ _osdItems=_myOsdItems[0];
+
+ //_osdItems=_myOsdItemNext;
+ }
return &_osdItems;
}
@@ -52,10 +70,21 @@ void SubMenuProvider::ResetMainMenuItemsList()
void SubMenuProvider::EnterSubMenu(cOsdItem* item)
{
- if (item == _subMenuItem)
- {
- _inSubMenu = true;
- }
+ if (_inSubMenu == false)
+ _inSubMenu = true;
+
+/*
+ for(int i=0; i<=2; i++)
+ {
+
+ for( MainMenuItemsList::iterator oMenuItem = _myOsdItems[i].begin(); i != _myOsdItems[i].end(); i++)
+ {
+ if (oMenuItem==item)
+ isyslog("Item found\n");
+ }
+ // Suche nach dem nächsten Submenu und speichere es dann in _myOsdItemNext
+ }
+*/
}
bool SubMenuProvider::LeaveSubMenu()