summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/menuconfiguration.cpp12
-rw-r--r--src/menuconfiguration.h1
-rw-r--r--src/pluginmenunode.cpp7
-rw-r--r--src/pluginmenunode.h3
4 files changed, 11 insertions, 12 deletions
diff --git a/src/menuconfiguration.cpp b/src/menuconfiguration.cpp
index 9a24e85..f096ba2 100644
--- a/src/menuconfiguration.cpp
+++ b/src/menuconfiguration.cpp
@@ -138,7 +138,7 @@ void MenuConfiguration::AddPluginMenuNode(string pluginName, MenuNode* menu)
if (FindPluginByName(pluginName, plugin, pluginIndex))
{
_configuredPlugins.push_back(pluginName);
- AddPluginMenuNode(plugin, pluginIndex, menu);
+ menu->AddChild(new PluginMenuNode(plugin, pluginIndex));
}
}
@@ -198,7 +198,7 @@ void MenuConfiguration::AddUnconfiguredPlugins(MenuNode* menu)
{
if (find(_configuredPlugins.begin(), _configuredPlugins.end(), plugin->Name()) == _configuredPlugins.end())
{
- AddPluginMenuNode(plugin, i, menu);
+ menu->AddChild(new PluginMenuNode(plugin, i));
}
i++;
}
@@ -208,11 +208,3 @@ void MenuConfiguration::AddCommandMenuNode(string name, string command, bool con
{
menu->AddChild(new CommandMenuNode(name, command, confirm));
}
-
-void MenuConfiguration::AddPluginMenuNode(cPlugin* plugin, int pluginIndex, MenuNode* menu)
-{
- if (plugin->MainMenuEntry())
- {
- menu->AddChild(new PluginMenuNode(plugin, pluginIndex));
- }
-}
diff --git a/src/menuconfiguration.h b/src/menuconfiguration.h
index f5c7cf5..292567e 100644
--- a/src/menuconfiguration.h
+++ b/src/menuconfiguration.h
@@ -48,7 +48,6 @@ class MenuConfiguration
MenuNode* AddSubMenuNode(std::string name, MenuNode* menu);
void AddSystemMenuNode(std::string name, MenuNode* menu);
void AddPluginMenuNode(std::string pluginName, MenuNode* menu);
- void AddPluginMenuNode(cPlugin* plugin, int pluginIndex, MenuNode* menu);
void AddUnconfiguredPlugins(MenuNode* menu);
void AddCommandMenuNode(std::string name, std::string command, bool confirm, MenuNode* menu);
};
diff --git a/src/pluginmenunode.cpp b/src/pluginmenunode.cpp
index 1f2eec9..3296c0c 100644
--- a/src/pluginmenunode.cpp
+++ b/src/pluginmenunode.cpp
@@ -39,5 +39,10 @@ IMenuItemDefinition* PluginMenuNode::CreateMenuItemDefinition()
bool PluginMenuNode::IsHidden()
{
- return ChildLock::IsPluginHidden(_plugin);
+ return (!HasMainMenuEntry()) || ChildLock::IsPluginHidden(_plugin);
+}
+
+bool PluginMenuNode::HasMainMenuEntry()
+{
+ return (_plugin->MainMenuEntry() != NULL);
}
diff --git a/src/pluginmenunode.h b/src/pluginmenunode.h
index 4954752..4281701 100644
--- a/src/pluginmenunode.h
+++ b/src/pluginmenunode.h
@@ -37,6 +37,9 @@ class PluginMenuNode: public MenuNode
PluginMenuNode(cPlugin* plugin, int pluginIndex);
IMenuItemDefinition* CreateMenuItemDefinition();
bool IsHidden();
+
+ private:
+ bool HasMainMenuEntry();
};
#endif