diff options
author | louis <louis.braun@gmx.de> | 2015-02-12 18:57:19 +0100 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-02-12 18:57:19 +0100 |
commit | 45cb6c1663d66ebc22bed8dbc8cdbacdc82ad4a8 (patch) | |
tree | ca557362c377c4bc9b803b83cc99b5c6d4f84afa /libcore | |
parent | 4d7700aecedf475038d57e10f45ab2dd4bcf806f (diff) | |
parent | f3ad276385796a2a848be4b280aa9a1705226f20 (diff) | |
download | vdr-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.c | 20 |
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"; |