summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-08-01 14:08:10 +0200
committerJochen Dolze <vdr@dolze.de>2010-08-01 14:08:10 +0200
commit5bdb0a08787c65532625ca74aebee76bbf2606a6 (patch)
tree3961adccb8811a6e5c9d38b48892d98d2ef59064
parent12b3d28424b4867e7ccea5efcf569b71a22f068d (diff)
downloadvdr-plugin-tvonscreen-5bdb0a08787c65532625ca74aebee76bbf2606a6.tar.gz
vdr-plugin-tvonscreen-5bdb0a08787c65532625ca74aebee76bbf2606a6.tar.bz2
Reformatted source (into ANSI-C style)
-rw-r--r--anyfont.cpp436
-rw-r--r--anyfont.h42
-rw-r--r--config.cpp237
-rw-r--r--config.h50
-rw-r--r--gfxtools.cpp290
-rw-r--r--i18n.cpp2117
-rw-r--r--magazine.cpp2561
-rw-r--r--magazine.h135
-rw-r--r--search.cpp210
-rw-r--r--search.h24
-rw-r--r--timer.cpp6
-rw-r--r--timer.h6
-rw-r--r--tvonscreen.cpp78
13 files changed, 3106 insertions, 3086 deletions
diff --git a/anyfont.cpp b/anyfont.cpp
index 9022036..c230cbc 100644
--- a/anyfont.cpp
+++ b/anyfont.cpp
@@ -18,294 +18,294 @@ anyFont::anyFont(cOsd *_osd,const cFont::tPixelData *fd,int fheight,int transpar
anyFont::anyFont(cOsdBase *_osd,const cFont::tPixelData *fd,int fheight,int transparent)
#endif
{
- osd=_osd;
+ osd=_osd;
#if VDRVERSNUM >= 10503
#if VDRVERSNUM >= 10504
- Font = cFont::CreateFont(Setup.FontOsd, fheight);
+ Font = cFont::CreateFont(Setup.FontOsd, fheight);
#else
- Font = new cFreetypeFont(*AddDirectory(FONTDIR, Setup.FontOsd, fheight);
+ Font = new cFreetypeFont(*AddDirectory(FONTDIR, Setup.FontOsd, fheight);
#endif
- if (!Font || !Font->Height())
- Font = cFont::GetFont(fontSml);
+ if (!Font || !Font->Height())
+ Font = cFont::GetFont(fontSml);
#else
- FontData=fd;
- FontHeight=fheight;
+ FontData=fd;
+ FontHeight=fheight;
#endif
- trans=transparent;
+ trans=transparent;
}
int anyFont::Height(void)
{
#if VDRVERSNUM >= 10503
- return Font->Height();
+ return Font->Height();
#else
- return FontHeight-2-2;
+ return FontHeight-2-2;
#endif
}
-int anyFont::Width(const char *txt)
+int anyFont::Width(const char *txt)
{
- int w = 0;
- while (txt && *txt) w += Width(*txt++);
- return w;
+ int w = 0;
+ while (txt && *txt) w += Width(*txt++);
+ return w;
}
-int anyFont::LargeWidth(const char *txt)
+int anyFont::LargeWidth(const char *txt)
{
- int w = 0;
- while (txt && *txt) w += Width(*txt++);
- return w*2;
+ int w = 0;
+ while (txt && *txt) w += Width(*txt++);
+ return w*2;
}
-int anyFont::Width(char c)
+int anyFont::Width(char c)
{
#if VDRVERSNUM >= 10503
- return Font->Width(c);
+ return Font->Width(c);
#else
- if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100)
- {
- mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]);
- return 100;
- }
- return (int)FontData[(((unsigned char)c)-32)*(FontHeight)];
+ if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100)
+ {
+ mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]);
+ return 100;
+ }
+ return (int)FontData[(((unsigned char)c)-32)*(FontHeight)];
#endif
}
-int anyFont::LargeWidth(char c)
+int anyFont::LargeWidth(char c)
{
#if VDRVERSNUM >= 10503
- return Font->Width(c);
+ return Font->Width(c);
#else
- if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100)
- {
- mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]);
- return 100;
- }
- return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]*2;
+ if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100)
+ {
+ mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]);
+ return 100;
+ }
+ return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]*2;
#endif
}
#if VDRVERSNUM >= 10307
int anyFont::Text(int x, int y, const char *txt, tColor fg, tColor bg)
#else
-int anyFont::Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh)
+int anyFont::Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh)
#endif
{
#if VDRVERSNUM >= 10503
- osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font);
- return x += Font->Width(txt);
+ osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font);
+ return x += Font->Width(txt);
#else
- unsigned int pxl;
- int row,col;
+ unsigned int pxl;
+ int row,col;
- while (txt && *txt)
- {
- for (row=0; row<Height()+2; row++)
- {
- pxl = FontData[(((unsigned char)*txt)-32)*(FontHeight)+row+2];
+ while (txt && *txt)
+ {
+ for (row=0; row<Height()+2; row++)
+ {
+ pxl = FontData[(((unsigned char)*txt)-32)*(FontHeight)+row+2];
- // XXX maybe increment col before starting?
- for (col=Width(*txt); col>=0; col--)
- {
- if (!trans || pxl&1)
+ // XXX maybe increment col before starting?
+ for (col=Width(*txt); col>=0; col--)
+ {
+ if (!trans || pxl&1)
#if VDRVERSNUM >= 10307
- osd->DrawRectangle(x+col-1,y+row,x+col-1,y+row,(pxl&1) ? fg : bg);
+ osd->DrawRectangle(x+col-1,y+row,x+col-1,y+row,(pxl&1) ? fg : bg);
#else
- osd->Fill (x+col-1,y+row,x+col-1,y+row,(pxl&1) ? fg : bg,wh);
+ osd->Fill (x+col-1,y+row,x+col-1,y+row,(pxl&1) ? fg : bg,wh);
#endif
- pxl >>= 1;
- }
- }
- x += Width(*txt++);
- }
- return x;
+ pxl >>= 1;
+ }
+ }
+ x += Width(*txt++);
+ }
+ return x;
#endif
}
#if VDRVERSNUM >= 10307
int anyFont::LargeText(int x, int y, const char *txt, tColor fg, tColor bg)
#else
-int anyFont::LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh)
+int anyFont::LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh)
#endif
{
#if VDRVERSNUM >= 10503
- osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font);
- return x + Font->Width(txt);
+ osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font);
+ return x + Font->Width(txt);
#else
- unsigned int pxl;
- int row,col;
+ unsigned int pxl;
+ int row,col;
- while (txt && *txt)
- {
- for (row=0; row<Height(); row++)
- {
- pxl = FontData[(((unsigned char)*txt)-32)*(FontHeight)+row+2];
+ while (txt && *txt)
+ {
+ for (row=0; row<Height(); row++)
+ {
+ pxl = FontData[(((unsigned char)*txt)-32)*(FontHeight)+row+2];
- // XXX maybe increment col befor starting?
- for (col=Width(*txt); col>=0; col--)
- {
- if (!trans || pxl&1)
+ // XXX maybe increment col befor starting?
+ for (col=Width(*txt); col>=0; col--)
+ {
+ if (!trans || pxl&1)
#if VDRVERSNUM >= 10307
- osd->DrawRectangle(x+(col-1)*2,y+row,x+(col-1)*2+1,y+row,(pxl&1) ? fg : bg);
+ osd->DrawRectangle(x+(col-1)*2,y+row,x+(col-1)*2+1,y+row,(pxl&1) ? fg : bg);
#else
- osd->Fill (x+(col-1)*2,y+row,x+(col-1)*2+1,y+row,(pxl&1) ? fg : bg,wh);
+ osd->Fill (x+(col-1)*2,y+row,x+(col-1)*2+1,y+row,(pxl&1) ? fg : bg,wh);
#endif
- pxl >>= 1;
- }
- }
- x += LargeWidth(*txt++);
- }
- return x;
+ pxl >>= 1;
+ }
+ }
+ x += LargeWidth(*txt++);
+ }
+ return x;
#endif
}
#if VDRVERSNUM >= 10307
int anyFont::Text(int x, int y, int w, int h, const char *txt, tColor fg, tColor bg)
#else
-int anyFont::Text(int x, int y, int w, int h, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh)
+int anyFont::Text(int x, int y, int w, int h, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh)
#endif
{
- if (txt==NULL)
- return x;
- char *memtxt=strdup(txt);
- char *mytxt=memtxt;
- char *t2=mytxt;
- char c;
- int x0=0;
- int y0=0;
+ if (txt==NULL)
+ return x;
+ char *memtxt=strdup(txt);
+ char *mytxt=memtxt;
+ char *t2=mytxt;
+ char c;
+ int x0=0;
+ int y0=0;
//mzlog(0,"'%s'",t2);
- while (mytxt && *mytxt)
- {
- switch (*mytxt)
- {
- case ' ':
- case '\t':
- case '\n':
- c=*(mytxt);
- *(mytxt)=0;
- if (x0+Width(t2)>w && x0>0)
- {
- x0=0;
- y0+=Height();
- }
- if (y0<h*Height())
+ while (mytxt && *mytxt)
+ {
+ switch (*mytxt)
+ {
+ case ' ':
+ case '\t':
+ case '\n':
+ c=*(mytxt);
+ *(mytxt)=0;
+ if (x0+Width(t2)>w && x0>0)
+ {
+ x0=0;
+ y0+=Height();
+ }
+ if (y0<h*Height())
#if VDRVERSNUM >= 10307
- x0+=Text(x+x0,y+y0,t2,fg,bg) -x-x0+Width(c);
+ x0+=Text(x+x0,y+y0,t2,fg,bg) -x-x0+Width(c);
#else
- x0+=Text(x+x0,y+y0,t2,fg,bg,wh)-x-x0+Width(c);
+ x0+=Text(x+x0,y+y0,t2,fg,bg,wh)-x-x0+Width(c);
#endif
- *(mytxt)=c;
- t2=mytxt+1;
- if (c=='\t')
- {
- if (x0==0)
- {
- x+=20;
- w-=20;
- }
- else
- x0=((x0+20)/20)*20;
- }
- else if (c=='\n')
- {
- x0=0;
- y0+=Height();
- }
- break;
- case '-':
- case '.':
- c=*(mytxt+1);
- *(mytxt+1)=0;
- if (x0+Width(t2)>w && x0>0)
- {
- x0=0;
- y0+=Height();
- }
- if (y0<h*Height())
+ *(mytxt)=c;
+ t2=mytxt+1;
+ if (c=='\t')
+ {
+ if (x0==0)
+ {
+ x+=20;
+ w-=20;
+ }
+ else
+ x0=((x0+20)/20)*20;
+ }
+ else if (c=='\n')
+ {
+ x0=0;
+ y0+=Height();
+ }
+ break;
+ case '-':
+ case '.':
+ c=*(mytxt+1);
+ *(mytxt+1)=0;
+ if (x0+Width(t2)>w && x0>0)
+ {
+ x0=0;
+ y0+=Height();
+ }
+ if (y0<h*Height())
#if VDRVERSNUM >= 10307
- x0+=Text(x+x0,y+y0,t2,fg,bg) -x-x0;
+ x0+=Text(x+x0,y+y0,t2,fg,bg) -x-x0;
#else
- x0+=Text(x+x0,y+y0,t2,fg,bg,wh)-x-x0;
+ x0+=Text(x+x0,y+y0,t2,fg,bg,wh)-x-x0;
#endif
- *(mytxt+1)=c;
- t2=mytxt+1;
- break;
- }
- mytxt++;
- }
- if (t2!=mytxt && *t2!=0)
- {
- if (x0+Width(t2)>w && x0>0)
- {
- x0=0;
- y0+=Height();
- }
- if (y0<h*Height())
+ *(mytxt+1)=c;
+ t2=mytxt+1;
+ break;
+ }
+ mytxt++;
+ }
+ if (t2!=mytxt && *t2!=0)
+ {
+ if (x0+Width(t2)>w && x0>0)
+ {
+ x0=0;
+ y0+=Height();
+ }
+ if (y0<h*Height())
#if VDRVERSNUM >= 10307
- x0+=Text(x+x0,y+y0,t2,fg,bg);
+ x0+=Text(x+x0,y+y0,t2,fg,bg);
#else
- x0+=Text(x+x0,y+y0,t2,fg,bg,wh);
+ x0+=Text(x+x0,y+y0,t2,fg,bg,wh);
#endif
- }
- free(memtxt);
- return y0/Height()+1;
+ }
+ free(memtxt);
+ return y0/Height()+1;
}
-int anyFont::TextHeight(int w, const char *txt)
+int anyFont::TextHeight(int w, const char *txt)
{
- if (txt==NULL)
- return 0;
- char *memtxt=strdup(txt);
- char *mytxt=memtxt;
- char *t2=mytxt;
- char c;
- int x0=0;
- int y0=0;
- while (mytxt && *mytxt)
- {
- switch (*mytxt)
- {
- case ' ':
- case '\t':
- case '\n':
- c=*(mytxt);
- *(mytxt)=0;
- if (x0+Width(t2)>w && x0>0)
- {
- x0=0;
- y0+=Height();
- }
- x0+=Width(t2)+Width(c);
- *(mytxt)=c;
- t2=mytxt+1;
- if (c=='\t')
- {
- if (x0==0)
- w-=20;
- else
- x0=((x0+20)/20)*20;
- }
- else if (c=='\n')
- {
- x0=0;
- y0+=Height();
- }
- break;
- case '-':
- case '.':
- c=*(mytxt+1);
- *(mytxt+1)=0;
- if (x0+Width(t2)>w && x0>0)
- {
- x0=0;
- y0+=Height();
- }
- x0+=Width(t2);
- *(mytxt+1)=c;
- t2=mytxt+1;
- break;
- }
- mytxt++;
- }
- if (t2!=mytxt && *t2!=0)
- {
- if (x0+Width(t2)>w && x0>0)
- {
- x0=0;
- y0+=Height();
- }
- }
- free(memtxt);
- return y0/Height()+1;
+ if (txt==NULL)
+ return 0;
+ char *memtxt=strdup(txt);
+ char *mytxt=memtxt;
+ char *t2=mytxt;
+ char c;
+ int x0=0;
+ int y0=0;
+ while (mytxt && *mytxt)
+ {
+ switch (*mytxt)
+ {
+ case ' ':
+ case '\t':
+ case '\n':
+ c=*(mytxt);
+ *(mytxt)=0;
+ if (x0+Width(t2)>w && x0>0)
+ {
+ x0=0;
+ y0+=Height();
+ }
+ x0+=Width(t2)+Width(c);
+ *(mytxt)=c;
+ t2=mytxt+1;
+ if (c=='\t')
+ {
+ if (x0==0)
+ w-=20;
+ else
+ x0=((x0+20)/20)*20;
+ }
+ else if (c=='\n')
+ {
+ x0=0;
+ y0+=Height();
+ }
+ break;
+ case '-':
+ case '.':
+ c=*(mytxt+1);
+ *(mytxt+1)=0;
+ if (x0+Width(t2)>w && x0>0)
+ {
+ x0=0;
+ y0+=Height();
+ }
+ x0+=Width(t2);
+ *(mytxt+1)=c;
+ t2=mytxt+1;
+ break;
+ }
+ mytxt++;
+ }
+ if (t2!=mytxt && *t2!=0)
+ {
+ if (x0+Width(t2)>w && x0>0)
+ {
+ x0=0;
+ y0+=Height();
+ }
+ }
+ free(memtxt);
+ return y0/Height()+1;
}
diff --git a/anyfont.h b/anyfont.h
index 187e747..b2e7fb2 100644
--- a/anyfont.h
+++ b/anyfont.h
@@ -15,42 +15,42 @@
class anyFont
{
#if VDRVERSNUM >= 10307
- cOsd *osd;
+ cOsd *osd;
#else
- cOsdBase *osd;
+ cOsdBase *osd;
#endif
#if VDRVERSNUM >= 10503
- const cFont *Font;
+ const cFont *Font;
#else
- const cFont::tPixelData *FontData;
- int FontHeight;
+ const cFont::tPixelData *FontData;
+ int FontHeight;
#endif
- int trans;
+ int trans;
public:
#if VDRVERSNUM >= 10503
- anyFont(cOsd *o,int fheight,int transparent=0);
+ anyFont(cOsd *o,int fheight,int transparent=0);
#elif VDRVERSNUM >= 10307
- anyFont(cOsd *o,const cFont::tPixelData *fd,int fheight,int transparent=0);
+ anyFont(cOsd *o,const cFont::tPixelData *fd,int fheight,int transparent=0);
#else
- anyFont(cOsdBase *o,const cFont::tPixelData *fd,int fheight,int transparent=0);
+ anyFont(cOsdBase *o,const cFont::tPixelData *fd,int fheight,int transparent=0);
#endif
- int Height(void);
- int Width(const char *txt);
- int LargeWidth(const char *txt);
- int Width(char c);
- int LargeWidth(char c);
+ int Height(void);
+ int Width(const char *txt);
+ int LargeWidth(const char *txt);
+ int Width(char c);
+ int LargeWidth(char c);
#if VDRVERSNUM >= 10307
- int Text(int x, int y, const char *txt, tColor fg, tColor bg);
- int LargeText(int x, int y, const char *txt, tColor fg, tColor bg);
+ int Text(int x, int y, const char *txt, tColor fg, tColor bg);
+ int LargeText(int x, int y, const char *txt, tColor fg, tColor bg);
- int Text(int x, int y, int w, int h, const char *txt, tColor fg, tColor bg);
+ int Text(int x, int y, int w, int h, const char *txt, tColor fg, tColor bg);
#else
- int Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh);
- int LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh);
+ int Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh);
+ int LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh);
- int Text(int x, int y, int w, int h, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh);
+ int Text(int x, int y, int w, int h, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh);
#endif
- int TextHeight(int w, const char *txt);
+ int TextHeight(int w, const char *txt);
};
#endif
diff --git a/config.cpp b/config.cpp
index 3bb3ead..92eca9e 100644
--- a/config.cpp
+++ b/config.cpp
@@ -17,147 +17,150 @@
tvonscreenConfig tvonscreenCfg;
#if VDRVERSNUM < 10307
-class cMenuEditTimeItem : public cMenuEditItem {
+class cMenuEditTimeItem : public cMenuEditItem
+{
protected:
- int *value;
- int hh, mm;
- int pos;
- virtual void Set(void);
+ int *value;
+ int hh, mm;
+ int pos;
+ virtual void Set(void);
public:
- cMenuEditTimeItem(const char *Name, int *Value);
- virtual eOSState ProcessKey(eKeys Key);
- };
+ cMenuEditTimeItem(const char *Name, int *Value);
+ virtual eOSState ProcessKey(eKeys Key);
+};
#endif
tvonscreenConfig::tvonscreenConfig(void)
{
- showLogos=false;
- XLfonts=true;
- noInfoLine=false;
- showChannels=true;
+ showLogos=false;
+ XLfonts=true;
+ noInfoLine=false;
+ showChannels=true;
#if VDRVERSNUM >= 10307
- bwlogos=false;
+ bwlogos=false;
#else
- bwlogos=true;
+ bwlogos=true;
#endif
- colorworkaround=true;
-
- usertime1=1200;
- usertime2=1800;
- usertime3=2015;
- thenshownextday=true;
- showsearchinitiator=true;
-
- logos=NULL;
- vdradminfile=NULL;
+ colorworkaround=true;
+
+ usertime1=1200;
+ usertime2=1800;
+ usertime3=2015;
+ thenshownextday=true;
+ showsearchinitiator=true;
+
+ logos=NULL;
+ vdradminfile=NULL;
}
tvonscreenConfig::~tvonscreenConfig()
{
- if (logos)
- free(logos);
- if (vdradminfile)
- free(vdradminfile);
+ if (logos)
+ free(logos);
+ if (vdradminfile)
+ free(vdradminfile);
}
bool tvonscreenConfig::SetupParse(const char *Name, const char *Value)
{
- if (strcmp(Name,"showLogos")==0) showLogos = atoi(Value);
- else if (strcmp(Name,"XLfonts")==0) XLfonts = atoi(Value);
- else if (strcmp(Name,"noInfoLine")==0) noInfoLine = atoi(Value);
- else if (strcmp(Name,"showChannels")==0) showChannels = atoi(Value);
- else if (strcmp(Name,"bwlogos")==0) bwlogos = atoi(Value);
- else if (strcmp(Name,"colorworkaround")==0) colorworkaround = atoi(Value);
- else if (strcmp(Name,"usertime1")==0) usertime1 = atoi(Value);
- else if (strcmp(Name,"usertime2")==0) usertime2 = atoi(Value);
- else if (strcmp(Name,"usertime3")==0) usertime3 = atoi(Value);
- else if (strcmp(Name,"thenshownextday")==0) thenshownextday = atoi(Value);
- else if (strcmp(Name,"showsearchinitiator")==0) showsearchinitiator = atoi(Value);
- else
- return false;
+ if (strcmp(Name,"showLogos")==0) showLogos = atoi(Value);
+ else if (strcmp(Name,"XLfonts")==0) XLfonts = atoi(Value);
+ else if (strcmp(Name,"noInfoLine")==0) noInfoLine = atoi(Value);
+ else if (strcmp(Name,"showChannels")==0) showChannels = atoi(Value);
+ else if (strcmp(Name,"bwlogos")==0) bwlogos = atoi(Value);
+ else if (strcmp(Name,"colorworkaround")==0) colorworkaround = atoi(Value);
+ else if (strcmp(Name,"usertime1")==0) usertime1 = atoi(Value);
+ else if (strcmp(Name,"usertime2")==0) usertime2 = atoi(Value);
+ else if (strcmp(Name,"usertime3")==0) usertime3 = atoi(Value);
+ else if (strcmp(Name,"thenshownextday")==0) thenshownextday = atoi(Value);
+ else if (strcmp(Name,"showsearchinitiator")==0) showsearchinitiator = atoi(Value);
+ else
+ return false;
#if VDRVERSNUM < 10307
- bwlogos=true;
+ bwlogos=true;
#endif
- return true;
+ return true;
}
const char *tvonscreenConfig::CommandLineHelp(void)
{
- // Return a string that describes all known command line options.
- return " -l PathToLogos\n --logos=PathToLogos\n -v vdradmind.at\n --vdradminfile=vdradmind.at\n";
+ // Return a string that describes all known command line options.
+ return " -l PathToLogos\n --logos=PathToLogos\n -v vdradmind.at\n --vdradminfile=vdradmind.at\n";
}
bool tvonscreenConfig::ProcessArgs(int argc, char *argv[])
-{
- static struct option long_options[] = {
- { "logos", required_argument, NULL, 'l' },
- { "vdradminfile",required_argument, NULL, 'v' },
- { NULL }
- };
-
- bool retval=true;
- int c;
- while ((c = getopt_long(argc, argv, "l:v:", long_options, NULL)) != -1)
- {
- switch (c)
- {
- case 'l':
- if (logos)
- {
- free(logos);
- logos=NULL;
- }
- logos = strdup(optarg);
- retval=true;
- break;
- case 'v':
- if (vdradminfile)
- {
- free(vdradminfile);
- vdradminfile=NULL;
- }
- vdradminfile = strdup(optarg);
- retval=true;
- break;
- default:
- break;
- }
- }
- return retval;
+{
+ static struct option long_options[] =
+ {
+ { "logos", required_argument, NULL, 'l'
+ },
+ { "vdradminfile",required_argument, NULL, 'v' },
+ { NULL }
+ };
+
+ bool retval=true;
+ int c;
+ while ((c = getopt_long(argc, argv, "l:v:", long_options, NULL)) != -1)
+ {
+ switch (c)
+ {
+ case 'l':
+ if (logos)
+ {
+ free(logos);
+ logos=NULL;
+ }
+ logos = strdup(optarg);
+ retval=true;
+ break;
+ case 'v':
+ if (vdradminfile)
+ {
+ free(vdradminfile);
+ vdradminfile=NULL;
+ }
+ vdradminfile = strdup(optarg);
+ retval=true;
+ break;
+ default:
+ break;
+ }
+ }
+ return retval;
}
// ----------------------------------------------------------------------
tvonscreenConfigPage::tvonscreenConfigPage(void) : cMenuSetupPage()
{
- m_NewConfig = tvonscreenCfg;
+ m_NewConfig = tvonscreenCfg;
#if TL_YSTART == 48
- Add(new cMenuEditBoolItem(tr("show channel logos"),
- &m_NewConfig.showLogos));
- Add(new cMenuEditBoolItem(tr("show channel names"),
- &m_NewConfig.showChannels));
- Add(new cMenuEditBoolItem(tr("show logos in black&white"),
- &m_NewConfig.bwlogos));
- Add(new cMenuEditBoolItem(tr("enable color problem work around"),
- &m_NewConfig.colorworkaround));
+ Add(new cMenuEditBoolItem(tr("show channel logos"),
+ &m_NewConfig.showLogos));
+ Add(new cMenuEditBoolItem(tr("show channel names"),
+ &m_NewConfig.showChannels));
+ Add(new cMenuEditBoolItem(tr("show logos in black&white"),
+ &m_NewConfig.bwlogos));
+ Add(new cMenuEditBoolItem(tr("enable color problem work around"),
+ &m_NewConfig.colorworkaround));
#endif
- Add(new cMenuEditBoolItem(tr("use XL fonts"),
- &m_NewConfig.XLfonts));
- Add(new cMenuEditBoolItem(tr("hide info line"),
- &m_NewConfig.noInfoLine));
+ Add(new cMenuEditBoolItem(tr("use XL fonts"),
+ &m_NewConfig.XLfonts));
+ Add(new cMenuEditBoolItem(tr("hide info line"),
+ &m_NewConfig.noInfoLine));
- Add(new cMenuEditTimeItem(tr("user point in time 1 (Key 4)"),
- &m_NewConfig.usertime1));
- Add(new cMenuEditTimeItem(tr("user point in time 2 (Key 5)"),
- &m_NewConfig.usertime2));
- Add(new cMenuEditTimeItem(tr("user point in time 3 (Key 6)"),
- &m_NewConfig.usertime3));
+ Add(new cMenuEditTimeItem(tr("user point in time 1 (Key 4)"),
+ &m_NewConfig.usertime1));
+ Add(new cMenuEditTimeItem(tr("user point in time 2 (Key 5)"),
+ &m_NewConfig.usertime2));
+ Add(new cMenuEditTimeItem(tr("user point in time 3 (Key 6)"),
+ &m_NewConfig.usertime3));
- Add(new cMenuEditBoolItem(tr("jump to next day point if ago"),
- &m_NewConfig.thenshownextday));
+ Add(new cMenuEditBoolItem(tr("jump to next day point if ago"),
+ &m_NewConfig.thenshownextday));
- Add(new cMenuEditBoolItem(tr("Show search item itself"),
- &m_NewConfig.showsearchinitiator));
+ Add(new cMenuEditBoolItem(tr("Show search item itself"),
+ &m_NewConfig.showsearchinitiator));
}
@@ -168,17 +171,17 @@ tvonscreenConfigPage::~tvonscreenConfigPage()
void tvonscreenConfigPage::Store(void)
{
- SetupStore("showLogos", m_NewConfig.showLogos);
- SetupStore("XLfonts", m_NewConfig.XLfonts);
- SetupStore("noInfoLine", m_NewConfig.noInfoLine);
- SetupStore("showChannels", m_NewConfig.showChannels);
- SetupStore("bwlogos", m_NewConfig.bwlogos);
- SetupStore("colorworkaround", m_NewConfig.colorworkaround);
- SetupStore("usertime1", m_NewConfig.usertime1);
- SetupStore("usertime2", m_NewConfig.usertime2);
- SetupStore("usertime3", m_NewConfig.usertime3);
- SetupStore("thenshownextday", m_NewConfig.thenshownextday);
- SetupStore("showsearchinitiator", m_NewConfig.showsearchinitiator);
-
- tvonscreenCfg = m_NewConfig;
+ SetupStore("showLogos", m_NewConfig.showLogos);
+ SetupStore("XLfonts", m_NewConfig.XLfonts);
+ SetupStore("noInfoLine", m_NewConfig.noInfoLine);
+ SetupStore("showChannels", m_NewConfig.showChannels);
+ SetupStore("bwlogos", m_NewConfig.bwlogos);
+ SetupStore("colorworkaround", m_NewConfig.colorworkaround);
+ SetupStore("usertime1", m_NewConfig.usertime1);
+ SetupStore("usertime2", m_NewConfig.usertime2);
+ SetupStore("usertime3", m_NewConfig.usertime3);
+ SetupStore("thenshownextday", m_NewConfig.thenshownextday);
+ SetupStore("showsearchinitiator", m_NewConfig.showsearchinitiator);
+
+ tvonscreenCfg = m_NewConfig;
}
diff --git a/config.h b/config.h
index 6019020..ce5c9aa 100644
--- a/config.h
+++ b/config.h
@@ -17,27 +17,27 @@ class tvonscreenConfig
{
public:
- tvonscreenConfig(void);
- ~tvonscreenConfig();
- bool SetupParse(const char *Name, const char *Value);
- bool ProcessArgs(int argc, char *argv[]);
- const char *CommandLineHelp(void);
+ tvonscreenConfig(void);
+ ~tvonscreenConfig();
+ bool SetupParse(const char *Name, const char *Value);
+ bool ProcessArgs(int argc, char *argv[]);
+ const char *CommandLineHelp(void);
// char showChannels[];
- int showLogos;
- int XLfonts;
- int noInfoLine;
- int showChannels;
- int bwlogos;
- int colorworkaround;
- int usertime1;
- int usertime2;
- int usertime3;
- int thenshownextday;
- int showsearchinitiator;
-
- char *logos;
- char *vdradminfile;
+ int showLogos;
+ int XLfonts;
+ int noInfoLine;
+ int showChannels;
+ int bwlogos;
+ int colorworkaround;
+ int usertime1;
+ int usertime2;
+ int usertime3;
+ int thenshownextday;
+ int showsearchinitiator;
+
+ char *logos;
+ char *vdradminfile;
};
extern tvonscreenConfig tvonscreenCfg;
@@ -45,16 +45,16 @@ extern tvonscreenConfig tvonscreenCfg;
class tvonscreenConfigPage : public cMenuSetupPage
{
private:
- tvonscreenConfig m_NewConfig;
-
+ tvonscreenConfig m_NewConfig;
+
protected:
- virtual void Store(void);
+ virtual void Store(void);
public:
- tvonscreenConfigPage(void);
- virtual ~tvonscreenConfigPage();
+ tvonscreenConfigPage(void);
+ virtual ~tvonscreenConfigPage();
};
-#endif
+#endif
diff --git a/gfxtools.cpp b/gfxtools.cpp
index a7f4dca..7d12980 100644
--- a/gfxtools.cpp
+++ b/gfxtools.cpp
@@ -12,163 +12,165 @@
#include <string.h>
bool DrawXpm(const char *FileName,areaT *drawable,int x,int y,winhandleT winhand,bool blackwhite)
-{ // Bases on vdr cBitmap::LoadXpm but made more readable
- // and added x/y support
- bool Result = false;
- cReadLine ReadLine;
- FILE *f = fopen(FileName, "r");
- if (f)
- {
- char **Xpm = NULL;
- bool isXpm = false;
- int lines = 0;
- int index = 0;
- char *s;
+{
+ // Bases on vdr cBitmap::LoadXpm but made more readable
+ // and added x/y support
+ bool Result = false;
+ cReadLine ReadLine;
+ FILE *f = fopen(FileName, "r");
+ if (f)
+ {
+ char **Xpm = NULL;
+ bool isXpm = false;
+ int lines = 0;
+ int index = 0;
+ char *s;
- while ((s = ReadLine.Read(f)) != NULL)
- {
- s = skipspace(s);
- if (!isXpm)
- {
- if (strcmp(s, "/* XPM */") != 0)
- {
- esyslog("ERROR: invalid header in XPM file '%s'", FileName);
- break;
- }
- isXpm = true;
- }
- else if (*s++ == '"')
- {
- if (!lines)
- {
- int w, h, n, c;
- if (4 != sscanf(s, "%d %d %d %d", &w, &h, &n, &c))
- {
- esyslog("ERROR: faulty 'values' line in XPM file '%s'", FileName);
- break;
- }
- lines = h + n + 1;
- Xpm = MALLOC(char *, lines);
- }
- char *q = strchr(s, '"');
- if (!q)
- {
- esyslog("ERROR: missing quotes in XPM file '%s'", FileName);
- break;
- }
- *q = 0;
- if (index < lines)
- Xpm[index++] = strdup(s);
- else
- {
- esyslog("ERROR: too many lines in XPM file '%s'", FileName);
- break;
- }
- }
- }
- if (index == lines)
- Result = DrawXpm(Xpm,drawable,x,y,winhand,blackwhite);
- else
- esyslog("ERROR: too few lines in XPM file '%s'", FileName);
- for (int i = 0; i < index; i++)
- free(Xpm[i]);
- free(Xpm);
- fclose(f);
- }
- else
- esyslog("ERROR: can't open XPM file '%s'", FileName);
- return Result;
+ while ((s = ReadLine.Read(f)) != NULL)
+ {
+ s = skipspace(s);
+ if (!isXpm)
+ {
+ if (strcmp(s, "/* XPM */") != 0)
+ {
+ esyslog("ERROR: invalid header in XPM file '%s'", FileName);
+ break;
+ }
+ isXpm = true;
+ }
+ else if (*s++ == '"')
+ {
+ if (!lines)
+ {
+ int w, h, n, c;
+ if (4 != sscanf(s, "%d %d %d %d", &w, &h, &n, &c))
+ {
+ esyslog("ERROR: faulty 'values' line in XPM file '%s'", FileName);
+ break;
+ }
+ lines = h + n + 1;
+ Xpm = MALLOC(char *, lines);
+ }
+ char *q = strchr(s, '"');
+ if (!q)
+ {
+ esyslog("ERROR: missing quotes in XPM file '%s'", FileName);
+ break;
+ }
+ *q = 0;
+ if (index < lines)
+ Xpm[index++] = strdup(s);
+ else
+ {
+ esyslog("ERROR: too many lines in XPM file '%s'", FileName);
+ break;
+ }
+ }
+ }
+ if (index == lines)
+ Result = DrawXpm(Xpm,drawable,x,y,winhand,blackwhite);
+ else
+ esyslog("ERROR: too few lines in XPM file '%s'", FileName);
+ for (int i = 0; i < index; i++)
+ free(Xpm[i]);
+ free(Xpm);
+ fclose(f);
+ }
+ else
+ esyslog("ERROR: can't open XPM file '%s'", FileName);
+ return Result;
}
bool DrawXpm(char *Xpm[], areaT *drawable,int x0,int y0,winhandleT winhand,bool blackwhite)
-{ // Bases on vdr cBitmap::LoadXpm but made more readable
- // and added x/y support and "none" is now no longer drawn
- char **p = Xpm;
- int w, h, n, c;
- if (4 != sscanf(*p, "%d %d %d %d", &w, &h, &n, &c))
- {
- esyslog("ERROR: faulty 'values' line in XPM: '%s'", *p);
- return false;
- }
- if (n > MAXNUMCOLORS)
- {
- esyslog("ERROR: too many colors in XPM: %d", n);
- return false;
- }
+{
+ // Bases on vdr cBitmap::LoadXpm but made more readable
+ // and added x/y support and "none" is now no longer drawn
+ char **p = Xpm;
+ int w, h, n, c;
+ if (4 != sscanf(*p, "%d %d %d %d", &w, &h, &n, &c))
+ {
+ esyslog("ERROR: faulty 'values' line in XPM: '%s'", *p);
+ return false;
+ }
+ if (n > MAXNUMCOLORS)
+ {
+ esyslog("ERROR: too many colors in XPM: %d", n);
+ return false;
+ }
- int NoneColorIndex = MAXNUMCOLORS;
+ int NoneColorIndex = MAXNUMCOLORS;
#if VDRVERSNUM >= 10307
- tColor cols[n];
+ tColor cols[n];
#else
- eDvbColor cols[n];
+ eDvbColor cols[n];
#endif
- for (int i = 0; i < n; i++)
- {
- const char *s = *++p;
- if (int(strlen(s)) < c)
- {
- esyslog("ERROR: faulty 'colors' line in XPM: '%s'", s);
- return false;
- }
- s = skipspace(s + c);
- if (*s != 'c')
- {
- esyslog("ERROR: unknown color key in XPM: '%c'", *s);
- return false;
- }
- s = skipspace(s + 1);
- if (strcasecmp(s, "none") == 0)
- {
- s = "#00000000";
- NoneColorIndex = i;
- }
- if (*s != '#')
- {
- esyslog("ERROR: unknown color code in XPM: '%c'", *s);
- return false;
- }
- unsigned int col=strtoul(++s, NULL, 16);
- if (blackwhite)
- {
- int bwcol=(int)(0.299*(double)((col & 0xff0000) >> 16) + 0.587*(double)((col & 0xff00) >> 8) + 0.114*(double)(col & 0xff));
- if (bwcol>0xff) bwcol=0xff;
- bwcol&=(0xff-31);
- col=(bwcol<<16) | (bwcol<<8)| (bwcol);
- }
+ for (int i = 0; i < n; i++)
+ {
+ const char *s = *++p;
+ if (int(strlen(s)) < c)
+ {
+ esyslog("ERROR: faulty 'colors' line in XPM: '%s'", s);
+ return false;
+ }
+ s = skipspace(s + c);
+ if (*s != 'c')
+ {
+ esyslog("ERROR: unknown color key in XPM: '%c'", *s);
+ return false;
+ }
+ s = skipspace(s + 1);
+ if (strcasecmp(s, "none") == 0)
+ {
+ s = "#00000000";
+ NoneColorIndex = i;
+ }
+ if (*s != '#')
+ {
+ esyslog("ERROR: unknown color code in XPM: '%c'", *s);
+ return false;
+ }
+ unsigned int col=strtoul(++s, NULL, 16);
+ if (blackwhite)
+ {
+ int bwcol=(int)(0.299*(double)((col & 0xff0000) >> 16) + 0.587*(double)((col & 0xff00) >> 8) + 0.114*(double)(col & 0xff));
+ if (bwcol>0xff) bwcol=0xff;
+ bwcol&=(0xff-31);
+ col=(bwcol<<16) | (bwcol<<8)| (bwcol);
+ }
#if VDRVERSNUM >= 10307
- cols[i] = col | 0xFF000000;
+ cols[i] = col | 0xFF000000;
#else
- cols[i] = (eDvbColor)(((col & 0xff) << 16) | (col & 0xff00) | ((col & 0xff0000) >> 16) | 0xFF000000);
+ cols[i] = (eDvbColor)(((col & 0xff) << 16) | (col & 0xff00) | ((col & 0xff0000) >> 16) | 0xFF000000);
#endif
- }
- for (int y = 0; y < h; y++)
- {
- const char *s = *++p;
- if (int(strlen(s)) != w * c)
- {
- esyslog("ERROR: faulty pixel line in XPM: %d '%s'", y, s);
- return false;
- }
- for (int x = 0; x < w; x++)
- {
- for (int i = 0; i < n; i++)
- {
- if (strncmp(Xpm[i + 1], s, c) == 0)
- {
- if (i != NoneColorIndex)
- {
+ }
+ for (int y = 0; y < h; y++)
+ {
+ const char *s = *++p;
+ if (int(strlen(s)) != w * c)
+ {
+ esyslog("ERROR: faulty pixel line in XPM: %d '%s'", y, s);
+ return false;
+ }
+ for (int x = 0; x < w; x++)
+ {
+ for (int i = 0; i < n; i++)
+ {
+ if (strncmp(Xpm[i + 1], s, c) == 0)
+ {
+ if (i != NoneColorIndex)
+ {
#if VDRVERSNUM >= 10307
- drawable->DrawPixel(x0+x,y0+y, cols[i]);
+ drawable->DrawPixel(x0+x,y0+y, cols[i]);
#else
// drawable->AddColor(cols[i],winhand);
- drawable->Fill(x0+x,y0+y,x0+x,y0+y,cols[i],winhand);
+ drawable->Fill(x0+x,y0+y,x0+x,y0+y,cols[i],winhand);
#endif
- }
- break;
- }
- }
- s += c;
- }
- }
- return true;
+ }
+ break;
+ }
+ }
+ s += c;
+ }
+ }
+ return true;
}
diff --git a/i18n.cpp b/i18n.cpp
index a1bd421..86292e8 100644
--- a/i18n.cpp
+++ b/i18n.cpp
@@ -9,1263 +9,1264 @@
#include "i18n.h"
-const tI18nPhrase tvoPhrases[] = {
- { "TV-OnScreen", // English
- "TV-OnScreen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "TV-ohjelmat", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+const tI18nPhrase tvoPhrases[] =
+{
+ { "TV-OnScreen", // English
+ "TV-OnScreen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "TV-ohjelmat", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Shows the EPG info in form of a typical TV magazine", // English
- "", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "TV-ohjelmatiedot (OSD)", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Shows the EPG info in form of a typical TV magazine", // English
+ "", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "TV-ohjelmatiedot (OSD)", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "o'clock", // English
- "Uhr", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- " ", // suomi (empty space)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "o'clock", // English
+ "Uhr", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ " ", // suomi (empty space)
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "%d-%m", // English
- "%d.%m.", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "%d.%m.", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "%d-%m", // English
+ "%d.%m.", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "%d.%m.", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Press 1 for help", // English
- "Für Hilfe die 1 drücken", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Paina '1' nähdäksesi opasteen", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Press 1 for help", // English
+ "F�r Hilfe die 1 dr�cken", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Paina '1' n�hd�ksesi opasteen", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Timer conflict!", // English
- "Timer Konflikt!", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- " ", // suomi (empty space)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Timer conflict!", // English
+ "Timer Konflikt!", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ " ", // suomi (empty space)
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
+ "", // Dansk
#endif
#endif
#endif
#endif
- },
+ },
// Prefs
- { "show channel logos", // English
- "zeige Kanal-Logos", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Näytä kanavien logot", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ { "show channel logos", // English
+ "zeige Kanal-Logos", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "N�yt� kanavien logot", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "use XL fonts", // English
- "benutze XL Schrift", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Käytä XL-kirjasinta", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "use XL fonts", // English
+ "benutze XL Schrift", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "K�yt� XL-kirjasinta", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "hide info line", // English
- "verstecke Info Zeile", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Piilota inforivi", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "hide info line", // English
+ "verstecke Info Zeile", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Piilota inforivi", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "show channel names", // English
- "zeige Kanal-Namen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Näytä kanavien nimet", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "show channel names", // English
+ "zeige Kanal-Namen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "N�yt� kanavien nimet", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "show logos in black&white", // English
- "zeige Kanal-Logos in Schwarz/Weiß", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Näytä logot mustavalkoisina", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "show logos in black&white", // English
+ "zeige Kanal-Logos in Schwarz/Wei�", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "N�yt� logot mustavalkoisina", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "enable color problem work around", // English
- "Farbproblem Umgehung aktivieren", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Saksalainen värikorjaus", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "enable color problem work around", // English
+ "Farbproblem Umgehung aktivieren", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Saksalainen v�rikorjaus", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "user point in time 1 (Key 4)", // English
- "Anwenderzeitpunkt 1 (Taste 4)", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Ajankohta #1 (näppäin '4')", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "user point in time 1 (Key 4)", // English
+ "Anwenderzeitpunkt 1 (Taste 4)", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Ajankohta #1 (n�pp�in '4')", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "user point in time 2 (Key 5)", // English
- "Anwenderzeitpunkt 2 (Taste 5)", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Ajankohta #2 (näppäin '5')", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "user point in time 2 (Key 5)", // English
+ "Anwenderzeitpunkt 2 (Taste 5)", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Ajankohta #2 (n�pp�in '5')", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "user point in time 3 (Key 6)", // English
- "Anwenderzeitpunkt 3 (Taste 6)", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Ajankohta #3 (näppäin '6')", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "user point in time 3 (Key 6)", // English
+ "Anwenderzeitpunkt 3 (Taste 6)", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Ajankohta #3 (n�pp�in '6')", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "jump to next day point if ago", // English
- "Gehe zum nächsten Tag wenn vorbei", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Siirry tarvittaessa seur. päivään", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "jump to next day point if ago", // English
+ "Gehe zum n�chsten Tag wenn vorbei", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Siirry tarvittaessa seur. p�iv��n", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Show search item itself", // English
- "Zeige auch Suchbegriff", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Näytä hakuehto", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Show search item itself", // English
+ "Zeige auch Suchbegriff", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "N�yt� hakuehto", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
+ "", // Dansk
#endif
#endif
#endif
#endif
- },
+ },
// Help
- { "NORMAL MODE:", // English
- "NORMALER MODUS:", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "NORMAALITILA:\n", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ { "NORMAL MODE:", // English
+ "NORMALER MODUS:", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "NORMAALITILA:\n", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "arrows\n\tmove view", // English
- "Pfeile\n\tAnsicht bewegen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Nuolinäppäimet'\n\tohjaa näkymää", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "arrows\n\tmove view", // English
+ "Pfeile\n\tAnsicht bewegen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Nuolin�pp�imet'\n\tohjaa n�kym��", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "back\n\tclose TV OnScreen", // English
- "back\n\tschließe TV OnScreen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Takaisin'\n\tsulje laajennos", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "back\n\tclose TV OnScreen", // English
+ "back\n\tschlie�e TV OnScreen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Takaisin'\n\tsulje laajennos", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "red/blue\n\t-/+ one day", // English
- "rot/blau\n\t-/+ ein Tag", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Punainen'/'Sininen'\n\tyksi päivä eteen/taaksepäin", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "red/blue\n\t-/+ one day", // English
+ "rot/blau\n\t-/+ ein Tag", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Punainen'/'Sininen'\n\tyksi p�iv� eteen/taaksep�in", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "green/yellow\n\tone page left/right", // English
- "grün/gelb\n\teine Seite links/rechts", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Vihreä'/'Keltainen'\n\tseuraava/edellinen sivu", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "green/yellow\n\tone page left/right", // English
+ "gr�n/gelb\n\teine Seite links/rechts", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Vihre�'/'Keltainen'\n\tseuraava/edellinen sivu", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "7/9\n\tone page left/right", // English
- "7/9\n\teine Seite links/rechts", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'7'/'9'\n\tseuraava/edellinen sivu", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "7/9\n\tone page left/right", // English
+ "7/9\n\teine Seite links/rechts", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'7'/'9'\n\tseuraava/edellinen sivu", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "8\n\tgoto current channel", // English
- "8\n\tgehe zum aktuellen Kanal", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'8'\n\tsiirry nykyiselle kanavalle", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "8\n\tgoto current channel", // English
+ "8\n\tgehe zum aktuellen Kanal", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'8'\n\tsiirry nykyiselle kanavalle", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "0\n\tgoto now", // English
- "0\n\tgehe zur aktuellen Zeit", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'0'\n\tsiirry nykyhetkeen", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "0\n\tgoto now", // English
+ "0\n\tgehe zur aktuellen Zeit", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'0'\n\tsiirry nykyhetkeen", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "4/5/6\n\tgoto configured time", // English
- "4/5/6\n\tgehe zu eingestellten Zeitpunkten", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'4'/'5'/'6'\n\tsiirry määriteltyyn ajankohtaan", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "4/5/6\n\tgoto configured time", // English
+ "4/5/6\n\tgehe zu eingestellten Zeitpunkten", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'4'/'5'/'6'\n\tsiirry m��riteltyyn ajankohtaan", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "ok\n\tswitch to edit mode\n", // English
- "ok\n\taktiviere Editier-Modus\n", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'OK'\n\tvaihda muokkaustilaan\n", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "ok\n\tswitch to edit mode\n", // English
+ "ok\n\taktiviere Editier-Modus\n", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'OK'\n\tvaihda muokkaustilaan\n", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "EDIT MODE:", // English
- "EDITIER MODUS:", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "MUOKKAUSTILA:\n", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "EDIT MODE:", // English
+ "EDITIER MODUS:", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "MUOKKAUSTILA:\n", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "back\n\tback to normal mode", // English
- "back\n\tzurück zum normalen Modus", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Takaisin'\n\tvaihda normaalitilaan", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "back\n\tback to normal mode", // English
+ "back\n\tzur�ck zum normalen Modus", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Takaisin'\n\tvaihda normaalitilaan", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "arrows\n\tmove selected schedule", // English
- "Pfeile\n\tSendung auswählen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Nuolinäppäimet'\n\tvalitse ohjelma", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "arrows\n\tmove selected schedule", // English
+ "Pfeile\n\tSendung ausw�hlen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Nuolin�pp�imet'\n\tvalitse ohjelma", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "record\n\tcreate timer", // English
- "record\n\terzeuge Timer", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'Tallenna'\n\tluo ajastin", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "record\n\tcreate timer", // English
+ "record\n\terzeuge Timer", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'Tallenna'\n\tluo ajastin", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "ok\n\tshow details", // English
- "ok\n\tzeige Sendungsdetails", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "'OK'\n\tnäytä lisätiedot", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "ok\n\tshow details", // English
+ "ok\n\tzeige Sendungsdetails", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "'OK'\n\tn�yt� lis�tiedot", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
+ "", // Dansk
#endif
#endif
#endif
#endif
- },
+ },
// End Help
// Details
- { "Record", // English
- "Aufnehmen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Tallenna", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ { "Record", // English
+ "Aufnehmen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Tallenna", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Search", // English
- "Suchen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Etsi", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Search", // English
+ "Suchen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Etsi", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "AutoTimer", // English
- "AutoTimer", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "AutoTimer", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "AutoTimer", // English
+ "AutoTimer", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "AutoTimer", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Added AutoTimer to vdradmin.", // English
- "AutoTimer in vdradmin aufgenommen.", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "AutoTimer lisätty VDRAdminiin.", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Added AutoTimer to vdradmin.", // English
+ "AutoTimer in vdradmin aufgenommen.", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "AutoTimer lis�tty VDRAdminiin.", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Startoption 'vdradminfile' not set!", // English
- "Startoption 'vdradminfile' nicht gesetzt!", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Käynnistysoptio 'vdradminfile' puuttuu!", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Startoption 'vdradminfile' not set!", // English
+ "Startoption 'vdradminfile' nicht gesetzt!", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "K�ynnistysoptio 'vdradminfile' puuttuu!", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
+ "", // Dansk
#endif
#endif
#endif
#endif
- },
+ },
// Search
- { "Search for", // English
- "Suche nach", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Etsitään termiä", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ { "Search for", // English
+ "Suche nach", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Etsit��n termi�", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Searching...", // English
- "Suchen...", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Etsitään...", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Searching...", // English
+ "Suchen...", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Etsit��n...", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Nothing found!", // English
- "Nichts gefunden!", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "", // suomi
- "Ei löydetty!", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Nothing found!", // English
+ "Nichts gefunden!", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "", // suomi
+ "Ei l�ydetty!", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Back", // English
- "Zurück", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Takaisin", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Back", // English
+ "Zur�ck", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Takaisin", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "Details", // English
- "Details", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Lisätiedot", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "Details", // English
+ "Details", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Lis�tiedot", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
-#endif
-#endif
-#endif
-#endif
- },
- { "in all", // English
- "in allen", // Deutsch
- "", // Slovenski
- "", // Italiano
- "", // Nederlands
- "", // Português
- "", // Français
- "", // Norsk
- "Etsi kaikki", // suomi
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ
- "", // Svenska
- "", // Romaneste
- "", // Magyar
- "", // Català
+ "", // Dansk
+#endif
+#endif
+#endif
+#endif
+ },
+ { "in all", // English
+ "in allen", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Portugu�s
+ "", // Fran�ais
+ "", // Norsk
+ "Etsi kaikki", // suomi
+ "", // Polski
+ "", // Espa�ol
+ "", // ��������
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catal�
#if VDRVERSNUM >= 10302
- "" // ÀãááÚØÙ (Russian)
+ "" // ������� (Russian)
#if VDRVERSNUM >= 10307
- "", // Hrvatski (Croatian)
+ "", // Hrvatski (Croatian)
#if VDRVERSNUM >= 10313
- "", // Eesti
+ "", // Eesti
#if VDRVERSNUM >= 10316
- "", // Dansk
+ "", // Dansk
#endif
#endif
#endif
#endif
- },
+ },
- { NULL }
- };
+ { NULL }
+};
diff --git a/magazine.cpp b/magazine.cpp
index 6fe82b3..0668bad 100644
--- a/magazine.cpp
+++ b/magazine.cpp
@@ -16,809 +16,812 @@
static tArea Areas[NUMBER_OF_AREAS] =
{
#ifndef MULTINAMES
- { 8+45, 0, 8+45 + 188*2+184 - 1, 0 + 48/*20*/ - 1, 8 }, // NAMES_AREA
+ { 8+45, 0, 8+45 + 188*2+184 - 1, 0 + 48/*20*/ - 1, 8 }, // NAMES_AREA
#else
- { 8+45, 0, 8+45 + 184 - 1, 0 + 48/*20*/ - 1, 4 }, // NAME1_AREA
- { 8+45+188, 0, 8+45+188 + 184 - 1, 0 + 48/*20*/ - 1, 4 }, // NAME2_AREA
- { 8+45+188*2, 0, 8+45+188*2 + 184 - 1, 0 + 48/*20*/ - 1, 4 }, // NAME3_AREA
+ { 8+45, 0, 8+45 + 184 - 1, 0 + 48/*20*/ - 1, 4 }, // NAME1_AREA
+ { 8+45+188, 0, 8+45+188 + 184 - 1, 0 + 48/*20*/ - 1, 4 }, // NAME2_AREA
+ { 8+45+188*2, 0, 8+45+188*2 + 184 - 1, 0 + 48/*20*/ - 1, 4 }, // NAME3_AREA
#endif
- { 0, 0, 0 + 8+40 - 1, TL_YSTART + 384 - 1, 2 }, // TIMELINE_AREA
- { 8+45, TL_YSTART, 8+45 + 184 - 1, TL_YSTART + 384 - 1, 2 }, // SCHED1_AREA
- { 8+45+188, TL_YSTART, 8+45+188 + 184 - 1, TL_YSTART + 384 - 1, 2 }, // SCHED2_AREA
- { 8+45+188*2, TL_YSTART, 8+45+188*2 + 184 - 1, TL_YSTART + 384 - 1, 2 }, // SCHED3_AREA
- { 50, 384+TL_YSTART+8, 50 + 8+45+188*2+184-101 - 1, 384+TL_YSTART+8 + 20 - 1, 2 }, // CONTROL_AREA
+ { 0, 0, 0 + 8+40 - 1, TL_YSTART + 384 - 1, 2 }, // TIMELINE_AREA
+ { 8+45, TL_YSTART, 8+45 + 184 - 1, TL_YSTART + 384 - 1, 2 }, // SCHED1_AREA
+ { 8+45+188, TL_YSTART, 8+45+188 + 184 - 1, TL_YSTART + 384 - 1, 2 }, // SCHED2_AREA
+ { 8+45+188*2, TL_YSTART, 8+45+188*2 + 184 - 1, TL_YSTART + 384 - 1, 2 }, // SCHED3_AREA
+ { 50, 384+TL_YSTART+8, 50 + 8+45+188*2+184-101 - 1, 384+TL_YSTART+8 + 20 - 1, 2 }, // CONTROL_AREA
};
-static int CompareSchedules(const void *p1, const void *p2) {
+static int CompareSchedules(const void *p1, const void *p2)
+{
+
+ int c1nr = 9999; // there should be no one with more than 9999 channels
+ int c2nr = 9999;
- int c1nr = 9999; // there should be no one with more than 9999 channels
- int c2nr = 9999;
-
- cChannel* c1 = Channels.GetByChannelID((*(const cSchedule**)p1)->ChannelID(), true);
- if (c1)
- c1nr = c1->Number();
+ cChannel* c1 = Channels.GetByChannelID((*(const cSchedule**)p1)->ChannelID(), true);
+ if (c1)
+ c1nr = c1->Number();
- cChannel* c2 = Channels.GetByChannelID((*(const cSchedule**)p2)->ChannelID(), true);
- if (c2)
- c2nr = c2->Number();
+ cChannel* c2 = Channels.GetByChannelID((*(const cSchedule**)p2)->ChannelID(), true);
+ if (c2)
+ c2nr = c2->Number();
- return c1nr - c2nr;
+ return c1nr - c2nr;
}
magazine::magazine(class cPlugin *p)
{
- parent=p;
- const cSchedules* Schedules = cSchedules::Schedules(_schedulesLock);
-
- curmode=SHOW;
- EDIT_curEvent=0;
-
- f1=NULL;
- f2=NULL;
- f3=NULL;
- f4=NULL;
- me=NULL;
- met=NULL;
- mes=NULL;
-
- timeline_tested=false;
- timeline_found_conflict=false;
-
- // Create and sort entries for menu items
- // --------------------------------------
-
- const cSchedule* Schedule = Schedules->First();
-
- int num = 0;
- schedArray = NULL;
- while (Schedule)
- {
- schedArray = (const cSchedule **)realloc(schedArray, (num + 1) * sizeof(cSchedule*));
-
- if (Schedule->GetPresentEvent())
- { // if there exist an event -> add to array
- // check if we can get a channel NAME ( XXX )
- // I thougt that this must always work , but doesn't
- cChannel *c = Channels.GetByChannelID(Schedule->ChannelID(), true);
- if (c)
- {
- schedArray[num] = Schedule;
- ++num;
- }
- }
- Schedule = (const cSchedule*)Schedules->Next(Schedule);
- }
- schedArrayNum=num;
- qsort(schedArray, num, sizeof(cSchedule*), CompareSchedules);
- currentFirst=0;
-
- cChannel *cchannel=Channels.GetByNumber(cDevice::CurrentChannel());
- if (cchannel)
- {
- int currentChannel = cchannel->Number();
- for(int i=0;i<schedArrayNum;i++)
- {
- cChannel *channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
- if (channel->Number()==currentChannel)
- {
- currentFirst=i-1;
- if (currentFirst<0)
- currentFirst=0;
- break;
- }
- }
- }
- ev1=NULL;
- ev2=NULL;
- ev3=NULL;
- fullHours=NULL;
- fullHours_tmp1=NULL;
- fullHours_tmp2=NULL;
- fullHours_tmp3=NULL;
-
- currentFirstTime=time(NULL);
+ parent=p;
+ const cSchedules* Schedules = cSchedules::Schedules(_schedulesLock);
+
+ curmode=SHOW;
+ EDIT_curEvent=0;
+
+ f1=NULL;
+ f2=NULL;
+ f3=NULL;
+ f4=NULL;
+ me=NULL;
+ met=NULL;
+ mes=NULL;
+
+ timeline_tested=false;
+ timeline_found_conflict=false;
+
+ // Create and sort entries for menu items
+ // --------------------------------------
+
+ const cSchedule* Schedule = Schedules->First();
+
+ int num = 0;
+ schedArray = NULL;
+ while (Schedule)
+ {
+ schedArray = (const cSchedule **)realloc(schedArray, (num + 1) * sizeof(cSchedule*));
+
+ if (Schedule->GetPresentEvent())
+ {
+ // if there exist an event -> add to array
+ // check if we can get a channel NAME ( XXX )
+ // I thougt that this must always work , but doesn't
+ cChannel *c = Channels.GetByChannelID(Schedule->ChannelID(), true);
+ if (c)
+ {
+ schedArray[num] = Schedule;
+ ++num;
+ }
+ }
+ Schedule = (const cSchedule*)Schedules->Next(Schedule);
+ }
+ schedArrayNum=num;
+ qsort(schedArray, num, sizeof(cSchedule*), CompareSchedules);
+ currentFirst=0;
+
+ cChannel *cchannel=Channels.GetByNumber(cDevice::CurrentChannel());
+ if (cchannel)
+ {
+ int currentChannel = cchannel->Number();
+ for (int i=0;i<schedArrayNum;i++)
+ {
+ cChannel *channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
+ if (channel->Number()==currentChannel)
+ {
+ currentFirst=i-1;
+ if (currentFirst<0)
+ currentFirst=0;
+ break;
+ }
+ }
+ }
+ ev1=NULL;
+ ev2=NULL;
+ ev3=NULL;
+ fullHours=NULL;
+ fullHours_tmp1=NULL;
+ fullHours_tmp2=NULL;
+ fullHours_tmp3=NULL;
+
+ currentFirstTime=time(NULL);
}
magazine::~magazine(void)
{
- if (me)
- {
- delete me;
- me=NULL;
- }
- if (met)
- {
- delete met;
- met=NULL;
- }
- if (mes)
- {
- delete mes;
- mes=NULL;
- }
-
- delete [] fullHours_tmp3;
- delete [] fullHours_tmp2;
- delete [] fullHours_tmp1;
- delete [] fullHours;
- delete [] ev1;
- delete [] ev2;
- delete [] ev3;
-
- delete f1;
- delete f2;
- delete f3;
- delete f4;
-
- free(schedArray);
- delete osd;
+ if (me)
+ {
+ delete me;
+ me=NULL;
+ }
+ if (met)
+ {
+ delete met;
+ met=NULL;
+ }
+ if (mes)
+ {
+ delete mes;
+ mes=NULL;
+ }
+
+ delete [] fullHours_tmp3;
+ delete [] fullHours_tmp2;
+ delete [] fullHours_tmp1;
+ delete [] fullHours;
+ delete [] ev1;
+ delete [] ev2;
+ delete [] ev3;
+
+ delete f1;
+ delete f2;
+ delete f3;
+ delete f4;
+
+ free(schedArray);
+ delete osd;
}
void magazine::printLogo(const cSchedule *s,int p)
{
- cChannel* channel;
- const char *txt;
- int x=184*p+p*4;
- int currentChannel;
-
+ cChannel* channel;
+ const char *txt;
+ int x=184*p+p*4;
+ int currentChannel;
+
#ifdef MULTINAMES
- int a=0;
- switch (p)
- {
- case 0:
- default:
- a=NAME1_AREA;
- break;
- case 1:
- a=NAME2_AREA;
- break;
- case 2:
- a=NAME3_AREA;
- break;
- }
- x=0;
+ int a=0;
+ switch (p)
+ {
+ case 0:
+ default:
+ a=NAME1_AREA;
+ break;
+ case 1:
+ a=NAME2_AREA;
+ break;
+ case 2:
+ a=NAME3_AREA;
+ break;
+ }
+ x=0;
#else
- int a=NAMES_AREA;
+ int a=NAMES_AREA;
#endif
- if (s!=NULL)
- {
- currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
- channel = Channels.GetByChannelID(s->ChannelID(), true);
- txt=channel->ShortName(true);
- // logo: 64x48px
-
- const char *ConfigDirectory=cPlugin::ConfigDirectory("logos");
- if (tvonscreenCfg.logos)
- ConfigDirectory=tvonscreenCfg.logos;
- char *fname=new char[strlen(ConfigDirectory) + 1 + strlen(txt) + strlen(".xpm") + 1];
- sprintf(fname,"%s/%s.xpm",ConfigDirectory,txt);
- DrawXpm(fname,osd,x+Areas[a].x1,Areas[a].y1,0,tvonscreenCfg.bwlogos);
- }
+ if (s!=NULL)
+ {
+ currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
+ channel = Channels.GetByChannelID(s->ChannelID(), true);
+ txt=channel->ShortName(true);
+ // logo: 64x48px
+
+ const char *ConfigDirectory=cPlugin::ConfigDirectory("logos");
+ if (tvonscreenCfg.logos)
+ ConfigDirectory=tvonscreenCfg.logos;
+ char *fname=new char[strlen(ConfigDirectory) + 1 + strlen(txt) + strlen(".xpm") + 1];
+ sprintf(fname,"%s/%s.xpm",ConfigDirectory,txt);
+ DrawXpm(fname,osd,x+Areas[a].x1,Areas[a].y1,0,tvonscreenCfg.bwlogos);
+ }
}
void magazine::printHead(const cSchedule *s,int p)
{
- cChannel* channel;
- const char *txt;
- int x=184*p+p*4;
- int currentChannel;
- int wmin=0,yoff=0;
-
- if (tvonscreenCfg.showLogos)
- wmin=64;
-
+ cChannel* channel;
+ const char *txt;
+ int x=184*p+p*4;
+ int currentChannel;
+ int wmin=0,yoff=0;
+
+ if (tvonscreenCfg.showLogos)
+ wmin=64;
+
#ifdef MULTINAMES
- int a;
- switch (p)
- {
- case 0:
- default:
- a=NAME1_AREA;
- break;
- case 1:
- a=NAME2_AREA;
- break;
- case 2:
- a=NAME3_AREA;
- break;
- }
- x=0;
+ int a;
+ switch (p)
+ {
+ case 0:
+ default:
+ a=NAME1_AREA;
+ break;
+ case 1:
+ a=NAME2_AREA;
+ break;
+ case 2:
+ a=NAME3_AREA;
+ break;
+ }
+ x=0;
#else
- int a=NAMES_AREA;
+ int a=NAMES_AREA;
#endif
#if TL_YSTART == 48
- yoff=28;
- osd->DrawRectangle(x+Areas[a].x1,0+Areas[a].y1+0,x+Areas[a].x1+188,Areas[a].y1+48,clrTransparent);
- osd->DrawEllipse(x+Areas[a].x1+182-28,0+Areas[a].y1,x+Areas[a].x1+182,Areas[a].y1+28,clrGrey,1);
- osd->DrawEllipse(x+Areas[a].x1+182-28-2,0+Areas[a].y1+2,x+Areas[a].x1+182-2,Areas[a].y1+28+2,clrTransparent,1);
+ yoff=28;
+ osd->DrawRectangle(x+Areas[a].x1,0+Areas[a].y1+0,x+Areas[a].x1+188,Areas[a].y1+48,clrTransparent);
+ osd->DrawEllipse(x+Areas[a].x1+182-28,0+Areas[a].y1,x+Areas[a].x1+182,Areas[a].y1+28,clrGrey,1);
+ osd->DrawEllipse(x+Areas[a].x1+182-28-2,0+Areas[a].y1+2,x+Areas[a].x1+182-2,Areas[a].y1+28+2,clrTransparent,1);
- osd->DrawEllipse(x+Areas[a].x1,Areas[a].y1,x+Areas[a].x1+28,Areas[a].y1+28,clrGrey,2);
- osd->DrawEllipse(x+Areas[a].x1+2,Areas[a].y1+2,x+Areas[a].x1+28+2,Areas[a].y1+28+2,clrTransparent,2);
+ osd->DrawEllipse(x+Areas[a].x1,Areas[a].y1,x+Areas[a].x1+28,Areas[a].y1+28,clrGrey,2);
+ osd->DrawEllipse(x+Areas[a].x1+2,Areas[a].y1+2,x+Areas[a].x1+28+2,Areas[a].y1+28+2,clrTransparent,2);
- osd->DrawRectangle(x+Areas[a].x1+28,0+Areas[a].y1,x+Areas[a].x1+182-28,Areas[a].y1+2,clrGrey);
- osd->DrawRectangle(x+Areas[a].x1+182-2,0+Areas[a].y1+28,x+Areas[a].x1+182,Areas[a].y1+28+20,clrGrey);
- osd->DrawRectangle(x+Areas[a].x1,0+Areas[a].y1+28,x+Areas[a].x1+2,Areas[a].y1+28+20,clrGrey); // nie zu sehen, außer wenn kein Logo gefunden wird
+ osd->DrawRectangle(x+Areas[a].x1+28,0+Areas[a].y1,x+Areas[a].x1+182-28,Areas[a].y1+2,clrGrey);
+ osd->DrawRectangle(x+Areas[a].x1+182-2,0+Areas[a].y1+28,x+Areas[a].x1+182,Areas[a].y1+28+20,clrGrey);
+ osd->DrawRectangle(x+Areas[a].x1,0+Areas[a].y1+28,x+Areas[a].x1+2,Areas[a].y1+28+20,clrGrey); // nie zu sehen, au�er wenn kein Logo gefunden wird
- if (p==2) DrawXpm(TVonscreen,osd,x+Areas[a].x1+182-110,0+Areas[a].y1);
+ if (p==2) DrawXpm(TVonscreen,osd,x+Areas[a].x1+182-110,0+Areas[a].y1);
- if (tvonscreenCfg.showChannels || !tvonscreenCfg.showLogos)
+ if (tvonscreenCfg.showChannels || !tvonscreenCfg.showLogos)
#endif
- osd->DrawRectangle(x+Areas[a].x1,yoff+Areas[a].y1,x+Areas[a].x1+182,Areas[a].y1+20+yoff,clrBlue);
-
- if (tvonscreenCfg.showChannels || !tvonscreenCfg.showLogos)
- {
- if (s!=NULL)
- {
- tColor col=clrWhite;
-
- currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
- channel = Channels.GetByChannelID(s->ChannelID(), true);
- if (currentChannel==channel->Number())
- {
- col=clrCyan;
- }
- txt=channel->ShortName(true);
-
- if (!tvonscreenCfg.XLfonts || f3->LargeWidth(txt)>=184-wmin)
- f3->Text(wmin+x+Areas[a].x1+(184-wmin-f3->Width(txt))/2,Areas[a].y1+yoff-1,txt,col,clrBlue);
- else
- f3->LargeText(wmin+x+Areas[a].x1+(184-wmin-f3->LargeWidth(txt))/2,Areas[a].y1+yoff-1,txt,col,clrBlue);
- }
- }
+ osd->DrawRectangle(x+Areas[a].x1,yoff+Areas[a].y1,x+Areas[a].x1+182,Areas[a].y1+20+yoff,clrBlue);
+
+ if (tvonscreenCfg.showChannels || !tvonscreenCfg.showLogos)
+ {
+ if (s!=NULL)
+ {
+ tColor col=clrWhite;
+
+ currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
+ channel = Channels.GetByChannelID(s->ChannelID(), true);
+ if (currentChannel==channel->Number())
+ {
+ col=clrCyan;
+ }
+ txt=channel->ShortName(true);
+
+ if (!tvonscreenCfg.XLfonts || f3->LargeWidth(txt)>=184-wmin)
+ f3->Text(wmin+x+Areas[a].x1+(184-wmin-f3->Width(txt))/2,Areas[a].y1+yoff-1,txt,col,clrBlue);
+ else
+ f3->LargeText(wmin+x+Areas[a].x1+(184-wmin-f3->LargeWidth(txt))/2,Areas[a].y1+yoff-1,txt,col,clrBlue);
+ }
+ }
}
void magazine::showHeads(bool onlyBG)
{
- const cSchedule *s1=NULL,*s2=NULL,*s3=NULL;
-
- if (!onlyBG)
- {
- s1=schedArrayNum>currentFirst?schedArray[currentFirst]:NULL;
- s2=schedArrayNum>currentFirst+1?schedArray[currentFirst+1]:NULL;
- s3=schedArrayNum>currentFirst+2?schedArray[currentFirst+2]:NULL;
- }
-
- printHead(s1,0);
- printHead(s2,1);
- printHead(s3,2);
-
- if (tvonscreenCfg.showLogos)
- {
- printLogo(s1,0);
- printLogo(s2,1);
- printLogo(s3,2);
- }
+ const cSchedule *s1=NULL,*s2=NULL,*s3=NULL;
+
+ if (!onlyBG)
+ {
+ s1=schedArrayNum>currentFirst?schedArray[currentFirst]:NULL;
+ s2=schedArrayNum>currentFirst+1?schedArray[currentFirst+1]:NULL;
+ s3=schedArrayNum>currentFirst+2?schedArray[currentFirst+2]:NULL;
+ }
+
+ printHead(s1,0);
+ printHead(s2,1);
+ printHead(s3,2);
+
+ if (tvonscreenCfg.showLogos)
+ {
+ printLogo(s1,0);
+ printLogo(s2,1);
+ printLogo(s3,2);
+ }
}
void magazine::showKeys(void)
{
- char txt[100];
- osd->DrawRectangle(Areas[CONTROL_AREA].x1, Areas[CONTROL_AREA].y1, Areas[CONTROL_AREA].x2+1, Areas[CONTROL_AREA].y2+1, clrTransparent);
- if (tvonscreenCfg.noInfoLine)
- return;
-
- txt[0]=0;
- if (curmode==SHOW)
- {
- sprintf(txt,"%s",tr("Press 1 for help"));
- }
- f4->Text(Areas[CONTROL_AREA].x1+(8+45+188*2+184-101-f4->Width(txt))/2,Areas[CONTROL_AREA].y1,txt,clrWhite,clrBackground);
+ char txt[100];
+ osd->DrawRectangle(Areas[CONTROL_AREA].x1, Areas[CONTROL_AREA].y1, Areas[CONTROL_AREA].x2+1, Areas[CONTROL_AREA].y2+1, clrTransparent);
+ if (tvonscreenCfg.noInfoLine)
+ return;
+
+ txt[0]=0;
+ if (curmode==SHOW)
+ {
+ sprintf(txt,"%s",tr("Press 1 for help"));
+ }
+ f4->Text(Areas[CONTROL_AREA].x1+(8+45+188*2+184-101-f4->Width(txt))/2,Areas[CONTROL_AREA].y1,txt,clrWhite,clrBackground);
}
void magazine::showTimeline(void)
{
- int lh=-1;
- int lhc=0;
- tColor hgr[]={clrBlue,clrBlack};
- char dtxt[50];
- time_t t1;
- struct tm tm_r1;
-
- t1=currentFirstTime;
- localtime_r(&t1,&tm_r1);
-
- osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,48,400+TL_YSTART,clrBlack);
- for(int i=0;i<evnum;i++)
- {
- int y=i*f1->Height()+TL_YSTART;
- if (lh!=fullHours[i] && fullHours[i]>=0)
- {
- lh=fullHours[i];
- lhc=lh&1;
- }
- osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,y+Areas[TIMELINE_AREA].y1,48,y+f1->Height(),hgr[lhc]);
- }
+ int lh=-1;
+ int lhc=0;
+ tColor hgr[]={clrBlue,clrBlack};
+ char dtxt[50];
+ time_t t1;
+ struct tm tm_r1;
+
+ t1=currentFirstTime;
+ localtime_r(&t1,&tm_r1);
+
+ osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,48,400+TL_YSTART,clrBlack);
+ for (int i=0;i<evnum;i++)
+ {
+ int y=i*f1->Height()+TL_YSTART;
+ if (lh!=fullHours[i] && fullHours[i]>=0)
+ {
+ lh=fullHours[i];
+ lhc=lh&1;
+ }
+ osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,y+Areas[TIMELINE_AREA].y1,48,y+f1->Height(),hgr[lhc]);
+ }
#if TL_YSTART == 24
- strftime(dtxt,sizeof(dtxt),tr("%d-%m"),&tm_r1);
- f3->Text((48-f3->Width(dtxt))/2+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,dtxt,clrWhite,clrBlack);
+ strftime(dtxt,sizeof(dtxt),tr("%d-%m"),&tm_r1);
+ f1->Text((48-f1->Width(dtxt))/2+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,dtxt,clrWhite,clrBlack);
#else
- strcpy(dtxt,WeekDayName(tm_r1.tm_wday));
- osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,Areas[TIMELINE_AREA].x1+48,Areas[TIMELINE_AREA].y1+f3->Height()*2,clrWhite);
- osd->DrawRectangle(2+Areas[TIMELINE_AREA].x1,2+Areas[TIMELINE_AREA].y1,Areas[TIMELINE_AREA].x1+48-2,Areas[TIMELINE_AREA].y1+f3->Height(),clrBlack);
- f3->Text((48-f3->Width(dtxt))/2+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,dtxt,clrWhite,clrBlack);
- strftime(dtxt,sizeof(dtxt),tr("%d-%m"),&tm_r1);
- f3->Text((48-f3->Width(dtxt))/2+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1+f3->Height(),dtxt,clrBlack,clrWhite);
+ strcpy(dtxt,WeekDayName(tm_r1.tm_wday));
+ osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,Areas[TIMELINE_AREA].x1+48,Areas[TIMELINE_AREA].y1+f1->Height()*2,clrWhite);
+ osd->DrawRectangle(2+Areas[TIMELINE_AREA].x1,2+Areas[TIMELINE_AREA].y1,Areas[TIMELINE_AREA].x1+48-2,Areas[TIMELINE_AREA].y1+f1->Height(),clrBlack);
+ f1->Text((48-f1->Width(dtxt))/2+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1,dtxt,clrWhite,clrBlack);
+ strftime(dtxt,sizeof(dtxt),tr("%d-%m"),&tm_r1);
+ f1->Text((48-f1->Width(dtxt))/2+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1+f1->Height(),dtxt,clrBlack,clrWhite);
#endif
- for(int i=0;i<evnum;i++)
- {
- int y=i*f1->Height()+TL_YSTART;
- if (fullHours[i]>=0 && lh!=fullHours[i])
- {
- char txt[50];
- sprintf(txt,"%02d",fullHours[i]);
- lh=fullHours[i];
- f1->Text((48-f1->Width(txt))/2+Areas[TIMELINE_AREA].x1,y+Areas[TIMELINE_AREA].y1,txt,clrWhite,clrBlack);
- if (i+1<evnum && (fullHours[i+1]==lh || fullHours[i+1]==-1))
- {
- strcpy(txt,tr("o'clock"));
- f2->Text((48-f2->Width(txt))/2+Areas[TIMELINE_AREA].x1,y+f1->Height()+Areas[TIMELINE_AREA].y1,txt,clrWhite,clrBlack);
- }
- }
- }
+ for (int i=0;i<evnum;i++)
+ {
+ int y=i*f1->Height()+TL_YSTART;
+ if (fullHours[i]>=0 && lh!=fullHours[i])
+ {
+ char txt[50];
+ sprintf(txt,"%02d",fullHours[i]);
+ lh=fullHours[i];
+ f1->Text((48-f1->Width(txt))/2+Areas[TIMELINE_AREA].x1,y+Areas[TIMELINE_AREA].y1,txt,clrWhite,clrBlack);
+ if (i+1<evnum && (fullHours[i+1]==lh || fullHours[i+1]==-1))
+ {
+ strcpy(txt,tr("o'clock"));
+ f2->Text((48-f2->Width(txt))/2+Areas[TIMELINE_AREA].x1,y+f1->Height()+Areas[TIMELINE_AREA].y1,txt,clrWhite,clrBlack);
+ }
+ }
+ }
}
void magazine::showSched(const cSchedule *s,cEvent **ev,tMagazineArea area)
{
- cEvent *oldev=NULL,*cev=NULL;
-
- int j=0;
- const char *txt;
- cString timetxt;
- int lh=-1;
- int lhc=0;
-
- tColor hgr[]={clrGrey,clrBackground};
- tColor col=clrWhite;
-
- osd->DrawRectangle(Areas[area].x1, Areas[area].y1, Areas[area].x2+1, Areas[area].y2+1, clrGray50);
-
- for(int i=0;i<evnum;i++)
- {
- int y=i*f1->Height(); //+24;
- if (lh!=fullHours[i] && fullHours[i]>=0)
- {
- lh=fullHours[i];
- lhc=lh&1;
- }
- osd->DrawRectangle(Areas[area].x1,Areas[area].y1+y,Areas[area].x1+184,Areas[area].y1+y+f1->Height(),hgr[lhc]);
- }
- for(int i=0;i<evnum;i++)
- {
- int y=i*f1->Height(); //+24;
- cev=ev[i];
- if (cev!=NULL)
- {
- if (oldev!=cev)
- {
- if (oldev)
- {
- txt=oldev->ShortText();
- int cc=f2->TextHeight(184-f1->Width("00:0"),txt);
- if (cc<=i-j)
- {
- f2->Text(f1->Width("00:0")+Areas[area].x1,(j)*f1->Height()+Areas[area].y1,184-f1->Width("00:0"),i-j,txt,col,clrBackground);
- }
- }
- col=clrWhite;
- if (EDIT_curEvent==cev->EventID())
- {
- col=clrYellow;
- EDIT_curEVI=i;
- }
- timetxt=cev->GetTimeString();
- txt=cev->Title();
- if (i+f1->TextHeight(f1->Width("00:00 ")+Areas[area].x1,txt)>=evnum)
- break;
- f1->Text(Areas[area].x1,y+Areas[area].y1,timetxt,col,clrBackground);
- j=i+f1->Text(f1->Width("00:00 ")+Areas[area].x1,y+Areas[area].y1,184-f1->Width("00:00 "),20,txt,col,clrBackground);
- oldev=cev;
- }
- }
- }
- if (oldev)
- {
- txt=oldev->ShortText();
- if (j+f2->TextHeight(f1->Width("00:00")+Areas[area].x1,txt)>=evnum)
- f2->Text(f1->Width("00:0")+Areas[area].x1,j*f1->Height()+Areas[area].y1,184-f1->Width("00:0"),evnum-j,txt,col,clrBackground);
- }
- if (!EDIT_curEvent)
- {
- if (!timeline_tested)
- {
- timeline_tested=true;
- cPlugin *p = cPluginManager::GetPlugin("timeline");
- if (p)
- {
- char *args[]={"timeline_command_interface","conflicts"};
- timeline_found_conflict=p->ProcessArgs(1,args);
- }
- }
- if (timeline_found_conflict)
- {
- osd->DrawRectangle(Areas[area].x1,Areas[area].y2-f2->Height()-6,Areas[area].x1+184,Areas[area].y2+1,clrWhite);
- osd->DrawRectangle(Areas[area].x1,Areas[area].y2-f2->Height()-4,Areas[area].x1+184,Areas[area].y2+1,clrYellow);
- const char *txt=tr("Timer conflict!");
- int x=(184-f2->Width(txt))/2;
- f2->Text(x+Areas[area].x1,Areas[area].y2-f2->Height()-4,txt,clrBackground,clrYellow);
- }
- }
+ cEvent *oldev=NULL,*cev=NULL;
+
+ int j=0;
+ const char *txt;
+ cString timetxt;
+ int lh=-1;
+ int lhc=0;
+
+ tColor hgr[]={clrGrey,clrBackground};
+ tColor col=clrWhite;
+
+ osd->DrawRectangle(Areas[area].x1, Areas[area].y1, Areas[area].x2+1, Areas[area].y2+1, clrGray50);
+
+ for (int i=0;i<evnum;i++)
+ {
+ int y=i*f1->Height(); //+24;
+ if (lh!=fullHours[i] && fullHours[i]>=0)
+ {
+ lh=fullHours[i];
+ lhc=lh&1;
+ }
+ osd->DrawRectangle(Areas[area].x1,Areas[area].y1+y,Areas[area].x1+184,Areas[area].y1+y+f1->Height(),hgr[lhc]);
+ }
+ for (int i=0;i<evnum;i++)
+ {
+ int y=i*f1->Height(); //+24;
+ cev=ev[i];
+ if (cev!=NULL)
+ {
+ if (oldev!=cev)
+ {
+ if (oldev)
+ {
+ txt=oldev->ShortText();
+ int cc=f2->TextHeight(184-f1->Width("00:0"),txt);
+ if (cc<=i-j)
+ {
+ f2->Text(f1->Width("00:0")+Areas[area].x1,(j)*f1->Height()+Areas[area].y1,184-f1->Width("00:0"),i-j,txt,col,clrBackground);
+ }
+ }
+ col=clrWhite;
+ if (EDIT_curEvent==cev->EventID())
+ {
+ col=clrYellow;
+ EDIT_curEVI=i;
+ }
+ timetxt=cev->GetTimeString();
+ txt=cev->Title();
+ if (i+f1->TextHeight(f1->Width("00:00 ")+Areas[area].x1,txt)>=evnum)
+ break;
+ f1->Text(Areas[area].x1,y+Areas[area].y1,timetxt,col,clrBackground);
+ j=i+f1->Text(f1->Width("00:00 ")+Areas[area].x1,y+Areas[area].y1,184-f1->Width("00:00 "),20,txt,col,clrBackground);
+ oldev=cev;
+ }
+ }
+ }
+ if (oldev)
+ {
+ txt=oldev->ShortText();
+ if (j+f2->TextHeight(f1->Width("00:00")+Areas[area].x1,txt)>=evnum)
+ f2->Text(f1->Width("00:0")+Areas[area].x1,j*f1->Height()+Areas[area].y1,184-f1->Width("00:0"),evnum-j,txt,col,clrBackground);
+ }
+ if (!EDIT_curEvent)
+ {
+ if (!timeline_tested)
+ {
+ timeline_tested=true;
+ cPlugin *p = cPluginManager::GetPlugin("timeline");
+ if (p)
+ {
+ char *args[]={"timeline_command_interface","conflicts"};
+ timeline_found_conflict=p->ProcessArgs(1,args);
+ }
+ }
+ if (timeline_found_conflict)
+ {
+ osd->DrawRectangle(Areas[area].x1,Areas[area].y2-f2->Height()-6,Areas[area].x1+184,Areas[area].y2+1,clrWhite);
+ osd->DrawRectangle(Areas[area].x1,Areas[area].y2-f2->Height()-4,Areas[area].x1+184,Areas[area].y2+1,clrYellow);
+ const char *txt=tr("Timer conflict!");
+ int x=(184-f2->Width(txt))/2;
+ f2->Text(x+Areas[area].x1,Areas[area].y2-f2->Height()-4,txt,clrBackground,clrYellow);
+ }
+ }
}
void magazine::showScheds()
{
- const cSchedule *s1=schedArrayNum>currentFirst?schedArray[currentFirst]:NULL;
- const cSchedule *s2=schedArrayNum>currentFirst+1?schedArray[currentFirst+1]:NULL;
- const cSchedule *s3=schedArrayNum>currentFirst+2?schedArray[currentFirst+2]:NULL;
-
- if (s1!=NULL)
- {
- showSched(s1,ev1,SCHED1_AREA);
- }
-
- if (s2!=NULL)
- {
- showSched(s2,ev2,SCHED2_AREA);
- }
-
- if (s3!=NULL)
- {
- showSched(s3,ev3,SCHED3_AREA);
- }
+ const cSchedule *s1=schedArrayNum>currentFirst?schedArray[currentFirst]:NULL;
+ const cSchedule *s2=schedArrayNum>currentFirst+1?schedArray[currentFirst+1]:NULL;
+ const cSchedule *s3=schedArrayNum>currentFirst+2?schedArray[currentFirst+2]:NULL;
+
+ if (s1!=NULL)
+ {
+ showSched(s1,ev1,SCHED1_AREA);
+ }
+
+ if (s2!=NULL)
+ {
+ showSched(s2,ev2,SCHED2_AREA);
+ }
+
+ if (s3!=NULL)
+ {
+ showSched(s3,ev3,SCHED3_AREA);
+ }
}
const cEvent *magazine::getNext(const cSchedule *s,const cEvent *e)
{
- if (e == NULL)
- return NULL;
-
- const cEvent *pe = NULL;
- time_t ref = e->StartTime();
-
- time_t delta = INT_MAX;
-
- for (int i=0;i< (s->Events())->Count();i++)
- {
- const cEvent *p = (s->Events())->Get(i);
- if (p!=e)
- {
- time_t dt = p->StartTime() - ref;
- if (dt > 0 && dt < delta)
- {
- delta = dt;
- pe = p;
- }
- }
- }
- return pe;
+ if (e == NULL)
+ return NULL;
+
+ const cEvent *pe = NULL;
+ time_t ref = e->StartTime();
+
+ time_t delta = INT_MAX;
+
+ for (int i=0;i< (s->Events())->Count();i++)
+ {
+ const cEvent *p = (s->Events())->Get(i);
+ if (p!=e)
+ {
+ time_t dt = p->StartTime() - ref;
+ if (dt > 0 && dt < delta)
+ {
+ delta = dt;
+ pe = p;
+ }
+ }
+ }
+ return pe;
}
const cEvent *magazine::getPrev(const cSchedule *s,const cEvent *e)
{
- if (e == NULL)
- return NULL;
-
- const cEvent *pe = NULL;
- time_t ref = e->StartTime();
- time_t delta = INT_MAX;
-
-
- for (int i=0;i< (s->Events())->Count();i++)
- {
- const cEvent *p = (s->Events())->Get(i);
-
- if (p!=e)
- {
- time_t dt = ref - p->StartTime();
- if (dt > 0 && dt < delta)
- {
- delta = dt;
- pe = p;
- }
- }
- }
- return pe;
+ if (e == NULL)
+ return NULL;
+
+ const cEvent *pe = NULL;
+ time_t ref = e->StartTime();
+ time_t delta = INT_MAX;
+
+
+ for (int i=0;i< (s->Events())->Count();i++)
+ {
+ const cEvent *p = (s->Events())->Get(i);
+
+ if (p!=e)
+ {
+ time_t dt = ref - p->StartTime();
+ if (dt > 0 && dt < delta)
+ {
+ delta = dt;
+ pe = p;
+ }
+ }
+ }
+ return pe;
}
void magazine::calcSched(const cSchedule *s,cEvent **ev)
{
- const cEvent *cev=NULL;
- const cEvent *cev2=NULL;
- int cc=0;
-
- for(int i=0;i<evnum;i++)
- {
- ev[i]=NULL;
- if (cev==NULL)
- {
- cev=s->GetEventAround(currentFirstTime);
- cev2=NULL;
- if (cev)
- {
- cc=f1->TextHeight(184-f1->Width("00:00 "),cev->Title());
- time_t t=cev->StartTime();
- struct tm tm_r;
- localtime_r(&t,&tm_r);
- fullHours[i]=tm_r.tm_hour; //mzlog(0," fH[%d]=%d '%s'",i,tm_r.tm_hour,cev->Title());
- }
- }
- else
- {
- if (!cev2)
- cev2=getNext(s,cev);
- if (cev2 && cc--<=1)
- {
- int z=(cev2->StartTime()-currentFirstTime)*6/60/60;
- if (z<i)
- {
- cev=cev2;
- cev2=NULL;
-
- cc=f1->TextHeight(184-f1->Width("00:00 "),cev->Title());
- time_t t=cev->StartTime();
-
- struct tm tm_r;
- localtime_r(&t,&tm_r);
- fullHours[i]=tm_r.tm_hour; //mzlog(0," fH[%d]=%d '%s'",i,tm_r.tm_hour,cev->Title());
- }
- }
- }
- ev[i]=(cEvent *)cev;
- }
+ const cEvent *cev=NULL;
+ const cEvent *cev2=NULL;
+ int cc=0;
+
+ for (int i=0;i<evnum;i++)
+ {
+ ev[i]=NULL;
+ if (cev==NULL)
+ {
+ cev=s->GetEventAround(currentFirstTime);
+ cev2=NULL;
+ if (cev)
+ {
+ cc=f1->TextHeight(184-f1->Width("00:00 "),cev->Title());
+ time_t t=cev->StartTime();
+ struct tm tm_r;
+ localtime_r(&t,&tm_r);
+ fullHours[i]=tm_r.tm_hour; //mzlog(0," fH[%d]=%d '%s'",i,tm_r.tm_hour,cev->Title());
+ }
+ }
+ else
+ {
+ if (!cev2)
+ cev2=getNext(s,cev);
+ if (cev2 && cc--<=1)
+ {
+ int z=(cev2->StartTime()-currentFirstTime)*6/60/60;
+ if (z<i)
+ {
+ cev=cev2;
+ cev2=NULL;
+
+ cc=f1->TextHeight(184-f1->Width("00:00 "),cev->Title());
+ time_t t=cev->StartTime();
+
+ struct tm tm_r;
+ localtime_r(&t,&tm_r);
+ fullHours[i]=tm_r.tm_hour; //mzlog(0," fH[%d]=%d '%s'",i,tm_r.tm_hour,cev->Title());
+ }
+ }
+ }
+ ev[i]=(cEvent *)cev;
+ }
}
void magazine::calcScheds()
{
- const cSchedule *s1=schedArrayNum>currentFirst?schedArray[currentFirst]:NULL;
- const cSchedule *s2=schedArrayNum>currentFirst+1?schedArray[currentFirst+1]:NULL;
- const cSchedule *s3=schedArrayNum>currentFirst+2?schedArray[currentFirst+2]:NULL;
-
- for(int i=0;i<evnum;i++)
- {
- fullHours[i]=-1;
- fullHours_tmp1[i]=-1;
- fullHours_tmp2[i]=-1;
- fullHours_tmp3[i]=-1;
- }
-
- if (s1!=NULL)
- {
- calcSched(s1,ev1);
- for(int i=0;i<evnum;i++)
- {
- fullHours_tmp1[i]=fullHours[i];
- fullHours[i]=-1;
- }
- }
-
- if (s2!=NULL)
- {
- calcSched(s2,ev2);
- for(int i=0;i<evnum;i++)
- {
- fullHours_tmp2[i]=fullHours[i];
- fullHours[i]=-1;
- }
- }
-
- if (s3!=NULL)
- {
- calcSched(s3,ev3);
- for(int i=0;i<evnum;i++)
- {
- fullHours_tmp3[i]=fullHours[i];
- fullHours[i]=-1;
- }
- }
- int lfh1,lfh2,lfh3;
- lfh1=lfh2=lfh3=-1;
- for(int i=0;i<evnum;i++)
- {
- if (fullHours_tmp1[i]>=0)
- lfh1=fullHours_tmp1[i];
- fullHours_tmp1[i]=lfh1;
- if (fullHours_tmp2[i]>=0)
- lfh2=fullHours_tmp2[i];
- fullHours_tmp2[i]=lfh2;
- if (fullHours_tmp3[i]>=0)
- lfh3=fullHours_tmp3[i];
- fullHours_tmp3[i]=lfh3;
- if (fullHours_tmp1[i]>fullHours[i])
- fullHours[i]=fullHours_tmp1[i];
- if (fullHours_tmp2[i]>fullHours[i])
- fullHours[i]=fullHours_tmp2[i];
- if (fullHours_tmp3[i]>fullHours[i])
- fullHours[i]=fullHours_tmp3[i];
- }
+ const cSchedule *s1=schedArrayNum>currentFirst?schedArray[currentFirst]:NULL;
+ const cSchedule *s2=schedArrayNum>currentFirst+1?schedArray[currentFirst+1]:NULL;
+ const cSchedule *s3=schedArrayNum>currentFirst+2?schedArray[currentFirst+2]:NULL;
+
+ for (int i=0;i<evnum;i++)
+ {
+ fullHours[i]=-1;
+ fullHours_tmp1[i]=-1;
+ fullHours_tmp2[i]=-1;
+ fullHours_tmp3[i]=-1;
+ }
+
+ if (s1!=NULL)
+ {
+ calcSched(s1,ev1);
+ for (int i=0;i<evnum;i++)
+ {
+ fullHours_tmp1[i]=fullHours[i];
+ fullHours[i]=-1;
+ }
+ }
+
+ if (s2!=NULL)
+ {
+ calcSched(s2,ev2);
+ for (int i=0;i<evnum;i++)
+ {
+ fullHours_tmp2[i]=fullHours[i];
+ fullHours[i]=-1;
+ }
+ }
+
+ if (s3!=NULL)
+ {
+ calcSched(s3,ev3);
+ for (int i=0;i<evnum;i++)
+ {
+ fullHours_tmp3[i]=fullHours[i];
+ fullHours[i]=-1;
+ }
+ }
+ int lfh1,lfh2,lfh3;
+ lfh1=lfh2=lfh3=-1;
+ for (int i=0;i<evnum;i++)
+ {
+ if (fullHours_tmp1[i]>=0)
+ lfh1=fullHours_tmp1[i];
+ fullHours_tmp1[i]=lfh1;
+ if (fullHours_tmp2[i]>=0)
+ lfh2=fullHours_tmp2[i];
+ fullHours_tmp2[i]=lfh2;
+ if (fullHours_tmp3[i]>=0)
+ lfh3=fullHours_tmp3[i];
+ fullHours_tmp3[i]=lfh3;
+ if (fullHours_tmp1[i]>fullHours[i])
+ fullHours[i]=fullHours_tmp1[i];
+ if (fullHours_tmp2[i]>fullHours[i])
+ fullHours[i]=fullHours_tmp2[i];
+ if (fullHours_tmp3[i]>fullHours[i])
+ fullHours[i]=fullHours_tmp3[i];
+ }
}
void magazine::output(void)
{
-/* for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
- {
- cBitmap *b=osd->GetBitmap(i);
- if (b)
- b->Reset();
- } */
- cBitmap *b=osd->GetBitmap(NAMES_AREA);
- if (b)
- {
- b->Reset();
- if (tvonscreenCfg.colorworkaround)
- {
- // This is an ugly work around for color problems with DVB driver or hardware or vdr handling, who knows
- b->SetColor(0,clrTransparent);
- b->SetColor(1,clrBlue);
- b->SetColor(2,clrWhite);
- b->SetColor(3,clrGrey);
- b->SetColor(4,0xffff0000);
- b->SetColor(5,clrCyan);
- for(int i=6;i<128;i++)
- {
- b->SetColor(i,0x01000000|i);
- }
- // End work around
- }
- }
-/* for(int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
- {
- cBitmap *b=osd->GetBitmap(i);
- int col;
- b->Colors(col);
- mzlog(5," 1. NumColors(%d):%d",i,col);
- } */
-
- showHeads();
- showKeys();
- calcScheds();
- showScheds();
- showTimeline();
-
-/* for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
- {
- cBitmap *b=osd->GetBitmap(i);
- int col;
- const tColor *tc=b->Colors(col);
- mzlog(5," 2. NumColors(%d):%d",i,col);
- if (i==NAMES_AREA)
- {
- for(int j=0;j<col;j++)
- {
- mzlog(5," Col(%d): %x",j,tc[j]);
- }
- }
- } */
-
- osd->Flush();
+ /* for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
+ {
+ cBitmap *b=osd->GetBitmap(i);
+ if (b)
+ b->Reset();
+ } */
+ cBitmap *b=osd->GetBitmap(NAMES_AREA);
+ if (b)
+ {
+ b->Reset();
+ if (tvonscreenCfg.colorworkaround)
+ {
+ // This is an ugly work around for color problems with DVB driver or hardware or vdr handling, who knows
+ b->SetColor(0,clrTransparent);
+ b->SetColor(1,clrBlue);
+ b->SetColor(2,clrWhite);
+ b->SetColor(3,clrGrey);
+ b->SetColor(4,0xffff0000);
+ b->SetColor(5,clrCyan);
+ for (int i=6;i<128;i++)
+ {
+ b->SetColor(i,0x01000000|i);
+ }
+ // End work around
+ }
+ }
+ /* for(int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
+ {
+ cBitmap *b=osd->GetBitmap(i);
+ int col;
+ b->Colors(col);
+ mzlog(5," 1. NumColors(%d):%d",i,col);
+ } */
+
+ showHeads();
+ showKeys();
+ calcScheds();
+ showScheds();
+ showTimeline();
+
+ /* for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
+ {
+ cBitmap *b=osd->GetBitmap(i);
+ int col;
+ const tColor *tc=b->Colors(col);
+ mzlog(5," 2. NumColors(%d):%d",i,col);
+ if (i==NAMES_AREA)
+ {
+ for(int j=0;j<col;j++)
+ {
+ mzlog(5," Col(%d): %x",j,tc[j]);
+ }
+ }
+ } */
+
+ osd->Flush();
}
void magazine::outputLR(void)
{
-/* for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
- {
- cBitmap *b=osd->GetBitmap(i);
- if (b)
- b->Reset();
- } */
- cBitmap *b=osd->GetBitmap(NAMES_AREA);
- if (b)
- {
- b->Reset();
- if (tvonscreenCfg.colorworkaround)
- {
- // This is an ugly work around for color problems with DVB driver or hardware or vdr handling, who knows
- b->SetColor(0,clrTransparent);
- b->SetColor(1,clrBlue);
- b->SetColor(2,clrWhite);
- b->SetColor(3,clrGrey);
- b->SetColor(4,0xffff0000);
- b->SetColor(5,clrCyan);
- for(int i=6;i<128;i++)
- {
- b->SetColor(i,0x01000000|i);
- }
- // End work around
- }
- }
-
- showHeads();
- calcScheds();
- searchcEvt();
- showScheds();
- showTimeline();
-
- osd->Flush();
+ /* for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
+ {
+ cBitmap *b=osd->GetBitmap(i);
+ if (b)
+ b->Reset();
+ } */
+ cBitmap *b=osd->GetBitmap(NAMES_AREA);
+ if (b)
+ {
+ b->Reset();
+ if (tvonscreenCfg.colorworkaround)
+ {
+ // This is an ugly work around for color problems with DVB driver or hardware or vdr handling, who knows
+ b->SetColor(0,clrTransparent);
+ b->SetColor(1,clrBlue);
+ b->SetColor(2,clrWhite);
+ b->SetColor(3,clrGrey);
+ b->SetColor(4,0xffff0000);
+ b->SetColor(5,clrCyan);
+ for (int i=6;i<128;i++)
+ {
+ b->SetColor(i,0x01000000|i);
+ }
+ // End work around
+ }
+ }
+
+ showHeads();
+ calcScheds();
+ searchcEvt();
+ showScheds();
+ showTimeline();
+
+ osd->Flush();
}
void magazine::gotoUsertime(int u)
{
- struct tm tm_r;
- localtime_r(&currentFirstTime,&tm_r);
- tm_r.tm_hour=u/100;
- tm_r.tm_min=u%100;
- tm_r.tm_sec=0;
- currentFirstTime=mktime(&tm_r);
- if (currentFirstTime<time(NULL))
- {
- if (tvonscreenCfg.thenshownextday)
- currentFirstTime+=(60*60*24);
- else
- currentFirstTime=time(NULL);
- }
- output();
+ struct tm tm_r;
+ localtime_r(&currentFirstTime,&tm_r);
+ tm_r.tm_hour=u/100;
+ tm_r.tm_min=u%100;
+ tm_r.tm_sec=0;
+ currentFirstTime=mktime(&tm_r);
+ if (currentFirstTime<time(NULL))
+ {
+ if (tvonscreenCfg.thenshownextday)
+ currentFirstTime+=(60*60*24);
+ else
+ currentFirstTime=time(NULL);
+ }
+ output();
}
void magazine::showHelp()
{
- anyFont *usef=f2;
- int j=0;
- const char *txt;
- int lines=384/usef->Height();
- int width=184;
-
- char *helptext[]={
- "NORMAL MODE:",
- "arrows\n\tmove view",
- "back\n\tclose TV OnScreen",
- "red/blue\n\t-/+ one day",
- "green/yellow\n\tone page left/right",
- "7/9\n\tone page left/right",
- "8\n\tgoto current channel",
- "0\n\tgoto now",
- "4/5/6\n\tgoto configured time",
- "ok\n\tswitch to edit mode\n",
- "EDIT MODE:",
- "back\n\tback to normal mode",
- "arrows\n\tmove selected schedule",
- "record\n\tcreate timer",
- "ok\n\tshow details",
- "|\n(c) 2004 Jürgen Schmitz\n\thttp://www.js-home.org/vdr",
- NULL
- };
-
- int area=SCHED1_AREA;
-
- osd->DrawRectangle(Areas[SCHED1_AREA].x1, Areas[SCHED1_AREA].y1+1, Areas[SCHED1_AREA].x2+1, Areas[SCHED1_AREA].y2+1, clrGrey);
- osd->DrawRectangle(Areas[SCHED2_AREA].x1, Areas[SCHED2_AREA].y1+1, Areas[SCHED2_AREA].x2+1, Areas[SCHED2_AREA].y2+1, clrGrey);
- osd->DrawRectangle(Areas[SCHED3_AREA].x1, Areas[SCHED3_AREA].y1+1, Areas[SCHED3_AREA].x2+1, Areas[SCHED3_AREA].y2+1, clrGrey);
-
- osd->DrawRectangle(Areas[SCHED1_AREA].x1+2, Areas[SCHED1_AREA].y1, Areas[SCHED1_AREA].x2+1-3, Areas[SCHED1_AREA].y2+1-3, clrGray50);
- osd->DrawRectangle(Areas[SCHED2_AREA].x1+2, Areas[SCHED2_AREA].y1, Areas[SCHED2_AREA].x2+1-3, Areas[SCHED2_AREA].y2+1-3, clrGray50);
- osd->DrawRectangle(Areas[SCHED3_AREA].x1+2, Areas[SCHED3_AREA].y1, Areas[SCHED3_AREA].x2+1-3, Areas[SCHED3_AREA].y2+1-3, clrGray50);
-
- osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1+TL_YSTART,Areas[TIMELINE_AREA].x1+48,Areas[TIMELINE_AREA].y1+400+TL_YSTART,clrBlack);
- showHeads(true);
+ anyFont *usef=f2;
+ int j=0;
+ const char *txt;
+ int lines=384/usef->Height();
+ int width=184;
+
+ char *helptext[]=
+ {
+ "NORMAL MODE:",
+ "arrows\n\tmove view",
+ "back\n\tclose TV OnScreen",
+ "red/blue\n\t-/+ one day",
+ "green/yellow\n\tone page left/right",
+ "7/9\n\tone page left/right",
+ "8\n\tgoto current channel",
+ "0\n\tgoto now",
+ "4/5/6\n\tgoto configured time",
+ "ok\n\tswitch to edit mode\n",
+ "EDIT MODE:",
+ "back\n\tback to normal mode",
+ "arrows\n\tmove selected schedule",
+ "record\n\tcreate timer",
+ "ok\n\tshow details",
+ "|\n(c) 2004 J�rgen Schmitz\n\thttp://www.js-home.org/vdr",
+ NULL
+ };
+
+ int area=SCHED1_AREA;
+
+ osd->DrawRectangle(Areas[SCHED1_AREA].x1, Areas[SCHED1_AREA].y1+1, Areas[SCHED1_AREA].x2+1, Areas[SCHED1_AREA].y2+1, clrGrey);
+ osd->DrawRectangle(Areas[SCHED2_AREA].x1, Areas[SCHED2_AREA].y1+1, Areas[SCHED2_AREA].x2+1, Areas[SCHED2_AREA].y2+1, clrGrey);
+ osd->DrawRectangle(Areas[SCHED3_AREA].x1, Areas[SCHED3_AREA].y1+1, Areas[SCHED3_AREA].x2+1, Areas[SCHED3_AREA].y2+1, clrGrey);
+
+ osd->DrawRectangle(Areas[SCHED1_AREA].x1+2, Areas[SCHED1_AREA].y1, Areas[SCHED1_AREA].x2+1-3, Areas[SCHED1_AREA].y2+1-3, clrGray50);
+ osd->DrawRectangle(Areas[SCHED2_AREA].x1+2, Areas[SCHED2_AREA].y1, Areas[SCHED2_AREA].x2+1-3, Areas[SCHED2_AREA].y2+1-3, clrGray50);
+ osd->DrawRectangle(Areas[SCHED3_AREA].x1+2, Areas[SCHED3_AREA].y1, Areas[SCHED3_AREA].x2+1-3, Areas[SCHED3_AREA].y2+1-3, clrGray50);
+
+ osd->DrawRectangle(0+Areas[TIMELINE_AREA].x1,0+Areas[TIMELINE_AREA].y1+TL_YSTART,Areas[TIMELINE_AREA].x1+48,Areas[TIMELINE_AREA].y1+400+TL_YSTART,clrBlack);
+ showHeads(true);
// osd->Flush();
- do
- {
- for(int i=0;i<lines;)
- {
- int y=i*usef->Height();
- if (helptext[j]==NULL)
- break;
- if (helptext[j][0]=='|')
- txt=helptext[j]+1;
- else
- txt=tr(helptext[j]);
-
- if (i+usef->TextHeight(width,txt)>=lines)
- break;
-
- i+=usef->Text(Areas[area].x1+4,y+Areas[area].y1,width-8,lines-i,txt,clrWhite,clrBackground);
- j++;
- }
- if (area==SCHED1_AREA)
- area=SCHED2_AREA;
- else if (area==SCHED2_AREA)
- area=SCHED3_AREA;
- else if (area==SCHED3_AREA)
- break;
- }
- while (helptext[j]);
- osd->Flush();
+ do
+ {
+ for (int i=0;i<lines;)
+ {
+ int y=i*usef->Height();
+ if (helptext[j]==NULL)
+ break;
+ if (helptext[j][0]=='|')
+ txt=helptext[j]+1;
+ else
+ txt=tr(helptext[j]);
+
+ if (i+usef->TextHeight(width,txt)>=lines)
+ break;
+
+ i+=usef->Text(Areas[area].x1+4,y+Areas[area].y1,width-8,lines-i,txt,clrWhite,clrBackground);
+ j++;
+ }
+ if (area==SCHED1_AREA)
+ area=SCHED2_AREA;
+ else if (area==SCHED2_AREA)
+ area=SCHED3_AREA;
+ else if (area==SCHED3_AREA)
+ break;
+ }
+ while (helptext[j]);
+ osd->Flush();
}
void magazine::autoTimer(const class cEvent *cev)
{
- FILE *f;
- if ((f=fopen(tvonscreenCfg.vdradminfile,"a")))
- {
- const char *title;
- int chan;
-
- title=cev->Title();
- cChannel *cc=Channels.GetByChannelID(cev->ChannelID());
- chan=cc->Number();
-
- fprintf(f,"1:%s:1:::1:40:7:%d:\n",title,chan);
- fclose(f);
- }
+ FILE *f;
+ if ((f=fopen(tvonscreenCfg.vdradminfile,"a")))
+ {
+ const char *title;
+ int chan;
+
+ title=cev->Title();
+ cChannel *cc=Channels.GetByChannelID(cev->ChannelID());
+ chan=cc->Number();
+
+ fprintf(f,"1:%s:1:::1:40:7:%d:\n",title,chan);
+ fclose(f);
+ }
}
#if VDRVERSNUM < 10503
@@ -830,589 +833,589 @@ void magazine::autoTimer(const class cEvent *cev)
void magazine::Show(void)
{
- mzlog(10," magazine::Show()");
-
- if (me)
- {
- delete me;
- me=NULL;
- }
- if (met)
- {
- delete met;
- met=NULL;
- }
- if (mes)
- {
- delete mes;
- mes=NULL;
- }
-
- osd = cOsdProvider::NewOsd(((Setup.OSDWidth - 612) / 2) + Setup.OSDLeft, ((Setup.OSDHeight - 436) / 2) + Setup.OSDTop);
- if (osd && !osd->SetAreas(Areas, sizeof(Areas)/sizeof(tArea)))
- {
- delete [] fullHours;
- delete [] ev1;
- delete [] ev2;
- delete [] ev3;
-
- delete f1;
- delete f2;
- delete f3;
- delete f4;
+ mzlog(10," magazine::Show()");
+
+ if (me)
+ {
+ delete me;
+ me=NULL;
+ }
+ if (met)
+ {
+ delete met;
+ met=NULL;
+ }
+ if (mes)
+ {
+ delete mes;
+ mes=NULL;
+ }
+
+ osd = cOsdProvider::NewOsd(((Setup.OSDWidth - 612) / 2) + Setup.OSDLeft, ((Setup.OSDHeight - 436) / 2) + Setup.OSDTop);
+ if (osd && !osd->SetAreas(Areas, sizeof(Areas)/sizeof(tArea)))
+ {
+ delete [] fullHours;
+ delete [] ev1;
+ delete [] ev2;
+ delete [] ev3;
+
+ delete f1;
+ delete f2;
+ delete f3;
+ delete f4;
#if VDRVERSNUM >= 10503
- f1=new anyFont(osd,18,1); // Sendung
- f2=new anyFont(osd,16,1); // Extra-Info
- f3=new anyFont(osd,20,1); // Sender
- f4=new anyFont(osd,16); // Tasten
+ f1=new anyFont(osd,18,1); // Sendung
+ f2=new anyFont(osd,16,1); // Extra-Info
+ f3=new anyFont(osd,20,1); // Sender
+ f4=new anyFont(osd,16); // Tasten
#else
- f1=new anyFont(osd,(cFont::tPixelData *)fontosd_arial18,FONTOSD_ARIAL18,1); // Sendung
- f2=new anyFont(osd,(cFont::tPixelData *)fontosd_verdana16,FONTOSD_VERDANA16,1); // Extra-Info
- f3=new anyFont(osd,(cFont::tPixelData *)fontosd_tahoma16,FONTOSD_TAHOMA16,1); // Sender
- f4=new anyFont(osd,(cFont::tPixelData *)fontosd_newroman16,FONTOSD_NEWROMAN16); // Tasten
+ f1=new anyFont(osd,(cFont::tPixelData *)fontosd_arial18,FONTOSD_ARIAL18,1); // Sendung
+ f2=new anyFont(osd,(cFont::tPixelData *)fontosd_verdana16,FONTOSD_VERDANA16,1); // Extra-Info
+ f3=new anyFont(osd,(cFont::tPixelData *)fontosd_tahoma16,FONTOSD_TAHOMA16,1); // Sender
+ f4=new anyFont(osd,(cFont::tPixelData *)fontosd_newroman16,FONTOSD_NEWROMAN16); // Tasten
#endif
- for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
- {
+ for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
+ {
// cBitmap *b=osd->GetBitmap(i);
// if (b)
// b->Reset();
- osd->DrawRectangle(Areas[i].x1, Areas[i].y1, Areas[i].x2+1, Areas[i].y2+1, clrGray50);
- }
- evnum=(Areas[SCHED1_AREA].y2-Areas[SCHED1_AREA].y1)/f1->Height();
+ osd->DrawRectangle(Areas[i].x1, Areas[i].y1, Areas[i].x2+1, Areas[i].y2+1, clrGray50);
+ }
+ evnum=(Areas[SCHED1_AREA].y2-Areas[SCHED1_AREA].y1)/f1->Height();
- ev1=new cEvent*[evnum];
- ev2=new cEvent*[evnum];
- ev3=new cEvent*[evnum];
+ ev1=new cEvent*[evnum];
+ ev2=new cEvent*[evnum];
+ ev3=new cEvent*[evnum];
- fullHours=new int[evnum];
- fullHours_tmp1=new int[evnum];
- fullHours_tmp2=new int[evnum];
- fullHours_tmp3=new int[evnum];
+ fullHours=new int[evnum];
+ fullHours_tmp1=new int[evnum];
+ fullHours_tmp2=new int[evnum];
+ fullHours_tmp3=new int[evnum];
- output();
- }
+ output();
+ }
}
cEvent **magazine::ev4ch(int p)
{
- cEvent **ev=NULL;
- if (p==currentFirst)
- ev=ev1;
- else if (p==currentFirst+1)
- ev=ev2;
- if (p==currentFirst+2)
- ev=ev3;
- return ev;
+ cEvent **ev=NULL;
+ if (p==currentFirst)
+ ev=ev1;
+ else if (p==currentFirst+1)
+ ev=ev2;
+ if (p==currentFirst+2)
+ ev=ev3;
+ return ev;
}
void magazine::searchcEvt(void)
{
- cEvent **ev=ev4ch(EDIT_curChannel);
- for(int i=EDIT_curEVI;i>=0;i--)
- {
- if (ev[i])
- {
- EDIT_curEvent=ev[i]->EventID();
- break;
- }
- }
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ for (int i=EDIT_curEVI;i>=0;i--)
+ {
+ if (ev[i])
+ {
+ EDIT_curEvent=ev[i]->EventID();
+ break;
+ }
+ }
}
eOSState magazine::ProcessKey(eKeys Key)
{
- //mzlog(10," ProcessKey(%d)",Key);
- eOSState state;
- if (me)
- {
- state=me->ProcessKey(Key);
- if (state==osBack)
- {
- state=osContinue;
- delete me;
- me=NULL;
- if (!osd)
- Show();
- }
- else if (state == osUnknown || state == osContinue)
- {
- switch (Key & ~k_Repeat)
- {
- case kOk:
- case kBack:
- delete me;
- me=NULL;
- if (!osd)
- Show();
- break;
- case kBlue: // Umschalten - obsolete!
- {
- cEvent **ev=ev4ch(EDIT_curChannel);
- cChannel *channel = Channels.GetByChannelID(ev[EDIT_curEVI]->ChannelID(), true);
- if (channel && cDevice::PrimaryDevice()->SwitchChannel(channel, true))
- {
- delete me;
- me=NULL;
- return osEnd;
- }
- }
- break;
- case kGreen: // Suchen
- {
+ //mzlog(10," ProcessKey(%d)",Key);
+ eOSState state;
+ if (me)
+ {
+ state=me->ProcessKey(Key);
+ if (state==osBack)
+ {
+ state=osContinue;
+ delete me;
+ me=NULL;
+ if (!osd)
+ Show();
+ }
+ else if (state == osUnknown || state == osContinue)
+ {
+ switch (Key & ~k_Repeat)
+ {
+ case kOk:
+ case kBack:
+ delete me;
+ me=NULL;
+ if (!osd)
+ Show();
+ break;
+ case kBlue: // Umschalten - obsolete!
+ {
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ cChannel *channel = Channels.GetByChannelID(ev[EDIT_curEVI]->ChannelID(), true);
+ if (channel && cDevice::PrimaryDevice()->SwitchChannel(channel, true))
+ {
+ delete me;
+ me=NULL;
+ return osEnd;
+ }
+ }
+ break;
+ case kGreen: // Suchen
+ {
// mzlog(10," Search");
- delete me;
- me=NULL;
- cEvent **ev=ev4ch(EDIT_curChannel);
- mes=new cSearchMenu(ev[EDIT_curEVI]);
- state=osContinue;
- }
- break;
- case kYellow: // add AutoTimer
- {
+ delete me;
+ me=NULL;
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ mes=new cSearchMenu(ev[EDIT_curEVI]);
+ state=osContinue;
+ }
+ break;
+ case kYellow: // add AutoTimer
+ {
// mzlog(10," AutoTimer");
- if (tvonscreenCfg.vdradminfile)
- {
- me->helpLine(false);
- state=osContinue;
-
- cEvent **ev=ev4ch(EDIT_curChannel);
- autoTimer(ev[EDIT_curEVI]);
- me->printMsg(tr("Added AutoTimer to vdradmin."));
- }
- else
- {
- me->printMsg(tr("Startoption 'vdradminfile' not set!"));
- me->helpLine(false);
- state=osContinue;
- }
- }
- break;
- case kRed:
- case kRecord: // new
- {
- delete me;
- me=NULL;
- cEvent **ev=ev4ch(EDIT_curChannel);
- cTimer *timer = new cTimer(ev[EDIT_curEVI]);
- cTimer *t = Timers.GetTimer(timer);
- if (t)
- {
- delete timer;
- timer = t;
- }
- met=new cMenuEditTimer(timer, !t);
- met->Display();
- state=osContinue;
- }
- break;
- }
- }
- }
- else if (met)
- {
- state=met->ProcessKey(Key);
- if (state==osBack)
- {
- state=osContinue;
- delete met;
- met=NULL;
- if (!osd)
- Show();
- }
- else if (state == osUnknown)
- {
- switch (Key & ~k_Repeat)
- {
- case kOk:
- case kBack:
- delete met;
- met=NULL;
- if (!osd)
- Show();
- break;
- }
- }
- }
- else if (mes)
- {
- state=mes->ProcessKey(Key);
- if (state==osBack)
- {
- state=osContinue;
- delete mes;
- mes=NULL;
- if (!osd)
- Show();
- }
- else if (state == osUnknown)
- {
- switch (Key & ~k_Repeat)
- {
- case kOk:
- case kGreen:
- {
- const cEvent *ev=mes->currentSelected();
- if (ev)
- {
- delete mes;
- mes=NULL;
- me=new tvOcMenuEvent(ev);
- me->Display();
- }
- }
- state=osContinue;
- break;
- case kYellow:
- mes->searchIn(schedArray,schedArrayNum);
- state=osContinue;
- break;
- case kBack:
- case kBlue:
- delete mes;
- mes=NULL;
- if (!osd)
- Show();
- break;
- case kRed:
- const cEvent *ev=mes->currentSelected();
- if (ev)
- {
- delete mes;
- mes=NULL;
- cTimer *timer = new cTimer(ev);
- cTimer *t = Timers.GetTimer(timer);
- if (t)
- {
- delete timer;
- timer = t;
- }
- met=new cMenuEditTimer(timer, !t);
- met->Display();
- }
- state=osContinue;
- break;
- }
- }
- }
- else
- {
- state = cOsdObject::ProcessKey(Key);
-
- if (state == osUnknown && schedArrayNum>currentFirst)
- {
- if (curmode==SHOW)
- {
- switch (Key & ~k_Repeat)
- {
- case kOk:
- if (schedArrayNum>currentFirst)
- {
- curmode=EDIT;
- EDIT_curChannel=currentFirst;
- for(int i=0;i<evnum;i++)
- {
- if (ev1[i])
- {
- EDIT_curEvent=ev1[i]->EventID();
- break;
- }
- }
- output();
- }
- break;
- case kBack:
- return osBack;
- case kLeft:
- currentFirst--;
- if (currentFirst<0)
- currentFirst=0;
- output();
- break;
- case kRight:
- currentFirst++;
- if (currentFirst>schedArrayNum-3)
- currentFirst=schedArrayNum-3;
- if (currentFirst<0)
- currentFirst=0;
- output();
- break;
- case kUp:
- currentFirstTime-=60*30;
- if (currentFirstTime<time(NULL))
- currentFirstTime=time(NULL);
- output();
- break;
- case kDown:
- currentFirstTime+=60*30;
- output();
- break;
- case kRed: // -1 Tag
- currentFirstTime-=24*60*60;
- if (currentFirstTime<time(NULL))
- currentFirstTime=time(NULL);
- output();
- break;
- case kBlue: // +1 Tag
- currentFirstTime+=24*60*60;
- output();
- break;
- case k7: // -1 Seite (3 Sender)
- case kGreen:
- currentFirst-=3;
- if (currentFirst<0)
- currentFirst=0;
- output();
- break;
- case k9: // +1 Seite (3 Sender)
- case kYellow:
- currentFirst+=3;
- if (currentFirst>schedArrayNum-3)
- currentFirst=schedArrayNum-3;
- if (currentFirst<0)
- currentFirst=0;
- output();
- break;
- case k8: // zum aktuellen Sender
- {
- int currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
- for(int i=0;i<schedArrayNum;i++)
- {
- cChannel *channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
- if (channel->Number()==currentChannel)
- {
- currentFirst=i-1;
- if (currentFirst<0)
- currentFirst=0;
- output();
- break;
- }
- }
- }
- break;
- case k0: // jetzt
- currentFirstTime=time(NULL);
- output();
- break;
- case k1:
- showHelp();
- break;
- case k4: // usertime1
- gotoUsertime(tvonscreenCfg.usertime1);
- break;
- case k5: // usertime2
- gotoUsertime(tvonscreenCfg.usertime2);
- break;
- case k6: // usertime3
- gotoUsertime(tvonscreenCfg.usertime3);
- break;
- /* case k0:
- break;
- case k1:
- break;
- case k2:
- break;
- case k3:
- break;
- case k4:
- break;
- case k5:
- break;
- case k6:
- break;
- case k8:
- break; */
- default:
- return state;
- }
- }
- else
- {
- switch (Key & ~k_Repeat)
- {
- case kOk:
- {
- cEvent **ev=ev4ch(EDIT_curChannel);
- if (ev[EDIT_curEVI] != NULL)
- {
- delete osd;
- osd=NULL;
- me=new tvOcMenuEvent(ev[EDIT_curEVI]);
- me->Display();
- curmode=SHOW;
- EDIT_curEvent=0;
- return osContinue;
- }
- }
- break;
- case kBack:
- curmode=SHOW;
- EDIT_curEvent=0;
- output();
- break;
- case kLeft:
- EDIT_curChannel--;
- if (EDIT_curChannel<0)
- EDIT_curChannel=0;
- if (EDIT_curChannel<currentFirst)
- {
- currentFirst--;
- if (currentFirst<0)
- currentFirst=0;
- EDIT_curChannel=currentFirst;
- }
- outputLR();
- break;
- case kRight:
- EDIT_curChannel++;
- if (EDIT_curChannel>schedArrayNum-1)
- EDIT_curChannel=schedArrayNum-1;
- if (EDIT_curChannel<0)
- EDIT_curChannel=0;
- if (EDIT_curChannel>currentFirst+2)
- {
- currentFirst++;
- if (currentFirst>schedArrayNum-3)
- currentFirst=schedArrayNum-3;
- if (currentFirst<0)
- currentFirst=0;
- EDIT_curChannel=currentFirst+2;
- }
- outputLR();
- break;
- case kUp:
- {
- cEvent **ev=ev4ch(EDIT_curChannel);
- const cEvent *e=getPrev(schedArray[EDIT_curChannel],ev[EDIT_curEVI]);
-
- if (e)
- {
- int found;
- do
- {
- found=0;
- for(int i=0;i<evnum;i++)
- {
- if (ev[i] && ev[i]->EventID()==e->EventID())
- {
- found=1;
- EDIT_curEvent=e->EventID();
- }
- }
- if (!found)
- {
- currentFirstTime-=60*30;
- if (currentFirstTime<time(NULL))
- {
- currentFirstTime=time(NULL);
- found=1;
- }
- calcScheds();
- }
- }
- while (!found);
- }
- output();
- }
- break;
- case kDown:
- {
- cEvent **ev=ev4ch(EDIT_curChannel);
- const cEvent *e=getNext(schedArray[EDIT_curChannel],ev[EDIT_curEVI]);
-
- if (e)
- {
- EDIT_curEvent=e->EventID();
- int found,cc=0;
- do
- {
- found=0;
- cc++;
- for(int i=0;i<evnum;i++)
- {
- if (ev[i] && ev[i]->EventID()==EDIT_curEvent)
- {
- found=1;
- }
- }
- if (!found)
- {
- currentFirstTime+=60*30;
- calcScheds();
- }
- }
- while (!found && cc<48);
- }
- output();
- }
- break;
-/* case kRed:
- break;
- case kBlue:
- break;
- case kGreen:
- break;
- case kYellow:
- break; */
- /* case k0:
- break;
- case k1:
- break;
- case k2:
- break;
- case k3:
- break;
- case k4:
- break;
- case k5:
- break;
- case k6:
- break;
- case k7:
- break;
- case k8:
- break;
- case k9:
- break; */
- case kRecord:
- {
- cEvent **ev=ev4ch(EDIT_curChannel);
- if (ev[EDIT_curEVI] != NULL)
- {
- delete osd;
- osd=NULL;
- cTimer *timer = new cTimer(ev[EDIT_curEVI]);
- cTimer *t = Timers.GetTimer(timer);
- if (t)
- {
- delete timer;
- timer = t;
- }
- met=new cMenuEditTimer(timer, !t);
- }
- }
- break;
- default:
- return state;
- }
- }
- state = osContinue;
- }
- }
- return state;
+ if (tvonscreenCfg.vdradminfile)
+ {
+ me->helpLine(false);
+ state=osContinue;
+
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ autoTimer(ev[EDIT_curEVI]);
+ me->printMsg(tr("Added AutoTimer to vdradmin."));
+ }
+ else
+ {
+ me->printMsg(tr("Startoption 'vdradminfile' not set!"));
+ me->helpLine(false);
+ state=osContinue;
+ }
+ }
+ break;
+ case kRed:
+ case kRecord: // new
+ {
+ delete me;
+ me=NULL;
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ cTimer *timer = new cTimer(ev[EDIT_curEVI]);
+ cTimer *t = Timers.GetTimer(timer);
+ if (t)
+ {
+ delete timer;
+ timer = t;
+ }
+ met=new cMenuEditTimer(timer, !t);
+ met->Display();
+ state=osContinue;
+ }
+ break;
+ }
+ }
+ }
+ else if (met)
+ {
+ state=met->ProcessKey(Key);
+ if (state==osBack)
+ {
+ state=osContinue;
+ delete met;
+ met=NULL;
+ if (!osd)
+ Show();
+ }
+ else if (state == osUnknown)
+ {
+ switch (Key & ~k_Repeat)
+ {
+ case kOk:
+ case kBack:
+ delete met;
+ met=NULL;
+ if (!osd)
+ Show();
+ break;
+ }
+ }
+ }
+ else if (mes)
+ {
+ state=mes->ProcessKey(Key);
+ if (state==osBack)
+ {
+ state=osContinue;
+ delete mes;
+ mes=NULL;
+ if (!osd)
+ Show();
+ }
+ else if (state == osUnknown)
+ {
+ switch (Key & ~k_Repeat)
+ {
+ case kOk:
+ case kGreen:
+ {
+ const cEvent *ev=mes->currentSelected();
+ if (ev)
+ {
+ delete mes;
+ mes=NULL;
+ me=new tvOcMenuEvent(ev);
+ me->Display();
+ }
+ }
+ state=osContinue;
+ break;
+ case kYellow:
+ mes->searchIn(schedArray,schedArrayNum);
+ state=osContinue;
+ break;
+ case kBack:
+ case kBlue:
+ delete mes;
+ mes=NULL;
+ if (!osd)
+ Show();
+ break;
+ case kRed:
+ const cEvent *ev=mes->currentSelected();
+ if (ev)
+ {
+ delete mes;
+ mes=NULL;
+ cTimer *timer = new cTimer(ev);
+ cTimer *t = Timers.GetTimer(timer);
+ if (t)
+ {
+ delete timer;
+ timer = t;
+ }
+ met=new cMenuEditTimer(timer, !t);
+ met->Display();
+ }
+ state=osContinue;
+ break;
+ }
+ }
+ }
+ else
+ {
+ state = cOsdObject::ProcessKey(Key);
+
+ if (state == osUnknown && schedArrayNum>currentFirst)
+ {
+ if (curmode==SHOW)
+ {
+ switch (Key & ~k_Repeat)
+ {
+ case kOk:
+ if (schedArrayNum>currentFirst)
+ {
+ curmode=EDIT;
+ EDIT_curChannel=currentFirst;
+ for (int i=0;i<evnum;i++)
+ {
+ if (ev1[i])
+ {
+ EDIT_curEvent=ev1[i]->EventID();
+ break;
+ }
+ }
+ output();
+ }
+ break;
+ case kBack:
+ return osBack;
+ case kLeft:
+ currentFirst--;
+ if (currentFirst<0)
+ currentFirst=0;
+ output();
+ break;
+ case kRight:
+ currentFirst++;
+ if (currentFirst>schedArrayNum-3)
+ currentFirst=schedArrayNum-3;
+ if (currentFirst<0)
+ currentFirst=0;
+ output();
+ break;
+ case kUp:
+ currentFirstTime-=60*30;
+ if (currentFirstTime<time(NULL))
+ currentFirstTime=time(NULL);
+ output();
+ break;
+ case kDown:
+ currentFirstTime+=60*30;
+ output();
+ break;
+ case kRed: // -1 Tag
+ currentFirstTime-=24*60*60;
+ if (currentFirstTime<time(NULL))
+ currentFirstTime=time(NULL);
+ output();
+ break;
+ case kBlue: // +1 Tag
+ currentFirstTime+=24*60*60;
+ output();
+ break;
+ case k7: // -1 Seite (3 Sender)
+ case kGreen:
+ currentFirst-=3;
+ if (currentFirst<0)
+ currentFirst=0;
+ output();
+ break;
+ case k9: // +1 Seite (3 Sender)
+ case kYellow:
+ currentFirst+=3;
+ if (currentFirst>schedArrayNum-3)
+ currentFirst=schedArrayNum-3;
+ if (currentFirst<0)
+ currentFirst=0;
+ output();
+ break;
+ case k8: // zum aktuellen Sender
+ {
+ int currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
+ for (int i=0;i<schedArrayNum;i++)
+ {
+ cChannel *channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
+ if (channel->Number()==currentChannel)
+ {
+ currentFirst=i-1;
+ if (currentFirst<0)
+ currentFirst=0;
+ output();
+ break;
+ }
+ }
+ }
+ break;
+ case k0: // jetzt
+ currentFirstTime=time(NULL);
+ output();
+ break;
+ case k1:
+ showHelp();
+ break;
+ case k4: // usertime1
+ gotoUsertime(tvonscreenCfg.usertime1);
+ break;
+ case k5: // usertime2
+ gotoUsertime(tvonscreenCfg.usertime2);
+ break;
+ case k6: // usertime3
+ gotoUsertime(tvonscreenCfg.usertime3);
+ break;
+ /* case k0:
+ break;
+ case k1:
+ break;
+ case k2:
+ break;
+ case k3:
+ break;
+ case k4:
+ break;
+ case k5:
+ break;
+ case k6:
+ break;
+ case k8:
+ break; */
+ default:
+ return state;
+ }
+ }
+ else
+ {
+ switch (Key & ~k_Repeat)
+ {
+ case kOk:
+ {
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ if (ev[EDIT_curEVI] != NULL)
+ {
+ delete osd;
+ osd=NULL;
+ me=new tvOcMenuEvent(ev[EDIT_curEVI]);
+ me->Display();
+ curmode=SHOW;
+ EDIT_curEvent=0;
+ return osContinue;
+ }
+ }
+ break;
+ case kBack:
+ curmode=SHOW;
+ EDIT_curEvent=0;
+ output();
+ break;
+ case kLeft:
+ EDIT_curChannel--;
+ if (EDIT_curChannel<0)
+ EDIT_curChannel=0;
+ if (EDIT_curChannel<currentFirst)
+ {
+ currentFirst--;
+ if (currentFirst<0)
+ currentFirst=0;
+ EDIT_curChannel=currentFirst;
+ }
+ outputLR();
+ break;
+ case kRight:
+ EDIT_curChannel++;
+ if (EDIT_curChannel>schedArrayNum-1)
+ EDIT_curChannel=schedArrayNum-1;
+ if (EDIT_curChannel<0)
+ EDIT_curChannel=0;
+ if (EDIT_curChannel>currentFirst+2)
+ {
+ currentFirst++;
+ if (currentFirst>schedArrayNum-3)
+ currentFirst=schedArrayNum-3;
+ if (currentFirst<0)
+ currentFirst=0;
+ EDIT_curChannel=currentFirst+2;
+ }
+ outputLR();
+ break;
+ case kUp:
+ {
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ const cEvent *e=getPrev(schedArray[EDIT_curChannel],ev[EDIT_curEVI]);
+
+ if (e)
+ {
+ int found;
+ do
+ {
+ found=0;
+ for (int i=0;i<evnum;i++)
+ {
+ if (ev[i] && ev[i]->EventID()==e->EventID())
+ {
+ found=1;
+ EDIT_curEvent=e->EventID();
+ }
+ }
+ if (!found)
+ {
+ currentFirstTime-=60*30;
+ if (currentFirstTime<time(NULL))
+ {
+ currentFirstTime=time(NULL);
+ found=1;
+ }
+ calcScheds();
+ }
+ }
+ while (!found);
+ }
+ output();
+ }
+ break;
+ case kDown:
+ {
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ const cEvent *e=getNext(schedArray[EDIT_curChannel],ev[EDIT_curEVI]);
+
+ if (e)
+ {
+ EDIT_curEvent=e->EventID();
+ int found,cc=0;
+ do
+ {
+ found=0;
+ cc++;
+ for (int i=0;i<evnum;i++)
+ {
+ if (ev[i] && ev[i]->EventID()==EDIT_curEvent)
+ {
+ found=1;
+ }
+ }
+ if (!found)
+ {
+ currentFirstTime+=60*30;
+ calcScheds();
+ }
+ }
+ while (!found && cc<48);
+ }
+ output();
+ }
+ break;
+ /* case kRed:
+ break;
+ case kBlue:
+ break;
+ case kGreen:
+ break;
+ case kYellow:
+ break; */
+ /* case k0:
+ break;
+ case k1:
+ break;
+ case k2:
+ break;
+ case k3:
+ break;
+ case k4:
+ break;
+ case k5:
+ break;
+ case k6:
+ break;
+ case k7:
+ break;
+ case k8:
+ break;
+ case k9:
+ break; */
+ case kRecord:
+ {
+ cEvent **ev=ev4ch(EDIT_curChannel);
+ if (ev[EDIT_curEVI] != NULL)
+ {
+ delete osd;
+ osd=NULL;
+ cTimer *timer = new cTimer(ev[EDIT_curEVI]);
+ cTimer *t = Timers.GetTimer(timer);
+ if (t)
+ {
+ delete timer;
+ timer = t;
+ }
+ met=new cMenuEditTimer(timer, !t);
+ }
+ }
+ break;
+ default:
+ return state;
+ }
+ }
+ state = osContinue;
+ }
+ }
+ return state;
}
#include <stdarg.h>
void mzlog(int level, const char *fmt, ...)
{
- auto char t[BUFSIZ];
- auto va_list ap;
- int minlevel=0;
-
- va_start(ap, fmt);
-
- if (level>=minlevel)
- {
- vsnprintf(t + 10, sizeof t - 10, fmt, ap);
- memcpy(t, "tvonscreen: ", 10);
- syslog(LOG_DEBUG, "%s", t);
- }
- va_end(ap);
+ char t[BUFSIZ];
+ va_list ap;
+ int minlevel=0;
+
+ va_start(ap, fmt);
+
+ if (level>=minlevel)
+ {
+ vsnprintf(t + 10, sizeof t - 10, fmt, ap);
+ memcpy(t, "tvonscreen: ", 10);
+ syslog(LOG_DEBUG, "%s", t);
+ }
+ va_end(ap);
}
diff --git a/magazine.h b/magazine.h
index 52b0ecd..aaf76e8 100644
--- a/magazine.h
+++ b/magazine.h
@@ -25,88 +25,89 @@ void mzlog(int level, const char *fmt, ...);
// #define MULTINAMES
-typedef enum {
+typedef enum
+{
#ifdef MULTINAMES
- NAME1_AREA = 0,
- NAME2_AREA,
- NAME3_AREA,
+ NAME1_AREA = 0,
+ NAME2_AREA,
+ NAME3_AREA,
#else
- NAMES_AREA = 0,
+ NAMES_AREA = 0,
#endif
- TIMELINE_AREA,
- SCHED1_AREA,
- SCHED2_AREA,
- SCHED3_AREA,
- CONTROL_AREA,
- NUMBER_OF_AREAS,
+ TIMELINE_AREA,
+ SCHED1_AREA,
+ SCHED2_AREA,
+ SCHED3_AREA,
+ CONTROL_AREA,
+ NUMBER_OF_AREAS,
} tMagazineArea;
class magazine : public cOsdObject
{
- cPlugin *parent;
- cOsd *osd;
-
- class tvOcMenuEvent *me;
- class cMenuEditTimer *met;
- class cSearchMenu *mes;
-
- anyFont *f1,*f2,*f3,*f4;
-
- cSchedulesLock _schedulesLock;
- const cSchedule** schedArray;
- int schedArrayNum;
- int currentFirst;
- time_t currentFirstTime;
-
- int evnum;
- class cEvent **ev1;
- class cEvent **ev2;
- class cEvent **ev3;
- int *fullHours;
- int *fullHours_tmp1;
- int *fullHours_tmp2;
- int *fullHours_tmp3;
-
- enum modes {SHOW,EDIT};
- enum modes curmode;
-
- int EDIT_curEvent;
- int EDIT_curChannel;
- int EDIT_curEVI;
-
- bool timeline_tested;
- bool timeline_found_conflict;
-
+ cPlugin *parent;
+ cOsd *osd;
+
+ class tvOcMenuEvent *me;
+ class cMenuEditTimer *met;
+ class cSearchMenu *mes;
+
+ anyFont *f1,*f2,*f3,*f4;
+
+ cSchedulesLock _schedulesLock;
+ const cSchedule** schedArray;
+ int schedArrayNum;
+ int currentFirst;
+ time_t currentFirstTime;
+
+ int evnum;
+ class cEvent **ev1;
+ class cEvent **ev2;
+ class cEvent **ev3;
+ int *fullHours;
+ int *fullHours_tmp1;
+ int *fullHours_tmp2;
+ int *fullHours_tmp3;
+
+ enum modes {SHOW,EDIT};
+ enum modes curmode;
+
+ int EDIT_curEvent;
+ int EDIT_curChannel;
+ int EDIT_curEVI;
+
+ bool timeline_tested;
+ bool timeline_found_conflict;
+
public:
- static const class cEvent *getNext(const cSchedule *s,const cEvent *e);
- static const class cEvent *getPrev(const cSchedule *s,const cEvent *e);
+ static const class cEvent *getNext(const cSchedule *s,const cEvent *e);
+ static const class cEvent *getPrev(const cSchedule *s,const cEvent *e);
private:
- cEvent **ev4ch(int);
- void searchcEvt();
+ cEvent **ev4ch(int);
+ void searchcEvt();
- void printLogo(const cSchedule *s,int p);
- void printHead(const cSchedule *s,int p);
- void showKeys(void);
- void showTimeline(void);
- void showHeads(bool onlyBG=false);
- void showScheds(void);
- void showSched(const cSchedule *s,cEvent **ev, tMagazineArea area);
- void calcSched(const cSchedule *s,cEvent **ev);
- void calcScheds(void);
+ void printLogo(const cSchedule *s,int p);
+ void printHead(const cSchedule *s,int p);
+ void showKeys(void);
+ void showTimeline(void);
+ void showHeads(bool onlyBG=false);
+ void showScheds(void);
+ void showSched(const cSchedule *s,cEvent **ev, tMagazineArea area);
+ void calcSched(const cSchedule *s,cEvent **ev);
+ void calcScheds(void);
- void output(void);
- void outputLR(void);
+ void output(void);
+ void outputLR(void);
- void gotoUsertime(int u);
- void showHelp(void);
+ void gotoUsertime(int u);
+ void showHelp(void);
- void autoTimer(const class cEvent *EventInfo);
+ void autoTimer(const class cEvent *EventInfo);
public:
- magazine(class cPlugin *);
- virtual ~magazine();
- virtual void Show(void);
- virtual eOSState ProcessKey(eKeys Key);
+ magazine(class cPlugin *);
+ virtual ~magazine();
+ virtual void Show(void);
+ virtual eOSState ProcessKey(eKeys Key);
};
#endif
diff --git a/search.cpp b/search.cpp
index 3ef27d8..2a62938 100644
--- a/search.cpp
+++ b/search.cpp
@@ -12,127 +12,127 @@
EventItem::EventItem(const class cEvent *ev)
{
- char buf[200];
- const char *txt,*chan;
- cString time1,time2,date;
- cChannel *channel;
-
- myev=ev;
- channel = Channels.GetByChannelID(ev->ChannelID(), true);
- time1=ev->GetTimeString();
- time2=ev->GetEndTimeString();
- date=ev->GetDateString();
- chan=channel->ShortName(true);
- txt=ev->Title();
-
- snprintf(buf,sizeof(buf)-1,"%.6s %s - %s %s/%s",(const char *)date,(const char *)time1,(const char *)time2,chan,txt);
- SetText(buf);
+ char buf[200];
+ const char *txt,*chan;
+ cString time1,time2,date;
+ cChannel *channel;
+
+ myev=ev;
+ channel = Channels.GetByChannelID(ev->ChannelID(), true);
+ time1=ev->GetTimeString();
+ time2=ev->GetEndTimeString();
+ date=ev->GetDateString();
+ chan=channel->ShortName(true);
+ txt=ev->Title();
+
+ snprintf(buf,sizeof(buf)-1,"%.6s %s - %s %s/%s",(const char *)date,(const char *)time1,(const char *)time2,chan,txt);
+ SetText(buf);
}
// -----------------------------------------------------------------------------
cSearchMenu::cSearchMenu(const class cEvent *ev) : cOsdMenu(tr("Search"))
{
- myev=ev;
-
- const char *title;
- title=ev->Title();
-
- char txt[200];
- snprintf(txt,sizeof(txt),"%s '%s'...",tr("Search for"),title);
- SetTitle(txt);
-
- SetStatus(tr("Searching..."));
- Display();
- Skins.Message(mtInfo, tr("Searching..."));
- const cSchedules* Schedules = cSchedules::Schedules(_schedulesLock);
-
- const cSchedule *s;
- s=Schedules->GetSchedule(ev->ChannelID());
-
- int cc=search(s,ev);
-
- snprintf(txt,sizeof(txt),"%s '%s':",tr("Search for"),title);
- SetTitle(txt);
- if (cc>0)
- {
- SetStatus("");
- SetHelp(tr("Record"), tr("Details"), tr("in all"), tr("Back"));
- }
- else
- {
- SetStatus(tr("Nothing found!"));
- SetHelp(NULL, NULL, tr("in all"), tr("Back"));
- }
- Display();
+ myev=ev;
+
+ const char *title;
+ title=ev->Title();
+
+ char txt[200];
+ snprintf(txt,sizeof(txt),"%s '%s'...",tr("Search for"),title);
+ SetTitle(txt);
+
+ SetStatus(tr("Searching..."));
+ Display();
+ Skins.Message(mtInfo, tr("Searching..."));
+ const cSchedules* Schedules = cSchedules::Schedules(_schedulesLock);
+
+ const cSchedule *s;
+ s=Schedules->GetSchedule(ev->ChannelID());
+
+ int cc=search(s,ev);
+
+ snprintf(txt,sizeof(txt),"%s '%s':",tr("Search for"),title);
+ SetTitle(txt);
+ if (cc>0)
+ {
+ SetStatus("");
+ SetHelp(tr("Record"), tr("Details"), tr("in all"), tr("Back"));
+ }
+ else
+ {
+ SetStatus(tr("Nothing found!"));
+ SetHelp(NULL, NULL, tr("in all"), tr("Back"));
+ }
+ Display();
}
- const cEvent *cev=NULL;
+const cEvent *cev=NULL;
int cSearchMenu::search(const cSchedule *s,const class cEvent *ev)
{
- const char *title;
- title=ev->Title();
-
- int cc=0;
- cev=s->GetPresentEvent();
- while(cev)
- {
- if (cev!=ev || tvonscreenCfg.showsearchinitiator)
- {
- const char *ctitle;
- ctitle=cev->Title();
- if (ctitle && title && strstr(ctitle,title)) // || strstr(title,ctitle))
- {
- Add(new EventItem(cev));
- cc++;
- }
- }
- cev=magazine::getNext(s,cev);
- }
- return cc;
+ const char *title;
+ title=ev->Title();
+
+ int cc=0;
+ cev=s->GetPresentEvent();
+ while (cev)
+ {
+ if (cev!=ev || tvonscreenCfg.showsearchinitiator)
+ {
+ const char *ctitle;
+ ctitle=cev->Title();
+ if (ctitle && title && strstr(ctitle,title)) // || strstr(title,ctitle))
+ {
+ Add(new EventItem(cev));
+ cc++;
+ }
+ }
+ cev=magazine::getNext(s,cev);
+ }
+ return cc;
}
void cSearchMenu::searchIn(const cSchedule** schedArray,int schedArrayNum)
{
- cChannel* channel;
- const char *title;
- title=myev->Title();
-
- char txt[200];
- snprintf(txt,sizeof(txt),"%s '%s'...",tr("Search for"),title);
- SetTitle(txt);
- Clear();
-
- SetStatus(tr("Searching..."));
- Display();
- Skins.Message(mtInfo, tr("Searching..."));
- int cc=0;
-
- for(int i=0;i<schedArrayNum;i++)
- {
- channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
- snprintf(txt,sizeof(txt),"%s /%-20.20s",tr("Searching..."),channel->ShortName(true));
- Skins.Message(mtInfo, txt);
- cc+=search(schedArray[i],myev);
- }
-
- snprintf(txt,sizeof(txt),"%s '%s':",tr("Search for"),title);
- SetTitle(txt);
- if (cc>0)
- {
- SetStatus("");
- SetHelp(tr("Record"), tr("Details"), NULL, tr("Back"));
- }
- else
- {
- SetStatus(tr("Nothing found!"));
- SetHelp(NULL, NULL, NULL, tr("Back"));
- }
- Display();
+ cChannel* channel;
+ const char *title;
+ title=myev->Title();
+
+ char txt[200];
+ snprintf(txt,sizeof(txt),"%s '%s'...",tr("Search for"),title);
+ SetTitle(txt);
+ Clear();
+
+ SetStatus(tr("Searching..."));
+ Display();
+ Skins.Message(mtInfo, tr("Searching..."));
+ int cc=0;
+
+ for (int i=0;i<schedArrayNum;i++)
+ {
+ channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
+ snprintf(txt,sizeof(txt),"%s /%-20.20s",tr("Searching..."),channel->ShortName(true));
+ Skins.Message(mtInfo, txt);
+ cc+=search(schedArray[i],myev);
+ }
+
+ snprintf(txt,sizeof(txt),"%s '%s':",tr("Search for"),title);
+ SetTitle(txt);
+ if (cc>0)
+ {
+ SetStatus("");
+ SetHelp(tr("Record"), tr("Details"), NULL, tr("Back"));
+ }
+ else
+ {
+ SetStatus(tr("Nothing found!"));
+ SetHelp(NULL, NULL, NULL, tr("Back"));
+ }
+ Display();
}
const class cEvent *cSearchMenu::currentSelected(void)
{
- EventItem *item = (EventItem *)Get(Current());
- return item ? item->Event() : NULL;
+ EventItem *item = (EventItem *)Get(Current());
+ return item ? item->Event() : NULL;
}
diff --git a/search.h b/search.h
index 4638308..1bf9e18 100644
--- a/search.h
+++ b/search.h
@@ -17,32 +17,32 @@
class EventItem : public cOsdItem
{
- const class cEvent *myev;
+ const class cEvent *myev;
public:
- EventItem(const class cEvent *ev);
+ EventItem(const class cEvent *ev);
- const class cEvent *Event(void)
- {
- return myev;
- };
+ const class cEvent *Event(void)
+ {
+ return myev;
+ };
};
// -----------------------------------------------------------------------------
class cSearchMenu : public cOsdMenu
{
- cSchedulesLock _schedulesLock;
+ cSchedulesLock _schedulesLock;
- const class cEvent *myev;
+ const class cEvent *myev;
- int search(const cSchedule *s,const class cEvent *ev);
+ int search(const cSchedule *s,const class cEvent *ev);
public:
- cSearchMenu(const class cEvent *EventInfo);
- const class cEvent *currentSelected(void);
+ cSearchMenu(const class cEvent *EventInfo);
+ const class cEvent *currentSelected(void);
- void searchIn(const cSchedule** schedArray,int schedArrayNum);
+ void searchIn(const cSchedule** schedArray,int schedArrayNum);
};
#endif
diff --git a/timer.cpp b/timer.cpp
index 8d0c59d..8f3602f 100644
--- a/timer.cpp
+++ b/timer.cpp
@@ -11,14 +11,14 @@
tvOcMenuEvent::tvOcMenuEvent(const class cEvent *EventInfo) : cMenuEvent(EventInfo,false)
{
- helpLine();
+ helpLine();
}
void tvOcMenuEvent::printMsg(const char *s)
{
- SetStatus(s);
+ SetStatus(s);
}
void tvOcMenuEvent::helpLine(bool full)
{
- SetHelp(tr("Record"), tr("Search"), full?tr("AutoTimer"):NULL, NULL);
+ SetHelp(tr("Record"), tr("Search"), full?tr("AutoTimer"):NULL, NULL);
}
diff --git a/timer.h b/timer.h
index ed58074..3e1cc67 100644
--- a/timer.h
+++ b/timer.h
@@ -19,9 +19,9 @@
class tvOcMenuEvent : public cMenuEvent
{
public:
- tvOcMenuEvent(const class cEvent *EventInfo);
- void printMsg(const char *);
- void helpLine(bool full=true);
+ tvOcMenuEvent(const class cEvent *EventInfo);
+ void printMsg(const char *);
+ void helpLine(bool full=true);
};
diff --git a/tvonscreen.cpp b/tvonscreen.cpp
index 9f314fe..47e56ba 100644
--- a/tvonscreen.cpp
+++ b/tvonscreen.cpp
@@ -16,85 +16,95 @@ static const char *VERSION = "1.0.141";
static const char *DESCRIPTION = trNOOP("Shows the EPG info in form of a typical TV magazine");
static const char *MAINMENUENTRY = trNOOP("TV-OnScreen");
-class cPluginTvOnscreen : public cPlugin {
+class cPluginTvOnscreen : public cPlugin
+{
private:
public:
- cPluginTvOnscreen(void);
- virtual ~cPluginTvOnscreen();
- virtual const char *Version(void) { return VERSION; }
- virtual const char *Description(void) { return tr(DESCRIPTION); }
- virtual const char *CommandLineHelp(void);
- virtual bool ProcessArgs(int argc, char *argv[]);
- virtual bool Initialize(void);
- virtual bool Start(void);
- virtual void Housekeeping(void);
- virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY); }
- virtual cOsdObject *MainMenuAction(void);
- virtual cMenuSetupPage *SetupMenu(void);
- virtual bool SetupParse(const char *Name, const char *Value);
- };
+ cPluginTvOnscreen(void);
+ virtual ~cPluginTvOnscreen();
+ virtual const char *Version(void)
+ {
+ return VERSION;
+ }
+ virtual const char *Description(void)
+ {
+ return tr(DESCRIPTION);
+ }
+ virtual const char *CommandLineHelp(void);
+ virtual bool ProcessArgs(int argc, char *argv[]);
+ virtual bool Initialize(void);
+ virtual bool Start(void);
+ virtual void Housekeeping(void);
+ virtual const char *MainMenuEntry(void)
+ {
+ return tr(MAINMENUENTRY);
+ }
+ virtual cOsdObject *MainMenuAction(void);
+ virtual cMenuSetupPage *SetupMenu(void);
+ virtual bool SetupParse(const char *Name, const char *Value);
+};
cPluginTvOnscreen::cPluginTvOnscreen(void)
{
- // Initialize any member variables here.
- // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
- // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
+ // Initialize any member variables here.
+ // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
+ // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
}
cPluginTvOnscreen::~cPluginTvOnscreen()
{
- // Clean up after yourself!
+ // Clean up after yourself!
}
const char *cPluginTvOnscreen::CommandLineHelp(void)
{
- // Return a string that describes all known command line options.
- return tvonscreenCfg.CommandLineHelp();
+ // Return a string that describes all known command line options.
+ return tvonscreenCfg.CommandLineHelp();
}
bool cPluginTvOnscreen::ProcessArgs(int argc, char *argv[])
{
- return tvonscreenCfg.ProcessArgs(argc,argv);
+ return tvonscreenCfg.ProcessArgs(argc,argv);
}
bool cPluginTvOnscreen::Initialize(void)
{
- // Initialize any background activities the plugin shall perform.
+ // Initialize any background activities the plugin shall perform.
#if (APIVERSNUM < 10507)
- RegisterI18n(tvoPhrases);
+ RegisterI18n(tvoPhrases);
#endif
- return true;
+ return true;
}
bool cPluginTvOnscreen::Start(void)
{
- // Start any background activities the plugin shall perform.
- return true;
+ // Start any background activities the plugin shall perform.
+ return true;
}
void cPluginTvOnscreen::Housekeeping(void)
{
- // Perform any cleanup or other regular tasks.
+ // Perform any cleanup or other regular tasks.
}
cOsdObject *cPluginTvOnscreen::MainMenuAction(void)
{
- // Perform the action when selected from the main VDR menu.
+ // Perform the action when selected from the main VDR menu.
- return new magazine(this);
+ return new magazine(this);
}
cMenuSetupPage *cPluginTvOnscreen::SetupMenu(void)
{
- // Return a setup menu in case the plugin supports one.
- return new tvonscreenConfigPage();
+ // Return a setup menu in case the plugin supports one.
+ return new tvonscreenConfigPage();
}
bool cPluginTvOnscreen::SetupParse(const char *Name, const char *Value)
{
- // Parse your own setup parameters and store their values.
- return tvonscreenCfg.SetupParse(Name,Value);
+ // Parse your own setup parameters and store their values.
+ return tvonscreenCfg.SetupParse(Name,Value);
}
VDRPLUGINCREATOR(cPluginTvOnscreen); // Don't touch this!