fixed bug that time was not correctly drawn if a submenu implements its own time display

This commit is contained in:
louis 2015-04-03 15:42:08 +02:00
parent 54ca48045a
commit f1d5367a53
6 changed files with 15 additions and 6 deletions

View File

@ -268,3 +268,5 @@ Version 0.3.4
Version 0.4.0 Version 0.4.0
- fixed bug that time was not correctly drawn if a submenu implements
its own time display

View File

@ -5,8 +5,7 @@
</area> </area>
</header> </header>
<scrollbar>
<scrollbar>
<area x="52%" y="10%" width="2%" height="80%" layer="2"> <area x="52%" y="10%" width="2%" height="80%" layer="2">
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/> <drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
</area> </area>

View File

@ -29,6 +29,7 @@ cDisplayMenuRootView::cDisplayMenuRootView(cTemplateView *rootView) : cView(root
defaultHeaderDrawn = false; defaultHeaderDrawn = false;
defaultButtonsDrawn = false; defaultButtonsDrawn = false;
defaultDateTimeDrawn = false; defaultDateTimeDrawn = false;
defaultTimeDrawn = false;
defaultMessageDrawn = false; defaultMessageDrawn = false;
defaultSortmodeDrawn = false; defaultSortmodeDrawn = false;
DeleteOsdOnExit(); DeleteOsdOnExit();
@ -364,6 +365,8 @@ void cDisplayMenuRootView::ClearRootView(void) {
ClearViewElement(veButtons); ClearViewElement(veButtons);
if (defaultDateTimeDrawn) if (defaultDateTimeDrawn)
ClearViewElement(veDateTime); ClearViewElement(veDateTime);
if (defaultTimeDrawn)
ClearViewElement(veTime);
if (defaultMessageDrawn) if (defaultMessageDrawn)
ClearViewElement(veMessage); ClearViewElement(veMessage);
if (defaultSortmodeDrawn) if (defaultSortmodeDrawn)
@ -468,9 +471,12 @@ bool cDisplayMenuRootView::RenderDynamicElements(void) {
if (!view) if (!view)
return false; return false;
bool updated = false; bool updated = false;
if (view->DrawTime()) { bool implemented = false;
if (view->DrawTime(implemented)) {
defaultTimeDrawn = false;
updated = true; updated = true;
} else if (DrawTime()) { } else if (!implemented && DrawTime()) {
defaultTimeDrawn = true;
updated = true; updated = true;
} }
if (view->DrawDynamicViewElements()){ if (view->DrawDynamicViewElements()){

View File

@ -34,6 +34,7 @@ private:
bool defaultHeaderDrawn; bool defaultHeaderDrawn;
bool defaultButtonsDrawn; bool defaultButtonsDrawn;
bool defaultDateTimeDrawn; bool defaultDateTimeDrawn;
bool defaultTimeDrawn;
bool defaultMessageDrawn; bool defaultMessageDrawn;
bool defaultSortmodeDrawn; bool defaultSortmodeDrawn;
void DrawBackground(void); void DrawBackground(void);

View File

@ -63,11 +63,12 @@ bool cDisplayMenuView::DrawDateTime(void) {
return true; return true;
} }
bool cDisplayMenuView::DrawTime(void) { bool cDisplayMenuView::DrawTime(bool &implemented) {
if (!ExecuteViewElement(veTime)) { if (!ExecuteViewElement(veTime)) {
return false; return false;
} }
implemented = true;
map < string, string > stringTokens; map < string, string > stringTokens;
map < string, int > intTokens; map < string, int > intTokens;

View File

@ -38,7 +38,7 @@ public:
bool DrawBackground(void); bool DrawBackground(void);
virtual bool DrawHeader(void); virtual bool DrawHeader(void);
bool DrawDateTime(void); bool DrawDateTime(void);
bool DrawTime(void); bool DrawTime(bool &implemented);
bool DrawColorButtons(void); bool DrawColorButtons(void);
bool DrawMessage(eMessageType type, const char *text); bool DrawMessage(eMessageType type, const char *text);
void DrawScrollbar(int numMax, int numDisplayed, int offset); void DrawScrollbar(int numMax, int numDisplayed, int offset);