summaryrefslogtreecommitdiff
path: root/src/SystemItemSetup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SystemItemSetup.cpp')
-rw-r--r--src/SystemItemSetup.cpp25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/SystemItemSetup.cpp b/src/SystemItemSetup.cpp
index dfcfd1d..e56ee86 100644
--- a/src/SystemItemSetup.cpp
+++ b/src/SystemItemSetup.cpp
@@ -21,21 +21,23 @@
*/
#include "SystemItemSetup.h"
+#include "VdrState.h"
-cSystemItemSetup::cSystemItemSetup(SystemMenuNode* node)
+SystemItemSetup::SystemItemSetup(SystemMenuNode* node)
:cOsdMenu(tr("Edit System Menu Item"), 10)
{
strn0cpy(_newName, node->State().Name().c_str(), sizeof(_newName));
strn0cpy(_newTitle, node->CustomTitle().c_str(), sizeof(_newTitle));
+ _node = node;
CreateMenuItems();
}
-cSystemItemSetup::~cSystemItemSetup()
+SystemItemSetup::~SystemItemSetup()
{
// TODO: write back the changes
}
-void cSystemItemSetup::CreateMenuItems()
+void SystemItemSetup::CreateMenuItems()
{
// Add listItem of valid System Items
//Add(new cMenuEditStraItem(tr("available System Items"),))
@@ -44,8 +46,23 @@ void cSystemItemSetup::CreateMenuItems()
Add(new cMenuEditStrItem(tr("title"), _newTitle, sizeof(_newTitle), NULL));
}
-eOSState cSystemItemSetup::ProcessKey(eKeys Key)
+void SystemItemSetup::Store()
+{
+ _node->State(VdrState::ByName(_newName));
+ _node->CustomTitle(_newTitle);
+}
+
+eOSState SystemItemSetup::ProcessKey(eKeys Key)
{
eOSState state = cOsdMenu::ProcessKey(Key);
+
+ if(state == osUnknown)
+ {
+ if(Key == kOk)
+ {
+ Store();
+ state = osBack;
+ }
+ }
return state;
}