From 203754e2047998185a177b177c5c46ccb265318e Mon Sep 17 00:00:00 2001 From: louis Date: Tue, 31 Mar 2015 16:08:42 +0200 Subject: [PATCH] added viewelement in displaymenu to display the sort mode of the currently displayed menu --- HISTORY | 3 ++ displaymenu.c | 6 +++ displaymenu.h | 1 + dtd/displaymenu.dtd | 22 ++++++---- libtemplate/templateview.c | 17 +++----- libtemplate/templateviewelement.h | 1 + skins/blackhole/xmlfiles/displaymenu.xml | 16 ++++++++ skins/metrixhd/xmlfiles/displaymenu.xml | 15 +++++++ skinskeleton/xmlfiles/displaymenu.xml | 8 ++++ views/displaymenurootview.c | 52 ++++++++++++++++++++++++ views/displaymenurootview.h | 5 +++ views/displaymenuview.c | 34 ++++++++++++++++ views/displaymenuview.h | 14 +++++++ 13 files changed, 175 insertions(+), 19 deletions(-) diff --git a/HISTORY b/HISTORY index 7fa45ad..b077372 100644 --- a/HISTORY +++ b/HISTORY @@ -248,5 +248,8 @@ Version 0.3.3 - translate drawtextvertical - added viewelement in displayreplay to display the time the currently replayed recording ends +- added viewelement in displaymenu to display the sort + mode of the currently displayed menu. can be used in + any list menu, implementation in displaymenu.xml is default diff --git a/displaymenu.c b/displaymenu.c index 9cfe2b7..c1c83d5 100644 --- a/displaymenu.c +++ b/displaymenu.c @@ -56,6 +56,12 @@ void cSDDisplayMenu::SetMenuCategory(eMenuCategory MenuCat) { state = vsMenuInit; } +void cSDDisplayMenu::SetMenuSortMode(eMenuSortMode MenuSortMode) { + if (!doOutput) + return; + rootView->SetSortMode(MenuSortMode); +} + void cSDDisplayMenu::SetPluginMenu(string name, int menu, int type, bool init) { pluginName = name; pluginMenu = menu; diff --git a/displaymenu.h b/displaymenu.h index 850b7e9..c30ce17 100644 --- a/displaymenu.h +++ b/displaymenu.h @@ -30,6 +30,7 @@ public: virtual int MaxItems(void); virtual void Clear(void); virtual void SetMenuCategory(eMenuCategory MenuCat); + virtual void SetMenuSortMode(eMenuSortMode MenuSortMode); virtual void SetPluginMenu(string name, int menu, int type, bool init); virtual void SetTitle(const char *Title); virtual void SetButtons(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL); diff --git a/dtd/displaymenu.dtd b/dtd/displaymenu.dtd index ead958c..a8aa362 100644 --- a/dtd/displaymenu.dtd +++ b/dtd/displaymenu.dtd @@ -2,7 +2,7 @@ - + + + - + - - + - + - + - + - + >(subViewName, attributes)); - //definition of allowed parameters for timerlist viewlist - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("orientation"); - attributes.insert("align"); - attributes.insert("numlistelements"); - funcsAllowed.insert(pair< string, set >("timerlist", attributes)); - //definition of allowed parameters for menuitems viewlist attributes.clear(); attributes.insert("x"); @@ -1209,6 +1198,7 @@ void cTemplateViewMenu::SetViewElements(void) { viewElementsAllowed.insert("header"); viewElementsAllowed.insert("colorbuttons"); viewElementsAllowed.insert("message"); + viewElementsAllowed.insert("sortmode"); viewElementsAllowed.insert("discusage"); viewElementsAllowed.insert("systemload"); viewElementsAllowed.insert("systemmemory"); @@ -1290,6 +1280,9 @@ string cTemplateViewMenu::GetViewElementName(eViewElement ve) { case veMessage: name = "Message"; break; + case veSortMode: + name = "Sort Mode"; + break; case veDiscUsage: name = "Disc Usage"; break; @@ -1419,6 +1412,8 @@ void cTemplateViewMenu::AddPixmap(string sViewElement, cTemplatePixmap *pix, vec ve = veButtons; } else if (!sViewElement.compare("message")) { ve = veMessage; + } else if (!sViewElement.compare("sortmode")) { + ve = veSortMode; } else if (!sViewElement.compare("discusage")) { ve = veDiscUsage; } else if (!sViewElement.compare("systemload")) { diff --git a/libtemplate/templateviewelement.h b/libtemplate/templateviewelement.h index 6d3b921..93ef28a 100644 --- a/libtemplate/templateviewelement.h +++ b/libtemplate/templateviewelement.h @@ -25,6 +25,7 @@ enum eViewElement { veDateTime, veTime, veMessage, + veSortMode, veDevices, veCurrentWeather, veCustomTokens, diff --git a/skins/blackhole/xmlfiles/displaymenu.xml b/skins/blackhole/xmlfiles/displaymenu.xml index 04a3838..22e80a5 100644 --- a/skins/blackhole/xmlfiles/displaymenu.xml +++ b/skins/blackhole/xmlfiles/displaymenu.xml @@ -105,6 +105,22 @@ + + + + + + + + + + + + + + + + + + + + + +