diff options
author | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-25 14:54:04 +0000 |
---|---|---|
committer | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-25 14:54:04 +0000 |
commit | b410af45eaf4fa5c053967963dc346f6b165e8d0 (patch) | |
tree | 4675cb4c835369933329e0732afab5d0efd1c842 | |
parent | 204bda7aeea31cf2ac06d3996e5ddb9bffea989a (diff) | |
download | vdr-plugin-menuorg-b410af45eaf4fa5c053967963dc346f6b165e8d0.tar.gz vdr-plugin-menuorg-b410af45eaf4fa5c053967963dc346f6b165e8d0.tar.bz2 |
cPlugin::MainMenuEntry() mus be called after all plugins have
been initilized and started, because otherwise, the main
menu entry will not be translated, because most plugins register
their i18n phrase in Initialize() or Start().
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@5979 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
-rw-r--r-- | src/menuconfiguration.cpp | 4 | ||||
-rw-r--r-- | src/pluginmenunode.cpp | 9 | ||||
-rw-r--r-- | src/pluginmenunode.h | 6 |
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(); }; |