From 52d9280c6603edaa24f1e5a3d4abda8983d749ea Mon Sep 17 00:00:00 2001 From: louis Date: Sun, 26 Oct 2014 08:26:44 +0100 Subject: improved menu icon display --- HISTORY | 2 ++ Makefile | 2 +- libcore/imagecache.c | 41 +++++++++++++++++++++++- libcore/imagecache.h | 2 +- skins/metrixhd/xmlfiles/displaymenuschedules.xml | 5 ++- skins/metrixhd/xmlfiles/displaymenusetup.xml | 4 ++- skinskeleton/xmlfiles/displaymenuschedules.xml | 2 ++ views/displaymenurootview.c | 7 ++-- views/displaymenurootview.h | 1 + views/displaymenuview.c | 9 +++++- 10 files changed, 67 insertions(+), 8 deletions(-) diff --git a/HISTORY b/HISTORY index 1a648c7..3c653db 100644 --- a/HISTORY +++ b/HISTORY @@ -35,6 +35,8 @@ Version 0.0.2 - implemented function drawslope, see Wiki for documentation - using default menu list in case an invalid MenuCategory is set - added device info in displaychannel, example in metrixHD +- improved menu icon display, additionally using menu cat + diff --git a/Makefile b/Makefile index 549b9b6..2be7976 100644 --- a/Makefile +++ b/Makefile @@ -90,7 +90,7 @@ OBJS = $(PLUGIN).o \ libtemplate/templateloopfunction.o \ libtemplate/xmlparser.o \ views/view.o \ - views/viewhelpers.o \ + views/viewhelpers.o \ views/displaychannelview.o \ views/displaymenurootview.o \ views/displaymenuview.o \ diff --git a/libcore/imagecache.c b/libcore/imagecache.c index 101c8b8..9ad9918 100644 --- a/libcore/imagecache.c +++ b/libcore/imagecache.c @@ -199,7 +199,46 @@ cImage *cImageCache::GetIcon(eImageType type, string name, int width, int height return NULL; } -string cImageCache::GetIconName(string label) { +string cImageCache::GetIconName(string label, eMenuCategory cat) { + //if cat is set, use standard menu entries + switch (cat) { + case mcSchedule: + case mcScheduleNow: + case mcScheduleNext: + case mcEvent: + return "standardicons/Schedule"; + case mcChannel: + case mcChannelEdit: + return "standardicons/Channels"; + case mcTimer: + case mcTimerEdit: + return "standardicons/Timers"; + case mcRecording: + case mcRecordingInfo: + case mcSetupRecord: + case mcSetupReplay: + return "standardicons/Recordings"; + case mcPlugin: + case mcPluginSetup: + case mcSetupPlugins: + return "standardicons/Plugins"; + case mcSetup: + return "standardicons/Setup"; + case mcSetupOsd: + return "standardicons/OSD"; + case mcSetupEpg: + return "standardicons/EPG"; + case mcSetupDvb: + return "standardicons/DVB"; + case mcSetupLnb: + return "standardicons/LNB"; + case mcSetupCam: + return "standardicons/CAM"; + case mcSetupMisc: + return "standardicons/Miscellaneous"; + case mcCommand: + return "standardicons/Commands"; + } //check for standard menu entries for (int i=0; i<16; i++) { string s = trVDR(items[i].c_str()); diff --git a/libcore/imagecache.h b/libcore/imagecache.h index a0264d8..db56a67 100644 --- a/libcore/imagecache.h +++ b/libcore/imagecache.h @@ -28,7 +28,7 @@ public: //icons void CacheIcon(eImageType type, string path, int width, int height); cImage *GetIcon(eImageType type, string name, int width, int height); - string GetIconName(string label); + string GetIconName(string label, eMenuCategory cat = mcUndefined); //skinparts void CacheSkinpart(string path, int width, int height); cImage *GetSkinpart(string name, int width, int height); diff --git a/skins/metrixhd/xmlfiles/displaymenuschedules.xml b/skins/metrixhd/xmlfiles/displaymenuschedules.xml index 95f8174..b28471e 100644 --- a/skins/metrixhd/xmlfiles/displaymenuschedules.xml +++ b/skins/metrixhd/xmlfiles/displaymenuschedules.xml @@ -2,6 +2,8 @@
- + + diff --git a/skins/metrixhd/xmlfiles/displaymenusetup.xml b/skins/metrixhd/xmlfiles/displaymenusetup.xml index d8d1852..d2fc400 100644 --- a/skins/metrixhd/xmlfiles/displaymenusetup.xml +++ b/skins/metrixhd/xmlfiles/displaymenusetup.xml @@ -13,10 +13,12 @@
- + +