summaryrefslogtreecommitdiff
path: root/status.c
diff options
context:
space:
mode:
authorAndreas Brugger <brougs78@gmx.net>2006-11-19 16:58:14 +0100
committerThomas Günther <tom@toms-cafe.de>2009-06-03 03:35:58 +0200
commit74a5cc8e14900d48386e33cb576f154a6dd7e557 (patch)
treec7a90ba2fc5952558f6d4f528f94f8057f0d3ecd /status.c
parent8d32cf88bbe5b69a2710029cdaa896470a0fe20c (diff)
downloadvdr-plugin-text2skin-74a5cc8e14900d48386e33cb576f154a6dd7e557.tar.gz
vdr-plugin-text2skin-74a5cc8e14900d48386e33cb576f154a6dd7e557.tar.bz2
2006-11-19: Version 1.1-cvs_ext-0.9 (vdr-text2skin-1.1-cvs_ext-0.9.diff)
- added a test-feature to search for reruns of a program and add the information to the extended epg-info (trigger DEVELOPMENT_FEATURES). This uses a service-interface of the epgsearch-plugin "Epgsearch-searchresults-v1.0" - the timer-conflicts are now checked with epgsearch (service-interface "Epgsearch-lastconflictinfo-v1.0", as it works more reliable and is supported by the plugin author - the extended epg-info and the recording-info are extended by AUX-Infos (configurable) there is also an option to strip known tags - the tab-widths are scaled for taking into account that different TT-Fonts have a different width than the default font from VDR - added tokens for signal-info: FrontendSTR, FrontendSNR, FrontendHasLock, FrontendHasSignal - changed token TimerConflict to TimerConflicts - added token PresentEventID for EPG-images - added tokens for recordings: RecordingFilename, RecordingPriority, RecordingLifetime - removed Text2skin.diff from the rotor-plugin
Diffstat (limited to 'status.c')
-rw-r--r--status.c64
1 files changed, 35 insertions, 29 deletions
diff --git a/status.c b/status.c
index 95e4bec..35be7a5 100644
--- a/status.c
+++ b/status.c
@@ -143,13 +143,13 @@ void cText2SkinStatus::OsdClear(void)
void cText2SkinStatus::OsdCurrentItem(const char *Text)
{
- if (mRender != NULL)
+ if (mRender && Text)
{
// update infos
cText2SkinRender::tUpdate *u = &mRender->mUpdate;
- static std::string lastItem;
+ //static std::string lastItem;
- lastItem = u->currentItem;
+ //lastItem = u->currentItem;
u->currentItem = Text;
u->resetMarquee = true;
u->foundFirstItem = false;
@@ -172,7 +172,7 @@ void cText2SkinStatus::OsdCurrentItem(const char *Text)
void cText2SkinStatus::OsdItem(const char *Text, int Index)
{
- if (mRender && Text2SkinSetup.MenuScrollbar)
+ if (mRender && Text2SkinSetup.MenuScrollbar && Text)
{
uint curr = (uint)Index;
cText2SkinRender::tMenuScrollbar *sb = &mRender->mMenuScrollbar;
@@ -214,11 +214,13 @@ void cText2SkinStatus::UpdateEvents(void)
if (!dummy.IsSingleEvent()) // add 4 additional rep. timer
{
+ int j = 0;
do
{
+ j++; // just to avoid a endless loop
dummy.Skip();
dummy.Matches(); // Refresh start- and end-time
- } while (!dummy.DayMatches(dummy.Day()));
+ } while (!dummy.DayMatches(dummy.StartTime()) && (j < 7));
}
i++;
@@ -238,7 +240,19 @@ cxType cText2SkinStatus::GetTokenData(const txToken &Token)
switch (Token.Type) {
case tReplayMode:
return ReplayNames[mReplayMode];
-
+
+ case tFrontendSTR:
+ return GetFrontendSTR();
+
+ case tFrontendSNR:
+ return GetFrontendSNR();
+
+ case tFrontendHasLock:
+ return GetFrontendHasLock();
+
+ case tFrontendHasSignal:
+ return GetFrontendHasSignal();
+
case tCurrentEventsTitle3:
event++;
case tCurrentEventsTitle2:
@@ -299,34 +313,26 @@ cxType cText2SkinStatus::GetTokenData(const txToken &Token)
? (cxType)mEvents.Get(event)->isRecording
: (cxType)false;
- case tTimerConflict:
+ case tTimerConflicts:
#if VDRVERSNUM >= 10330
- if (Text2SkinSetup.CheckTimerConflict)
- {
- bool conflict;
-
- if (mRender->mUpdate.timerConflict)
- {
+ if (Text2SkinSetup.CheckTimerConflict) {
+ if (mRender->mUpdate.timerConflict) {
+ Epgsearch_lastconflictinfo_v1_0 conflict;
mRender->mUpdate.timerConflict = false;
- if (cPluginManager::CallFirstService("CheckTimerConflict-v1.0", &conflict) )
- {
- mTimerConflict = conflict;
- }
- else
- {
- mTimerConflict = false;
+ if (cPluginManager::CallFirstService("Epgsearch-lastconflictinfo-v1.0", &conflict)) {
+ mTimerConflicts = conflict.relevantConflicts;
+ } else {
+ mTimerConflicts = 0;
}
}
-
- return mTimerConflict;
- }
- else
+ return mTimerConflicts;
+ } else
+#endif
{
- return false;
+ return 0;
}
-#endif
-
+
#if VDRVERSNUM >= 10325
#if VDRVERSNUM >= 10338
case tReplayName:
@@ -338,7 +344,7 @@ cxType cText2SkinStatus::GetTokenData(const txToken &Token)
return mReplay != NULL
? (cxType)TimeType(mReplay->start, Token.Attrib.Text)
: (cxType)false;
-
+
case tReplayShortText:
return mReplay != NULL
? (cxType)mReplay->Info()->ShortText()
@@ -378,7 +384,7 @@ cxType cText2SkinStatus::GetTokenData(const txToken &Token)
{
std::string buffer(c->language);
if (c->type == 1) buffer.append("MONO");
- if (c->type == 2) buffer.append("DUAL");
+ if ((c->type == 2) || (c->type == 4)) buffer.append("DUAL");
if (c->type == 5) buffer.append("DD");
return (cxType)buffer.c_str();
}