Hallo Zusammen,
bei mir ist die Progressbar z.B. im Mediaplayer / Filebrowser falsch.
Das folgende korrigiert dies. Allerdings sollte ein VDR-Kenner sich mal die gesamte Tab-Thematik anschauen. Ich weiß also nicht, ob es so 100% passt.
Diff
--- displaymenu.c.orig 2009-01-27 13:03:09.000000000 +0100
+++ displaymenu.c 2009-01-27 13:06:14.000000000 +0100
@@ -1561,14 +1561,25 @@ void cSkinReelDisplayMenu::SetItem(const
int px1 = px0 ; //= (Tab(i + 1) ? Tab(i + 1) : xItemRight - Roundness) ;
// a better calculation of progressbar length
if( Tab(i+1) > 0 )
+#ifdef REELVDR
px1 = px0 + Tab(i+1) - Tab(i) - (ReelConfig.showMarker ? lineHeight : ListHBorder) ;
- else
+#else
+ px1 = px0 + (Tab(i+1)/12) - (ReelConfig.showMarker ? lineHeight : ListHBorder) ;
+#endif
+ else
// no more tabs: progress bar goes till the end
px1 = xItemRight - Roundness;
+#ifndef REELVDR
+ //This is ugly:
+ //because of Tab(i) is divided by 12
+ //we have to check here for an too small bar
+ //this is happening at the "EPG-Current-View"
+ if (px1 - px0 < 20)
+ px1 = px0 + 40;
+#endif
// when the string complete string is a progressbar, ignore tabs
if (len_s == strlen(Text_tmp)) px1 = xItemRight - Roundness;
-
int px = px0 + std::max((now * (px1 - px0) / total), ListProgressBarBorder);
// define y coordinates of progressbar
int py0 = y + (lineHeight - PROGRESSBARHEIGHT) / 2;
Alles anzeigen
Bitte um Feedback