diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/menuorg.cpp | 18 | ||||
-rw-r--r-- | src/menuorg.h | 2 | ||||
-rw-r--r-- | src/menuorgsetup.cpp | 23 | ||||
-rw-r--r-- | src/menuorgsetup.h | 6 |
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); |