summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/menuconfiguration.cpp4
-rw-r--r--src/pluginmenunode.cpp9
-rw-r--r--src/pluginmenunode.h6
3 files changed, 10 insertions, 9 deletions
diff --git a/src/menuconfiguration.cpp b/src/menuconfiguration.cpp
index 39d2e34..9a24e85 100644
--- a/src/menuconfiguration.cpp
+++ b/src/menuconfiguration.cpp
@@ -211,8 +211,8 @@ void MenuConfiguration::AddCommandMenuNode(string name, string command, bool con
void MenuConfiguration::AddPluginMenuNode(cPlugin* plugin, int pluginIndex, MenuNode* menu)
{
- if (const char *item = plugin->MainMenuEntry())
+ if (plugin->MainMenuEntry())
{
- menu->AddChild(new PluginMenuNode(item, pluginIndex));
+ menu->AddChild(new PluginMenuNode(plugin, pluginIndex));
}
}
diff --git a/src/pluginmenunode.cpp b/src/pluginmenunode.cpp
index 6745960..1f2eec9 100644
--- a/src/pluginmenunode.cpp
+++ b/src/pluginmenunode.cpp
@@ -26,19 +26,18 @@
#include "pluginitemdefinition.h"
#include "childlock.h"
-PluginMenuNode::PluginMenuNode(const char* pluginMainMenuEntry, int pluginIndex)
+PluginMenuNode::PluginMenuNode(cPlugin* plugin, int pluginIndex)
{
- _pluginMainMenuEntry = pluginMainMenuEntry;
+ _plugin = plugin;
_pluginIndex = pluginIndex;
}
IMenuItemDefinition* PluginMenuNode::CreateMenuItemDefinition()
{
- return new PluginItemDefinition(_pluginMainMenuEntry, _pluginIndex);
+ return new PluginItemDefinition(_plugin->MainMenuEntry(), _pluginIndex);
}
bool PluginMenuNode::IsHidden()
{
- cPlugin* plugin = cPluginManager::GetPlugin(_pluginIndex);
- return ChildLock::IsPluginHidden(plugin);
+ return ChildLock::IsPluginHidden(_plugin);
}
diff --git a/src/pluginmenunode.h b/src/pluginmenunode.h
index cbf3477..4954752 100644
--- a/src/pluginmenunode.h
+++ b/src/pluginmenunode.h
@@ -25,14 +25,16 @@
#include "menunode.h"
+class cPlugin;
+
class PluginMenuNode: public MenuNode
{
private:
- const char* _pluginMainMenuEntry;
+ cPlugin* _plugin;
int _pluginIndex;
public:
- PluginMenuNode(const char* pluginMainMenuEntry, int pluginIndex);
+ PluginMenuNode(cPlugin* plugin, int pluginIndex);
IMenuItemDefinition* CreateMenuItemDefinition();
bool IsHidden();
};