summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-08-25 14:54:04 +0000
committersvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-08-25 14:54:04 +0000
commitb410af45eaf4fa5c053967963dc346f6b165e8d0 (patch)
tree4675cb4c835369933329e0732afab5d0efd1c842
parent204bda7aeea31cf2ac06d3996e5ddb9bffea989a (diff)
downloadvdr-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.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();
};