diff --git a/HISTORY b/HISTORY index 95263a6..c3040ea 100644 --- a/HISTORY +++ b/HISTORY @@ -256,3 +256,5 @@ Version 0.3.3 - added Token {percentseen} to listelements in menurecordings. For VDR Version < 2.1.8 {percentseen} is set to -1. - added Token {timers[isremotetimer]} to in main menu +- added parameter mode to viewelement . if mode="light" + no signal information will be fetched to improve performance. \ No newline at end of file diff --git a/dtd/displaychannel.dtd b/dtd/displaychannel.dtd index bb440a6..a98129c 100644 --- a/dtd/displaychannel.dtd +++ b/dtd/displaychannel.dtd @@ -91,6 +91,7 @@ fadetime CDATA #IMPLIED debug CDATA #IMPLIED condition CDATA #IMPLIED + mode CDATA #IMPLIED > diff --git a/dtd/displaymenu.dtd b/dtd/displaymenu.dtd index a8aa362..081caa2 100644 --- a/dtd/displaymenu.dtd +++ b/dtd/displaymenu.dtd @@ -82,6 +82,7 @@ fadetime CDATA #IMPLIED debug CDATA #IMPLIED condition CDATA #IMPLIED + mode CDATA #IMPLIED > diff --git a/libtemplate/templatefunction.c b/libtemplate/templatefunction.c index 9081d23..9cd1861 100644 --- a/libtemplate/templatefunction.c +++ b/libtemplate/templatefunction.c @@ -53,6 +53,8 @@ void cTemplateFunction::SetParameters(vector > params) { p.first = ptCond; } else if (!name.compare("name")) { p.first = ptName; + } else if (!name.compare("mode")) { + p.first = ptMode; } else if (!name.compare("x")) { p.first = ptX; } else if (!name.compare("y")) { @@ -1488,6 +1490,9 @@ string cTemplateFunction::GetParamName(eParamType pt) { case ptName: name = "Name"; break; + case ptMode: + name = "Mode"; + break; case ptX: name = "X"; break; diff --git a/libtemplate/templatefunction.h b/libtemplate/templatefunction.h index 3c7e515..fa2e86a 100644 --- a/libtemplate/templatefunction.h +++ b/libtemplate/templatefunction.h @@ -40,6 +40,7 @@ enum eFuncType { enum eParamType { ptCond, ptName, + ptMode, ptX, ptY, ptWidth, diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c index b20796f..352b6c7 100644 --- a/libtemplate/templateview.c +++ b/libtemplate/templateview.c @@ -229,6 +229,14 @@ bool cTemplateView::DetachViewElement(eViewElement ve) { return viewElement->Detach(); } +string cTemplateView::GetViewElementMode(eViewElement ve) { + map < eViewElement, cTemplateViewElement* >::iterator hit = viewElements.find(ve); + if (hit == viewElements.end()) + return ""; + cTemplateViewElement *viewElement = hit->second; + return viewElement->GetMode(); +} + int cTemplateView::GetNumListViewMenuItems(void) { int numElements = 0; cTemplateViewList *menuList = GetViewList(vlMenuItem); @@ -626,6 +634,7 @@ void cTemplateView::SetFunctionDefinitions(void) { attributes.insert("fadetime"); attributes.insert("name"); attributes.insert("condition"); + attributes.insert("mode"); funcsAllowed.insert(pair< string, set >(name, attributes)); name = "area"; diff --git a/libtemplate/templateview.h b/libtemplate/templateview.h index 51bb4bf..b1fd17d 100644 --- a/libtemplate/templateview.h +++ b/libtemplate/templateview.h @@ -115,6 +115,7 @@ public: bool HideView(void); bool ExecuteView(eViewElement ve); bool DetachViewElement(eViewElement ve); + string GetViewElementMode(eViewElement ve); int GetNumListViewMenuItems(void); bool GetScalingWindow(cRect &scalingWindow); map GetCustomStringTokens(void) { return globals->GetCustomStringTokens(); }; diff --git a/libtemplate/templateviewelement.c b/libtemplate/templateviewelement.c index aae68a8..5b18de2 100644 --- a/libtemplate/templateviewelement.c +++ b/libtemplate/templateviewelement.c @@ -133,6 +133,12 @@ bool cTemplateViewElement::Detach(void) { return false; } +string cTemplateViewElement::GetMode(void) { + if (!parameters) + return ""; + return parameters->GetParameter(ptMode); +} + bool cTemplateViewElement::DebugTokens(void) { if (!parameters) return false; diff --git a/libtemplate/templateviewelement.h b/libtemplate/templateviewelement.h index 93ef28a..8293109 100644 --- a/libtemplate/templateviewelement.h +++ b/libtemplate/templateviewelement.h @@ -111,6 +111,7 @@ public: cTemplateFunction *GetFunction(string name); bool Execute(void); bool Detach(void); + string GetMode(void); bool DebugTokens(void); virtual void Debug(void); }; diff --git a/skinskeleton/xmlfiles/displaychannel.xml b/skinskeleton/xmlfiles/displaychannel.xml index 5c359a7..f7c4d68 100644 --- a/skinskeleton/xmlfiles/displaychannel.xml +++ b/skinskeleton/xmlfiles/displaychannel.xml @@ -107,6 +107,7 @@ - + - +