summaryrefslogtreecommitdiff
path: root/src/systemmenunode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemmenunode.cpp')
-rw-r--r--src/systemmenunode.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/systemmenunode.cpp b/src/systemmenunode.cpp
index 8098960..c095703 100644
--- a/src/systemmenunode.cpp
+++ b/src/systemmenunode.cpp
@@ -24,19 +24,32 @@
#include <vdr/mainmenuitemsprovider.h>
#include "osditemdefinition.h"
#include "childlock.h"
+#include "imenunodeprocessor.h"
-SystemMenuNode::SystemMenuNode(eOSState state, std::string text)
+using namespace std;
+
+SystemMenuNode::SystemMenuNode(eOSState state, string text)
{
_text = text;
_state = state;
}
-IMenuItemDefinition* SystemMenuNode::CreateMenuItemDefinition()
+bool SystemMenuNode::IsHidden()
{
- return new OsdItemDefinition(new cOsdItem(tr(_text.c_str()), _state));
+ return ChildLock::IsMenuHidden(_text.c_str());
}
-bool SystemMenuNode::IsHidden()
+void SystemMenuNode::Process(IMenuNodeProcessor* menuNodeProcessor)
{
- return ChildLock::IsMenuHidden(_text.c_str());
+ menuNodeProcessor->ProcessSystemMenuNode(this);
+}
+
+eOSState SystemMenuNode::State()
+{
+ return _state;
+}
+
+string SystemMenuNode::Text()
+{
+ return _text;
}