mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
improved menu icon display
This commit is contained in:
parent
1e20f0c893
commit
52d9280c66
2
HISTORY
2
HISTORY
@ -35,6 +35,8 @@ Version 0.0.2
|
|||||||
- implemented function drawslope, see Wiki for documentation
|
- implemented function drawslope, see Wiki for documentation
|
||||||
- using default menu list in case an invalid MenuCategory is set
|
- using default menu list in case an invalid MenuCategory is set
|
||||||
- added device info in displaychannel, example in metrixHD
|
- added device info in displaychannel, example in metrixHD
|
||||||
|
- improved menu icon display, additionally using menu cat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2
Makefile
2
Makefile
@ -90,7 +90,7 @@ OBJS = $(PLUGIN).o \
|
|||||||
libtemplate/templateloopfunction.o \
|
libtemplate/templateloopfunction.o \
|
||||||
libtemplate/xmlparser.o \
|
libtemplate/xmlparser.o \
|
||||||
views/view.o \
|
views/view.o \
|
||||||
views/viewhelpers.o \
|
views/viewhelpers.o \
|
||||||
views/displaychannelview.o \
|
views/displaychannelview.o \
|
||||||
views/displaymenurootview.o \
|
views/displaymenurootview.o \
|
||||||
views/displaymenuview.o \
|
views/displaymenuview.o \
|
||||||
|
@ -199,7 +199,46 @@ cImage *cImageCache::GetIcon(eImageType type, string name, int width, int height
|
|||||||
return NULL;
|
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
|
//check for standard menu entries
|
||||||
for (int i=0; i<16; i++) {
|
for (int i=0; i<16; i++) {
|
||||||
string s = trVDR(items[i].c_str());
|
string s = trVDR(items[i].c_str());
|
||||||
|
@ -28,7 +28,7 @@ public:
|
|||||||
//icons
|
//icons
|
||||||
void CacheIcon(eImageType type, string path, int width, int height);
|
void CacheIcon(eImageType type, string path, int width, int height);
|
||||||
cImage *GetIcon(eImageType type, string name, 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
|
//skinparts
|
||||||
void CacheSkinpart(string path, int width, int height);
|
void CacheSkinpart(string path, int width, int height);
|
||||||
cImage *GetSkinpart(string name, int width, int height);
|
cImage *GetSkinpart(string name, int width, int height);
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
<!-- Available Variables header:
|
<!-- Available Variables header:
|
||||||
{title} title of current menu
|
{title} title of current menu
|
||||||
{vdrversion} running VDR Version
|
{vdrversion} running VDR Version
|
||||||
|
{hasicon} true if a menu icon is available
|
||||||
|
{icon} path of menu icon
|
||||||
{channelnumber} Number of Channel of current event
|
{channelnumber} Number of Channel of current event
|
||||||
{channelname} Name of current Channel of current event
|
{channelname} Name of current Channel of current event
|
||||||
{channellogoexists} true if a channel logo exists
|
{channellogoexists} true if a channel logo exists
|
||||||
@ -12,7 +14,8 @@
|
|||||||
-->
|
-->
|
||||||
<header>
|
<header>
|
||||||
<area x="0" y="0" width="38%" height="10%" layer="2">
|
<area x="0" y="0" width="38%" height="10%" layer="2">
|
||||||
<drawtext condition="{whatsonnow}||{whatsonnext}" x="5" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
|
<drawimage condition="{whatsonnow}||{whatsonnext}" name="menuicon" imagetype="menuicon" path="{icon}" x="5" valign="center" width="{areaheight}*8/10" height="80%"/>
|
||||||
|
<drawtext condition="{whatsonnow}||{whatsonnext}" x="{width(menuicon)} + 15" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
|
||||||
<drawimage name="logo" condition="{whatson}" imagetype="channellogo" path="{channelid}" x="0" height="100%" align="left" valign="center" />
|
<drawimage name="logo" condition="{whatson}" imagetype="channellogo" path="{channelid}" x="0" height="100%" align="left" valign="center" />
|
||||||
<drawtext condition="{whatson}" x="{width(logo)}+20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{channelnumber} - {channelname}" />
|
<drawtext condition="{whatson}" x="{width(logo)}+20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{channelnumber} - {channelname}" />
|
||||||
</area>
|
</area>
|
||||||
|
@ -13,10 +13,12 @@
|
|||||||
<!-- Available Variables header:
|
<!-- Available Variables header:
|
||||||
{title} title of current menu
|
{title} title of current menu
|
||||||
{vdrversion} running VDR Version
|
{vdrversion} running VDR Version
|
||||||
|
{icon} icon path
|
||||||
-->
|
-->
|
||||||
<header>
|
<header>
|
||||||
<area x="0" y="0" width="70%" height="7%" layer="2">
|
<area x="0" y="0" width="70%" height="7%" layer="2">
|
||||||
<drawtext x="10" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
|
<drawimage name="menuicon" imagetype="menuicon" path="{icon}" x="5" valign="center" width="{areaheight}*8/10" height="80%"/>
|
||||||
|
<drawtext x="{areaheight}" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
|
||||||
</area>
|
</area>
|
||||||
</header>
|
</header>
|
||||||
<!-- Available Variables datetime:
|
<!-- Available Variables datetime:
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
<!-- Available Variables header:
|
<!-- Available Variables header:
|
||||||
{title} title of current menu
|
{title} title of current menu
|
||||||
{vdrversion} running VDR Version
|
{vdrversion} running VDR Version
|
||||||
|
{hasicon} true if a menu icon is available
|
||||||
|
{icon} path of menu icon
|
||||||
{channelnumber} Number of Channel of current event
|
{channelnumber} Number of Channel of current event
|
||||||
{channelname} Name of current Channel of current event
|
{channelname} Name of current Channel of current event
|
||||||
{channellogoexists} true if a channel logo exists
|
{channellogoexists} true if a channel logo exists
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "../libcore/helpers.h"
|
#include "../libcore/helpers.h"
|
||||||
|
|
||||||
cDisplayMenuRootView::cDisplayMenuRootView(cTemplateView *rootView) : cView(rootView) {
|
cDisplayMenuRootView::cDisplayMenuRootView(cTemplateView *rootView) : cView(rootView) {
|
||||||
|
cat = mcUndefined;
|
||||||
viewType = svUndefined;
|
viewType = svUndefined;
|
||||||
subView = NULL;
|
subView = NULL;
|
||||||
subViewAvailable = false;
|
subViewAvailable = false;
|
||||||
@ -81,6 +82,7 @@ bool cDisplayMenuRootView::createOsd(void) {
|
|||||||
|
|
||||||
void cDisplayMenuRootView::SetMenu(eMenuCategory menuCat, bool menuInit) {
|
void cDisplayMenuRootView::SetMenu(eMenuCategory menuCat, bool menuInit) {
|
||||||
eSubView newViewType = svUndefined;
|
eSubView newViewType = svUndefined;
|
||||||
|
cat = menuCat;
|
||||||
bool isListView = true;
|
bool isListView = true;
|
||||||
switch (menuCat) {
|
switch (menuCat) {
|
||||||
case mcMain:
|
case mcMain:
|
||||||
@ -157,7 +159,7 @@ void cDisplayMenuRootView::SetMenu(eMenuCategory menuCat, bool menuInit) {
|
|||||||
default:
|
default:
|
||||||
view = new cDisplayMenuView(subView, menuInit);
|
view = new cDisplayMenuView(subView, menuInit);
|
||||||
}
|
}
|
||||||
|
view->SetMenuCat(cat);
|
||||||
//Cleanup root view
|
//Cleanup root view
|
||||||
ClearRootView();
|
ClearRootView();
|
||||||
|
|
||||||
@ -408,7 +410,8 @@ void cDisplayMenuRootView::DrawHeader(void) {
|
|||||||
|
|
||||||
//check for standard menu entries
|
//check for standard menu entries
|
||||||
bool hasIcon = false;
|
bool hasIcon = false;
|
||||||
string icon = imgCache->GetIconName(menuTitle);
|
|
||||||
|
string icon = imgCache->GetIconName(menuTitle, cat);
|
||||||
if (icon.size() > 0)
|
if (icon.size() > 0)
|
||||||
hasIcon = true;
|
hasIcon = true;
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
class cDisplayMenuRootView : public cView {
|
class cDisplayMenuRootView : public cView {
|
||||||
private:
|
private:
|
||||||
|
eMenuCategory cat;
|
||||||
eSubView viewType;
|
eSubView viewType;
|
||||||
cTemplateView *subView;
|
cTemplateView *subView;
|
||||||
bool subViewAvailable;
|
bool subViewAvailable;
|
||||||
|
@ -41,7 +41,7 @@ bool cDisplayMenuView::DrawHeader(void) {
|
|||||||
|
|
||||||
//check for standard menu entries
|
//check for standard menu entries
|
||||||
bool hasIcon = false;
|
bool hasIcon = false;
|
||||||
string icon = imgCache->GetIconName(menuTitle);
|
string icon = imgCache->GetIconName(menuTitle, cat);
|
||||||
if (icon.size() > 0)
|
if (icon.size() > 0)
|
||||||
hasIcon = true;
|
hasIcon = true;
|
||||||
stringTokens.insert(pair<string,string>("icon", icon));
|
stringTokens.insert(pair<string,string>("icon", icon));
|
||||||
@ -435,6 +435,13 @@ bool cDisplayMenuSchedulesView::DrawHeader(void) {
|
|||||||
stringTokens.insert(pair<string,string>("channelid", *(channel->GetChannelID().ToString())));
|
stringTokens.insert(pair<string,string>("channelid", *(channel->GetChannelID().ToString())));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
bool hasIcon = false;
|
||||||
|
string icon = imgCache->GetIconName(menuTitle, cat);
|
||||||
|
if (icon.size() > 0)
|
||||||
|
hasIcon = true;
|
||||||
|
|
||||||
|
stringTokens.insert(pair<string,string>("icon", icon));
|
||||||
|
intTokens.insert(pair<string,int>("hasicon", hasIcon));
|
||||||
ClearViewElement(veHeader);
|
ClearViewElement(veHeader);
|
||||||
DrawViewElement(veHeader, &stringTokens, &intTokens);
|
DrawViewElement(veHeader, &stringTokens, &intTokens);
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user