diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/menuconfiguration.cpp | 12 | ||||
-rw-r--r-- | src/menuconfiguration.h | 1 | ||||
-rw-r--r-- | src/pluginmenunode.cpp | 7 | ||||
-rw-r--r-- | src/pluginmenunode.h | 3 |
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 |