mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 00:11:14 +02:00
port rounded corner code from tuxbox CVSuse getScreenStartX(),getScreenStartY(),h_max(),w_max() routines
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@87 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
@@ -1,21 +1,26 @@
|
|||||||
/*
|
/*
|
||||||
* $Header: /cvs/tuxbox/apps/tuxbox/neutrino/src/driver/screen_max.cpp,v 1.3 2004/03/17 22:56:08 rasc Exp $
|
* $Header: /cvs/tuxbox/apps/tuxbox/neutrino/src/driver/screen_max.cpp,v 1.4 2009/12/15 09:42:59 dbt Exp $
|
||||||
*
|
*
|
||||||
* -- some odd module to calc max. screen usage of an menue
|
* -- some odd module to calc max. screen usage of an menue
|
||||||
* -- this should be somewhere else (neutrino needs redesign)
|
* -- this should be somewhere else (neutrino needs redesign)
|
||||||
*
|
*
|
||||||
* (C) 2004 by rasc
|
* (C) 2004 by rasc
|
||||||
|
*
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "driver/screen_max.h"
|
#include "driver/screen_max.h"
|
||||||
|
|
||||||
|
|
||||||
// -- this is a simple odd class provided for 'static' usage
|
// -- this is a simple odd class provided for 'static' usage
|
||||||
// -- to calculate max. usage of a preferred menue size (x,y)
|
// -- to calculate max. usage of a preferred menue size (x,y)
|
||||||
// -- this is due to 16:9 TV zoom functions, which are cutting menues.
|
// -- this is due to 16:9 TV zoom functions, which are cutting menues.
|
||||||
// -- so using this function will make menues to obey max. screen settings.
|
// -- so using this function will make menues to obey max. screen settings.
|
||||||
//
|
//
|
||||||
// usage: e.g. try to paint menue h: 500 w, 400 (but screen is limited
|
// usage: e.g. try to paint menue h: 500 w, 400 (but screen is limited
|
||||||
// to (450 x 420)), functions will return 450 and 400
|
// to (450 x 420)), functions will return 450 and 400
|
||||||
// the _add factor is for boundary...
|
// the _add factor is for boundary...
|
||||||
@@ -24,6 +29,7 @@
|
|||||||
//
|
//
|
||||||
// 2004-03-17 rasc
|
// 2004-03-17 rasc
|
||||||
|
|
||||||
|
|
||||||
int w_max (int w_size, int w_add)
|
int w_max (int w_size, int w_add)
|
||||||
{
|
{
|
||||||
int dw;
|
int dw;
|
||||||
@@ -37,6 +43,7 @@ int w_max (int w_size, int w_add)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int h_max (int h_size, int h_add)
|
int h_max (int h_size, int h_add)
|
||||||
{
|
{
|
||||||
int dh;
|
int dh;
|
||||||
@@ -49,3 +56,21 @@ int h_max (int h_size, int h_add)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//some helpers to get x and y screen values vor menus and windows
|
||||||
|
int getScreenStartX (int width)
|
||||||
|
{
|
||||||
|
int w = width;
|
||||||
|
return (((g_settings.screen_EndX- g_settings.screen_StartX)-w) / 2) + g_settings.screen_StartX;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int getScreenStartY (int height)
|
||||||
|
{
|
||||||
|
int y = height;
|
||||||
|
return (((g_settings.screen_EndY- g_settings.screen_StartY)-y) / 2) + g_settings.screen_StartY;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Header: /cvs/tuxbox/apps/tuxbox/neutrino/src/driver/screen_max.h,v 1.1 2004/03/17 21:30:51 rasc Exp $
|
* $Header: /cvs/tuxbox/apps/tuxbox/neutrino/src/driver/screen_max.h,v 1.2 2009/12/15 09:42:59 dbt Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@@ -25,7 +25,8 @@
|
|||||||
|
|
||||||
int w_max (int w_size, int w_add);
|
int w_max (int w_size, int w_add);
|
||||||
int h_max (int h_size, int h_add);
|
int h_max (int h_size, int h_add);
|
||||||
|
int getScreenStartX(int width);
|
||||||
|
int getScreenStartY(int height);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -35,7 +35,7 @@
|
|||||||
#include <neutrino.h>
|
#include <neutrino.h>
|
||||||
|
|
||||||
#include <system/settings.h>
|
#include <system/settings.h>
|
||||||
|
#include <driver/screen_max.h>
|
||||||
#include <gui/widget/messagebox.h>
|
#include <gui/widget/messagebox.h>
|
||||||
#include <gui/widget/hintbox.h>
|
#include <gui/widget/hintbox.h>
|
||||||
#include <gui/widget/stringinput.h>
|
#include <gui/widget/stringinput.h>
|
||||||
@@ -71,8 +71,8 @@ int CBookmarkManager::addBookmark (CBookmark inBookmark) {
|
|||||||
bookmarksmodified = true;
|
bookmarksmodified = true;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// TODO:show dialog to delete old bookmark
|
// TODO:show dialog to delete old bookmark
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
@@ -81,12 +81,12 @@ inline int CBookmarkManager::createBookmark (const std::string & name, const std
|
|||||||
}
|
}
|
||||||
|
|
||||||
int CBookmarkManager::createBookmark (const std::string & url, const std::string & time) {
|
int CBookmarkManager::createBookmark (const std::string & url, const std::string & time) {
|
||||||
char bookmarkname[26]="";
|
char bookmarkname[26]="";
|
||||||
CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789-_");
|
CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789-_");
|
||||||
bookmarkname_input.exec(NULL, "");
|
bookmarkname_input.exec(NULL, "");
|
||||||
// TODO: return -1 if no name was entered
|
// TODO: return -1 if no name was entered
|
||||||
if(!strlen(bookmarkname)) return -1;
|
if (!strlen(bookmarkname)) return -1;
|
||||||
return createBookmark(std::string(bookmarkname), url, time);
|
return createBookmark(std::string(bookmarkname), url, time);
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
@@ -126,7 +126,7 @@ void CBookmarkManager::readBookmarkFile() {
|
|||||||
{
|
{
|
||||||
char bookmarkstring[BOOKMARKSTRINGLENGTH];
|
char bookmarkstring[BOOKMARKSTRINGLENGTH];
|
||||||
strcpy(bookmarkstring, BOOKMARKSTRING);
|
strcpy(bookmarkstring, BOOKMARKSTRING);
|
||||||
|
|
||||||
bookmarksmodified = false;
|
bookmarksmodified = false;
|
||||||
bookmarks.clear();
|
bookmarks.clear();
|
||||||
|
|
||||||
@@ -146,7 +146,7 @@ void CBookmarkManager::readBookmarkFile() {
|
|||||||
tmp = bookmarkstring;
|
tmp = bookmarkstring;
|
||||||
tmp += "time";
|
tmp += "time";
|
||||||
std::string bookmarktime = bookmarkfile.getString(tmp, "");
|
std::string bookmarktime = bookmarkfile.getString(tmp, "");
|
||||||
|
|
||||||
bookmarks.push_back(CBookmark(bookmarkname, bookmarkurl, bookmarktime));
|
bookmarks.push_back(CBookmark(bookmarkname, bookmarkurl, bookmarktime));
|
||||||
|
|
||||||
bookmarkstring[BOOKMARKSTRINGMODIFICATIONPOINT]++;
|
bookmarkstring[BOOKMARKSTRINGMODIFICATIONPOINT]++;
|
||||||
@@ -162,7 +162,7 @@ void CBookmarkManager::writeBookmarkFile() {
|
|||||||
strcpy(bookmarkstring, BOOKMARKSTRING);
|
strcpy(bookmarkstring, BOOKMARKSTRING);
|
||||||
|
|
||||||
printf("CBookmarkManager: Writing bookmark file\n");
|
printf("CBookmarkManager: Writing bookmark file\n");
|
||||||
|
|
||||||
for (std::vector<CBookmark>::const_iterator it = bookmarks.begin(); it != bookmarks.end(); it++)
|
for (std::vector<CBookmark>::const_iterator it = bookmarks.begin(); it != bookmarks.end(); it++)
|
||||||
{
|
{
|
||||||
std::string tmp = bookmarkstring;
|
std::string tmp = bookmarkstring;
|
||||||
@@ -191,7 +191,7 @@ CBookmarkManager::CBookmarkManager() : bookmarkfile ('\t')
|
|||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
|
|
||||||
CBookmarkManager::~CBookmarkManager () {
|
CBookmarkManager::~CBookmarkManager () {
|
||||||
flush();
|
flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
@@ -203,68 +203,65 @@ int CBookmarkManager::getBookmarkCount(void) const {
|
|||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
|
|
||||||
int CBookmarkManager::getMaxBookmarkCount(void) const {
|
int CBookmarkManager::getMaxBookmarkCount(void) const {
|
||||||
return MAXBOOKMARKS;
|
return MAXBOOKMARKS;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
|
|
||||||
void CBookmarkManager::flush() {
|
void CBookmarkManager::flush() {
|
||||||
if (bookmarksmodified) {
|
if (bookmarksmodified) {
|
||||||
writeBookmarkFile();
|
writeBookmarkFile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
|
|
||||||
const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
||||||
{
|
{
|
||||||
if(parent)
|
if (parent)
|
||||||
{
|
{
|
||||||
parent->hide();
|
parent->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
frameBuffer = CFrameBuffer::getInstance();
|
frameBuffer = CFrameBuffer::getInstance();
|
||||||
visible = false;
|
visible = false;
|
||||||
selected = 0;
|
selected = 0;
|
||||||
// Max
|
// Max
|
||||||
width = 720;
|
width = w_max( 720, 10 );
|
||||||
if(g_settings.screen_EndX-g_settings.screen_StartX < width)
|
|
||||||
width=g_settings.screen_EndX-g_settings.screen_StartX-10;
|
|
||||||
buttonHeight = 25;
|
buttonHeight = 25;
|
||||||
theight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight();
|
theight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight();
|
||||||
fheight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight();
|
fheight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight();
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
x=getScreenStartX( width );
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-( height+ info_height) ) / 2) + g_settings.screen_StartY;
|
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-( height+ info_height) ) / 2) + g_settings.screen_StartY;
|
||||||
listmaxshow = (height-theight-0)/(fheight*2);
|
listmaxshow = (height-theight-0)/(fheight*2);
|
||||||
liststart = 0;
|
liststart = 0;
|
||||||
|
|
||||||
height = (g_settings.screen_EndY-g_settings.screen_StartY)-(info_height+50);
|
height = (g_settings.screen_EndY-g_settings.screen_StartY)-(info_height+50);
|
||||||
listmaxshow = (height-theight-0)/(fheight*2);
|
listmaxshow = (height-theight-0)/(fheight*2);
|
||||||
height = theight+0+listmaxshow*fheight*2; // recalc height
|
height = theight+0+listmaxshow*fheight*2; // recalc height
|
||||||
if(bookmarks.size() < listmaxshow)
|
if (bookmarks.size() < listmaxshow)
|
||||||
{
|
{
|
||||||
listmaxshow=bookmarks.size();
|
listmaxshow=bookmarks.size();
|
||||||
height = theight+0+listmaxshow*fheight*2; // recalc height
|
height = theight+0+listmaxshow*fheight*2; // recalc height
|
||||||
}
|
}
|
||||||
if(selected==bookmarks.size() && !(bookmarks.empty()))
|
if (selected==bookmarks.size() && !(bookmarks.empty()))
|
||||||
{
|
{
|
||||||
selected=bookmarks.size()-1;
|
selected=bookmarks.size()-1;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
}
|
}
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-( height+ info_height) ) / 2) + g_settings.screen_StartY;
|
|
||||||
|
|
||||||
|
|
||||||
int res = -1;
|
int res = -1;
|
||||||
|
|
||||||
unsigned long long timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
|
unsigned long long timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
|
||||||
uint32_t msg; uint32_t data;
|
uint32_t msg;
|
||||||
|
uint32_t data;
|
||||||
|
|
||||||
bool loop=true;
|
bool loop=true;
|
||||||
bool update=true;
|
bool update=true;
|
||||||
while(loop)
|
while (loop)
|
||||||
{
|
{
|
||||||
if(update)
|
if (update)
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
update=false;
|
update=false;
|
||||||
@@ -272,11 +269,11 @@ const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
|||||||
}
|
}
|
||||||
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
||||||
|
|
||||||
if( msg <= CRCInput::RC_MaxRC )
|
if ( msg <= CRCInput::RC_MaxRC )
|
||||||
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
|
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
|
||||||
|
|
||||||
if( ( msg == CRCInput::RC_timeout ) ||
|
if ( ( msg == CRCInput::RC_timeout ) ||
|
||||||
( msg == CRCInput::RC_home) )
|
( msg == CRCInput::RC_home) )
|
||||||
{ //Exit after timeout or cancel key
|
{ //Exit after timeout or cancel key
|
||||||
res = -1;
|
res = -1;
|
||||||
loop=false;
|
loop=false;
|
||||||
@@ -284,7 +281,7 @@ const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
|||||||
else if ((msg == CRCInput::RC_up) && !(bookmarks.empty()))
|
else if ((msg == CRCInput::RC_up) && !(bookmarks.empty()))
|
||||||
{
|
{
|
||||||
int prevselected=selected;
|
int prevselected=selected;
|
||||||
if(selected==0)
|
if (selected==0)
|
||||||
{
|
{
|
||||||
selected = bookmarks.size()-1;
|
selected = bookmarks.size()-1;
|
||||||
}
|
}
|
||||||
@@ -293,7 +290,7 @@ const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
|||||||
paintItem(prevselected - liststart);
|
paintItem(prevselected - liststart);
|
||||||
unsigned int oldliststart = liststart;
|
unsigned int oldliststart = liststart;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
if(oldliststart!=liststart)
|
if (oldliststart!=liststart)
|
||||||
{
|
{
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
@@ -309,7 +306,7 @@ const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
|||||||
paintItem(prevselected - liststart);
|
paintItem(prevselected - liststart);
|
||||||
unsigned int oldliststart = liststart;
|
unsigned int oldliststart = liststart;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
if(oldliststart!=liststart)
|
if (oldliststart!=liststart)
|
||||||
{
|
{
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
@@ -320,36 +317,36 @@ const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
|||||||
}
|
}
|
||||||
else if ((msg == CRCInput::RC_ok) && !(bookmarks.empty()))
|
else if ((msg == CRCInput::RC_ok) && !(bookmarks.empty()))
|
||||||
{
|
{
|
||||||
res = selected;
|
res = selected;
|
||||||
loop=false;
|
loop=false;
|
||||||
}
|
}
|
||||||
else if((msg == CRCInput::RC_red) && !(bookmarks.empty()))
|
else if ((msg == CRCInput::RC_red) && !(bookmarks.empty()))
|
||||||
{
|
{
|
||||||
removeBookmark(selected);
|
removeBookmark(selected);
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if((msg==CRCInput::RC_yellow) && !(bookmarks.empty()))
|
else if ((msg==CRCInput::RC_yellow) && !(bookmarks.empty()))
|
||||||
{
|
{
|
||||||
renameBookmark(selected);
|
renameBookmark(selected);
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if((msg==CRCInput::RC_blue)||(msg==CRCInput::RC_green)||
|
else if ((msg==CRCInput::RC_blue)||(msg==CRCInput::RC_green)||
|
||||||
(CRCInput::isNumeric(msg)) )
|
(CRCInput::isNumeric(msg)) )
|
||||||
{
|
{
|
||||||
//Ignore
|
//Ignore
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_setup)
|
else if (msg==CRCInput::RC_setup)
|
||||||
{
|
{
|
||||||
res=-1;
|
res=-1;
|
||||||
loop=false;
|
loop=false;
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_help )
|
else if ( msg == CRCInput::RC_help )
|
||||||
{
|
{
|
||||||
// TODO Add Help
|
// TODO Add Help
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
||||||
{
|
{
|
||||||
loop = false;
|
loop = false;
|
||||||
res = menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
@@ -368,7 +365,7 @@ const CBookmark * CBookmarkManager::getBookmark(CMenuTarget* parent)
|
|||||||
void CBookmarkManager::paintItem(int pos)
|
void CBookmarkManager::paintItem(int pos)
|
||||||
{
|
{
|
||||||
int ypos = y+ theight+0 + pos*fheight*2;
|
int ypos = y+ theight+0 + pos*fheight*2;
|
||||||
|
|
||||||
uint8_t color;
|
uint8_t color;
|
||||||
fb_pixel_t bgcolor;
|
fb_pixel_t bgcolor;
|
||||||
|
|
||||||
@@ -390,20 +387,20 @@ void CBookmarkManager::paintItem(int pos)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int real_width=width;
|
int real_width=width;
|
||||||
if(bookmarks.size()>listmaxshow)
|
if (bookmarks.size()>listmaxshow)
|
||||||
{
|
{
|
||||||
real_width-=15; //scrollbar
|
real_width-=15; //scrollbar
|
||||||
}
|
}
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(x,ypos, real_width, 2*fheight, bgcolor);
|
frameBuffer->paintBoxRel(x,ypos, real_width, 2*fheight, bgcolor);
|
||||||
if(liststart+pos<bookmarks.size())
|
if (liststart+pos<bookmarks.size())
|
||||||
{
|
{
|
||||||
CBookmark theBookmark = bookmarks[liststart+pos];
|
CBookmark theBookmark = bookmarks[liststart+pos];
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+fheight, real_width-10, theBookmark.getName(), color, fheight, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+fheight, real_width-10, theBookmark.getName(), color, fheight, true); // UTF-8
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+2*fheight, real_width-10, theBookmark.getUrl(), color, fheight, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+2*fheight, real_width-10, theBookmark.getUrl(), color, fheight, true); // UTF-8
|
||||||
|
|
||||||
// LCD Display
|
// LCD Display
|
||||||
if(liststart+pos==selected)
|
if (liststart+pos==selected)
|
||||||
{
|
{
|
||||||
CVFD::getInstance()->showMenuText(0, theBookmark.getName(), -1, true); // UTF-8
|
CVFD::getInstance()->showMenuText(0, theBookmark.getName(), -1, true); // UTF-8
|
||||||
CVFD::getInstance()->showMenuText(1, theBookmark.getUrl(), -1, true); // UTF-8
|
CVFD::getInstance()->showMenuText(1, theBookmark.getUrl(), -1, true); // UTF-8
|
||||||
@@ -415,7 +412,7 @@ void CBookmarkManager::paintItem(int pos)
|
|||||||
|
|
||||||
void CBookmarkManager::hide()
|
void CBookmarkManager::hide()
|
||||||
{
|
{
|
||||||
if(visible)
|
if (visible)
|
||||||
{
|
{
|
||||||
frameBuffer->paintBackgroundBoxRel(x, y, width, height+ info_height+ 5);
|
frameBuffer->paintBackgroundBoxRel(x, y, width, height+ info_height+ 5);
|
||||||
visible = false;
|
visible = false;
|
||||||
@@ -424,7 +421,7 @@ void CBookmarkManager::hide()
|
|||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
void CBookmarkManager::paintHead()
|
void CBookmarkManager::paintHead()
|
||||||
{
|
{
|
||||||
frameBuffer->paintBoxRel(x,y, width,theight+0, COL_MENUHEAD_PLUS_0);
|
frameBuffer->paintBoxRel(x,y, width,theight+0, COL_MENUHEAD_PLUS_0);
|
||||||
frameBuffer->paintIcon("bookmarkmanager.raw",x+5,y+4);
|
frameBuffer->paintIcon("bookmarkmanager.raw",x+5,y+4);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+35,y+theight+0, width- 45, g_Locale->getText(LOCALE_BOOKMARKMANAGER_NAME), COL_MENUHEAD, 0, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+35,y+theight+0, width- 45, g_Locale->getText(LOCALE_BOOKMARKMANAGER_NAME), COL_MENUHEAD, 0, true); // UTF-8
|
||||||
@@ -447,7 +444,7 @@ void CBookmarkManager::paintFoot()
|
|||||||
if (bookmarks.empty()) {
|
if (bookmarks.empty()) {
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_OKAY, x+width- 1* ButtonWidth + 10, y+height);
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_OKAY, x+width- 1* ButtonWidth + 10, y+height);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+width-1 * ButtonWidth + 38, y+height+24 - 2, ButtonWidth- 28, g_Locale->getText(LOCALE_BOOKMARKMANAGER_SELECT), COL_INFOBAR, 0, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+width-1 * ButtonWidth + 38, y+height+24 - 2, ButtonWidth- 28, g_Locale->getText(LOCALE_BOOKMARKMANAGER_SELECT), COL_INFOBAR, 0, true); // UTF-8
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
::paintButtons(frameBuffer, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], g_Locale, x + 10, y + height + 4, ButtonWidth, 2, BookmarkmanagerButtons);
|
::paintButtons(frameBuffer, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], g_Locale, x + 10, y + height + 4, ButtonWidth, 2, BookmarkmanagerButtons);
|
||||||
@@ -466,12 +463,12 @@ void CBookmarkManager::paint()
|
|||||||
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_BOOKMARKMANAGER_NAME));
|
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_BOOKMARKMANAGER_NAME));
|
||||||
|
|
||||||
paintHead();
|
paintHead();
|
||||||
|
|
||||||
for(unsigned int count=0;count<listmaxshow;count++)
|
for (unsigned int count=0; count<listmaxshow; count++)
|
||||||
{
|
{
|
||||||
paintItem(count);
|
paintItem(count);
|
||||||
}
|
}
|
||||||
if(bookmarks.size()>listmaxshow)
|
if (bookmarks.size()>listmaxshow)
|
||||||
{
|
{
|
||||||
int ypos = y+ theight;
|
int ypos = y+ theight;
|
||||||
int sb = 2*fheight* listmaxshow;
|
int sb = 2*fheight* listmaxshow;
|
||||||
|
@@ -61,10 +61,9 @@ CDBoxInfoWidget::CDBoxInfoWidget()
|
|||||||
// height = hheight+13*mheight+ 10;
|
// height = hheight+13*mheight+ 10;
|
||||||
width = w_max (600, 0);
|
width = w_max (600, 0);
|
||||||
height = h_max (hheight+14*mheight+ 10, 0);
|
height = h_max (hheight+14*mheight+ 10, 0);
|
||||||
|
|
||||||
|
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
x=getScreenStartX( width );
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-height) / 2) + g_settings.screen_StartY;
|
y=getScreenStartY( height );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -104,16 +103,16 @@ void CDBoxInfoWidget::paint()
|
|||||||
int power = 0;
|
int power = 0;
|
||||||
int is_val = 0xdeadbabe;
|
int is_val = 0xdeadbabe;
|
||||||
int fp_ver = 0;
|
int fp_ver = 0;
|
||||||
|
|
||||||
int fp = open("/dev/dbox/fp0", O_RDWR);
|
int fp = open("/dev/dbox/fp0", O_RDWR);
|
||||||
if(fp > 0) {
|
if (fp > 0) {
|
||||||
fp_ver = ioctl(fp, FP_IOCTL_GETID);
|
fp_ver = ioctl(fp, FP_IOCTL_GETID);
|
||||||
if(fp_ver < 0) fp_ver = 0;
|
if (fp_ver < 0) fp_ver = 0;
|
||||||
ioctl(fp, FP_IOCTL_UPGRADE_CTRL, &is_val);
|
ioctl(fp, FP_IOCTL_UPGRADE_CTRL, &is_val);
|
||||||
if(is_val != 1) is_val = 0;
|
if (is_val != 1) is_val = 0;
|
||||||
ioctl(fp, FP_IOCTL_GET_LNB_CURRENT, &power);
|
ioctl(fp, FP_IOCTL_GET_LNB_CURRENT, &power);
|
||||||
close(fp);
|
close(fp);
|
||||||
}
|
}
|
||||||
else is_val = 0;
|
else is_val = 0;
|
||||||
#endif
|
#endif
|
||||||
char buf[256];
|
char buf[256];
|
||||||
@@ -123,12 +122,12 @@ void CDBoxInfoWidget::paint()
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
fgets(buf,255,fd);
|
fgets(buf,255,fd);
|
||||||
while(!feof(fd)) {
|
while (!feof(fd)) {
|
||||||
if(fgets(buf,255,fd)!=NULL) {
|
if (fgets(buf,255,fd)!=NULL) {
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, buf, COL_MENUCONTENT);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, buf, COL_MENUCONTENT);
|
||||||
ypos+= mheight;
|
ypos+= mheight;
|
||||||
i++;
|
i++;
|
||||||
if(i > 6) break;
|
if (i > 6) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(fd);
|
fclose(fd);
|
||||||
@@ -152,9 +151,9 @@ void CDBoxInfoWidget::paint()
|
|||||||
|
|
||||||
sysinfo(&info);
|
sysinfo(&info);
|
||||||
|
|
||||||
sprintf( ubuf, "%2d:%02d%s up ",
|
sprintf( ubuf, "%2d:%02d%s up ",
|
||||||
current_time->tm_hour%12 ? current_time->tm_hour%12 : 12,
|
current_time->tm_hour%12 ? current_time->tm_hour%12 : 12,
|
||||||
current_time->tm_min, current_time->tm_hour > 11 ? "pm" : "am");
|
current_time->tm_min, current_time->tm_hour > 11 ? "pm" : "am");
|
||||||
strcat(sbuf, ubuf);
|
strcat(sbuf, ubuf);
|
||||||
updays = (int) info.uptime / (60*60*24);
|
updays = (int) info.uptime / (60*60*24);
|
||||||
if (updays) {
|
if (updays) {
|
||||||
@@ -164,16 +163,16 @@ void CDBoxInfoWidget::paint()
|
|||||||
upminutes = (int) info.uptime / 60;
|
upminutes = (int) info.uptime / 60;
|
||||||
uphours = (upminutes / 60) % 24;
|
uphours = (upminutes / 60) % 24;
|
||||||
upminutes %= 60;
|
upminutes %= 60;
|
||||||
if(uphours)
|
if (uphours)
|
||||||
sprintf(ubuf,"%2d:%02d, ", uphours, upminutes);
|
sprintf(ubuf,"%2d:%02d, ", uphours, upminutes);
|
||||||
else
|
else
|
||||||
sprintf(ubuf,"%d min, ", upminutes);
|
sprintf(ubuf,"%d min, ", upminutes);
|
||||||
strcat(sbuf, ubuf);
|
strcat(sbuf, ubuf);
|
||||||
|
|
||||||
sprintf(ubuf, "load: %ld.%02ld, %ld.%02ld, %ld.%02ld\n",
|
sprintf(ubuf, "load: %ld.%02ld, %ld.%02ld, %ld.%02ld\n",
|
||||||
LOAD_INT(info.loads[0]), LOAD_FRAC(info.loads[0]),
|
LOAD_INT(info.loads[0]), LOAD_FRAC(info.loads[0]),
|
||||||
LOAD_INT(info.loads[1]), LOAD_FRAC(info.loads[1]),
|
LOAD_INT(info.loads[1]), LOAD_FRAC(info.loads[1]),
|
||||||
LOAD_INT(info.loads[2]), LOAD_FRAC(info.loads[2]));
|
LOAD_INT(info.loads[2]), LOAD_FRAC(info.loads[2]));
|
||||||
strcat(sbuf, ubuf);
|
strcat(sbuf, ubuf);
|
||||||
ypos+= mheight/2;
|
ypos+= mheight/2;
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, sbuf, COL_MENUCONTENT);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, sbuf, COL_MENUCONTENT);
|
||||||
@@ -184,24 +183,24 @@ void CDBoxInfoWidget::paint()
|
|||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, ubuf, COL_MENUCONTENT);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, ubuf, COL_MENUCONTENT);
|
||||||
ypos+= mheight;
|
ypos+= mheight;
|
||||||
|
|
||||||
struct statfs s;
|
struct statfs s;
|
||||||
//long blocks_used;
|
//long blocks_used;
|
||||||
//long blocks_percent_used;
|
//long blocks_percent_used;
|
||||||
|
|
||||||
if (::statfs("/var", &s) == 0) {
|
if (::statfs("/var", &s) == 0) {
|
||||||
//printf("/var filesystem total %ldKb, free %ldKb\n", (long)s.f_blocks*s.f_bsize/1024, (long)s.f_bfree*s.f_bsize/1024);
|
//printf("/var filesystem total %ldKb, free %ldKb\n", (long)s.f_blocks*s.f_bsize/1024, (long)s.f_bfree*s.f_bsize/1024);
|
||||||
sprintf(ubuf, "/var filesystem total %ldKb, free %ldKb", (long)s.f_blocks*s.f_bsize/1024, (long)s.f_bfree*s.f_bsize/1024);
|
sprintf(ubuf, "/var filesystem total %ldKb, free %ldKb", (long)s.f_blocks*s.f_bsize/1024, (long)s.f_bfree*s.f_bsize/1024);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, ubuf, COL_MENUCONTENT);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, ubuf, COL_MENUCONTENT);
|
||||||
ypos+= mheight;
|
ypos+= mheight;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
perror("/var statfs");
|
perror("/var statfs");
|
||||||
if (::statfs("/hdd", &s) == 0) {
|
if (::statfs("/hdd", &s) == 0) {
|
||||||
//printf("STATFS: type %lX free: %ld\n", s.f_type, s.f_bfree);
|
//printf("STATFS: type %lX free: %ld\n", s.f_type, s.f_bfree);
|
||||||
if( (s.f_type != (int) 0xEF53) && (s.f_type != (int) 0x52654973) && (s.f_type != (int) 0x6969) && (s.f_type != (int) 0xFF534D42) && (s.f_type != (int) 0x517B) && (s.f_type != (int) 0x58465342) )
|
if ( (s.f_type != (int) 0xEF53) && (s.f_type != (int) 0x52654973) && (s.f_type != (int) 0x6969) && (s.f_type != (int) 0xFF534D42) && (s.f_type != (int) 0x517B) && (s.f_type != (int) 0x58465342) )
|
||||||
return;
|
return;
|
||||||
//printf("/hdd filesystem total %ldKb, free %ldKb\n", (long)(s.f_blocks/1024)*s.f_bsize, (long)(s.f_bfree/1024)*s.f_bsize);
|
//printf("/hdd filesystem total %ldKb, free %ldKb\n", (long)(s.f_blocks/1024)*s.f_bsize, (long)(s.f_bfree/1024)*s.f_bsize);
|
||||||
sprintf(ubuf, "/hdd filesystem total %ldKb, free %ldKb", (long)(s.f_blocks/1024)*s.f_bsize, (long)(s.f_bfree/1024)*s.f_bsize);
|
sprintf(ubuf, "/hdd filesystem total %ldKb, free %ldKb", (long)(s.f_blocks/1024)*s.f_bsize, (long)(s.f_bfree/1024)*s.f_bsize);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, ubuf, COL_MENUCONTENT);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+ 10, ypos+ mheight, width, ubuf, COL_MENUCONTENT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -135,7 +135,7 @@ void CEpgData::start()
|
|||||||
topheight = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_TITLE]->getHeight();
|
topheight = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_TITLE]->getHeight();
|
||||||
topboxheight = topheight + 6;
|
topboxheight = topheight + 6;
|
||||||
|
|
||||||
if(topboxheight < PIC_H) topboxheight = PIC_H;
|
if (topboxheight < PIC_H) topboxheight = PIC_H;
|
||||||
|
|
||||||
botheight = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->getHeight();
|
botheight = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->getHeight();
|
||||||
botboxheight = botheight + 6;
|
botboxheight = botheight + 6;
|
||||||
@@ -144,7 +144,7 @@ void CEpgData::start()
|
|||||||
sb = medlinecount* medlineheight;
|
sb = medlinecount* medlineheight;
|
||||||
|
|
||||||
oy = botboxheight+medlinecount*medlineheight; // recalculate //FIXME
|
oy = botboxheight+medlinecount*medlineheight; // recalculate //FIXME
|
||||||
sy = (((g_settings.screen_EndY-g_settings.screen_StartY)-(oy- topboxheight) ) / 2) + g_settings.screen_StartY;
|
sy = getScreenStartY(oy- topboxheight);
|
||||||
toph = topboxheight;
|
toph = topboxheight;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ void CEpgData::addTextToArray(const std::string & text) // UTF-8
|
|||||||
if (text==" ")
|
if (text==" ")
|
||||||
{
|
{
|
||||||
emptyLineCount ++;
|
emptyLineCount ++;
|
||||||
if(emptyLineCount<2)
|
if (emptyLineCount<2)
|
||||||
{
|
{
|
||||||
epgText.push_back(text);
|
epgText.push_back(text);
|
||||||
}
|
}
|
||||||
@@ -174,29 +174,29 @@ void CEpgData::processTextToArray(std::string text) // UTF-8
|
|||||||
text += ' ';
|
text += ' ';
|
||||||
char* text_= (char*) text.c_str();
|
char* text_= (char*) text.c_str();
|
||||||
|
|
||||||
while(*text_!=0)
|
while (*text_!=0)
|
||||||
{
|
{
|
||||||
if ( (*text_==' ') || (*text_=='\n') || (*text_=='-') || (*text_=='.') )
|
if ( (*text_==' ') || (*text_=='\n') || (*text_=='-') || (*text_=='.') )
|
||||||
{
|
{
|
||||||
// Houdini: if there is a newline (especially in the Premiere Portal EPGs) do not forget to add aktWord to aktLine
|
// Houdini: if there is a newline (especially in the Premiere Portal EPGs) do not forget to add aktWord to aktLine
|
||||||
// after width check, if width check failes do newline, add aktWord to next line
|
// after width check, if width check failes do newline, add aktWord to next line
|
||||||
// and "reinsert" i.e. reloop for the \n
|
// and "reinsert" i.e. reloop for the \n
|
||||||
if(*text_!='\n')
|
if (*text_!='\n')
|
||||||
aktWord += *text_;
|
aktWord += *text_;
|
||||||
|
|
||||||
// check the wordwidth - add to this line if size ok
|
// check the wordwidth - add to this line if size ok
|
||||||
int aktWordWidth = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getRenderWidth(aktWord, true);
|
int aktWordWidth = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getRenderWidth(aktWord, true);
|
||||||
if((aktWordWidth+aktWidth)<(ox- 20- 15))
|
if ((aktWordWidth+aktWidth)<(ox- 20- 15))
|
||||||
{//space ok, add
|
{//space ok, add
|
||||||
aktWidth += aktWordWidth;
|
aktWidth += aktWordWidth;
|
||||||
aktLine += aktWord;
|
aktLine += aktWord;
|
||||||
|
|
||||||
if(*text_=='\n')
|
if (*text_=='\n')
|
||||||
{ //enter-handler
|
{ //enter-handler
|
||||||
addTextToArray( aktLine );
|
addTextToArray( aktLine );
|
||||||
aktLine = "";
|
aktLine = "";
|
||||||
aktWidth= 0;
|
aktWidth= 0;
|
||||||
}
|
}
|
||||||
aktWord = "";
|
aktWord = "";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -205,9 +205,9 @@ void CEpgData::processTextToArray(std::string text) // UTF-8
|
|||||||
aktLine = aktWord;
|
aktLine = aktWord;
|
||||||
aktWidth = aktWordWidth;
|
aktWidth = aktWordWidth;
|
||||||
aktWord = "";
|
aktWord = "";
|
||||||
// Houdini: in this case where we skipped \n and space is too low, exec newline and rescan \n
|
// Houdini: in this case where we skipped \n and space is too low, exec newline and rescan \n
|
||||||
// otherwise next word comes direct after aktLine
|
// otherwise next word comes direct after aktLine
|
||||||
if(*text_=='\n')
|
if (*text_=='\n')
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -232,7 +232,7 @@ void CEpgData::showText( int startPos, int ypos )
|
|||||||
|
|
||||||
frameBuffer->paintBoxRel(sx, y, ox- 15, sb, COL_MENUCONTENT_PLUS_0);
|
frameBuffer->paintBoxRel(sx, y, ox- 15, sb, COL_MENUCONTENT_PLUS_0);
|
||||||
|
|
||||||
for(int i=startPos; i<textCount && i<startPos+medlinecount; i++,y+=medlineheight)
|
for (int i=startPos; i<textCount && i<startPos+medlinecount; i++,y+=medlineheight)
|
||||||
{
|
{
|
||||||
if ( i< info1_lines )
|
if ( i< info1_lines )
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->RenderString(sx+10, y+medlineheight, ox- 15- 15, epgText[i], COL_MENUCONTENT, 0, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->RenderString(sx+10, y+medlineheight, ox- 15- 15, epgText[i], COL_MENUCONTENT, 0, true); // UTF-8
|
||||||
@@ -393,13 +393,13 @@ const neutrino_locale_t * genre_sub_classes_list[10] =
|
|||||||
|
|
||||||
bool CEpgData::hasFollowScreenings(const t_channel_id channel_id, const std::string & title) {
|
bool CEpgData::hasFollowScreenings(const t_channel_id channel_id, const std::string & title) {
|
||||||
time_t curtime = time(NULL);
|
time_t curtime = time(NULL);
|
||||||
|
|
||||||
for (CChannelEventList::iterator e = evtlist.begin(); e != evtlist.end(); ++e )
|
for (CChannelEventList::iterator e = evtlist.begin(); e != evtlist.end(); ++e )
|
||||||
{
|
{
|
||||||
if (e->startTime > curtime && e->eventID && e->description == title)
|
if (e->startTime > curtime && e->eventID && e->description == title)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * GetGenre(const unsigned char contentClassification) // UTF-8
|
const char * GetGenre(const unsigned char contentClassification) // UTF-8
|
||||||
@@ -468,8 +468,8 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
int res = menu_return::RETURN_REPAINT;
|
int res = menu_return::RETURN_REPAINT;
|
||||||
static unsigned long long id;
|
static unsigned long long id;
|
||||||
static time_t startzeit;
|
static time_t startzeit;
|
||||||
|
|
||||||
if(a_startzeit)
|
if (a_startzeit)
|
||||||
startzeit=*a_startzeit;
|
startzeit=*a_startzeit;
|
||||||
id=a_id;
|
id=a_id;
|
||||||
|
|
||||||
@@ -480,7 +480,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
//start();
|
//start();
|
||||||
frameBuffer->paintBoxRel(g_settings.screen_StartX, g_settings.screen_StartY, 50, height+5, COL_INFOBAR_PLUS_0);
|
frameBuffer->paintBoxRel(g_settings.screen_StartX, g_settings.screen_StartY, 50, height+5, COL_INFOBAR_PLUS_0);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->RenderString(g_settings.screen_StartX+10, g_settings.screen_StartY+height, 40, "-@-", COL_INFOBAR);
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->RenderString(g_settings.screen_StartX+10, g_settings.screen_StartY+height, 40, "-@-", COL_INFOBAR);
|
||||||
if(!bigFonts && g_settings.bigFonts) {
|
if (!bigFonts && g_settings.bigFonts) {
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() * BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() * BIG_FONT_FAKTOR));
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getSize() * BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getSize() * BIG_FONT_FAKTOR));
|
||||||
}
|
}
|
||||||
@@ -495,7 +495,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
evtlist.clear();
|
evtlist.clear();
|
||||||
sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, evtlist);
|
sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, evtlist);
|
||||||
// Houdini added for Private Premiere EPG start sorted by start date/time 2005-08-15
|
// Houdini added for Private Premiere EPG start sorted by start date/time 2005-08-15
|
||||||
sort(evtlist.begin(),evtlist.end(),sortByDateTime);
|
sort(evtlist.begin(),evtlist.end(),sortByDateTime);
|
||||||
frameBuffer->paintBackgroundBoxRel(g_settings.screen_StartX, g_settings.screen_StartY, 50, height+5);
|
frameBuffer->paintBackgroundBoxRel(g_settings.screen_StartX, g_settings.screen_StartY, 50, height+5);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,10 +516,10 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
std::string::size_type nPosDot = epgData.info1.find('.');
|
std::string::size_type nPosDot = epgData.info1.find('.');
|
||||||
if (std::string::npos != nPosDot) {
|
if (std::string::npos != nPosDot) {
|
||||||
nPosDot += 2; // Skip dot and first blank
|
nPosDot += 2; // Skip dot and first blank
|
||||||
/* Houdini: changed for safty reason (crashes with some events at WDR regional)
|
/* Houdini: changed for safty reason (crashes with some events at WDR regional)
|
||||||
if (nPosDot < epgData.info2.length()) { // Make sure we don't overrun the buffer
|
if (nPosDot < epgData.info2.length()) { // Make sure we don't overrun the buffer
|
||||||
*/
|
*/
|
||||||
if (nPosDot < epgData.info2.length() && nPosDot < epgData.info1.length()) { // Make sure we don't overrun the buffer
|
if (nPosDot < epgData.info2.length() && nPosDot < epgData.info1.length()) { // Make sure we don't overrun the buffer
|
||||||
|
|
||||||
// Check if the stuff after the dot equals the beginning of info2
|
// Check if the stuff after the dot equals the beginning of info2
|
||||||
if (0 == epgData.info2.find(epgData.info1.substr(nPosDot, epgData.info1.length() - nPosDot))) {
|
if (0 == epgData.info2.find(epgData.info1.substr(nPosDot, epgData.info1.length() - nPosDot))) {
|
||||||
@@ -528,7 +528,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Compare strings normally if not positively found to be equal before
|
// Compare strings normally if not positively found to be equal before
|
||||||
if (false == bHide && false == (std::string::npos == epgData.info2.find(epgData.info1))) {
|
if (false == bHide && false == (std::string::npos == epgData.info2.find(epgData.info1))) {
|
||||||
bHide = true;
|
bHide = true;
|
||||||
}
|
}
|
||||||
@@ -548,7 +548,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
|
|
||||||
// 21.07.2005 - rainerk
|
// 21.07.2005 - rainerk
|
||||||
// Show extended information
|
// Show extended information
|
||||||
if(0 != epgData.itemDescriptions.size() && 0 != epgData.items.size()) {
|
if (0 != epgData.itemDescriptions.size() && 0 != epgData.items.size()) {
|
||||||
char line[256];
|
char line[256];
|
||||||
std::vector<std::string>::iterator description;
|
std::vector<std::string>::iterator description;
|
||||||
std::vector<std::string>::iterator item;
|
std::vector<std::string>::iterator item;
|
||||||
@@ -606,23 +606,23 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
// show Timer Event Buttons
|
// show Timer Event Buttons
|
||||||
showTimerEventBar (true);
|
showTimerEventBar (true);
|
||||||
|
|
||||||
//show Content&Component for Dolby & 16:9
|
//show Content&Component for Dolby & 16:9
|
||||||
CSectionsdClient::ComponentTagList tags;
|
CSectionsdClient::ComponentTagList tags;
|
||||||
//if ( g_Sectionsd->getComponentTagsUniqueKey( epgData.eventID, tags ) )
|
//if ( g_Sectionsd->getComponentTagsUniqueKey( epgData.eventID, tags ) )
|
||||||
if ( sectionsd_getComponentTagsUniqueKey( epgData.eventID, tags ) )
|
if ( sectionsd_getComponentTagsUniqueKey( epgData.eventID, tags ) )
|
||||||
{
|
{
|
||||||
for (unsigned int i=0; i< tags.size(); i++)
|
for (unsigned int i=0; i< tags.size(); i++)
|
||||||
{
|
{
|
||||||
if( tags[i].streamContent == 1 && (tags[i].componentType == 2 || tags[i].componentType == 3) )
|
if ( tags[i].streamContent == 1 && (tags[i].componentType == 2 || tags[i].componentType == 3) )
|
||||||
{
|
{
|
||||||
frameBuffer->paintIcon("16_9.raw" ,ox+sx-(ICON_LARGE_WIDTH+2)-(ICON_LARGE_WIDTH+2),sy + oy+5 );
|
frameBuffer->paintIcon("16_9.raw" ,ox+sx-(ICON_LARGE_WIDTH+2)-(ICON_LARGE_WIDTH+2),sy + oy+5 );
|
||||||
}
|
}
|
||||||
else if( tags[i].streamContent == 2 && tags[i].componentType == 5 )
|
else if ( tags[i].streamContent == 2 && tags[i].componentType == 5 )
|
||||||
{
|
{
|
||||||
frameBuffer->paintIcon("dd.raw", ox+sx-(ICON_LARGE_WIDTH+2), sy + oy+5);
|
frameBuffer->paintIcon("dd.raw", ox+sx-(ICON_LARGE_WIDTH+2), sy + oy+5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//show progressbar
|
//show progressbar
|
||||||
if ( epg_done!= -1 )
|
if ( epg_done!= -1 )
|
||||||
@@ -656,7 +656,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
|
|
||||||
unsigned long long timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]);
|
unsigned long long timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]);
|
||||||
|
|
||||||
while(loop)
|
while (loop)
|
||||||
{
|
{
|
||||||
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
||||||
|
|
||||||
@@ -664,192 +664,192 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
|
|
||||||
switch ( msg )
|
switch ( msg )
|
||||||
{
|
{
|
||||||
case NeutrinoMessages::EVT_TIMER:
|
case NeutrinoMessages::EVT_TIMER:
|
||||||
if (data == g_InfoViewer->lcdUpdateTimer) {
|
if (data == g_InfoViewer->lcdUpdateTimer) {
|
||||||
GetEPGData(channel_id, id, &startzeit );
|
GetEPGData(channel_id, id, &startzeit );
|
||||||
if ( epg_done!= -1 ) {
|
if ( epg_done!= -1 ) {
|
||||||
int pbx = sx + 10 + widthl + 10 + ((ox-104-widthr-widthl-10-10-20)>>1);
|
int pbx = sx + 10 + widthl + 10 + ((ox-104-widthr-widthl-10-10-20)>>1);
|
||||||
timescale->reset();
|
timescale->reset();
|
||||||
timescale->paint(pbx+2, sy+oy-height+2, epg_done);
|
timescale->paint(pbx+2, sy+oy-height+2, epg_done);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
CNeutrinoApp::getInstance()->handleMsg(msg, data);
|
}
|
||||||
break;
|
CNeutrinoApp::getInstance()->handleMsg(msg, data);
|
||||||
case NeutrinoMessages::EVT_CURRENTNEXT_EPG:
|
break;
|
||||||
if (/*!id && */ ((*(t_channel_id *) data) == (channel_id & 0xFFFFFFFFFFFFULL))) {
|
case NeutrinoMessages::EVT_CURRENTNEXT_EPG:
|
||||||
show(channel_id);
|
if (/*!id && */ ((*(t_channel_id *) data) == (channel_id & 0xFFFFFFFFFFFFULL))) {
|
||||||
showPos=0;
|
show(channel_id);
|
||||||
}
|
showPos=0;
|
||||||
CNeutrinoApp::getInstance()->handleMsg(msg, data);
|
}
|
||||||
break;
|
CNeutrinoApp::getInstance()->handleMsg(msg, data);
|
||||||
case CRCInput::RC_left:
|
break;
|
||||||
if (prev_id != 0)
|
case CRCInput::RC_left:
|
||||||
{
|
if (prev_id != 0)
|
||||||
frameBuffer->paintBoxRel(sx+ 5, sy+ oy- botboxheight+ 4, botboxheight- 8, botboxheight- 8, COL_MENUCONTENT_PLUS_1);
|
{
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->RenderString(sx+ 10, sy+ oy- 3, widthr, "<", COL_MENUCONTENT + 1);
|
frameBuffer->paintBoxRel(sx+ 5, sy+ oy- botboxheight+ 4, botboxheight- 8, botboxheight- 8, COL_MENUCONTENT_PLUS_1);
|
||||||
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->RenderString(sx+ 10, sy+ oy- 3, widthr, "<", COL_MENUCONTENT + 1);
|
||||||
|
|
||||||
show(channel_id, prev_id, &prev_zeit, false);
|
show(channel_id, prev_id, &prev_zeit, false);
|
||||||
showPos=0;
|
showPos=0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CRCInput::RC_right:
|
case CRCInput::RC_right:
|
||||||
if (next_id != 0)
|
if (next_id != 0)
|
||||||
{
|
{
|
||||||
frameBuffer->paintBoxRel(sx+ ox- botboxheight+ 8- 5, sy+ oy- botboxheight+ 4, botboxheight- 8, botboxheight- 8, COL_MENUCONTENT_PLUS_1);
|
frameBuffer->paintBoxRel(sx+ ox- botboxheight+ 8- 5, sy+ oy- botboxheight+ 4, botboxheight- 8, botboxheight- 8, COL_MENUCONTENT_PLUS_1);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->RenderString(sx+ ox- botboxheight+ 8, sy+ oy- 3, widthr, ">", COL_MENUCONTENT + 1);
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_DATE]->RenderString(sx+ ox- botboxheight+ 8, sy+ oy- 3, widthr, ">", COL_MENUCONTENT + 1);
|
||||||
|
|
||||||
show(channel_id, next_id, &next_zeit, false);
|
show(channel_id, next_id, &next_zeit, false);
|
||||||
showPos=0;
|
showPos=0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CRCInput::RC_down:
|
case CRCInput::RC_down:
|
||||||
if(showPos+scrollCount<textCount)
|
if (showPos+scrollCount<textCount)
|
||||||
{
|
{
|
||||||
showPos += scrollCount;
|
showPos += scrollCount;
|
||||||
showText(showPos,textypos);
|
showText(showPos,textypos);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CRCInput::RC_up:
|
case CRCInput::RC_up:
|
||||||
showPos -= scrollCount;
|
showPos -= scrollCount;
|
||||||
if(showPos<0)
|
if (showPos<0)
|
||||||
showPos = 0;
|
showPos = 0;
|
||||||
else
|
else
|
||||||
showText(showPos,textypos);
|
showText(showPos,textypos);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// 31.05.2002 dirch record timer
|
// 31.05.2002 dirch record timer
|
||||||
case CRCInput::RC_red:
|
case CRCInput::RC_red:
|
||||||
if (!g_settings.minimode && (g_settings.recording_type != CNeutrinoApp::RECORDING_OFF))
|
if (!g_settings.minimode && (g_settings.recording_type != CNeutrinoApp::RECORDING_OFF))
|
||||||
{
|
|
||||||
//CTimerdClient timerdclient;
|
|
||||||
if(g_Timerd->isTimerdAvailable())
|
|
||||||
{
|
|
||||||
bool doRecord = true;
|
|
||||||
//char *recDir = g_settings.network_nfs_recordingdir;
|
|
||||||
strcpy(recDir, g_settings.network_nfs_recordingdir);
|
|
||||||
if (g_settings.recording_choose_direct_rec_dir == 2) {
|
|
||||||
CFileBrowser b;
|
|
||||||
b.Dir_Mode=true;
|
|
||||||
hide();
|
|
||||||
if (b.exec(g_settings.network_nfs_recordingdir)) {
|
|
||||||
strcpy(recDir, b.getSelectedFile()->Name.c_str());
|
|
||||||
} else
|
|
||||||
doRecord = false;
|
|
||||||
show(channel_id,epgData.eventID,&epgData.epg_times.startzeit,false);
|
|
||||||
}
|
|
||||||
else if (g_settings.recording_choose_direct_rec_dir == 1)
|
|
||||||
{
|
|
||||||
int id = -1;
|
|
||||||
CMountChooser recDirs(LOCALE_TIMERLIST_RECORDING_DIR,NEUTRINO_ICON_SETTINGS,&id,NULL,g_settings.network_nfs_recordingdir);
|
|
||||||
if (recDirs.hasItem())
|
|
||||||
{
|
|
||||||
hide();
|
|
||||||
recDirs.exec(NULL,"");
|
|
||||||
show(channel_id,epgData.eventID,&epgData.epg_times.startzeit,false);
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
printf("no network devices available\n");
|
|
||||||
}
|
|
||||||
if (id != -1)
|
|
||||||
strcpy(recDir, g_settings.network_nfs_local_dir[id]);
|
|
||||||
//recDir = g_settings.network_nfs_local_dir[id];
|
|
||||||
//else
|
|
||||||
//recDir = NULL;
|
|
||||||
}
|
|
||||||
//if (recDir != NULL)
|
|
||||||
if (doRecord)
|
|
||||||
{
|
|
||||||
if (g_Timerd->addRecordTimerEvent(channel_id,
|
|
||||||
epgData.epg_times.startzeit,
|
|
||||||
epgData.epg_times.startzeit + epgData.epg_times.dauer,
|
|
||||||
epgData.eventID, epgData.epg_times.startzeit,
|
|
||||||
epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ),
|
|
||||||
TIMERD_APIDS_CONF, true, recDir,false) == -1)
|
|
||||||
{
|
|
||||||
if(askUserOnTimerConflict(epgData.epg_times.startzeit - (ANNOUNCETIME + 120),
|
|
||||||
epgData.epg_times.startzeit + epgData.epg_times.dauer))
|
|
||||||
{
|
|
||||||
g_Timerd->addRecordTimerEvent(channel_id,
|
|
||||||
epgData.epg_times.startzeit,
|
|
||||||
epgData.epg_times.startzeit + epgData.epg_times.dauer,
|
|
||||||
epgData.eventID, epgData.epg_times.startzeit,
|
|
||||||
epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ),
|
|
||||||
TIMERD_APIDS_CONF, true, recDir,true);
|
|
||||||
ShowLocalizedMessage(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, "info.raw");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ShowLocalizedMessage(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, "info.raw");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("timerd not available\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// 31.05.2002 dirch zapto timer
|
|
||||||
case CRCInput::RC_yellow:
|
|
||||||
{
|
{
|
||||||
//CTimerdClient timerdclient;
|
//CTimerdClient timerdclient;
|
||||||
if(g_Timerd->isTimerdAvailable())
|
if (g_Timerd->isTimerdAvailable())
|
||||||
{
|
{
|
||||||
g_Timerd->addZaptoTimerEvent(channel_id,
|
bool doRecord = true;
|
||||||
epgData.epg_times.startzeit,
|
//char *recDir = g_settings.network_nfs_recordingdir;
|
||||||
epgData.epg_times.startzeit - ANNOUNCETIME, 0,
|
strcpy(recDir, g_settings.network_nfs_recordingdir);
|
||||||
epgData.eventID, epgData.epg_times.startzeit, 0);
|
if (g_settings.recording_choose_direct_rec_dir == 2) {
|
||||||
ShowLocalizedMessage(LOCALE_TIMER_EVENTTIMED_TITLE, LOCALE_TIMER_EVENTTIMED_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, "info.raw");
|
CFileBrowser b;
|
||||||
|
b.Dir_Mode=true;
|
||||||
|
hide();
|
||||||
|
if (b.exec(g_settings.network_nfs_recordingdir)) {
|
||||||
|
strcpy(recDir, b.getSelectedFile()->Name.c_str());
|
||||||
|
} else
|
||||||
|
doRecord = false;
|
||||||
|
show(channel_id,epgData.eventID,&epgData.epg_times.startzeit,false);
|
||||||
|
}
|
||||||
|
else if (g_settings.recording_choose_direct_rec_dir == 1)
|
||||||
|
{
|
||||||
|
int id = -1;
|
||||||
|
CMountChooser recDirs(LOCALE_TIMERLIST_RECORDING_DIR,NEUTRINO_ICON_SETTINGS,&id,NULL,g_settings.network_nfs_recordingdir);
|
||||||
|
if (recDirs.hasItem())
|
||||||
|
{
|
||||||
|
hide();
|
||||||
|
recDirs.exec(NULL,"");
|
||||||
|
show(channel_id,epgData.eventID,&epgData.epg_times.startzeit,false);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
printf("no network devices available\n");
|
||||||
|
}
|
||||||
|
if (id != -1)
|
||||||
|
strcpy(recDir, g_settings.network_nfs_local_dir[id]);
|
||||||
|
//recDir = g_settings.network_nfs_local_dir[id];
|
||||||
|
//else
|
||||||
|
//recDir = NULL;
|
||||||
|
}
|
||||||
|
//if (recDir != NULL)
|
||||||
|
if (doRecord)
|
||||||
|
{
|
||||||
|
if (g_Timerd->addRecordTimerEvent(channel_id,
|
||||||
|
epgData.epg_times.startzeit,
|
||||||
|
epgData.epg_times.startzeit + epgData.epg_times.dauer,
|
||||||
|
epgData.eventID, epgData.epg_times.startzeit,
|
||||||
|
epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ),
|
||||||
|
TIMERD_APIDS_CONF, true, recDir,false) == -1)
|
||||||
|
{
|
||||||
|
if (askUserOnTimerConflict(epgData.epg_times.startzeit - (ANNOUNCETIME + 120),
|
||||||
|
epgData.epg_times.startzeit + epgData.epg_times.dauer))
|
||||||
|
{
|
||||||
|
g_Timerd->addRecordTimerEvent(channel_id,
|
||||||
|
epgData.epg_times.startzeit,
|
||||||
|
epgData.epg_times.startzeit + epgData.epg_times.dauer,
|
||||||
|
epgData.eventID, epgData.epg_times.startzeit,
|
||||||
|
epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ),
|
||||||
|
TIMERD_APIDS_CONF, true, recDir,true);
|
||||||
|
ShowLocalizedMessage(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, "info.raw");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ShowLocalizedMessage(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, "info.raw");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("timerd not available\n");
|
printf("timerd not available\n");
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case CRCInput::RC_info:
|
// 31.05.2002 dirch zapto timer
|
||||||
case CRCInput::RC_help:
|
case CRCInput::RC_yellow:
|
||||||
bigFonts = bigFonts ? false : true;
|
{
|
||||||
frameBuffer->paintBackgroundBox (sx, sy- toph, sx+ ox, sy+ oy);
|
//CTimerdClient timerdclient;
|
||||||
showTimerEventBar (false);
|
if (g_Timerd->isTimerdAvailable())
|
||||||
start();
|
{
|
||||||
|
g_Timerd->addZaptoTimerEvent(channel_id,
|
||||||
|
epgData.epg_times.startzeit,
|
||||||
|
epgData.epg_times.startzeit - ANNOUNCETIME, 0,
|
||||||
|
epgData.eventID, epgData.epg_times.startzeit, 0);
|
||||||
|
ShowLocalizedMessage(LOCALE_TIMER_EVENTTIMED_TITLE, LOCALE_TIMER_EVENTTIMED_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, "info.raw");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf("timerd not available\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case CRCInput::RC_info:
|
||||||
|
case CRCInput::RC_help:
|
||||||
|
bigFonts = bigFonts ? false : true;
|
||||||
|
frameBuffer->paintBackgroundBox (sx, sy- toph, sx+ ox, sy+ oy);
|
||||||
|
showTimerEventBar (false);
|
||||||
|
start();
|
||||||
//printf("bigFonts %d\n", bigFonts);
|
//printf("bigFonts %d\n", bigFonts);
|
||||||
if(bigFonts)
|
if (bigFonts)
|
||||||
{
|
{
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() * BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() * BIG_FONT_FAKTOR));
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getSize() * BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getSize() * BIG_FONT_FAKTOR));
|
||||||
}else
|
} else
|
||||||
{
|
{
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() / BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() / BIG_FONT_FAKTOR));
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getSize() / BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO2]->getSize() / BIG_FONT_FAKTOR));
|
||||||
}
|
}
|
||||||
g_settings.bigFonts = bigFonts;
|
g_settings.bigFonts = bigFonts;
|
||||||
show(channel_id, id, &startzeit, false);
|
show(channel_id, id, &startzeit, false);
|
||||||
showPos=0;
|
showPos=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CRCInput::RC_ok:
|
case CRCInput::RC_ok:
|
||||||
case CRCInput::RC_timeout:
|
case CRCInput::RC_timeout:
|
||||||
loop = false;
|
loop = false;
|
||||||
break;
|
break;
|
||||||
case CRCInput::RC_favorites:
|
case CRCInput::RC_favorites:
|
||||||
case CRCInput::RC_sat:
|
case CRCInput::RC_sat:
|
||||||
g_RCInput->postMsg (msg, 0);
|
g_RCInput->postMsg (msg, 0);
|
||||||
loop = false;
|
loop = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// konfigurierbare Keys handlen...
|
// konfigurierbare Keys handlen...
|
||||||
if (msg == (neutrino_msg_t)g_settings.key_channelList_cancel)
|
if (msg == (neutrino_msg_t)g_settings.key_channelList_cancel)
|
||||||
|
loop = false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
||||||
|
{
|
||||||
loop = false;
|
loop = false;
|
||||||
else
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
{
|
|
||||||
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
|
||||||
{
|
|
||||||
loop = false;
|
|
||||||
res = menu_return::RETURN_EXIT_ALL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
hide();
|
hide();
|
||||||
@@ -859,7 +859,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
|
|||||||
|
|
||||||
void CEpgData::hide()
|
void CEpgData::hide()
|
||||||
{
|
{
|
||||||
// 2004-09-10 rasc (bugfix, scale large font settings back to normal)
|
// 2004-09-10 rasc (bugfix, scale large font settings back to normal)
|
||||||
if (bigFonts) {
|
if (bigFonts) {
|
||||||
bigFonts = false;
|
bigFonts = false;
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() / BIG_FONT_FAKTOR));
|
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->setSize((int)(g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getSize() / BIG_FONT_FAKTOR));
|
||||||
@@ -867,7 +867,7 @@ void CEpgData::hide()
|
|||||||
}
|
}
|
||||||
|
|
||||||
frameBuffer->paintBackgroundBox (sx, sy- toph, sx+ ox, sy+ oy);
|
frameBuffer->paintBackgroundBox (sx, sy- toph, sx+ ox, sy+ oy);
|
||||||
showTimerEventBar (false);
|
showTimerEventBar (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sectionsd_getEPGid(const event_id_t epgID, const time_t startzeit, CEPGData * epgdata);
|
bool sectionsd_getEPGid(const event_id_t epgID, const time_t startzeit, CEPGData * epgdata);
|
||||||
@@ -898,7 +898,7 @@ void CEpgData::GetEPGData(const t_channel_id channel_id, unsigned long long id,
|
|||||||
reformatExtendedEvents("Guests", g_Locale->getText(LOCALE_EPGEXTENDED_GUESTS), false, epgData);
|
reformatExtendedEvents("Guests", g_Locale->getText(LOCALE_EPGEXTENDED_GUESTS), false, epgData);
|
||||||
reformatExtendedEvents("Presenter", g_Locale->getText(LOCALE_EPGEXTENDED_PRESENTER), false, epgData);
|
reformatExtendedEvents("Presenter", g_Locale->getText(LOCALE_EPGEXTENDED_PRESENTER), false, epgData);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct tm *pStartZeit = localtime(&(epgData.epg_times).startzeit);
|
struct tm *pStartZeit = localtime(&(epgData.epg_times).startzeit);
|
||||||
char temp[11];
|
char temp[11];
|
||||||
strftime( temp, sizeof(temp), "%d.%m.%Y", pStartZeit);
|
strftime( temp, sizeof(temp), "%d.%m.%Y", pStartZeit);
|
||||||
@@ -924,39 +924,39 @@ void CEpgData::GetEPGData(const t_channel_id channel_id, unsigned long long id,
|
|||||||
|
|
||||||
void CEpgData::GetPrevNextEPGData( unsigned long long id, time_t* startzeit )
|
void CEpgData::GetPrevNextEPGData( unsigned long long id, time_t* startzeit )
|
||||||
{
|
{
|
||||||
prev_id= 0;
|
prev_id= 0;
|
||||||
next_id= 0;
|
next_id= 0;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
for ( i= 0; i< evtlist.size(); i++ )
|
for ( i= 0; i< evtlist.size(); i++ )
|
||||||
{
|
{
|
||||||
//printf("%d %llx/%llx - %x %x\n", i, evtlist[i].eventID, id, evtlist[i].startTime, *startzeit);
|
//printf("%d %llx/%llx - %x %x\n", i, evtlist[i].eventID, id, evtlist[i].startTime, *startzeit);
|
||||||
if ( ( evtlist[i].eventID == id ) && ( evtlist[i].startTime == *startzeit ) )
|
if ( ( evtlist[i].eventID == id ) && ( evtlist[i].startTime == *startzeit ) )
|
||||||
{
|
{
|
||||||
if ( i > 0 )
|
if ( i > 0 )
|
||||||
{
|
{
|
||||||
prev_id= evtlist[i- 1].eventID;
|
prev_id= evtlist[i- 1].eventID;
|
||||||
prev_zeit= evtlist[i- 1].startTime;
|
prev_zeit= evtlist[i- 1].startTime;
|
||||||
}
|
}
|
||||||
if ( i < ( evtlist.size()- 1 ) )
|
if ( i < ( evtlist.size()- 1 ) )
|
||||||
{
|
{
|
||||||
next_id= evtlist[i+ 1].eventID;
|
next_id= evtlist[i+ 1].eventID;
|
||||||
next_zeit= evtlist[i+ 1].startTime;
|
next_zeit= evtlist[i+ 1].startTime;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Houdini: dirty RTL double event workaround, if prev/next event has same starttime as actual event skip it */
|
/* Houdini: dirty RTL double event workaround, if prev/next event has same starttime as actual event skip it */
|
||||||
if ((prev_zeit == *startzeit) && ((i-1) > 0))
|
if ((prev_zeit == *startzeit) && ((i-1) > 0))
|
||||||
{
|
{
|
||||||
prev_id = evtlist[i- 2].eventID;
|
prev_id = evtlist[i- 2].eventID;
|
||||||
prev_zeit = evtlist[i- 2].startTime;
|
prev_zeit = evtlist[i- 2].startTime;
|
||||||
}
|
}
|
||||||
if ((next_zeit == *startzeit) && ((i+1) < (evtlist.size()- 1)))
|
if ((next_zeit == *startzeit) && ((i+1) < (evtlist.size()- 1)))
|
||||||
{
|
{
|
||||||
next_id = evtlist[i+ 2].eventID;
|
next_id = evtlist[i+ 2].eventID;
|
||||||
next_zeit = evtlist[i+ 2].startTime;
|
next_zeit = evtlist[i+ 2].startTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -971,22 +971,22 @@ void CEpgData::GetPrevNextEPGData( unsigned long long id, time_t* startzeit )
|
|||||||
int CEpgData::FollowScreenings (const t_channel_id channel_id, const std::string & title)
|
int CEpgData::FollowScreenings (const t_channel_id channel_id, const std::string & title)
|
||||||
|
|
||||||
{
|
{
|
||||||
CChannelEventList::iterator e;
|
CChannelEventList::iterator e;
|
||||||
time_t curtime;
|
time_t curtime;
|
||||||
struct tm *tmStartZeit;
|
struct tm *tmStartZeit;
|
||||||
std::string screening_dates,screening_nodual;
|
std::string screening_dates,screening_nodual;
|
||||||
int count;
|
int count;
|
||||||
char tmpstr[256];
|
char tmpstr[256];
|
||||||
|
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
screening_dates = screening_nodual = "";
|
screening_dates = screening_nodual = "";
|
||||||
// alredy read: evtlist = g_Sectionsd->getEventsServiceKey( channel_id&0xFFFFFFFFFFFFULL );
|
// alredy read: evtlist = g_Sectionsd->getEventsServiceKey( channel_id&0xFFFFFFFFFFFFULL );
|
||||||
curtime = time(NULL);
|
curtime = time(NULL);
|
||||||
|
|
||||||
for ( e= evtlist.begin(); e != evtlist.end(); ++e )
|
for ( e= evtlist.begin(); e != evtlist.end(); ++e )
|
||||||
{
|
{
|
||||||
if (e->startTime <= curtime) continue;
|
if (e->startTime <= curtime) continue;
|
||||||
if (! e->eventID) continue;
|
if (! e->eventID) continue;
|
||||||
if (e->description == title) {
|
if (e->description == title) {
|
||||||
count++;
|
count++;
|
||||||
@@ -1004,9 +1004,9 @@ int CEpgData::FollowScreenings (const t_channel_id channel_id, const std::string
|
|||||||
|
|
||||||
strftime(tmpstr, sizeof(tmpstr), ". %H:%M ", tmStartZeit );
|
strftime(tmpstr, sizeof(tmpstr), ". %H:%M ", tmStartZeit );
|
||||||
screening_dates += tmpstr;
|
screening_dates += tmpstr;
|
||||||
if (screening_dates != screening_nodual){
|
if (screening_dates != screening_nodual) {
|
||||||
screening_nodual=screening_dates;
|
screening_nodual=screening_dates;
|
||||||
processTextToArray(screening_dates ); // UTF-8
|
processTextToArray(screening_dates ); // UTF-8
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,8 +66,8 @@ void CImageInfo::Init(void)
|
|||||||
|
|
||||||
width = frameBuffer->getScreenWidth() - 10;
|
width = frameBuffer->getScreenWidth() - 10;
|
||||||
height = frameBuffer->getScreenHeight() - 10;
|
height = frameBuffer->getScreenHeight() - 10;
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
x=getScreenStartX( width );
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-height) / 2) + g_settings.screen_StartY;
|
y=getScreenStartY( height );
|
||||||
}
|
}
|
||||||
|
|
||||||
CImageInfo::~CImageInfo()
|
CImageInfo::~CImageInfo()
|
||||||
@@ -78,7 +78,7 @@ CImageInfo::~CImageInfo()
|
|||||||
int CImageInfo::exec(CMenuTarget* parent, const std::string &)
|
int CImageInfo::exec(CMenuTarget* parent, const std::string &)
|
||||||
{
|
{
|
||||||
if (parent)
|
if (parent)
|
||||||
parent->hide();
|
parent->hide();
|
||||||
|
|
||||||
width = frameBuffer->getScreenWidth() - 10;
|
width = frameBuffer->getScreenWidth() - 10;
|
||||||
height = frameBuffer->getScreenHeight() - 10;
|
height = frameBuffer->getScreenHeight() - 10;
|
||||||
@@ -87,8 +87,8 @@ int CImageInfo::exec(CMenuTarget* parent, const std::string &)
|
|||||||
|
|
||||||
paint();
|
paint();
|
||||||
|
|
||||||
//paint_pig( width-170, y, 215, 170);
|
//paint_pig( width-170, y, 215, 170);
|
||||||
paint_pig (width - width/3 - 10, y + 10, width/3, height/3);
|
paint_pig (width - width/3 - 10, y + 10, width/3, height/3);
|
||||||
|
|
||||||
neutrino_msg_t msg;
|
neutrino_msg_t msg;
|
||||||
|
|
||||||
@@ -123,8 +123,8 @@ void CImageInfo::hide()
|
|||||||
|
|
||||||
void CImageInfo::paint_pig(int x, int y, int w, int h)
|
void CImageInfo::paint_pig(int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
//frameBuffer->paintBoxRel(x,y,w,h, COL_BACKGROUND);
|
//frameBuffer->paintBoxRel(x,y,w,h, COL_BACKGROUND);
|
||||||
frameBuffer->paintBackgroundBoxRel(x,y,w,h);
|
frameBuffer->paintBackgroundBoxRel(x,y,w,h);
|
||||||
videoDecoder->Pig(x, y, w, h, frameBuffer->getScreenWidth(true), frameBuffer->getScreenHeight(true));
|
videoDecoder->Pig(x, y, w, h, frameBuffer->getScreenWidth(true), frameBuffer->getScreenHeight(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ void CImageInfo::paint()
|
|||||||
{
|
{
|
||||||
const char * head_string;
|
const char * head_string;
|
||||||
char imagedate[18] = "";
|
char imagedate[18] = "";
|
||||||
int xpos = x+10;
|
int xpos = x+10;
|
||||||
|
|
||||||
ypos = y+5;
|
ypos = y+5;
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
Neutrino-GUI - DBoxII-Project
|
Neutrino-GUI - DBoxII-Project
|
||||||
|
|
||||||
MP3Player by Dirch
|
MP3Player by Dirch
|
||||||
|
|
||||||
Homepage: http://dbox.cyberphoria.org/
|
Homepage: http://dbox.cyberphoria.org/
|
||||||
|
|
||||||
Kommentar:
|
Kommentar:
|
||||||
@@ -56,6 +56,7 @@
|
|||||||
|
|
||||||
#include <gui/widget/helpbox.h>
|
#include <gui/widget/helpbox.h>
|
||||||
#include <gui/widget/stringinput.h>
|
#include <gui/widget/stringinput.h>
|
||||||
|
#include <driver/screen_max.h>
|
||||||
|
|
||||||
#include <system/settings.h>
|
#include <system/settings.h>
|
||||||
|
|
||||||
@@ -87,7 +88,7 @@ CPictureViewerGui::CPictureViewerGui()
|
|||||||
selected = 0;
|
selected = 0;
|
||||||
m_sort = FILENAME;
|
m_sort = FILENAME;
|
||||||
m_viewer = new CPictureViewer();
|
m_viewer = new CPictureViewer();
|
||||||
if(strlen(g_settings.network_nfs_picturedir)!=0)
|
if (strlen(g_settings.network_nfs_picturedir)!=0)
|
||||||
Path = g_settings.network_nfs_picturedir;
|
Path = g_settings.network_nfs_picturedir;
|
||||||
else
|
else
|
||||||
Path = "/";
|
Path = "/";
|
||||||
@@ -112,13 +113,8 @@ CPictureViewerGui::~CPictureViewerGui()
|
|||||||
int CPictureViewerGui::exec(CMenuTarget* parent, const std::string & actionKey)
|
int CPictureViewerGui::exec(CMenuTarget* parent, const std::string & actionKey)
|
||||||
{
|
{
|
||||||
selected = 0;
|
selected = 0;
|
||||||
width = 710;
|
width = w_max (710, 0);
|
||||||
height = 570;
|
height = h_max (570, 0);
|
||||||
|
|
||||||
if((g_settings.screen_EndX- g_settings.screen_StartX) < width)
|
|
||||||
width=(g_settings.screen_EndX- g_settings.screen_StartX);
|
|
||||||
if((g_settings.screen_EndY- g_settings.screen_StartY) < height)
|
|
||||||
height=(g_settings.screen_EndY- g_settings.screen_StartY);
|
|
||||||
|
|
||||||
sheight = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight();
|
sheight = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight();
|
||||||
buttonHeight = std::min(25, sheight);
|
buttonHeight = std::min(25, sheight);
|
||||||
@@ -127,18 +123,18 @@ int CPictureViewerGui::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
listmaxshow = (height-theight-2*buttonHeight)/(fheight);
|
listmaxshow = (height-theight-2*buttonHeight)/(fheight);
|
||||||
height = theight+2*buttonHeight+listmaxshow*fheight; // recalc height
|
height = theight+2*buttonHeight+listmaxshow*fheight; // recalc height
|
||||||
|
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
x=getScreenStartX( width );
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-height)/ 2) + g_settings.screen_StartY;
|
y=getScreenStartY( height );
|
||||||
|
|
||||||
m_viewer->SetScaling((CPictureViewer::ScalingMode)g_settings.picviewer_scaling);
|
m_viewer->SetScaling((CPictureViewer::ScalingMode)g_settings.picviewer_scaling);
|
||||||
m_viewer->SetVisible(g_settings.screen_StartX, g_settings.screen_EndX, g_settings.screen_StartY, g_settings.screen_EndY);
|
m_viewer->SetVisible(g_settings.screen_StartX, g_settings.screen_EndX, g_settings.screen_StartY, g_settings.screen_EndY);
|
||||||
|
|
||||||
if(g_settings.video_Format == 3)
|
if (g_settings.video_Format == 3)
|
||||||
m_viewer->SetAspectRatio(16.0/9);
|
m_viewer->SetAspectRatio(16.0/9);
|
||||||
else
|
else
|
||||||
m_viewer->SetAspectRatio(4.0/3);
|
m_viewer->SetAspectRatio(4.0/3);
|
||||||
|
|
||||||
if(parent)
|
if (parent)
|
||||||
parent->hide();
|
parent->hide();
|
||||||
|
|
||||||
// tell neutrino we're in pic_mode
|
// tell neutrino we're in pic_mode
|
||||||
@@ -146,7 +142,7 @@ int CPictureViewerGui::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
// remember last mode
|
// remember last mode
|
||||||
m_LastMode=(CNeutrinoApp::getInstance()->getLastMode() | NeutrinoMessages::norezap);
|
m_LastMode=(CNeutrinoApp::getInstance()->getLastMode() | NeutrinoMessages::norezap);
|
||||||
|
|
||||||
g_Sectionsd->setPauseScanning(true);
|
g_Sectionsd->setPauseScanning(true);
|
||||||
|
|
||||||
show();
|
show();
|
||||||
|
|
||||||
@@ -159,7 +155,7 @@ int CPictureViewerGui::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
// Restore last mode
|
// Restore last mode
|
||||||
CNeutrinoApp::getInstance()->handleMsg( NeutrinoMessages::CHANGEMODE , m_LastMode );
|
CNeutrinoApp::getInstance()->handleMsg( NeutrinoMessages::CHANGEMODE , m_LastMode );
|
||||||
|
|
||||||
// always exit all
|
// always exit all
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,29 +175,29 @@ int CPictureViewerGui::show()
|
|||||||
|
|
||||||
bool loop=true;
|
bool loop=true;
|
||||||
bool update=true;
|
bool update=true;
|
||||||
|
|
||||||
while(loop)
|
while (loop)
|
||||||
{
|
{
|
||||||
if(update)
|
if (update)
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
update=false;
|
update=false;
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m_state!=SLIDESHOW)
|
if (m_state!=SLIDESHOW)
|
||||||
timeout=50; // egal
|
timeout=50; // egal
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
timeout=(m_time+atoi(g_settings.picviewer_slide_time)-(long)time(NULL))*10;
|
timeout=(m_time+atoi(g_settings.picviewer_slide_time)-(long)time(NULL))*10;
|
||||||
if(timeout <0 )
|
if (timeout <0 )
|
||||||
timeout=1;
|
timeout=1;
|
||||||
}
|
}
|
||||||
g_RCInput->getMsg( &msg, &data, timeout );
|
g_RCInput->getMsg( &msg, &data, timeout );
|
||||||
|
|
||||||
if( msg == CRCInput::RC_home)
|
if ( msg == CRCInput::RC_home)
|
||||||
{ //Exit after cancel key
|
{ //Exit after cancel key
|
||||||
if(m_state!=MENU)
|
if (m_state!=MENU)
|
||||||
{
|
{
|
||||||
endView();
|
endView();
|
||||||
update=true;
|
update=true;
|
||||||
@@ -211,7 +207,7 @@ int CPictureViewerGui::show()
|
|||||||
}
|
}
|
||||||
else if (msg == CRCInput::RC_timeout)
|
else if (msg == CRCInput::RC_timeout)
|
||||||
{
|
{
|
||||||
if(m_state == SLIDESHOW)
|
if (m_state == SLIDESHOW)
|
||||||
{
|
{
|
||||||
m_time=(long)time(NULL);
|
m_time=(long)time(NULL);
|
||||||
unsigned int next = selected + 1;
|
unsigned int next = selected + 1;
|
||||||
@@ -269,7 +265,7 @@ int CPictureViewerGui::show()
|
|||||||
if ((m_state == MENU) && (!playlist.empty()))
|
if ((m_state == MENU) && (!playlist.empty()))
|
||||||
{
|
{
|
||||||
int prevselected=selected;
|
int prevselected=selected;
|
||||||
if(selected==0)
|
if (selected==0)
|
||||||
{
|
{
|
||||||
selected = playlist.size()-1;
|
selected = playlist.size()-1;
|
||||||
}
|
}
|
||||||
@@ -278,7 +274,7 @@ int CPictureViewerGui::show()
|
|||||||
paintItem(prevselected - liststart);
|
paintItem(prevselected - liststart);
|
||||||
unsigned int oldliststart = liststart;
|
unsigned int oldliststart = liststart;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
if(oldliststart!=liststart)
|
if (oldliststart!=liststart)
|
||||||
{
|
{
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
@@ -297,12 +293,12 @@ int CPictureViewerGui::show()
|
|||||||
paintItem(prevselected - liststart);
|
paintItem(prevselected - liststart);
|
||||||
unsigned int oldliststart = liststart;
|
unsigned int oldliststart = liststart;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
if(oldliststart!=liststart)
|
if (oldliststart!=liststart)
|
||||||
{
|
{
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
paintItem(selected - liststart);
|
paintItem(selected - liststart);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,7 +322,7 @@ int CPictureViewerGui::show()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_green)
|
else if (msg==CRCInput::RC_green)
|
||||||
{
|
{
|
||||||
if (m_state == MENU)
|
if (m_state == MENU)
|
||||||
{
|
{
|
||||||
@@ -342,9 +338,9 @@ int CPictureViewerGui::show()
|
|||||||
{
|
{
|
||||||
Path = filebrowser.getCurrentDir();
|
Path = filebrowser.getCurrentDir();
|
||||||
CFileList::const_iterator files = filebrowser.getSelectedFiles().begin();
|
CFileList::const_iterator files = filebrowser.getSelectedFiles().begin();
|
||||||
for(; files != filebrowser.getSelectedFiles().end();files++)
|
for (; files != filebrowser.getSelectedFiles().end(); files++)
|
||||||
{
|
{
|
||||||
if(files->getType() == CFile::FILE_PICTURE)
|
if (files->getType() == CFile::FILE_PICTURE)
|
||||||
{
|
{
|
||||||
CPicture pic;
|
CPicture pic;
|
||||||
pic.Filename = files->Name;
|
pic.Filename = files->Name;
|
||||||
@@ -352,7 +348,7 @@ int CPictureViewerGui::show()
|
|||||||
pic.Name = tmp.substr(0,tmp.rfind('.'));
|
pic.Name = tmp.substr(0,tmp.rfind('.'));
|
||||||
pic.Type = tmp.substr(tmp.rfind('.')+1);
|
pic.Type = tmp.substr(tmp.rfind('.')+1);
|
||||||
struct stat statbuf;
|
struct stat statbuf;
|
||||||
if(stat(pic.Filename.c_str(),&statbuf) != 0)
|
if (stat(pic.Filename.c_str(),&statbuf) != 0)
|
||||||
printf("stat error");
|
printf("stat error");
|
||||||
pic.Date = statbuf.st_mtime;
|
pic.Date = statbuf.st_mtime;
|
||||||
playlist.push_back(pic);
|
playlist.push_back(pic);
|
||||||
@@ -368,7 +364,7 @@ int CPictureViewerGui::show()
|
|||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_yellow)
|
else if (msg==CRCInput::RC_yellow)
|
||||||
{
|
{
|
||||||
if (m_state == MENU && !playlist.empty())
|
if (m_state == MENU && !playlist.empty())
|
||||||
{
|
{
|
||||||
@@ -377,7 +373,7 @@ int CPictureViewerGui::show()
|
|||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_blue)
|
else if (msg==CRCInput::RC_blue)
|
||||||
{
|
{
|
||||||
if ((m_state == MENU) && (!playlist.empty()))
|
if ((m_state == MENU) && (!playlist.empty()))
|
||||||
{
|
{
|
||||||
@@ -385,13 +381,13 @@ int CPictureViewerGui::show()
|
|||||||
view(selected);
|
view(selected);
|
||||||
m_state=SLIDESHOW;
|
m_state=SLIDESHOW;
|
||||||
} else {
|
} else {
|
||||||
if(m_state == SLIDESHOW)
|
if (m_state == SLIDESHOW)
|
||||||
m_state = VIEW;
|
m_state = VIEW;
|
||||||
else
|
else
|
||||||
m_state = SLIDESHOW;
|
m_state = SLIDESHOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_help)
|
else if (msg==CRCInput::RC_help)
|
||||||
{
|
{
|
||||||
if (m_state == MENU)
|
if (m_state == MENU)
|
||||||
{
|
{
|
||||||
@@ -399,31 +395,31 @@ int CPictureViewerGui::show()
|
|||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_1 )
|
else if ( msg == CRCInput::RC_1 )
|
||||||
{
|
{
|
||||||
if (m_state != MENU)
|
if (m_state != MENU)
|
||||||
{
|
{
|
||||||
m_viewer->Zoom(2.0/3);
|
m_viewer->Zoom(2.0/3);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_2 )
|
else if ( msg == CRCInput::RC_2 )
|
||||||
{
|
{
|
||||||
if (m_state != MENU)
|
if (m_state != MENU)
|
||||||
{
|
{
|
||||||
m_viewer->Move(0,-50);
|
m_viewer->Move(0,-50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_3 )
|
else if ( msg == CRCInput::RC_3 )
|
||||||
{
|
{
|
||||||
if (m_state != MENU)
|
if (m_state != MENU)
|
||||||
{
|
{
|
||||||
m_viewer->Zoom(1.5);
|
m_viewer->Zoom(1.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_4 )
|
else if ( msg == CRCInput::RC_4 )
|
||||||
{
|
{
|
||||||
if (m_state != MENU)
|
if (m_state != MENU)
|
||||||
{
|
{
|
||||||
m_viewer->Move(-50,0);
|
m_viewer->Move(-50,0);
|
||||||
@@ -431,16 +427,16 @@ int CPictureViewerGui::show()
|
|||||||
}
|
}
|
||||||
else if ( msg == CRCInput::RC_5 )
|
else if ( msg == CRCInput::RC_5 )
|
||||||
{
|
{
|
||||||
if(m_state==MENU)
|
if (m_state==MENU)
|
||||||
{
|
{
|
||||||
if (!playlist.empty())
|
if (!playlist.empty())
|
||||||
{
|
{
|
||||||
if(m_sort==FILENAME)
|
if (m_sort==FILENAME)
|
||||||
{
|
{
|
||||||
m_sort=DATE;
|
m_sort=DATE;
|
||||||
std::sort(playlist.begin(),playlist.end(),comparePictureByDate);
|
std::sort(playlist.begin(),playlist.end(),comparePictureByDate);
|
||||||
}
|
}
|
||||||
else if(m_sort==DATE)
|
else if (m_sort==DATE)
|
||||||
{
|
{
|
||||||
m_sort=FILENAME;
|
m_sort=FILENAME;
|
||||||
std::sort(playlist.begin(),playlist.end(),comparePictureByFilename);
|
std::sort(playlist.begin(),playlist.end(),comparePictureByFilename);
|
||||||
@@ -449,28 +445,28 @@ int CPictureViewerGui::show()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_6 )
|
else if ( msg == CRCInput::RC_6 )
|
||||||
{
|
{
|
||||||
if (m_state != MENU && playlist.empty())
|
if (m_state != MENU && playlist.empty())
|
||||||
{
|
{
|
||||||
m_viewer->Move(50,0);
|
m_viewer->Move(50,0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_8 )
|
else if ( msg == CRCInput::RC_8 )
|
||||||
{
|
{
|
||||||
if (m_state != MENU && playlist.empty())
|
if (m_state != MENU && playlist.empty())
|
||||||
{
|
{
|
||||||
m_viewer->Move(0,50);
|
m_viewer->Move(0,50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_0)
|
else if (msg==CRCInput::RC_0)
|
||||||
{
|
{
|
||||||
if (!playlist.empty())
|
if (!playlist.empty())
|
||||||
view(selected, true);
|
view(selected, true);
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_setup)
|
else if (msg==CRCInput::RC_setup)
|
||||||
{
|
{
|
||||||
if(m_state==MENU)
|
if (m_state==MENU)
|
||||||
{
|
{
|
||||||
CNFSSmallMenu nfsMenu;
|
CNFSSmallMenu nfsMenu;
|
||||||
nfsMenu.exec(this, "");
|
nfsMenu.exec(this, "");
|
||||||
@@ -478,19 +474,19 @@ int CPictureViewerGui::show()
|
|||||||
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_PICTUREVIEWER_HEAD));
|
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_PICTUREVIEWER_HEAD));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg == NeutrinoMessages::CHANGEMODE)
|
else if (msg == NeutrinoMessages::CHANGEMODE)
|
||||||
{
|
{
|
||||||
if((data & NeutrinoMessages::mode_mask) !=NeutrinoMessages::mode_pic)
|
if ((data & NeutrinoMessages::mode_mask) !=NeutrinoMessages::mode_pic)
|
||||||
{
|
{
|
||||||
loop = false;
|
loop = false;
|
||||||
m_LastMode=data;
|
m_LastMode=data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(msg == NeutrinoMessages::RECORD_START ||
|
else if (msg == NeutrinoMessages::RECORD_START ||
|
||||||
msg == NeutrinoMessages::ZAPTO ||
|
msg == NeutrinoMessages::ZAPTO ||
|
||||||
msg == NeutrinoMessages::STANDBY_ON ||
|
msg == NeutrinoMessages::STANDBY_ON ||
|
||||||
msg == NeutrinoMessages::SHUTDOWN ||
|
msg == NeutrinoMessages::SHUTDOWN ||
|
||||||
msg == NeutrinoMessages::SLEEPTIMER)
|
msg == NeutrinoMessages::SLEEPTIMER)
|
||||||
{
|
{
|
||||||
// Exit for Record/Zapto Timers
|
// Exit for Record/Zapto Timers
|
||||||
if (m_state != MENU)
|
if (m_state != MENU)
|
||||||
@@ -498,11 +494,11 @@ int CPictureViewerGui::show()
|
|||||||
loop = false;
|
loop = false;
|
||||||
g_RCInput->postMsg(msg, data);
|
g_RCInput->postMsg(msg, data);
|
||||||
}
|
}
|
||||||
else if((msg == CRCInput::RC_sat) || (msg == CRCInput::RC_favorites)) {
|
else if ((msg == CRCInput::RC_sat) || (msg == CRCInput::RC_favorites)) {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
||||||
{
|
{
|
||||||
loop = false;
|
loop = false;
|
||||||
}
|
}
|
||||||
@@ -517,7 +513,7 @@ int CPictureViewerGui::show()
|
|||||||
|
|
||||||
void CPictureViewerGui::hide()
|
void CPictureViewerGui::hide()
|
||||||
{
|
{
|
||||||
if(visible) {
|
if (visible) {
|
||||||
frameBuffer->paintBackground();
|
frameBuffer->paintBackground();
|
||||||
visible = false;
|
visible = false;
|
||||||
}
|
}
|
||||||
@@ -552,7 +548,7 @@ void CPictureViewerGui::paintItem(int pos)
|
|||||||
}
|
}
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(x, ypos, width-15, fheight, bgcolor, liststart+pos == selected ? ROUND_RADIUS : 0);
|
frameBuffer->paintBoxRel(x, ypos, width-15, fheight, bgcolor, liststart+pos == selected ? ROUND_RADIUS : 0);
|
||||||
if(liststart+pos<playlist.size())
|
if (liststart+pos<playlist.size())
|
||||||
{
|
{
|
||||||
std::string tmp = playlist[liststart+pos].Name;
|
std::string tmp = playlist[liststart+pos].Name;
|
||||||
tmp += " (";
|
tmp += " (";
|
||||||
@@ -578,7 +574,7 @@ void CPictureViewerGui::paintHead()
|
|||||||
frameBuffer->paintIcon("mp3.raw",x+7,y+10);
|
frameBuffer->paintIcon("mp3.raw",x+7,y+10);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+35,y+theight+0, width- 45, strCaption, COL_MENUHEAD, 0, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+35,y+theight+0, width- 45, strCaption, COL_MENUHEAD, 0, true); // UTF-8
|
||||||
int ypos=y+0;
|
int ypos=y+0;
|
||||||
if(theight > 26)
|
if (theight > 26)
|
||||||
ypos = (theight-26) / 2 + y ;
|
ypos = (theight-26) / 2 + y ;
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_HELP, x+ width- 60, ypos );
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_HELP, x+ width- 60, ypos );
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_DBOX, x+ width- 30, ypos );
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_DBOX, x+ width- 30, ypos );
|
||||||
@@ -610,9 +606,9 @@ void CPictureViewerGui::paintFoot()
|
|||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_5, x+ 0* ButtonWidth2 + 25, y+(height-buttonHeight)-3);
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_5, x+ 0* ButtonWidth2 + 25, y+(height-buttonHeight)-3);
|
||||||
std::string tmp = g_Locale->getText(LOCALE_PICTUREVIEWER_SORTORDER);
|
std::string tmp = g_Locale->getText(LOCALE_PICTUREVIEWER_SORTORDER);
|
||||||
tmp += ' ';
|
tmp += ' ';
|
||||||
if(m_sort==FILENAME)
|
if (m_sort==FILENAME)
|
||||||
tmp += g_Locale->getText(LOCALE_PICTUREVIEWER_SORTORDER_DATE);
|
tmp += g_Locale->getText(LOCALE_PICTUREVIEWER_SORTORDER_DATE);
|
||||||
else if(m_sort==DATE)
|
else if (m_sort==DATE)
|
||||||
tmp += g_Locale->getText(LOCALE_PICTUREVIEWER_SORTORDER_FILENAME);
|
tmp += g_Locale->getText(LOCALE_PICTUREVIEWER_SORTORDER_FILENAME);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+ 0* ButtonWidth2 +53 , y+(height-buttonHeight)+24 - 4, ButtonWidth2- 28, tmp, COL_INFOBAR, 0, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+ 0* ButtonWidth2 +53 , y+(height-buttonHeight)+24 - 4, ButtonWidth2- 28, tmp, COL_INFOBAR, 0, true); // UTF-8
|
||||||
|
|
||||||
@@ -634,7 +630,7 @@ void CPictureViewerGui::paint()
|
|||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
|
|
||||||
paintHead();
|
paintHead();
|
||||||
for(unsigned int count=0;count<listmaxshow;count++)
|
for (unsigned int count=0; count<listmaxshow; count++)
|
||||||
{
|
{
|
||||||
paintItem(count);
|
paintItem(count);
|
||||||
}
|
}
|
||||||
@@ -651,30 +647,30 @@ void CPictureViewerGui::paint()
|
|||||||
|
|
||||||
paintFoot();
|
paintFoot();
|
||||||
paintInfo();
|
paintInfo();
|
||||||
|
|
||||||
visible = true;
|
visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPictureViewerGui::view(unsigned int index, bool unscaled)
|
void CPictureViewerGui::view(unsigned int index, bool unscaled)
|
||||||
{
|
{
|
||||||
selected=index;
|
selected=index;
|
||||||
|
|
||||||
CVFD::getInstance()->showMenuText(0, playlist[index].Name.c_str());
|
CVFD::getInstance()->showMenuText(0, playlist[index].Name.c_str());
|
||||||
char timestring[19];
|
char timestring[19];
|
||||||
strftime(timestring, 18, "%d-%m-%Y %H:%M", gmtime(&playlist[index].Date));
|
strftime(timestring, 18, "%d-%m-%Y %H:%M", gmtime(&playlist[index].Date));
|
||||||
//CVFD::getInstance()->showMenuText(1, timestring); //FIXME
|
//CVFD::getInstance()->showMenuText(1, timestring); //FIXME
|
||||||
|
|
||||||
if(unscaled)
|
if (unscaled)
|
||||||
m_viewer->DecodeImage(playlist[index].Filename, true, unscaled);
|
m_viewer->DecodeImage(playlist[index].Filename, true, unscaled);
|
||||||
m_viewer->ShowImage(playlist[index].Filename, unscaled);
|
m_viewer->ShowImage(playlist[index].Filename, unscaled);
|
||||||
|
|
||||||
//Decode next
|
//Decode next
|
||||||
unsigned int next=selected+1;
|
unsigned int next=selected+1;
|
||||||
if(next > playlist.size()-1)
|
if (next > playlist.size()-1)
|
||||||
next=0;
|
next=0;
|
||||||
if(m_state==MENU)
|
if (m_state==MENU)
|
||||||
m_state=VIEW;
|
m_state=VIEW;
|
||||||
if(m_state==VIEW)
|
if (m_state==VIEW)
|
||||||
m_viewer->DecodeImage(playlist[next].Filename,true);
|
m_viewer->DecodeImage(playlist[next].Filename,true);
|
||||||
else
|
else
|
||||||
m_viewer->DecodeImage(playlist[next].Filename,false);
|
m_viewer->DecodeImage(playlist[next].Filename,false);
|
||||||
@@ -682,7 +678,7 @@ void CPictureViewerGui::view(unsigned int index, bool unscaled)
|
|||||||
|
|
||||||
void CPictureViewerGui::endView()
|
void CPictureViewerGui::endView()
|
||||||
{
|
{
|
||||||
if(m_state != MENU)
|
if (m_state != MENU)
|
||||||
m_state=MENU;
|
m_state=MENU;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -54,6 +54,7 @@
|
|||||||
#include <neutrino.h>
|
#include <neutrino.h>
|
||||||
#include <plugins.h>
|
#include <plugins.h>
|
||||||
#include <driver/encoding.h>
|
#include <driver/encoding.h>
|
||||||
|
#include <driver/screen_max.h>
|
||||||
|
|
||||||
#include <zapit/client/zapittools.h>
|
#include <zapit/client/zapittools.h>
|
||||||
|
|
||||||
@@ -76,12 +77,8 @@ CPluginList::CPluginList(const neutrino_locale_t Name, const uint32_t listtype)
|
|||||||
name = Name;
|
name = Name;
|
||||||
pluginlisttype = listtype;
|
pluginlisttype = listtype;
|
||||||
selected = 0;
|
selected = 0;
|
||||||
width = 500;
|
width = w_max( 500, 0 );
|
||||||
if(width>(g_settings.screen_EndX-g_settings.screen_StartX))
|
height = h_max( 526, 50 ); // 2*25 pixel frei
|
||||||
width=(g_settings.screen_EndX-g_settings.screen_StartX);
|
|
||||||
height = 526;
|
|
||||||
if((height+50)>(g_settings.screen_EndY-g_settings.screen_StartY))
|
|
||||||
height=(g_settings.screen_EndY-g_settings.screen_StartY) - 50; // 2*25 pixel frei
|
|
||||||
theight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight();
|
theight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight();
|
||||||
//
|
//
|
||||||
fheight1 = g_Font[SNeutrinoSettings::FONT_TYPE_GAMELIST_ITEMLARGE]->getHeight();
|
fheight1 = g_Font[SNeutrinoSettings::FONT_TYPE_GAMELIST_ITEMLARGE]->getHeight();
|
||||||
@@ -90,8 +87,8 @@ CPluginList::CPluginList(const neutrino_locale_t Name, const uint32_t listtype)
|
|||||||
//
|
//
|
||||||
listmaxshow = (height-theight-0)/fheight;
|
listmaxshow = (height-theight-0)/fheight;
|
||||||
height = theight+0+listmaxshow*fheight; // recalc height
|
height = theight+0+listmaxshow*fheight; // recalc height
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
x=getScreenStartX( width );
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-height) / 2) + g_settings.screen_StartY;
|
y=getScreenStartY( height );
|
||||||
liststart = 0;
|
liststart = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,16 +307,12 @@ void CPluginList::paintHead()
|
|||||||
void CPluginList::paint()
|
void CPluginList::paint()
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
width = 500;
|
width = w_max( 500, 0 );
|
||||||
if(width>(g_settings.screen_EndX-g_settings.screen_StartX))
|
height = h_max( 526, 50 ); // 2*25 pixel frei
|
||||||
width=(g_settings.screen_EndX-g_settings.screen_StartX);
|
|
||||||
height = 526;
|
|
||||||
if((height+50)>(g_settings.screen_EndY-g_settings.screen_StartY))
|
|
||||||
height=(g_settings.screen_EndY-g_settings.screen_StartY) - 50; // 2*25 pixel frei
|
|
||||||
listmaxshow = (height-theight-0)/fheight;
|
listmaxshow = (height-theight-0)/fheight;
|
||||||
height = theight+0+listmaxshow*fheight; // recalc height
|
height = theight+0+listmaxshow*fheight; // recalc height
|
||||||
x=(((g_settings.screen_EndX- g_settings.screen_StartX)-width) / 2) + g_settings.screen_StartX;
|
x=getScreenStartX( width );
|
||||||
y=(((g_settings.screen_EndY- g_settings.screen_StartY)-height) / 2) + g_settings.screen_StartY;
|
y=getScreenStartY( height );
|
||||||
|
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
|
|
||||||
|
@@ -52,13 +52,13 @@
|
|||||||
|
|
||||||
#include <zapit/client/zapittools.h>
|
#include <zapit/client/zapittools.h>
|
||||||
|
|
||||||
/* for alexW images with old drivers:
|
/* for alexW images with old drivers:
|
||||||
* #define USE_VBI_INTERFACE 1
|
* #define USE_VBI_INTERFACE 1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef USE_VBI_INTERFACE
|
#ifdef USE_VBI_INTERFACE
|
||||||
#define AVIA_VBI_START_VTXT 1
|
#define AVIA_VBI_START_VTXT 1
|
||||||
#define AVIA_VBI_STOP_VTXT 2
|
#define AVIA_VBI_STOP_VTXT 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <daemonc/remotecontrol.h>
|
#include <daemonc/remotecontrol.h>
|
||||||
@@ -76,9 +76,9 @@ bool CPlugins::plugin_exists(const std::string & filename)
|
|||||||
|
|
||||||
int CPlugins::find_plugin(const std::string & filename)
|
int CPlugins::find_plugin(const std::string & filename)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < (int) plugin_list.size();i++)
|
for (int i = 0; i < (int) plugin_list.size(); i++)
|
||||||
{
|
{
|
||||||
if( (filename.compare(plugin_list[i].filename) == 0) || (filename.compare(plugin_list[i].filename + ".cfg") == 0) )
|
if ( (filename.compare(plugin_list[i].filename) == 0) || (filename.compare(plugin_list[i].filename + ".cfg") == 0) )
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
@@ -130,13 +130,13 @@ void CPlugins::scanDir(const char *dir)
|
|||||||
}
|
}
|
||||||
// We do not check if new_plugin.pluginfile exists since .cfg in
|
// We do not check if new_plugin.pluginfile exists since .cfg in
|
||||||
// PLUGINDIR_VAR can overwrite settings in read only dir
|
// PLUGINDIR_VAR can overwrite settings in read only dir
|
||||||
// PLUGINDIR. This needs PLUGINDIR_VAR to be scanned at
|
// PLUGINDIR. This needs PLUGINDIR_VAR to be scanned at
|
||||||
// first -> .cfg in PLUGINDIR will be skipped since plugin
|
// first -> .cfg in PLUGINDIR will be skipped since plugin
|
||||||
// already exists in the list.
|
// already exists in the list.
|
||||||
// This behavior is used to make sure plugins can be disabled
|
// This behavior is used to make sure plugins can be disabled
|
||||||
// by creating a .cfg in PLUGINDIR_VAR (PLUGINDIR often is read only).
|
// by creating a .cfg in PLUGINDIR_VAR (PLUGINDIR often is read only).
|
||||||
|
|
||||||
if(!plugin_exists(new_plugin.filename))
|
if (!plugin_exists(new_plugin.filename))
|
||||||
{
|
{
|
||||||
plugin_list.push_back(new_plugin);
|
plugin_list.push_back(new_plugin);
|
||||||
number_of_plugins++;
|
number_of_plugins++;
|
||||||
@@ -175,7 +175,7 @@ bool CPlugins::parseCfg(plugin *plugin_data)
|
|||||||
|
|
||||||
inFile.open(plugin_data->cfgfile.c_str());
|
inFile.open(plugin_data->cfgfile.c_str());
|
||||||
|
|
||||||
while(linecount < 20 && getline(inFile, line[linecount++]));
|
while (linecount < 20 && getline(inFile, line[linecount++]));
|
||||||
|
|
||||||
plugin_data->fb = false;
|
plugin_data->fb = false;
|
||||||
plugin_data->rc = false;
|
plugin_data->rc = false;
|
||||||
@@ -244,9 +244,9 @@ bool CPlugins::parseCfg(plugin *plugin_data)
|
|||||||
plugin_data->hide = ((parm == "1")?true:false);
|
plugin_data->hide = ((parm == "1")?true:false);
|
||||||
}
|
}
|
||||||
else if (cmd == "needenigma")
|
else if (cmd == "needenigma")
|
||||||
{
|
{
|
||||||
reject = ((parm == "1")?true:false);
|
reject = ((parm == "1")?true:false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,9 +276,9 @@ PluginParam * CPlugins::makeParam(const char * const id, const int value, Plugin
|
|||||||
|
|
||||||
void CPlugins::start_plugin_by_name(const std::string & filename,int param)
|
void CPlugins::start_plugin_by_name(const std::string & filename,int param)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < (int) plugin_list.size();i++)
|
for (int i = 0; i < (int) plugin_list.size(); i++)
|
||||||
{
|
{
|
||||||
if(filename.compare(g_PluginList->getName(i))==0)
|
if (filename.compare(g_PluginList->getName(i))==0)
|
||||||
{
|
{
|
||||||
startPlugin(i,param);
|
startPlugin(i,param);
|
||||||
return;
|
return;
|
||||||
@@ -291,7 +291,7 @@ void CPlugins::startPlugin(const char * const name)
|
|||||||
int pluginnr = find_plugin(name);
|
int pluginnr = find_plugin(name);
|
||||||
if (pluginnr > -1)
|
if (pluginnr > -1)
|
||||||
startPlugin(pluginnr,0);
|
startPlugin(pluginnr,0);
|
||||||
else
|
else
|
||||||
printf("[CPlugins] could not find %s\n", name);
|
printf("[CPlugins] could not find %s\n", name);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -303,7 +303,7 @@ void CPlugins::startScriptPlugin(int number)
|
|||||||
if (!pluginfile_exists(plugin_list[number].pluginfile))
|
if (!pluginfile_exists(plugin_list[number].pluginfile))
|
||||||
{
|
{
|
||||||
printf("[CPlugins] could not find %s,\nperhaps wrong plugin type in %s\n",
|
printf("[CPlugins] could not find %s,\nperhaps wrong plugin type in %s\n",
|
||||||
script, plugin_list[number].cfgfile.c_str());
|
script, plugin_list[number].cfgfile.c_str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,12 +313,12 @@ void CPlugins::startScriptPlugin(int number)
|
|||||||
char output[1024];
|
char output[1024];
|
||||||
while (fgets(output,1024,f))
|
while (fgets(output,1024,f))
|
||||||
{
|
{
|
||||||
scriptOutput += output;
|
scriptOutput += output;
|
||||||
}
|
}
|
||||||
pclose(f);
|
pclose(f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("[CPlugins] can't execute %s\n",script);
|
printf("[CPlugins] can't execute %s\n",script);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -332,7 +332,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
//bool ispip = strncmp(plugin_list[number].pluginfile.c_str(), "pip", 3) ? false : true;
|
//bool ispip = strncmp(plugin_list[number].pluginfile.c_str(), "pip", 3) ? false : true;
|
||||||
bool ispip = strstr(plugin_list[number].pluginfile.c_str(), "pip") != 0;
|
bool ispip = strstr(plugin_list[number].pluginfile.c_str(), "pip") != 0;
|
||||||
//printf("exec: %s pip: %d\n", plugin_list[number].pluginfile.c_str(), ispip);
|
//printf("exec: %s pip: %d\n", plugin_list[number].pluginfile.c_str(), ispip);
|
||||||
if(ispip && !g_RemoteControl->is_video_started)
|
if (ispip && !g_RemoteControl->is_video_started)
|
||||||
return;
|
return;
|
||||||
if (plugin_list[number].type == CPlugins::P_TYPE_SCRIPT)
|
if (plugin_list[number].type == CPlugins::P_TYPE_SCRIPT)
|
||||||
{
|
{
|
||||||
@@ -342,7 +342,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
if (!pluginfile_exists(plugin_list[number].pluginfile))
|
if (!pluginfile_exists(plugin_list[number].pluginfile))
|
||||||
{
|
{
|
||||||
printf("[CPlugins] could not find %s,\nperhaps wrong plugin type in %s\n",
|
printf("[CPlugins] could not find %s,\nperhaps wrong plugin type in %s\n",
|
||||||
plugin_list[number].pluginfile.c_str(), plugin_list[number].cfgfile.c_str());
|
plugin_list[number].pluginfile.c_str(), plugin_list[number].cfgfile.c_str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -394,7 +394,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(param>0)
|
if (param>0)
|
||||||
vtpid=param;
|
vtpid=param;
|
||||||
startparam = makeParam(P_ID_VTXTPID, vtpid, startparam);
|
startparam = makeParam(P_ID_VTXTPID, vtpid, startparam);
|
||||||
}
|
}
|
||||||
@@ -408,7 +408,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
PluginParam *par = startparam;
|
PluginParam *par = startparam;
|
||||||
for( ; par; par=par->next )
|
for ( ; par; par=par->next )
|
||||||
{
|
{
|
||||||
printf("[CPlugins] (id,val):(%s,%s)\n", par->id, par->val);
|
printf("[CPlugins] (id,val):(%s,%s)\n", par->id, par->val);
|
||||||
}
|
}
|
||||||
@@ -420,7 +420,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
if ( depstring[0] )
|
if ( depstring[0] )
|
||||||
{
|
{
|
||||||
p=depstring;
|
p=depstring;
|
||||||
while( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
argv[ argc ] = p;
|
argv[ argc ] = p;
|
||||||
argc++;
|
argc++;
|
||||||
@@ -434,13 +434,13 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for( i=0; i<argc; i++ )
|
for ( i=0; i<argc; i++ )
|
||||||
{
|
{
|
||||||
std::string libname = argv[i];
|
std::string libname = argv[i];
|
||||||
printf("[CPlugins] try load shared lib : %s\n",argv[i]);
|
printf("[CPlugins] try load shared lib : %s\n",argv[i]);
|
||||||
libhandle[i] = dlopen ( *argv[i] == '/' ?
|
libhandle[i] = dlopen ( *argv[i] == '/' ?
|
||||||
argv[i] : (PLUGINDIR "/"+libname).c_str(),
|
argv[i] : (PLUGINDIR "/"+libname).c_str(),
|
||||||
RTLD_NOW | RTLD_GLOBAL );
|
RTLD_NOW | RTLD_GLOBAL );
|
||||||
if ( !libhandle[i] )
|
if ( !libhandle[i] )
|
||||||
{
|
{
|
||||||
fputs (dlerror(), stderr);
|
fputs (dlerror(), stderr);
|
||||||
@@ -462,14 +462,14 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
dlclose(handle);
|
dlclose(handle);
|
||||||
} else {
|
} else {
|
||||||
printf("[CPlugins] try exec...\n");
|
printf("[CPlugins] try exec...\n");
|
||||||
if(ispip) {
|
if (ispip) {
|
||||||
g_Sectionsd->setPauseScanning (true);
|
g_Sectionsd->setPauseScanning (true);
|
||||||
g_Zapit->setEventMode(false);
|
g_Zapit->setEventMode(false);
|
||||||
#if 0
|
#if 0
|
||||||
//g_Controld->setEventMode(false);
|
//g_Controld->setEventMode(false);
|
||||||
#endif
|
#endif
|
||||||
if(g_Zapit->isPlayBackActive()) {
|
if (g_Zapit->isPlayBackActive()) {
|
||||||
if(!CNeutrinoApp::getInstance()->recordingstatus)
|
if (!CNeutrinoApp::getInstance()->recordingstatus)
|
||||||
g_Zapit->setRecordMode(true);
|
g_Zapit->setRecordMode(true);
|
||||||
} else {
|
} else {
|
||||||
/* no playback, we playing file ? zap to channel */
|
/* no playback, we playing file ? zap to channel */
|
||||||
@@ -496,15 +496,15 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//if (!plugin_list[number].rc)
|
//if (!plugin_list[number].rc)
|
||||||
g_RCInput->restartInput();
|
g_RCInput->restartInput();
|
||||||
g_RCInput->clearRCMsg();
|
g_RCInput->clearRCMsg();
|
||||||
|
|
||||||
if (plugin_list[number].lcd)
|
if (plugin_list[number].lcd)
|
||||||
{
|
{
|
||||||
if(lcd_fd != -1)
|
if (lcd_fd != -1)
|
||||||
close(lcd_fd);
|
close(lcd_fd);
|
||||||
CLCD::getInstance()->resume();
|
CLCD::getInstance()->resume();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin_list[number].fb)
|
if (plugin_list[number].fb)
|
||||||
{
|
{
|
||||||
@@ -515,8 +515,8 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
frameBuffer->paintBackgroundBox(0,0,720,576);
|
frameBuffer->paintBackgroundBox(0,0,720,576);
|
||||||
if(ispip) {
|
if (ispip) {
|
||||||
if(!CNeutrinoApp::getInstance()->recordingstatus) {
|
if (!CNeutrinoApp::getInstance()->recordingstatus) {
|
||||||
g_Zapit->setRecordMode(false);
|
g_Zapit->setRecordMode(false);
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
@@ -544,7 +544,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* unload shared libs */
|
/* unload shared libs */
|
||||||
for( i=0; i<argc; i++ )
|
for ( i=0; i<argc; i++ )
|
||||||
{
|
{
|
||||||
if ( libhandle[i] )
|
if ( libhandle[i] )
|
||||||
dlclose(libhandle[i]);
|
dlclose(libhandle[i]);
|
||||||
@@ -552,7 +552,7 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(par = startparam ; par; )
|
for (par = startparam ; par; )
|
||||||
{
|
{
|
||||||
/* we must not free par->id, since it is the original */
|
/* we must not free par->id, since it is the original */
|
||||||
free(par->val);
|
free(par->val);
|
||||||
@@ -565,19 +565,19 @@ void CPlugins::startPlugin(int number,int param)
|
|||||||
g_RCInput->clearRCMsg();
|
g_RCInput->clearRCMsg();
|
||||||
g_RCInput->stopInput();
|
g_RCInput->stopInput();
|
||||||
//frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t));
|
//frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t));
|
||||||
printf("Starting %s\n", plugin_list[number].pluginfile.c_str());
|
printf("Starting %s\n", plugin_list[number].pluginfile.c_str());
|
||||||
mysystem((char *) plugin_list[number].pluginfile.c_str(), NULL, NULL);
|
mysystem((char *) plugin_list[number].pluginfile.c_str(), NULL, NULL);
|
||||||
//frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t));
|
//frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t));
|
||||||
frameBuffer->paintBackground();
|
frameBuffer->paintBackground();
|
||||||
g_RCInput->restartInput();
|
g_RCInput->restartInput();
|
||||||
g_RCInput->clearRCMsg();
|
g_RCInput->clearRCMsg();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CPlugins::hasPlugin(CPlugins::p_type_t type)
|
bool CPlugins::hasPlugin(CPlugins::p_type_t type)
|
||||||
{
|
{
|
||||||
for (std::vector<plugin>::iterator it=plugin_list.begin();
|
for (std::vector<plugin>::iterator it=plugin_list.begin();
|
||||||
it!=plugin_list.end();it++)
|
it!=plugin_list.end(); it++)
|
||||||
{
|
{
|
||||||
if (it->type == type && !it->hide)
|
if (it->type == type && !it->hide)
|
||||||
return true;
|
return true;
|
||||||
@@ -599,20 +599,20 @@ CPlugins::p_type_t CPlugins::getPluginType(int type)
|
|||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case PLUGIN_TYPE_DISABLED:
|
case PLUGIN_TYPE_DISABLED:
|
||||||
return P_TYPE_DISABLED;
|
return P_TYPE_DISABLED;
|
||||||
break;
|
break;
|
||||||
case PLUGIN_TYPE_GAME:
|
case PLUGIN_TYPE_GAME:
|
||||||
return P_TYPE_GAME;
|
return P_TYPE_GAME;
|
||||||
break;
|
break;
|
||||||
case PLUGIN_TYPE_TOOL:
|
case PLUGIN_TYPE_TOOL:
|
||||||
return P_TYPE_TOOL;
|
return P_TYPE_TOOL;
|
||||||
break;
|
break;
|
||||||
case PLUGIN_TYPE_SCRIPT:
|
case PLUGIN_TYPE_SCRIPT:
|
||||||
return P_TYPE_SCRIPT;
|
return P_TYPE_SCRIPT;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return P_TYPE_DISABLED;
|
return P_TYPE_DISABLED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -106,13 +106,13 @@ public:
|
|||||||
bool changeNotify(const neutrino_locale_t OptionName, void *)
|
bool changeNotify(const neutrino_locale_t OptionName, void *)
|
||||||
{
|
{
|
||||||
CTimerd::CTimerEventTypes type = (CTimerd::CTimerEventTypes) *iType;
|
CTimerd::CTimerEventTypes type = (CTimerd::CTimerEventTypes) *iType;
|
||||||
if(type == CTimerd::TIMER_RECORD)
|
if (type == CTimerd::TIMER_RECORD)
|
||||||
{
|
{
|
||||||
*stopTime=(time(NULL)/60)*60;
|
*stopTime=(time(NULL)/60)*60;
|
||||||
struct tm *tmTime2 = localtime(stopTime);
|
struct tm *tmTime2 = localtime(stopTime);
|
||||||
sprintf( display, "%02d.%02d.%04d %02d:%02d", tmTime2->tm_mday, tmTime2->tm_mon+1,
|
sprintf( display, "%02d.%02d.%04d %02d:%02d", tmTime2->tm_mday, tmTime2->tm_mon+1,
|
||||||
tmTime2->tm_year+1900,
|
tmTime2->tm_year+1900,
|
||||||
tmTime2->tm_hour, tmTime2->tm_min);
|
tmTime2->tm_hour, tmTime2->tm_min);
|
||||||
m1->setActive(true);
|
m1->setActive(true);
|
||||||
m6->setActive((g_settings.recording_type == RECORDING_FILE));
|
m6->setActive((g_settings.recording_type == RECORDING_FILE));
|
||||||
}
|
}
|
||||||
@@ -123,9 +123,9 @@ public:
|
|||||||
m1->setActive (false);
|
m1->setActive (false);
|
||||||
m6->setActive(false);
|
m6->setActive(false);
|
||||||
}
|
}
|
||||||
if(type == CTimerd::TIMER_RECORD ||
|
if (type == CTimerd::TIMER_RECORD ||
|
||||||
type == CTimerd::TIMER_ZAPTO ||
|
type == CTimerd::TIMER_ZAPTO ||
|
||||||
type == CTimerd::TIMER_NEXTPROGRAM)
|
type == CTimerd::TIMER_NEXTPROGRAM)
|
||||||
{
|
{
|
||||||
m2->setActive(true);
|
m2->setActive(true);
|
||||||
}
|
}
|
||||||
@@ -133,15 +133,15 @@ public:
|
|||||||
{
|
{
|
||||||
m2->setActive(false);
|
m2->setActive(false);
|
||||||
}
|
}
|
||||||
if(type == CTimerd::TIMER_STANDBY)
|
if (type == CTimerd::TIMER_STANDBY)
|
||||||
m3->setActive(true);
|
m3->setActive(true);
|
||||||
else
|
else
|
||||||
m3->setActive(false);
|
m3->setActive(false);
|
||||||
if(type == CTimerd::TIMER_REMIND)
|
if (type == CTimerd::TIMER_REMIND)
|
||||||
m4->setActive(true);
|
m4->setActive(true);
|
||||||
else
|
else
|
||||||
m4->setActive(false);
|
m4->setActive(false);
|
||||||
if(type == CTimerd::TIMER_EXEC_PLUGIN)
|
if (type == CTimerd::TIMER_EXEC_PLUGIN)
|
||||||
m5->setActive(true);
|
m5->setActive(true);
|
||||||
else
|
else
|
||||||
m5->setActive(false);
|
m5->setActive(false);
|
||||||
@@ -166,7 +166,7 @@ public:
|
|||||||
|
|
||||||
bool changeNotify(const neutrino_locale_t OptionName, void *)
|
bool changeNotify(const neutrino_locale_t OptionName, void *)
|
||||||
{
|
{
|
||||||
if(*iRepeat >= (int)CTimerd::TIMERREPEAT_WEEKDAYS)
|
if (*iRepeat >= (int)CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||||
m1->setActive (true);
|
m1->setActive (true);
|
||||||
else
|
else
|
||||||
m1->setActive (false);
|
m1->setActive (false);
|
||||||
@@ -208,9 +208,9 @@ public:
|
|||||||
|
|
||||||
bool changeNotify(const neutrino_locale_t OptionName, void *)
|
bool changeNotify(const neutrino_locale_t OptionName, void *)
|
||||||
{
|
{
|
||||||
if(OptionName == LOCALE_TIMERLIST_APIDS_DFLT)
|
if (OptionName == LOCALE_TIMERLIST_APIDS_DFLT)
|
||||||
{
|
{
|
||||||
if(*o_dflt==0)
|
if (*o_dflt==0)
|
||||||
{
|
{
|
||||||
m_std->setActive(true);
|
m_std->setActive(true);
|
||||||
m_alt->setActive(true);
|
m_alt->setActive(true);
|
||||||
@@ -228,8 +228,8 @@ public:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(*o_std || *o_alt || *o_ac3)
|
if (*o_std || *o_alt || *o_ac3)
|
||||||
*o_dflt=0;
|
*o_dflt=0;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -260,16 +260,16 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
if (strcmp(key, "modifytimer") == 0)
|
if (strcmp(key, "modifytimer") == 0)
|
||||||
{
|
{
|
||||||
timerlist[selected].announceTime = timerlist[selected].alarmTime -60;
|
timerlist[selected].announceTime = timerlist[selected].alarmTime -60;
|
||||||
if(timerlist[selected].eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
|
if (timerlist[selected].eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||||
Timer->getWeekdaysFromStr(&timerlist[selected].eventRepeat, m_weekdaysStr);
|
Timer->getWeekdaysFromStr(&timerlist[selected].eventRepeat, m_weekdaysStr);
|
||||||
if(timerlist[selected].eventType == CTimerd::TIMER_RECORD)
|
if (timerlist[selected].eventType == CTimerd::TIMER_RECORD)
|
||||||
{
|
{
|
||||||
timerlist[selected].announceTime -= 120; // 2 more mins for rec timer
|
timerlist[selected].announceTime -= 120; // 2 more mins for rec timer
|
||||||
if (timer_apids_dflt)
|
if (timer_apids_dflt)
|
||||||
timerlist[selected].apids = TIMERD_APIDS_CONF;
|
timerlist[selected].apids = TIMERD_APIDS_CONF;
|
||||||
else
|
else
|
||||||
timerlist[selected].apids = (timer_apids_std * TIMERD_APIDS_STD) | (timer_apids_ac3 * TIMERD_APIDS_AC3) |
|
timerlist[selected].apids = (timer_apids_std * TIMERD_APIDS_STD) | (timer_apids_ac3 * TIMERD_APIDS_AC3) |
|
||||||
(timer_apids_alt * TIMERD_APIDS_ALT);
|
(timer_apids_alt * TIMERD_APIDS_ALT);
|
||||||
Timer->modifyTimerAPid(timerlist[selected].eventID,timerlist[selected].apids);
|
Timer->modifyTimerAPid(timerlist[selected].eventID,timerlist[selected].apids);
|
||||||
Timer->modifyRecordTimerEvent(timerlist[selected].eventID, timerlist[selected].announceTime,
|
Timer->modifyRecordTimerEvent(timerlist[selected].eventID, timerlist[selected].announceTime,
|
||||||
timerlist[selected].alarmTime,
|
timerlist[selected].alarmTime,
|
||||||
@@ -296,11 +296,11 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
eventinfo.recordingSafety = false;
|
eventinfo.recordingSafety = false;
|
||||||
timerNew.standby_on = (timerNew_standby_on == 1);
|
timerNew.standby_on = (timerNew_standby_on == 1);
|
||||||
void *data=NULL;
|
void *data=NULL;
|
||||||
if(timerNew.eventType == CTimerd::TIMER_STANDBY)
|
if (timerNew.eventType == CTimerd::TIMER_STANDBY)
|
||||||
data=&(timerNew.standby_on);
|
data=&(timerNew.standby_on);
|
||||||
else if(timerNew.eventType==CTimerd::TIMER_NEXTPROGRAM ||
|
else if (timerNew.eventType==CTimerd::TIMER_NEXTPROGRAM ||
|
||||||
timerNew.eventType==CTimerd::TIMER_ZAPTO ||
|
timerNew.eventType==CTimerd::TIMER_ZAPTO ||
|
||||||
timerNew.eventType==CTimerd::TIMER_RECORD)
|
timerNew.eventType==CTimerd::TIMER_RECORD)
|
||||||
{
|
{
|
||||||
if (strcmp(timerNew_channel_name, "---")==0)
|
if (strcmp(timerNew_channel_name, "---")==0)
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
@@ -318,7 +318,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
} else
|
} else
|
||||||
data= &eventinfo;
|
data= &eventinfo;
|
||||||
}
|
}
|
||||||
else if(timerNew.eventType==CTimerd::TIMER_REMIND)
|
else if (timerNew.eventType==CTimerd::TIMER_REMIND)
|
||||||
data= timerNew.message;
|
data= timerNew.message;
|
||||||
else if (timerNew.eventType==CTimerd::TIMER_EXEC_PLUGIN)
|
else if (timerNew.eventType==CTimerd::TIMER_EXEC_PLUGIN)
|
||||||
{
|
{
|
||||||
@@ -326,7 +326,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
data= timerNew.pluginName;
|
data= timerNew.pluginName;
|
||||||
}
|
}
|
||||||
if(timerNew.eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
|
if (timerNew.eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||||
Timer->getWeekdaysFromStr(&timerNew.eventRepeat, m_weekdaysStr);
|
Timer->getWeekdaysFromStr(&timerNew.eventRepeat, m_weekdaysStr);
|
||||||
|
|
||||||
if (Timer->addTimerEvent(timerNew.eventType,data,timerNew.announceTime,timerNew.alarmTime,
|
if (Timer->addTimerEvent(timerNew.eventType,data,timerNew.announceTime,timerNew.alarmTime,
|
||||||
@@ -356,7 +356,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
return menu_return::RETURN_EXIT;
|
return menu_return::RETURN_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(parent)
|
if (parent)
|
||||||
{
|
{
|
||||||
parent->hide();
|
parent->hide();
|
||||||
}
|
}
|
||||||
@@ -364,21 +364,21 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
int ret = show();
|
int ret = show();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
/*
|
/*
|
||||||
if( ret > -1)
|
if( ret > -1)
|
||||||
{
|
{
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
else if( ret == -1)
|
else if( ret == -1)
|
||||||
{
|
{
|
||||||
// -1 bedeutet nur REPAINT
|
// -1 bedeutet nur REPAINT
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// -2 bedeutet EXIT_ALL
|
// -2 bedeutet EXIT_ALL
|
||||||
return menu_return::RETURN_EXIT_ALL;
|
return menu_return::RETURN_EXIT_ALL;
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void CTimerList::updateEvents(void)
|
void CTimerList::updateEvents(void)
|
||||||
@@ -387,9 +387,9 @@ void CTimerList::updateEvents(void)
|
|||||||
Timer->getTimerList (timerlist);
|
Timer->getTimerList (timerlist);
|
||||||
//Remove last deleted event from List
|
//Remove last deleted event from List
|
||||||
CTimerd::TimerList::iterator timer = timerlist.begin();
|
CTimerd::TimerList::iterator timer = timerlist.begin();
|
||||||
for(; timer != timerlist.end();timer++)
|
for (; timer != timerlist.end(); timer++)
|
||||||
{
|
{
|
||||||
if(timer->eventID==skipEventID)
|
if (timer->eventID==skipEventID)
|
||||||
{
|
{
|
||||||
timerlist.erase(timer);
|
timerlist.erase(timer);
|
||||||
break;
|
break;
|
||||||
@@ -405,18 +405,18 @@ void CTimerList::updateEvents(void)
|
|||||||
|
|
||||||
listmaxshow = (height-theight-0)/(fheight*2);
|
listmaxshow = (height-theight-0)/(fheight*2);
|
||||||
height = theight+0+listmaxshow*fheight*2; // recalc height
|
height = theight+0+listmaxshow*fheight*2; // recalc height
|
||||||
if(timerlist.size() < listmaxshow)
|
if (timerlist.size() < listmaxshow)
|
||||||
{
|
{
|
||||||
listmaxshow=timerlist.size();
|
listmaxshow=timerlist.size();
|
||||||
height = theight+0+listmaxshow*fheight*2; // recalc height
|
height = theight+0+listmaxshow*fheight*2; // recalc height
|
||||||
}
|
}
|
||||||
if(selected==timerlist.size() && !(timerlist.empty()))
|
if (selected==timerlist.size() && !(timerlist.empty()))
|
||||||
{
|
{
|
||||||
selected=timerlist.size()-1;
|
selected=timerlist.size()-1;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
}
|
}
|
||||||
x = frameBuffer->getScreenX() + (frameBuffer->getScreenWidth() - width) / 2;
|
x=getScreenStartX( width );
|
||||||
y = frameBuffer->getScreenY() + (frameBuffer->getScreenHeight() - (height+ info_height)) / 2;
|
y = frameBuffer->getScreenY() + (frameBuffer->getScreenHeight() - (height+ info_height)) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -428,13 +428,13 @@ int CTimerList::show()
|
|||||||
int res = menu_return::RETURN_REPAINT;
|
int res = menu_return::RETURN_REPAINT;
|
||||||
|
|
||||||
unsigned long long timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings
|
unsigned long long timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings
|
||||||
::TIMING_MENU]);
|
::TIMING_MENU]);
|
||||||
|
|
||||||
bool loop=true;
|
bool loop=true;
|
||||||
bool update=true;
|
bool update=true;
|
||||||
while(loop)
|
while (loop)
|
||||||
{
|
{
|
||||||
if(update)
|
if (update)
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
updateEvents();
|
updateEvents();
|
||||||
@@ -443,19 +443,19 @@ int CTimerList::show()
|
|||||||
}
|
}
|
||||||
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
||||||
|
|
||||||
if( msg <= CRCInput::RC_MaxRC )
|
if ( msg <= CRCInput::RC_MaxRC )
|
||||||
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings
|
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings
|
||||||
::TIMING_MENU]);
|
::TIMING_MENU]);
|
||||||
|
|
||||||
if( ( msg == CRCInput::RC_timeout ) ||
|
if ( ( msg == CRCInput::RC_timeout ) ||
|
||||||
( msg == CRCInput::RC_home) )
|
( msg == CRCInput::RC_home) )
|
||||||
{ //Exit after timeout or cancel key
|
{ //Exit after timeout or cancel key
|
||||||
loop=false;
|
loop=false;
|
||||||
}
|
}
|
||||||
else if ((msg == CRCInput::RC_up) && !(timerlist.empty()))
|
else if ((msg == CRCInput::RC_up) && !(timerlist.empty()))
|
||||||
{
|
{
|
||||||
int prevselected=selected;
|
int prevselected=selected;
|
||||||
if(selected==0)
|
if (selected==0)
|
||||||
{
|
{
|
||||||
selected = timerlist.size()-1;
|
selected = timerlist.size()-1;
|
||||||
}
|
}
|
||||||
@@ -464,7 +464,7 @@ int CTimerList::show()
|
|||||||
paintItem(prevselected - liststart);
|
paintItem(prevselected - liststart);
|
||||||
unsigned int oldliststart = liststart;
|
unsigned int oldliststart = liststart;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
if(oldliststart!=liststart)
|
if (oldliststart!=liststart)
|
||||||
{
|
{
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
@@ -480,7 +480,7 @@ int CTimerList::show()
|
|||||||
paintItem(prevselected - liststart);
|
paintItem(prevselected - liststart);
|
||||||
unsigned int oldliststart = liststart;
|
unsigned int oldliststart = liststart;
|
||||||
liststart = (selected/listmaxshow)*listmaxshow;
|
liststart = (selected/listmaxshow)*listmaxshow;
|
||||||
if(oldliststart!=liststart)
|
if (oldliststart!=liststart)
|
||||||
{
|
{
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
@@ -499,13 +499,13 @@ int CTimerList::show()
|
|||||||
else
|
else
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if((msg == CRCInput::RC_red) && !(timerlist.empty()))
|
else if ((msg == CRCInput::RC_red) && !(timerlist.empty()))
|
||||||
{
|
{
|
||||||
Timer->removeTimerEvent(timerlist[selected].eventID);
|
Timer->removeTimerEvent(timerlist[selected].eventID);
|
||||||
skipEventID=timerlist[selected].eventID;
|
skipEventID=timerlist[selected].eventID;
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_green)
|
else if (msg==CRCInput::RC_green)
|
||||||
{
|
{
|
||||||
if (newTimer()==menu_return::RETURN_EXIT_ALL)
|
if (newTimer()==menu_return::RETURN_EXIT_ALL)
|
||||||
{
|
{
|
||||||
@@ -515,32 +515,32 @@ int CTimerList::show()
|
|||||||
else
|
else
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_yellow)
|
else if (msg==CRCInput::RC_yellow)
|
||||||
{
|
{
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if((msg==CRCInput::RC_blue)||
|
else if ((msg==CRCInput::RC_blue)||
|
||||||
(CRCInput::isNumeric(msg)) )
|
(CRCInput::isNumeric(msg)) )
|
||||||
{
|
{
|
||||||
//pushback key if...
|
//pushback key if...
|
||||||
g_RCInput->postMsg( msg, data );
|
g_RCInput->postMsg( msg, data );
|
||||||
loop=false;
|
loop=false;
|
||||||
}
|
}
|
||||||
else if(msg==CRCInput::RC_setup)
|
else if (msg==CRCInput::RC_setup)
|
||||||
{
|
{
|
||||||
res=menu_return::RETURN_EXIT_ALL;
|
res=menu_return::RETURN_EXIT_ALL;
|
||||||
loop=false;
|
loop=false;
|
||||||
}
|
}
|
||||||
else if( msg == CRCInput::RC_help || msg == CRCInput::RC_info)
|
else if ( msg == CRCInput::RC_help || msg == CRCInput::RC_info)
|
||||||
{
|
{
|
||||||
CTimerd::responseGetTimer* timer=&timerlist[selected];
|
CTimerd::responseGetTimer* timer=&timerlist[selected];
|
||||||
if(timer!=NULL)
|
if (timer!=NULL)
|
||||||
{
|
{
|
||||||
if(timer->eventType == CTimerd::TIMER_RECORD || timer->eventType == CTimerd::TIMER_ZAPTO)
|
if (timer->eventType == CTimerd::TIMER_RECORD || timer->eventType == CTimerd::TIMER_ZAPTO)
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
res = g_EpgData->show(timer->channel_id, timer->epgID, &timer->epg_starttime);
|
res = g_EpgData->show(timer->channel_id, timer->epgID, &timer->epg_starttime);
|
||||||
if(res==menu_return::RETURN_EXIT_ALL)
|
if (res==menu_return::RETURN_EXIT_ALL)
|
||||||
loop=false;
|
loop=false;
|
||||||
else
|
else
|
||||||
paint();
|
paint();
|
||||||
@@ -555,7 +555,7 @@ int CTimerList::show()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
||||||
{
|
{
|
||||||
loop = false;
|
loop = false;
|
||||||
res = menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
@@ -569,7 +569,7 @@ int CTimerList::show()
|
|||||||
|
|
||||||
void CTimerList::hide()
|
void CTimerList::hide()
|
||||||
{
|
{
|
||||||
if(visible)
|
if (visible)
|
||||||
{
|
{
|
||||||
frameBuffer->paintBackgroundBoxRel(x, y, width, height+ info_height+ 5);
|
frameBuffer->paintBackgroundBoxRel(x, y, width, height+ info_height+ 5);
|
||||||
visible = false;
|
visible = false;
|
||||||
@@ -602,13 +602,13 @@ void CTimerList::paintItem(int pos)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int real_width=width;
|
int real_width=width;
|
||||||
if(timerlist.size()>listmaxshow)
|
if (timerlist.size()>listmaxshow)
|
||||||
{
|
{
|
||||||
real_width-=15; //scrollbar
|
real_width-=15; //scrollbar
|
||||||
}
|
}
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(x,ypos, real_width, 2*fheight, bgcolor);
|
frameBuffer->paintBoxRel(x,ypos, real_width, 2*fheight, bgcolor);
|
||||||
if(liststart+pos<timerlist.size())
|
if (liststart+pos<timerlist.size())
|
||||||
{
|
{
|
||||||
CTimerd::responseGetTimer & timer = timerlist[liststart+pos];
|
CTimerd::responseGetTimer & timer = timerlist[liststart+pos];
|
||||||
char zAlarmTime[25] = {0};
|
char zAlarmTime[25] = {0};
|
||||||
@@ -618,7 +618,7 @@ void CTimerList::paintItem(int pos)
|
|||||||
struct tm *stopTime = localtime(&(timer.stopTime));
|
struct tm *stopTime = localtime(&(timer.stopTime));
|
||||||
strftime(zStopTime,20,"%d.%m. %H:%M",stopTime);
|
strftime(zStopTime,20,"%d.%m. %H:%M",stopTime);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+fheight, 150, zAlarmTime, color, fheight, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+fheight, 150, zAlarmTime, color, fheight, true); // UTF-8
|
||||||
if(timer.stopTime != 0)
|
if (timer.stopTime != 0)
|
||||||
{
|
{
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+2*fheight, 150, zStopTime, color, fheight, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10,ypos+2*fheight, 150, zStopTime, color, fheight, true); // UTF-8
|
||||||
}
|
}
|
||||||
@@ -637,102 +637,103 @@ void CTimerList::paintItem(int pos)
|
|||||||
}
|
}
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+160+(real_width-160)/2,ypos+fheight, (real_width-160)/2-5, convertTimerType2String(timer.eventType), color, fheight, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+160+(real_width-160)/2,ypos+fheight, (real_width-160)/2-5, convertTimerType2String(timer.eventType), color, fheight, true); // UTF-8
|
||||||
std::string zAddData("");
|
std::string zAddData("");
|
||||||
switch(timer.eventType)
|
switch (timer.eventType)
|
||||||
{
|
{
|
||||||
case CTimerd::TIMER_NEXTPROGRAM :
|
case CTimerd::TIMER_NEXTPROGRAM :
|
||||||
case CTimerd::TIMER_ZAPTO :
|
case CTimerd::TIMER_ZAPTO :
|
||||||
case CTimerd::TIMER_RECORD :
|
case CTimerd::TIMER_RECORD :
|
||||||
{
|
{
|
||||||
zAddData = convertChannelId2String(timer.channel_id); // UTF-8
|
zAddData = convertChannelId2String(timer.channel_id); // UTF-8
|
||||||
if(timer.apids != TIMERD_APIDS_CONF)
|
if (timer.apids != TIMERD_APIDS_CONF)
|
||||||
{
|
|
||||||
std::string sep = "";
|
|
||||||
zAddData += " (";
|
|
||||||
if(timer.apids & TIMERD_APIDS_STD)
|
|
||||||
{
|
|
||||||
zAddData += "STD";
|
|
||||||
sep = "/";
|
|
||||||
}
|
|
||||||
if(timer.apids & TIMERD_APIDS_ALT)
|
|
||||||
{
|
|
||||||
zAddData += sep;
|
|
||||||
zAddData += "ALT";
|
|
||||||
sep = "/";
|
|
||||||
}
|
|
||||||
if(timer.apids & TIMERD_APIDS_AC3)
|
|
||||||
{
|
|
||||||
zAddData += sep;
|
|
||||||
zAddData += "AC3";
|
|
||||||
sep = "/";
|
|
||||||
}
|
|
||||||
zAddData += ')';
|
|
||||||
}
|
|
||||||
if(timer.epgID!=0)
|
|
||||||
{
|
|
||||||
CEPGData epgdata;
|
|
||||||
//if (g_Sectionsd->getEPGid(timer.epgID, timer.epg_starttime, &epgdata))
|
|
||||||
if (sectionsd_getEPGid(timer.epgID, timer.epg_starttime, &epgdata))
|
|
||||||
{
|
|
||||||
zAddData += " : ";
|
|
||||||
zAddData += epgdata.title;
|
|
||||||
}
|
|
||||||
else if(strlen(timer.epgTitle)!=0)
|
|
||||||
{
|
|
||||||
zAddData += " : ";
|
|
||||||
zAddData += timer.epgTitle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(strlen(timer.epgTitle)!=0)
|
|
||||||
{
|
|
||||||
zAddData += " : ";
|
|
||||||
zAddData += timer.epgTitle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case CTimerd::TIMER_STANDBY:
|
|
||||||
{
|
|
||||||
zAddData = g_Locale->getText(timer.standby_on ? LOCALE_TIMERLIST_STANDBY_ON : LOCALE_TIMERLIST_STANDBY_OFF);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CTimerd::TIMER_REMIND :
|
|
||||||
{
|
|
||||||
zAddData = timer.message; // must be UTF-8 encoded !
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case CTimerd::TIMER_EXEC_PLUGIN :
|
|
||||||
{
|
{
|
||||||
zAddData = timer.pluginName;
|
std::string sep = "";
|
||||||
|
zAddData += " (";
|
||||||
|
if (timer.apids & TIMERD_APIDS_STD)
|
||||||
|
{
|
||||||
|
zAddData += "STD";
|
||||||
|
sep = "/";
|
||||||
|
}
|
||||||
|
if (timer.apids & TIMERD_APIDS_ALT)
|
||||||
|
{
|
||||||
|
zAddData += sep;
|
||||||
|
zAddData += "ALT";
|
||||||
|
sep = "/";
|
||||||
|
}
|
||||||
|
if (timer.apids & TIMERD_APIDS_AC3)
|
||||||
|
{
|
||||||
|
zAddData += sep;
|
||||||
|
zAddData += "AC3";
|
||||||
|
sep = "/";
|
||||||
|
}
|
||||||
|
zAddData += ')';
|
||||||
}
|
}
|
||||||
|
if (timer.epgID!=0)
|
||||||
|
{
|
||||||
|
CEPGData epgdata;
|
||||||
|
//if (g_Sectionsd->getEPGid(timer.epgID, timer.epg_starttime, &epgdata))
|
||||||
|
if (sectionsd_getEPGid(timer.epgID, timer.epg_starttime, &epgdata))
|
||||||
|
{
|
||||||
|
zAddData += " : ";
|
||||||
|
zAddData += epgdata.title;
|
||||||
|
}
|
||||||
|
else if (strlen(timer.epgTitle)!=0)
|
||||||
|
{
|
||||||
|
zAddData += " : ";
|
||||||
|
zAddData += timer.epgTitle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (strlen(timer.epgTitle)!=0)
|
||||||
|
{
|
||||||
|
zAddData += " : ";
|
||||||
|
zAddData += timer.epgTitle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CTimerd::TIMER_STANDBY:
|
||||||
|
{
|
||||||
|
zAddData = g_Locale->getText(timer.standby_on ? LOCALE_TIMERLIST_STANDBY_ON : LOCALE_TIMERLIST_STANDBY_OFF);
|
||||||
break;
|
break;
|
||||||
default:{}
|
}
|
||||||
|
case CTimerd::TIMER_REMIND :
|
||||||
|
{
|
||||||
|
zAddData = timer.message; // must be UTF-8 encoded !
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CTimerd::TIMER_EXEC_PLUGIN :
|
||||||
|
{
|
||||||
|
zAddData = timer.pluginName;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: {}
|
||||||
}
|
}
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+160,ypos+2*fheight, real_width-165, zAddData, color, fheight, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+160,ypos+2*fheight, real_width-165, zAddData, color, fheight, true); // UTF-8
|
||||||
// LCD Display
|
// LCD Display
|
||||||
if(liststart+pos==selected)
|
if (liststart+pos==selected)
|
||||||
{
|
{
|
||||||
std::string line1 = convertTimerType2String(timer.eventType); // UTF-8
|
std::string line1 = convertTimerType2String(timer.eventType); // UTF-8
|
||||||
std::string line2 = zAlarmTime;
|
std::string line2 = zAlarmTime;
|
||||||
switch(timer.eventType)
|
switch (timer.eventType)
|
||||||
{
|
{
|
||||||
case CTimerd::TIMER_RECORD :
|
case CTimerd::TIMER_RECORD :
|
||||||
line2+= " -";
|
line2+= " -";
|
||||||
line2+= zStopTime+6;
|
line2+= zStopTime+6;
|
||||||
case CTimerd::TIMER_NEXTPROGRAM :
|
case CTimerd::TIMER_NEXTPROGRAM :
|
||||||
case CTimerd::TIMER_ZAPTO :
|
case CTimerd::TIMER_ZAPTO :
|
||||||
{
|
{
|
||||||
line1 += ' ';
|
line1 += ' ';
|
||||||
line1 += convertChannelId2String(timer.channel_id); // UTF-8
|
line1 += convertChannelId2String(timer.channel_id); // UTF-8
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CTimerd::TIMER_STANDBY :
|
case CTimerd::TIMER_STANDBY :
|
||||||
{
|
{
|
||||||
if(timer.standby_on)
|
if (timer.standby_on)
|
||||||
line1+=" ON";
|
line1+=" ON";
|
||||||
else
|
else
|
||||||
line1+=" OFF";
|
line1+=" OFF";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:;
|
default:
|
||||||
|
;
|
||||||
}
|
}
|
||||||
CVFD::getInstance()->showMenuText(0, line1.c_str(), -1, true); // UTF-8
|
CVFD::getInstance()->showMenuText(0, line1.c_str(), -1, true); // UTF-8
|
||||||
//CVFD::getInstance()->showMenuText(1, line2.c_str(), -1, true); // UTF-8
|
//CVFD::getInstance()->showMenuText(1, line2.c_str(), -1, true); // UTF-8
|
||||||
@@ -747,8 +748,8 @@ void CTimerList::paintHead()
|
|||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+35,y+theight+0, width- 45, g_Locale->getText(LOCALE_TIMERLIST_NAME), COL_MENUHEAD, 0, true); // UTF-8
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+35,y+theight+0, width- 45, g_Locale->getText(LOCALE_TIMERLIST_NAME), COL_MENUHEAD, 0, true); // UTF-8
|
||||||
|
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_HELP, x+ width- 30, y+ 5 );
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_HELP, x+ width- 30, y+ 5 );
|
||||||
/* if (bouquetList!=NULL)
|
/* if (bouquetList!=NULL)
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_DBOX, x+ width- 60, y+ 5 );*/
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_DBOX, x+ width- 60, y+ 5 );*/
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct button_label TimerListButtons[3] =
|
const struct button_label TimerListButtons[3] =
|
||||||
@@ -783,12 +784,12 @@ void CTimerList::paint()
|
|||||||
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_TIMERLIST_NAME));
|
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_TIMERLIST_NAME));
|
||||||
|
|
||||||
paintHead();
|
paintHead();
|
||||||
for(unsigned int count=0;count<listmaxshow;count++)
|
for (unsigned int count=0; count<listmaxshow; count++)
|
||||||
{
|
{
|
||||||
paintItem(count);
|
paintItem(count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(timerlist.size()>listmaxshow)
|
if (timerlist.size()>listmaxshow)
|
||||||
{
|
{
|
||||||
int ypos = y+ theight;
|
int ypos = y+ theight;
|
||||||
int sb = 2*fheight* listmaxshow;
|
int sb = 2*fheight* listmaxshow;
|
||||||
@@ -806,60 +807,76 @@ void CTimerList::paint()
|
|||||||
|
|
||||||
const char * CTimerList::convertTimerType2String(const CTimerd::CTimerEventTypes type) // UTF-8
|
const char * CTimerList::convertTimerType2String(const CTimerd::CTimerEventTypes type) // UTF-8
|
||||||
{
|
{
|
||||||
switch(type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case CTimerd::TIMER_SHUTDOWN : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_SHUTDOWN );
|
case CTimerd::TIMER_SHUTDOWN :
|
||||||
case CTimerd::TIMER_NEXTPROGRAM : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_NEXTPROGRAM);
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_SHUTDOWN );
|
||||||
case CTimerd::TIMER_ZAPTO : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_ZAPTO );
|
case CTimerd::TIMER_NEXTPROGRAM :
|
||||||
case CTimerd::TIMER_STANDBY : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_STANDBY );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_NEXTPROGRAM);
|
||||||
case CTimerd::TIMER_RECORD : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_RECORD );
|
case CTimerd::TIMER_ZAPTO :
|
||||||
case CTimerd::TIMER_REMIND : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_REMIND );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_ZAPTO );
|
||||||
case CTimerd::TIMER_SLEEPTIMER : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_SLEEPTIMER );
|
case CTimerd::TIMER_STANDBY :
|
||||||
case CTimerd::TIMER_EXEC_PLUGIN : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_EXECPLUGIN );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_STANDBY );
|
||||||
default : return g_Locale->getText(LOCALE_TIMERLIST_TYPE_UNKNOWN );
|
case CTimerd::TIMER_RECORD :
|
||||||
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_RECORD );
|
||||||
|
case CTimerd::TIMER_REMIND :
|
||||||
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_REMIND );
|
||||||
|
case CTimerd::TIMER_SLEEPTIMER :
|
||||||
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_SLEEPTIMER );
|
||||||
|
case CTimerd::TIMER_EXEC_PLUGIN :
|
||||||
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_EXECPLUGIN );
|
||||||
|
default :
|
||||||
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_UNKNOWN );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CTimerList::convertTimerRepeat2String(const CTimerd::CTimerEventRepeat rep) // UTF-8
|
std::string CTimerList::convertTimerRepeat2String(const CTimerd::CTimerEventRepeat rep) // UTF-8
|
||||||
{
|
{
|
||||||
switch(rep)
|
switch (rep)
|
||||||
{
|
{
|
||||||
case CTimerd::TIMERREPEAT_ONCE : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_ONCE );
|
case CTimerd::TIMERREPEAT_ONCE :
|
||||||
case CTimerd::TIMERREPEAT_DAILY : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_DAILY );
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_ONCE );
|
||||||
case CTimerd::TIMERREPEAT_WEEKLY : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_WEEKLY );
|
case CTimerd::TIMERREPEAT_DAILY :
|
||||||
case CTimerd::TIMERREPEAT_BIWEEKLY : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_BIWEEKLY );
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_DAILY );
|
||||||
case CTimerd::TIMERREPEAT_FOURWEEKLY : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_FOURWEEKLY );
|
case CTimerd::TIMERREPEAT_WEEKLY :
|
||||||
case CTimerd::TIMERREPEAT_MONTHLY : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_MONTHLY );
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_WEEKLY );
|
||||||
case CTimerd::TIMERREPEAT_BYEVENTDESCRIPTION : return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_BYEVENTDESCRIPTION);
|
case CTimerd::TIMERREPEAT_BIWEEKLY :
|
||||||
default:
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_BIWEEKLY );
|
||||||
if(rep >=CTimerd::TIMERREPEAT_WEEKDAYS)
|
case CTimerd::TIMERREPEAT_FOURWEEKLY :
|
||||||
{
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_FOURWEEKLY );
|
||||||
int weekdays = (((int)rep) >> 9);
|
case CTimerd::TIMERREPEAT_MONTHLY :
|
||||||
std::string weekdayStr="";
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_MONTHLY );
|
||||||
if(weekdays & 1)
|
case CTimerd::TIMERREPEAT_BYEVENTDESCRIPTION :
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_MONDAY);
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_BYEVENTDESCRIPTION);
|
||||||
weekdays >>= 1;
|
default:
|
||||||
if(weekdays & 1)
|
if (rep >=CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_TUESDAY);
|
{
|
||||||
weekdays >>= 1;
|
int weekdays = (((int)rep) >> 9);
|
||||||
if(weekdays & 1)
|
std::string weekdayStr="";
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_WEDNESDAY);
|
if (weekdays & 1)
|
||||||
weekdays >>= 1;
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_MONDAY);
|
||||||
if(weekdays & 1)
|
weekdays >>= 1;
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_THURSDAY);
|
if (weekdays & 1)
|
||||||
weekdays >>= 1;
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_TUESDAY);
|
||||||
if(weekdays & 1)
|
weekdays >>= 1;
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_FRIDAY);
|
if (weekdays & 1)
|
||||||
weekdays >>= 1;
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_WEDNESDAY);
|
||||||
if(weekdays & 1)
|
weekdays >>= 1;
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_SATURDAY);
|
if (weekdays & 1)
|
||||||
weekdays >>= 1;
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_THURSDAY);
|
||||||
if(weekdays & 1)
|
weekdays >>= 1;
|
||||||
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_SUNDAY);
|
if (weekdays & 1)
|
||||||
return weekdayStr;
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_FRIDAY);
|
||||||
}
|
weekdays >>= 1;
|
||||||
else
|
if (weekdays & 1)
|
||||||
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_UNKNOWN);
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_SATURDAY);
|
||||||
|
weekdays >>= 1;
|
||||||
|
if (weekdays & 1)
|
||||||
|
weekdayStr+= g_Locale->getText(LOCALE_TIMERLIST_REPEAT_SUNDAY);
|
||||||
|
return weekdayStr;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return g_Locale->getText(LOCALE_TIMERLIST_REPEAT_UNKNOWN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -938,7 +955,7 @@ int CTimerList::modifyTimer()
|
|||||||
timerSettings.addItem( m1);
|
timerSettings.addItem( m1);
|
||||||
|
|
||||||
CDateInput timerSettings_stopTime(LOCALE_TIMERLIST_STOPTIME, &timer->stopTime , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
CDateInput timerSettings_stopTime(LOCALE_TIMERLIST_STOPTIME, &timer->stopTime , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
||||||
if(timer->stopTime != 0)
|
if (timer->stopTime != 0)
|
||||||
{
|
{
|
||||||
CMenuForwarder *m2 = new CMenuForwarder(LOCALE_TIMERLIST_STOPTIME, true, timerSettings_stopTime.getValue (), &timerSettings_stopTime );
|
CMenuForwarder *m2 = new CMenuForwarder(LOCALE_TIMERLIST_STOPTIME, true, timerSettings_stopTime.getValue (), &timerSettings_stopTime );
|
||||||
timerSettings.addItem( m2);
|
timerSettings.addItem( m2);
|
||||||
@@ -957,11 +974,11 @@ int CTimerList::modifyTimer()
|
|||||||
|
|
||||||
//printf("TIMER: rec dir %s len %s\n", timer->recordingDir, strlen(timer->recordingDir));
|
//printf("TIMER: rec dir %s len %s\n", timer->recordingDir, strlen(timer->recordingDir));
|
||||||
|
|
||||||
if(!strlen(timer->recordingDir))
|
if (!strlen(timer->recordingDir))
|
||||||
strncpy(timer->recordingDir,g_settings.network_nfs_recordingdir,sizeof(timer->recordingDir));
|
strncpy(timer->recordingDir,g_settings.network_nfs_recordingdir,sizeof(timer->recordingDir));
|
||||||
|
|
||||||
CMountChooser recDirs(LOCALE_TIMERLIST_RECORDING_DIR,NEUTRINO_ICON_SETTINGS,NULL,
|
CMountChooser recDirs(LOCALE_TIMERLIST_RECORDING_DIR,NEUTRINO_ICON_SETTINGS,NULL,
|
||||||
timer->recordingDir, g_settings.network_nfs_recordingdir);
|
timer->recordingDir, g_settings.network_nfs_recordingdir);
|
||||||
if (!recDirs.hasItem())
|
if (!recDirs.hasItem())
|
||||||
{
|
{
|
||||||
printf("[CTimerList] warning: no network devices available\n");
|
printf("[CTimerList] warning: no network devices available\n");
|
||||||
@@ -994,8 +1011,8 @@ int CTimerList::modifyTimer()
|
|||||||
CMenuOptionChooser* ma4 = new CMenuOptionChooser(LOCALE_RECORDINGMENU_APIDS_AC3, &timer_apids_ac3, MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true, &apid_notifier);
|
CMenuOptionChooser* ma4 = new CMenuOptionChooser(LOCALE_RECORDINGMENU_APIDS_AC3, &timer_apids_ac3, MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true, &apid_notifier);
|
||||||
timerSettings_apids.addItem(ma4);
|
timerSettings_apids.addItem(ma4);
|
||||||
apid_notifier.setItems(ma1,ma2,ma3,ma4);
|
apid_notifier.setItems(ma1,ma2,ma3,ma4);
|
||||||
if(timer->eventType == CTimerd::TIMER_RECORD)
|
if (timer->eventType == CTimerd::TIMER_RECORD)
|
||||||
{
|
{
|
||||||
timerSettings.addItem( new CMenuForwarder(LOCALE_TIMERLIST_APIDS, true, NULL, &timerSettings_apids ));
|
timerSettings.addItem( new CMenuForwarder(LOCALE_TIMERLIST_APIDS, true, NULL, &timerSettings_apids ));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1045,28 +1062,28 @@ int CTimerList::newTimer()
|
|||||||
CMenuWidget mcradio(LOCALE_TIMERLIST_BOUQUETSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget mcradio(LOCALE_TIMERLIST_BOUQUETSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
|
|
||||||
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
|
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
|
||||||
if (!g_bouquetManager->Bouquets[i]->bHidden) {
|
if (!g_bouquetManager->Bouquets[i]->bHidden) {
|
||||||
CMenuWidget* mwtv = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget* mwtv = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
toDelete.push_back(mwtv);
|
toDelete.push_back(mwtv);
|
||||||
CMenuWidget* mwradio = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget* mwradio = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
toDelete.push_back(mwradio);
|
toDelete.push_back(mwradio);
|
||||||
|
|
||||||
ZapitChannelList* channels = &(g_bouquetManager->Bouquets[i]->tvChannels);
|
ZapitChannelList* channels = &(g_bouquetManager->Bouquets[i]->tvChannels);
|
||||||
for(int j = 0; j < (int) channels->size(); j++) {
|
for (int j = 0; j < (int) channels->size(); j++) {
|
||||||
char cChannelId[3+16+1+1];
|
char cChannelId[3+16+1+1];
|
||||||
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", (*channels)[j]->channel_id);
|
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", (*channels)[j]->channel_id);
|
||||||
mwtv->addItem(new CMenuForwarderNonLocalized((*channels)[j]->getName().c_str(), true, NULL, this, (std::string(cChannelId) + (*channels)[j]->getName()).c_str()));
|
mwtv->addItem(new CMenuForwarderNonLocalized((*channels)[j]->getName().c_str(), true, NULL, this, (std::string(cChannelId) + (*channels)[j]->getName()).c_str()));
|
||||||
}
|
}
|
||||||
if (!channels->empty())
|
if (!channels->empty())
|
||||||
mctv.addItem(new CMenuForwarderNonLocalized(g_bouquetManager->Bouquets[i]->Name.c_str(), true, NULL, mwtv));
|
mctv.addItem(new CMenuForwarderNonLocalized(g_bouquetManager->Bouquets[i]->Name.c_str(), true, NULL, mwtv));
|
||||||
|
|
||||||
|
|
||||||
channels = &(g_bouquetManager->Bouquets[i]->radioChannels);
|
channels = &(g_bouquetManager->Bouquets[i]->radioChannels);
|
||||||
for(int j = 0; j < (int) channels->size(); j++) {
|
for (int j = 0; j < (int) channels->size(); j++) {
|
||||||
char cChannelId[3+16+1+1];
|
char cChannelId[3+16+1+1];
|
||||||
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", (*channels)[j]->channel_id);
|
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", (*channels)[j]->channel_id);
|
||||||
mwradio->addItem(new CMenuForwarderNonLocalized((*channels)[j]->getName().c_str(), true, NULL, this, (std::string(cChannelId) + (*channels)[j]->getName()).c_str()));
|
mwradio->addItem(new CMenuForwarderNonLocalized((*channels)[j]->getName().c_str(), true, NULL, this, (std::string(cChannelId) + (*channels)[j]->getName()).c_str()));
|
||||||
}
|
}
|
||||||
if (!channels->empty())
|
if (!channels->empty())
|
||||||
mcradio.addItem(new CMenuForwarderNonLocalized(g_bouquetManager->Bouquets[i]->Name.c_str(), true, NULL, mwtv));
|
mcradio.addItem(new CMenuForwarderNonLocalized(g_bouquetManager->Bouquets[i]->Name.c_str(), true, NULL, mwtv));
|
||||||
}
|
}
|
||||||
@@ -1117,7 +1134,7 @@ int CTimerList::newTimer()
|
|||||||
int ret=timerSettings.exec(this,"");
|
int ret=timerSettings.exec(this,"");
|
||||||
|
|
||||||
// delete dynamic created objects
|
// delete dynamic created objects
|
||||||
for(unsigned int count=0;count<toDelete.size();count++)
|
for (unsigned int count=0; count<toDelete.size(); count++)
|
||||||
{
|
{
|
||||||
delete toDelete[count];
|
delete toDelete[count];
|
||||||
}
|
}
|
||||||
@@ -1135,12 +1152,12 @@ bool askUserOnTimerConflict(time_t announceTime, time_t stopTime)
|
|||||||
std::string timerbuf = g_Locale->getText(LOCALE_TIMERLIST_OVERLAPPING_TIMER);
|
std::string timerbuf = g_Locale->getText(LOCALE_TIMERLIST_OVERLAPPING_TIMER);
|
||||||
timerbuf += "\n";
|
timerbuf += "\n";
|
||||||
for (CTimerd::TimerList::iterator it = overlappingTimers.begin();
|
for (CTimerd::TimerList::iterator it = overlappingTimers.begin();
|
||||||
it != overlappingTimers.end();it++)
|
it != overlappingTimers.end(); it++)
|
||||||
{
|
{
|
||||||
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
||||||
timerbuf += " (";
|
timerbuf += " (";
|
||||||
timerbuf += CTimerList::convertChannelId2String(it->channel_id); // UTF-8
|
timerbuf += CTimerList::convertChannelId2String(it->channel_id); // UTF-8
|
||||||
if(it->epgID != 0)
|
if (it->epgID != 0)
|
||||||
{
|
{
|
||||||
CEPGData epgdata;
|
CEPGData epgdata;
|
||||||
//if (g_Sectionsd->getEPGid(it->epgID, it->epg_starttime, &epgdata))
|
//if (g_Sectionsd->getEPGid(it->epgID, it->epg_starttime, &epgdata))
|
||||||
@@ -1149,7 +1166,7 @@ bool askUserOnTimerConflict(time_t announceTime, time_t stopTime)
|
|||||||
timerbuf += ":";
|
timerbuf += ":";
|
||||||
timerbuf += epgdata.title;
|
timerbuf += epgdata.title;
|
||||||
}
|
}
|
||||||
else if(strlen(it->epgTitle)!=0)
|
else if (strlen(it->epgTitle)!=0)
|
||||||
{
|
{
|
||||||
timerbuf += ":";
|
timerbuf += ":";
|
||||||
timerbuf += it->epgTitle;
|
timerbuf += it->epgTitle;
|
||||||
|
Reference in New Issue
Block a user