diff options
-rw-r--r-- | src/CommandItemSetup.cpp | 16 | ||||
-rw-r--r-- | src/CommandItemSetup.h | 4 | ||||
-rw-r--r-- | src/PluginItemSetup.cpp | 29 | ||||
-rw-r--r-- | src/PluginItemSetup.h | 8 | ||||
-rw-r--r-- | src/SeparatorItemSetup.cpp | 8 | ||||
-rw-r--r-- | src/SeparatorItemSetup.h | 2 | ||||
-rw-r--r-- | src/SubMenuItemSetup.cpp | 2 | ||||
-rw-r--r-- | src/SystemItemSetup.cpp | 12 | ||||
-rw-r--r-- | src/SystemItemSetup.h | 4 |
9 files changed, 46 insertions, 39 deletions
diff --git a/src/CommandItemSetup.cpp b/src/CommandItemSetup.cpp index 125e7b2..7262795 100644 --- a/src/CommandItemSetup.cpp +++ b/src/CommandItemSetup.cpp @@ -22,13 +22,13 @@ #include "CommandItemSetup.h" +const char AllowedChars[] = "$ abcdefghijklmnopqrstuvwxyz0123456789-.#~\\^$[]|()*+?{}/:%"; + cCommandItemSetup::cCommandItemSetup(CommandMenuNode* node) -:cOsdMenu(tr("Edit Command Menu Item")) +:cOsdMenu(tr("Edit Command Menu Item"), 10) { - asprintf(&_newName, "%s", node->Text().c_str()); - asprintf(&_newCommand, "%s", node->Command().c_str()); -// _newName = node->Text(); -// _newCommand = node->Command(); + strn0cpy(_newName, node->Text().c_str(), sizeof(_newName)); + strn0cpy(_newCommand, node->Command().c_str(), sizeof(_newCommand)); _newConfirm = (int) node->ShouldConfirm(); CreateMenuItems(); } @@ -36,17 +36,15 @@ cCommandItemSetup::cCommandItemSetup(CommandMenuNode* node) cCommandItemSetup::~cCommandItemSetup() { // TODO: write back the changes - free(_newName); - free(_newCommand); } void cCommandItemSetup::CreateMenuItems() { // Add textItem for name attribute - Add(new cMenuEditStrItem(tr("name"), _newName, 64, NULL)); + Add(new cMenuEditStrItem(tr("name"), _newName, sizeof(_newName), tr(AllowedChars))); // Add textItem for command attribute - Add(new cMenuEditStrItem(tr("command"), _newCommand, 200, NULL)); + Add(new cMenuEditStrItem(tr("command"), _newCommand, sizeof(_newCommand), tr(AllowedChars))); // Add boolItem for confirm attribute Add(new cMenuEditBoolItem(tr("confirm"), &_newConfirm)); diff --git a/src/CommandItemSetup.h b/src/CommandItemSetup.h index 96b4baa..9275cee 100644 --- a/src/CommandItemSetup.h +++ b/src/CommandItemSetup.h @@ -29,8 +29,8 @@ class cCommandItemSetup : public cOsdMenu { private: - char* _newName; - char* _newCommand; + char _newName[256]; + char _newCommand[256]; int _newConfirm; public: diff --git a/src/PluginItemSetup.cpp b/src/PluginItemSetup.cpp index dbec865..bb2f40a 100644 --- a/src/PluginItemSetup.cpp +++ b/src/PluginItemSetup.cpp @@ -20,31 +20,42 @@ * */ +#include <vdr/plugin.h> #include "PluginItemSetup.h" cPluginItemSetup::cPluginItemSetup(PluginMenuNode* node) -:cOsdMenu(tr("Edit Plugin Menu Item")) +:cOsdMenu(tr("Edit Plugin Menu Item"), 10) { - asprintf(&_newName, "%s", node->PluginName().c_str()); - asprintf(&_newTitle, "%s", node->CustomTitle().c_str()); -// _newName = node->PluginName(); -// _newTitle = node->CustomTitle(); + _newPluginIndex = node->PluginIndex(); + strn0cpy(_newTitle, node->CustomTitle().c_str(), sizeof(_newTitle)); + getPlugins(); CreateMenuItems(); } cPluginItemSetup::~cPluginItemSetup() { // TODO: write back the changes - free(_newName); - free(_newTitle); + //delete[] pluginList; } void cPluginItemSetup::CreateMenuItems() { // Add listItem of unused plugins or a submenu with the items - //Add(new cMenuEditStraItem(tr("available Plugins Items"),)) + //Add(new cMenuEditStraItem(tr("available Plugins Items"), &_newPluginIndex, pluginList.size(), pluginList)); + //Add(new cMenuEditStraItem(tr("available Plugins Items"), &_newPluginIndex, 0, pluginList)); // Add textItem for title attribute - Add(new cMenuEditStrItem(tr("title"), _newTitle, 64, NULL)); + Add(new cMenuEditStrItem(tr("title"), _newTitle, sizeof(_newTitle), NULL)); +} + +void cPluginItemSetup::getPlugins() +{ + int i=0; + while (cPlugin *currentPlugin = cPluginManager::GetPlugin(i)) + { + //pluginList.push_back(currentPlugin->Name()); + //pluginList[i] = new char* ( (char) currentPlugin->Name()); + i++; + } } eOSState cPluginItemSetup::ProcessKey(eKeys Key) diff --git a/src/PluginItemSetup.h b/src/PluginItemSetup.h index d89cf6b..f34dd0a 100644 --- a/src/PluginItemSetup.h +++ b/src/PluginItemSetup.h @@ -23,14 +23,17 @@ #ifndef ___PLUGINITEMSETUP_H #define ___PLUGINITEMSETUP_H +#include <vector> #include <vdr/menu.h> #include "PluginMenuNode.h" class cPluginItemSetup : public cOsdMenu { private: - char* _newName; - char* _newTitle; + //std::vector<const char*> pluginList; + char **pluginList; + int _newPluginIndex; + char _newTitle[256]; public: cPluginItemSetup(PluginMenuNode* node); @@ -39,6 +42,7 @@ class cPluginItemSetup : public cOsdMenu private: void CreateMenuItems(void); + void getPlugins(void); }; #endif diff --git a/src/SeparatorItemSetup.cpp b/src/SeparatorItemSetup.cpp index ce20e25..0703d12 100644 --- a/src/SeparatorItemSetup.cpp +++ b/src/SeparatorItemSetup.cpp @@ -23,23 +23,21 @@ #include "SeparatorItemSetup.h" cSeparatorItemSetup::cSeparatorItemSetup(SeparatorMenuNode* node) -:cOsdMenu(tr("Edit Separator Menu Item")) +:cOsdMenu(tr("Edit Separator Menu Item"), 10) { - asprintf(&_newTitle, "%s", node->CustomTitle().c_str()); -// _newTitle = node->CustomTitle(); + strn0cpy(_newTitle, node->CustomTitle().c_str(), sizeof(_newTitle)); CreateMenuItems(); } cSeparatorItemSetup::~cSeparatorItemSetup() { // TODO: write back the changes - free(_newTitle); } void cSeparatorItemSetup::CreateMenuItems() { // Add textItem for title attribute - Add(new cMenuEditStrItem(tr("title"), _newTitle, 64, NULL)); + Add(new cMenuEditStrItem(tr("title"), _newTitle, sizeof(_newTitle), NULL)); } eOSState cSeparatorItemSetup::ProcessKey(eKeys Key) diff --git a/src/SeparatorItemSetup.h b/src/SeparatorItemSetup.h index d3f615c..017aef3 100644 --- a/src/SeparatorItemSetup.h +++ b/src/SeparatorItemSetup.h @@ -29,7 +29,7 @@ class cSeparatorItemSetup : public cOsdMenu { private: - char* _newTitle; + char _newTitle[256]; public: cSeparatorItemSetup(SeparatorMenuNode* node); diff --git a/src/SubMenuItemSetup.cpp b/src/SubMenuItemSetup.cpp index 571e6d4..5a5b1b5 100644 --- a/src/SubMenuItemSetup.cpp +++ b/src/SubMenuItemSetup.cpp @@ -25,7 +25,7 @@ const char AllowedChars[] = "$ abcdefghijklmnopqrstuvwxyz0123456789-.#~\\^$[]|()*+?{}/:%"; cSubMenuItemSetup::cSubMenuItemSetup(SubMenuNode* node) -:cOsdMenu(tr("Edit Sub Menu Item"), 8) +:cOsdMenu(tr("Edit Sub Menu Item"), 10) { strn0cpy(_newName, node->Text().c_str(), sizeof(_newName)); CreateMenuItems(); diff --git a/src/SystemItemSetup.cpp b/src/SystemItemSetup.cpp index 6feb172..dfcfd1d 100644 --- a/src/SystemItemSetup.cpp +++ b/src/SystemItemSetup.cpp @@ -23,20 +23,16 @@ #include "SystemItemSetup.h" cSystemItemSetup::cSystemItemSetup(SystemMenuNode* node) -:cOsdMenu(tr("Edit System Menu Item")) +:cOsdMenu(tr("Edit System Menu Item"), 10) { - asprintf(&_newName, "%s", node->State().Name().c_str()); - asprintf(&_newTitle, "%s", node->CustomTitle().c_str()); -// _newName = node->State().Name(); -// _newTitle = node->CustomTitle(); + strn0cpy(_newName, node->State().Name().c_str(), sizeof(_newName)); + strn0cpy(_newTitle, node->CustomTitle().c_str(), sizeof(_newTitle)); CreateMenuItems(); } cSystemItemSetup::~cSystemItemSetup() { // TODO: write back the changes - free(_newName); - free(_newTitle); } void cSystemItemSetup::CreateMenuItems() @@ -45,7 +41,7 @@ void cSystemItemSetup::CreateMenuItems() //Add(new cMenuEditStraItem(tr("available System Items"),)) // Add textItem for title attribute - Add(new cMenuEditStrItem(tr("title"), _newTitle, 64, NULL)); + Add(new cMenuEditStrItem(tr("title"), _newTitle, sizeof(_newTitle), NULL)); } eOSState cSystemItemSetup::ProcessKey(eKeys Key) diff --git a/src/SystemItemSetup.h b/src/SystemItemSetup.h index 4f30a63..1fb0c63 100644 --- a/src/SystemItemSetup.h +++ b/src/SystemItemSetup.h @@ -29,8 +29,8 @@ class cSystemItemSetup : public cOsdMenu { private: - char* _newName; - char* _newTitle; + char _newName[265]; + char _newTitle[265]; public: cSystemItemSetup(SystemMenuNode* node); |