summaryrefslogtreecommitdiff
path: root/libcore
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-02-12 18:57:19 +0100
committerlouis <louis.braun@gmx.de>2015-02-12 18:57:19 +0100
commit45cb6c1663d66ebc22bed8dbc8cdbacdc82ad4a8 (patch)
treeca557362c377c4bc9b803b83cc99b5c6d4f84afa /libcore
parent4d7700aecedf475038d57e10f45ab2dd4bcf806f (diff)
parentf3ad276385796a2a848be4b280aa9a1705226f20 (diff)
downloadvdr-plugin-skindesigner-45cb6c1663d66ebc22bed8dbc8cdbacdc82ad4a8.tar.gz
vdr-plugin-skindesigner-45cb6c1663d66ebc22bed8dbc8cdbacdc82ad4a8.tar.bz2
Merge branch 'master' into plugininterface
Diffstat (limited to 'libcore')
-rw-r--r--libcore/imagecache.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/libcore/imagecache.c b/libcore/imagecache.c
index 57e0dd4..2a9a948 100644
--- a/libcore/imagecache.c
+++ b/libcore/imagecache.c
@@ -206,7 +206,25 @@ string cImageCache::GetIconName(string label, eMenuCategory cat) {
case mcSetupRecord:
case mcSetupReplay:
return "standardicons/Recordings";
- case mcPlugin:
+ case mcPlugin: {
+ //check for Plugins
+ for (int i = 0; ; i++) {
+ cPlugin *p = cPluginManager::GetPlugin(i);
+ if (p) {
+ const char *mainMenuEntry = p->MainMenuEntry();
+ if (mainMenuEntry) {
+ string plugMainEntry = mainMenuEntry;
+ try {
+ if (label.substr(0, plugMainEntry.size()) == plugMainEntry) {
+ return *cString::sprintf("pluginicons/%s", p->Name());
+ }
+ } catch (...) {}
+ }
+ } else
+ break;
+ }
+ return "standardicons/Plugins";
+ }
case mcPluginSetup:
case mcSetupPlugins:
return "standardicons/Plugins";