summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/menuorg.cpp18
-rw-r--r--src/menuorg.h2
-rw-r--r--src/menuorgsetup.cpp23
-rw-r--r--src/menuorgsetup.h6
4 files changed, 35 insertions, 14 deletions
diff --git a/src/menuorg.cpp b/src/menuorg.cpp
index 8efb341..405e0fc 100644
--- a/src/menuorg.cpp
+++ b/src/menuorg.cpp
@@ -43,7 +43,7 @@ MenuOrgPlugin::MenuOrgPlugin(void)
// DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
// VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
_pluginIsActive = 1;
- getLostPlugins = 1;
+ _showLostPlugins = 1;
}
MenuOrgPlugin::~MenuOrgPlugin()
@@ -132,13 +132,23 @@ cOsdObject *MenuOrgPlugin::MainMenuAction(void)
cMenuSetupPage *MenuOrgPlugin::SetupMenu(void)
{
// Return a setup menu in case the plugin supports one.
- return new cMenuOrgPluginSetup(&_pluginIsActive, &getLostPlugins);
+ return new cMenuOrgPluginSetup(&_pluginIsActive, &_showLostPlugins);
}
bool MenuOrgPlugin::SetupParse(const char *Name, const char *Value)
{
- // Parse your own setup parameters and store their values.
- return false;
+ if (!strcasecmp(Name, "pluginIsActive"))
+ {
+ _pluginIsActive = atoi(Value);
+ }
+ else if(!strcasecmp(Name, "showLostPlugins"))
+ {
+ _showLostPlugins = atoi(Value);
+ }
+ else
+ return false;
+
+ return true;
}
bool MenuOrgPlugin::Service(const char *Id, void *Data)
diff --git a/src/menuorg.h b/src/menuorg.h
index 8b0b886..e5b1e11 100644
--- a/src/menuorg.h
+++ b/src/menuorg.h
@@ -34,7 +34,7 @@ class MenuOrgPlugin : public cPlugin
MainMenuItemsProvider* _subMenuProvider;
std::string configFile;
int _pluginIsActive;
- int getLostPlugins;
+ int _showLostPlugins;
public:
MenuOrgPlugin(void);
diff --git a/src/menuorgsetup.cpp b/src/menuorgsetup.cpp
index a2963ab..9edefbd 100644
--- a/src/menuorgsetup.cpp
+++ b/src/menuorgsetup.cpp
@@ -25,19 +25,28 @@
#include "menuorgsetup.h"
#include "menusetup.h"
-cMenuOrgPluginSetup::cMenuOrgPluginSetup(int *pluginActive, int *getLostPlugins)
+cMenuOrgPluginSetup::cMenuOrgPluginSetup(int* pluginIsActive, int* showLostPlugins)
{
- newpluginActive = *pluginActive;
- newgetLostPlugins = *getLostPlugins;
- Add(new cMenuEditBoolItem(tr("PluginActive"), &newpluginActive));
- Add(new cMenuEditBoolItem(tr("Add lost Plugins to MainMenu"), &newgetLostPlugins));
+ // store the pointers for writing values back
+ _pluginIsActive = pluginIsActive;
+ _showLostPlugins = showLostPlugins;
+
+ // make temporary copy the values
+ _newpluginIsActive = *pluginIsActive;
+ _newshowLostPlugins = *showLostPlugins;
+
+ // create the setup entrys
+ Add(new cMenuEditBoolItem(tr("PluginActive"), &_newpluginIsActive));
+ Add(new cMenuEditBoolItem(tr("Add lost Plugins to MainMenu"), &_newshowLostPlugins));
Add(new cOsdItem(tr("Configure Menu"), osUser1));
}
void cMenuOrgPluginSetup::Store(void)
{
-
-
+ _pluginIsActive = &_newpluginIsActive;
+ SetupStore("pluginIsActive", *_pluginIsActive);
+// SetupStore("pluginIsActive", _pluginIsActive = &_newpluginIsActive);
+// SetupStore("showLostPlugins", _showLostPlugins = &_newshowLostPlugins);
}
eOSState cMenuOrgPluginSetup::ProcessKey(eKeys Key)
diff --git a/src/menuorgsetup.h b/src/menuorgsetup.h
index 234bb61..b2fea9b 100644
--- a/src/menuorgsetup.h
+++ b/src/menuorgsetup.h
@@ -25,8 +25,10 @@
class cMenuOrgPluginSetup : public cMenuSetupPage
{
private:
- int newpluginActive;
- int newgetLostPlugins;
+ int _newpluginIsActive;
+ int _newshowLostPlugins;
+ int* _pluginIsActive;
+ int* _showLostPlugins;
protected:
virtual void Store(void);