From 9f8cd6dab57b863922903e713a56cbd6e86e8958 Mon Sep 17 00:00:00 2001 From: louis Date: Fri, 20 Mar 2015 14:16:09 +0100 Subject: [PATCH] Fixed hide root menu from a subview template --- HISTORY | 3 +++ libtemplate/templatefunction.c | 7 ++++++- skins/blackhole/xmlfiles/displaymenumain.xml | 2 +- views/displaypluginview.c | 10 +++++----- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/HISTORY b/HISTORY index c49d722..c0b493d 100644 --- a/HISTORY +++ b/HISTORY @@ -221,3 +221,6 @@ Version 0.3.0 - fixed colors in tvguideng timeline in nopacity darkred Version 0.3.1 + +- Fixed hide root menu from a subview template + diff --git a/libtemplate/templatefunction.c b/libtemplate/templatefunction.c index cae9124..fa0b958 100644 --- a/libtemplate/templatefunction.c +++ b/libtemplate/templatefunction.c @@ -404,6 +404,8 @@ int cTemplateFunction::GetNumericParameter(eParamType type) { return 0; else if (type == ptMenuItemWidth) return 0; + else if (type == ptHideRoot) + return 0; return -1; } return hit->second; @@ -1053,7 +1055,7 @@ bool cTemplateFunction::SetOverflow(string value) { } bool cTemplateFunction::SetHideRoot(string value) { - bool hideRoot = 0; + int hideRoot = 0; if (!value.compare("true")) hideRoot = 1; numericParameters.insert(pair(ptHideRoot, hideRoot)); @@ -1538,6 +1540,9 @@ string cTemplateFunction::GetParamName(eParamType pt) { case ptScaleTvHeight: name = "Scale TV Picture Height"; break; + case ptHideRoot: + name = "Hide Root View"; + break; case ptCache: name = "Cache Image"; break; diff --git a/skins/blackhole/xmlfiles/displaymenumain.xml b/skins/blackhole/xmlfiles/displaymenumain.xml index 90317d4..abf6bcc 100644 --- a/skins/blackhole/xmlfiles/displaymenumain.xml +++ b/skins/blackhole/xmlfiles/displaymenumain.xml @@ -149,7 +149,7 @@ - + diff --git a/views/displaypluginview.c b/views/displaypluginview.c index d073270..4c330a9 100644 --- a/views/displaypluginview.c +++ b/views/displaypluginview.c @@ -34,11 +34,11 @@ bool cDisplayPluginView::createOsd(void) { void cDisplayPluginView::Deactivate(bool hide) { Stop(); - if (!hide) { - bool hideFromTemplate = tmplView->HideView(); - if (!hideFromTemplate) - return; - esyslog("skindesigner: hiding from template"); + bool hideFromTemplate = tmplView->HideView(); + if (!hide && !hideFromTemplate) + return; + if (tvScaled) { + cDevice::PrimaryDevice()->ScaleVideo(cRect::Null); } HidePixmaps(); for (map< int, cViewGrid* >::iterator it = viewGrids.begin(); it != viewGrids.end(); it++) {