in settings.h
in neutrino.cpp
Code: Alles auswählen
g_settings.infobar_show = configfile.getInt32( "infobar_show" , 0);
...
configfile.setInt32("infobar_show" , g_settings.infobar_show);
...
#define INFOBAR_SHOW_OPTIONS_COUNT 3
const CMenuOptionChooser::keyval INFOBAR_SHOW_OPTIONS[INFOBAR_SHOW_OPTIONS_COUNT]=
{
{ 0 , LOCALE_OPTIONS_OFF },
{ 1 , LOCALE_PICTUREVIEWER_RESIZE_SIMPLE },
{ 2 , LOCALE_PICTUREVIEWER_RESIZE_COLOR_AVERAGE }
};
in remotecontrol.cpp
Code: Alles auswählen
//infobar anzeigen bei epg wechsel
if(g_settings.infobar_show == 1) //einfach
{
g_InfoViewer->show_Info(true);
}
if(g_settings.infobar_show == 2) //aufwendig
{
g_RCInput->postMsg( NeutrinoMessages::SHOW_INFOBAR , 0 );
}
in infoviewer.cpp
Code: Alles auswählen
void CInfoViewer::show_Info( bool calledFromRemote) //einfache einblendung bei sendungswechsel
{
int BoxTeilX = (BoxEndX-BoxStartX)/10;
char runningStart[10];
char nextStart[10];
struct tm *pStartZeit = localtime(&info_CurrentNext.current_zeit.startzeit);
sprintf( (char*)&runningStart, "%02d:%02d", pStartZeit->tm_hour, pStartZeit->tm_min );
struct tm *pnStartZeit = localtime(&info_CurrentNext.next_zeit.startzeit);
sprintf( (char*)&nextStart, "%02d:%02d", pnStartZeit->tm_hour, pnStartZeit->tm_min);
frameBuffer->paintBackgroundBoxRel(BoxStartX+ (BoxTeilX*1), BoxStartY - 185, (BoxTeilX*8), 130); // Killen einer vorhandenen Box
frameBuffer->paintBoxRel(BoxStartX+ (BoxTeilX*1), BoxStartY -185, (BoxTeilX*8), 130, COL_INFOBAR_PLUS_0); //Box malen...
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_CHANNAME]->RenderString(BoxStartX+(BoxTeilX*3), BoxStartY - 130, (BoxTeilX*5), "Folgende Sendung:", COL_INFOBAR, 0, true); // UTF-8
if (strcmp(runningStart, nextStart) == 0)
{
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->RenderString(BoxStartX+(BoxTeilX*1)+ 10, BoxStartY - 100, (BoxTeilX*7), info_CurrentNext.current_name, COL_INFOBAR);
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->RenderString(BoxStartX+(BoxTeilX*4)+ 20, BoxStartY - 70, (BoxTeilX*4), runningStart, COL_INFOBAR);
}
else
{
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->RenderString(BoxStartX+(BoxTeilX*1)+ 10, BoxStartY - 100, (BoxTeilX*7), info_CurrentNext.current_name, COL_INFOBAR);
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->RenderString(BoxStartX+(BoxTeilX*3)+ 15, BoxStartY - 70, (BoxTeilX*5), runningStart, COL_INFOBAR);
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->RenderString(BoxStartX+(BoxTeilX*4)+ 25, BoxStartY - 70, (BoxTeilX*4), "bis", COL_INFOBAR);
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->RenderString(BoxStartX+(BoxTeilX*5)+ 15, BoxStartY - 70, (BoxTeilX*3), nextStart, COL_INFOBAR);
}
sleep(3);
frameBuffer->paintBackgroundBoxRel(BoxStartX+ (BoxTeilX*1), BoxStartY - 185, (BoxTeilX*8), 130); // Killen der Box
}
infoviewer.h
und schon sollte das gehen. es ist aber halt nicht eincheckungswürdig,da es sehr unsauber programmiert wurde
aber es funktioniert. das ist für mich die hauptsache.