summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvntcreutz <svntcreutz@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-09-30 20:52:26 +0000
committersvntcreutz <svntcreutz@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-09-30 20:52:26 +0000
commitb0b81edb026ecce4e65c3a18263a7b5f79089204 (patch)
tree54b7f332231548af3b4a155bfe2ff80d3c029414
parent103c8fcf6249e180676c923d4e0ea6714709f829 (diff)
downloadvdr-plugin-menuorg-b0b81edb026ecce4e65c3a18263a7b5f79089204.tar.gz
vdr-plugin-menuorg-b0b81edb026ecce4e65c3a18263a7b5f79089204.tar.bz2
fixed all string handlings
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@6178 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
-rw-r--r--src/CommandItemSetup.cpp16
-rw-r--r--src/CommandItemSetup.h4
-rw-r--r--src/PluginItemSetup.cpp29
-rw-r--r--src/PluginItemSetup.h8
-rw-r--r--src/SeparatorItemSetup.cpp8
-rw-r--r--src/SeparatorItemSetup.h2
-rw-r--r--src/SubMenuItemSetup.cpp2
-rw-r--r--src/SystemItemSetup.cpp12
-rw-r--r--src/SystemItemSetup.h4
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);