summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-04-03 15:42:08 +0200
committerlouis <louis.braun@gmx.de>2015-04-03 15:42:08 +0200
commitf1d5367a53b949b47c68b75c48cb5bb54ca0112c (patch)
tree7e6962166b256bc9138a5e50e29c216a76f7772a
parent54ca48045ac5f87505d9e729b67db7f9cceeb4eb (diff)
downloadvdr-plugin-skindesigner-f1d5367a53b949b47c68b75c48cb5bb54ca0112c.tar.gz
vdr-plugin-skindesigner-f1d5367a53b949b47c68b75c48cb5bb54ca0112c.tar.bz2
fixed bug that time was not correctly drawn if a submenu implements its own time display
-rw-r--r--HISTORY2
-rw-r--r--skins/blackhole/xmlfiles/displaymenudetailepg.xml3
-rw-r--r--views/displaymenurootview.c10
-rw-r--r--views/displaymenurootview.h1
-rw-r--r--views/displaymenuview.c3
-rw-r--r--views/displaymenuview.h2
6 files changed, 15 insertions, 6 deletions
diff --git a/HISTORY b/HISTORY
index 05138af..1c7419a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -268,3 +268,5 @@ Version 0.3.4
Version 0.4.0
+- fixed bug that time was not correctly drawn if a submenu implements
+ its own time display
diff --git a/skins/blackhole/xmlfiles/displaymenudetailepg.xml b/skins/blackhole/xmlfiles/displaymenudetailepg.xml
index 672938c..c5e92a4 100644
--- a/skins/blackhole/xmlfiles/displaymenudetailepg.xml
+++ b/skins/blackhole/xmlfiles/displaymenudetailepg.xml
@@ -5,8 +5,7 @@
</area>
</header>
-
- <scrollbar>
+ <scrollbar>
<area x="52%" y="10%" width="2%" height="80%" layer="2">
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
</area>
diff --git a/views/displaymenurootview.c b/views/displaymenurootview.c
index 3a5ee90..311a1e5 100644
--- a/views/displaymenurootview.c
+++ b/views/displaymenurootview.c
@@ -29,6 +29,7 @@ cDisplayMenuRootView::cDisplayMenuRootView(cTemplateView *rootView) : cView(root
defaultHeaderDrawn = false;
defaultButtonsDrawn = false;
defaultDateTimeDrawn = false;
+ defaultTimeDrawn = false;
defaultMessageDrawn = false;
defaultSortmodeDrawn = false;
DeleteOsdOnExit();
@@ -364,6 +365,8 @@ void cDisplayMenuRootView::ClearRootView(void) {
ClearViewElement(veButtons);
if (defaultDateTimeDrawn)
ClearViewElement(veDateTime);
+ if (defaultTimeDrawn)
+ ClearViewElement(veTime);
if (defaultMessageDrawn)
ClearViewElement(veMessage);
if (defaultSortmodeDrawn)
@@ -468,9 +471,12 @@ bool cDisplayMenuRootView::RenderDynamicElements(void) {
if (!view)
return false;
bool updated = false;
- if (view->DrawTime()) {
+ bool implemented = false;
+ if (view->DrawTime(implemented)) {
+ defaultTimeDrawn = false;
updated = true;
- } else if (DrawTime()) {
+ } else if (!implemented && DrawTime()) {
+ defaultTimeDrawn = true;
updated = true;
}
if (view->DrawDynamicViewElements()){
diff --git a/views/displaymenurootview.h b/views/displaymenurootview.h
index 3ec009f..4a250bc 100644
--- a/views/displaymenurootview.h
+++ b/views/displaymenurootview.h
@@ -34,6 +34,7 @@ private:
bool defaultHeaderDrawn;
bool defaultButtonsDrawn;
bool defaultDateTimeDrawn;
+ bool defaultTimeDrawn;
bool defaultMessageDrawn;
bool defaultSortmodeDrawn;
void DrawBackground(void);
diff --git a/views/displaymenuview.c b/views/displaymenuview.c
index 60f79f5..3056cd5 100644
--- a/views/displaymenuview.c
+++ b/views/displaymenuview.c
@@ -63,11 +63,12 @@ bool cDisplayMenuView::DrawDateTime(void) {
return true;
}
-bool cDisplayMenuView::DrawTime(void) {
+bool cDisplayMenuView::DrawTime(bool &implemented) {
if (!ExecuteViewElement(veTime)) {
return false;
}
+ implemented = true;
map < string, string > stringTokens;
map < string, int > intTokens;
diff --git a/views/displaymenuview.h b/views/displaymenuview.h
index d0d4b44..bddfafa 100644
--- a/views/displaymenuview.h
+++ b/views/displaymenuview.h
@@ -38,7 +38,7 @@ public:
bool DrawBackground(void);
virtual bool DrawHeader(void);
bool DrawDateTime(void);
- bool DrawTime(void);
+ bool DrawTime(bool &implemented);
bool DrawColorButtons(void);
bool DrawMessage(eMessageType type, const char *text);
void DrawScrollbar(int numMax, int numDisplayed, int offset);