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); | 
