summaryrefslogtreecommitdiff
path: root/src/xmlmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlmenu.cpp')
-rw-r--r--src/xmlmenu.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/xmlmenu.cpp b/src/xmlmenu.cpp
index 84d8e31..d1f318e 100644
--- a/src/xmlmenu.cpp
+++ b/src/xmlmenu.cpp
@@ -82,15 +82,19 @@ void XmlMenu::parseNode(const Node* a_node, unsigned int Parent, unsigned int It
const Attribute* attribute = *iter;
//cout << Parent << "-" << MainMenuIndex << "-" << myMenuNr << "-SystemItem=" << attribute->get_value() << endl;
isyslog("%d-%d-%d-SystemItem=%s",Parent,ItemIndex,MenuIndex,attribute->get_value().data());
- if(MenuIndex > 0)
+ eOSState ItemeOSState = geteOSState(attribute->get_value());
+ if ((ItemeOSState == osCommands && Commands.Count()) || ItemeOSState != osCommands)
{
- isyslog(" - add to _subMenu[%d]",MenuIndex);
- _subMenu[MenuIndex]->AddChild(new VdrMenuItem(tr(attribute->get_value().data()), geteOSState(attribute->get_value())));
- }
- else
- {
- isyslog(" - add to _rootMenuNode");
- _rootMenuNode.AddChild(new VdrMenuItem(tr(attribute->get_value().data()), geteOSState(attribute->get_value())));
+ if(MenuIndex > 0)
+ {
+ isyslog(" - add to _subMenu[%d]",MenuIndex);
+ _subMenu[MenuIndex]->AddChild(new VdrMenuItem(tr(attribute->get_value().data()), geteOSState(attribute->get_value())));
+ }
+ else
+ {
+ isyslog(" - add to _rootMenuNode");
+ _rootMenuNode.AddChild(new VdrMenuItem(tr(attribute->get_value().data()), geteOSState(attribute->get_value())));
+ }
}
}
}