Merge branch 'dvbsi++' of coolstreamtech.de:cst-public-gui-neutrino into dvbsi++

Origin commit data
------------------
Branch: ni/coolstream
Commit: 8ea5d013ab
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2013-02-07 (Thu, 07 Feb 2013)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2013-02-07 08:50:56 +04:00
17 changed files with 172 additions and 159 deletions

View File

@@ -200,6 +200,10 @@ bouquetname.new Neue Kanäle
bouquetname.other Unbekannter Provider
bouquetname.removed Gelöschte Kanäle
cablesetup.provider Kabelanbieter
channellist.additional Zusatzinformationen
channellist.additional_off aus
channellist.additional_on ein
channellist.additional_on_minitv ein (mit MiniTV)
channellist.current_tp Aktueller Transponder
channellist.edit Bearbeiten
channellist.epgtext_align_left links
@@ -220,7 +224,6 @@ channellist.keep_numbers Dauerhafte Kanalnummern
channellist.make_hdlist Erzeuge Bouquet mit HD-Kanälen
channellist.make_newlist Erzeuge Bouquet mit neuen Kanälen
channellist.make_removedlist Erzeuge Bouquet mit gelöschten Kanälen
channellist.minitv Kanalliste mit MiniTV
channellist.new_zap_mode Quickzap in Liste
channellist.nonefound Es wurden keine Kanäle gefunden!\nFühren Sie bitte eine Kanalsuche durch\n(MENU-Taste -> Service)
channellist.provs Anbieter
@@ -734,12 +737,12 @@ menu.hint_cache_txt Startet das Zwischenspeichern des Teletext nach\nKanalwechse
menu.hint_cec_mode CEC-Modus
menu.hint_cec_standby CEC-Standby
menu.hint_cec_view_on CEC view ON
menu.hint_channellist_additional Definiert, ob zusätzliche Informationen im Hauptfenster angezeigt werden sollen
menu.hint_channellist_colored Definiert ob die aktuelle oder nächste Sendung in einer anderen Farbe dargestellt werden soll
menu.hint_channellist_epg_align Hier kann man festlegen, wie der Text für das EPG in der Liste\nrechts vom Programmnamen ausgerichtet wird
menu.hint_channellist_extended Bei aktivierter Funktion wird vor dem Sendernamen ein Balken eingeblendet,\nder den Sendungsfortschritt anzeigt
menu.hint_channellist_fonts Ändern Sie in der Kanalliste die Schriftgrößen
menu.hint_channellist_foot Definiert welche Informationen im unteren Sendungsfenster angezeigt werden sollen
menu.hint_channellist_minitv Schaltet den MiniTV Modus ein/aus
menu.hint_channellist_setup Hier können Sie Anzeigeoptionen für die Kanalliste auswählen
menu.hint_ci Conditional-Access-Menü zum Einrichten\nIhres CI-Moduls oder der eingebetteten Conax-Karte
menu.hint_colors Konfigurieren Sie die Menü-Farben

View File

@@ -200,6 +200,10 @@ bouquetname.new New channels
bouquetname.other Unknown provider
bouquetname.removed Removed channels
cablesetup.provider cable provider
channellist.additional Additional informations
channellist.additional_off off
channellist.additional_on on
channellist.additional_on_minitv on (with MiniTV)
channellist.current_tp Current transponder
channellist.edit Edit
channellist.epgtext_align_left left
@@ -220,7 +224,6 @@ channellist.keep_numbers Persistent channel numbers
channellist.make_hdlist Create list of HD channels
channellist.make_newlist Create list of new channels
channellist.make_removedlist Create list of removed channels
channellist.minitv Channellist with MiniTV
channellist.new_zap_mode Quickzap in list
channellist.nonefound No channels were found!\nPlease execute a scan\n(MENU-key -> service)
channellist.provs Providers
@@ -734,12 +737,12 @@ menu.hint_cache_txt Start teletext caching after channel switch
menu.hint_cec_mode CEC mode
menu.hint_cec_standby CEC standby
menu.hint_cec_view_on CEC view ON
menu.hint_channellist_additional Show additional informations\nin main box
menu.hint_channellist_colored Use different color for current or next event
menu.hint_channellist_epg_align EPG event align
menu.hint_channellist_extended Show current event progress bar
menu.hint_channellist_fonts Change channel list font sizes
menu.hint_channellist_foot Show additional information\nin bottom box
menu.hint_channellist_minitv Switches the MiniTV mode on/off
menu.hint_channellist_setup Configure channe list GUI options
menu.hint_ci Conditional access menu\nto setup your CI CAM or embeded Conax card
menu.hint_colors Configure GUI colors

View File

@@ -110,6 +110,7 @@ CChannelList::CChannelList(const char * const pName, bool phistoryMode, bool _vl
selected_chid = 0;
this->new_mode_active = false;
footerHeight = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight()+6; //initial height value for buttonbar
previous_channellist_additional = -1;
//printf("************ NEW LIST %s : %x\n", name.c_str(), (int) this);fflush(stdout);
}
@@ -304,6 +305,7 @@ int CChannelList::doChannelMenu(void)
{
int i = 0;
int select = -1;
int shortcut = 0;
static int old_selected = 0;
char cnt[5];
bool enabled = true;
@@ -333,9 +335,10 @@ int CChannelList::doChannelMenu(void)
menu->addItem(new CMenuForwarder(LOCALE_FAVORITES_MENUEADD, true, NULL, selector, cnt, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), old_selected == i++);
snprintf(cnt, sizeof(cnt), "%d", i);
bool reset_enabled = chanlist[selected]->flags & CZapitChannel::NEW;
menu->addItem(new CMenuForwarder(LOCALE_CHANNELLIST_RESET_FLAGS, reset_enabled, NULL, selector, cnt, CRCInput::convertDigitToKey(0)), old_selected == i++);
menu->addItem(new CMenuForwarder(LOCALE_CHANNELLIST_RESET_FLAGS, reset_enabled, NULL, selector, cnt, CRCInput::convertDigitToKey(shortcut++)), old_selected == i++);
snprintf(cnt, sizeof(cnt), "%d", i);
menu->addItem(new CMenuForwarder(LOCALE_MAINMENU_SETTINGS, true, NULL, selector, cnt, CRCInput::convertDigitToKey(0)), old_selected == i++);
menu->addItem(new CMenuSeparator(CMenuSeparator::LINE));
menu->addItem(new CMenuForwarder(LOCALE_MAINMENU_SETTINGS, true, NULL, selector, cnt, CRCInput::convertDigitToKey(shortcut++)), old_selected == i++);
menu->exec(NULL, "");
delete menu;
delete selector;
@@ -431,6 +434,7 @@ int CChannelList::doChannelMenu(void)
break;
case 5: // settings
{
previous_channellist_additional = g_settings.channellist_additional;
COsdSetup osd_setup;
osd_setup.showContextChanlistMenu();
//FIXME check font/options changed ?
@@ -464,12 +468,19 @@ int CChannelList::exec()
void CChannelList::calcSize()
{
const int pic_h = 39;
int fw = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getWidth();
width = w_max (((g_settings.channellist_extended)?(frameBuffer->getScreenWidth() / 20 * (fw+6)):(frameBuffer->getScreenWidth() / 20 * (fw+5))), 100);
widthDetails = width;
height = h_max ((frameBuffer->getScreenHeight() / 20 * 16), (frameBuffer->getScreenHeight() / 20 * 2));
if (g_settings.channellist_minitv)
height = h_max ((frameBuffer->getScreenHeight() / 20 * 17), 0);
full_width = frameBuffer->getScreenWidth() - frameBuffer->getScreenX() - 2*ConnectLineBox_Width;
if (g_settings.channellist_additional)
width = full_width / 3 * 2;
else
width = full_width;
height = h_max ((frameBuffer->getScreenHeight() / 20 * 17), 0);
x = frameBuffer->getScreenX() + (frameBuffer->getScreenWidth() - full_width) / 2;
if (x < ConnectLineBox_Width)
x = ConnectLineBox_Width;
y = frameBuffer->getScreenY();
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, name.c_str());
@@ -501,24 +512,13 @@ void CChannelList::calcSize()
height = theight + footerHeight + listmaxshow * fheight;
info_height = 2*fheight + g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getHeight() + 10;
if (g_settings.channellist_minitv)
{
width = frameBuffer->getScreenWidth() / 3 * 2;
widthDetails = frameBuffer->getScreenWidth() - frameBuffer->getScreenX() - 2*ConnectLineBox_Width;
x = frameBuffer->getScreenX() + (frameBuffer->getScreenWidth() - widthDetails) / 2;
if (x < ConnectLineBox_Width)
x = ConnectLineBox_Width;
y = frameBuffer->getScreenY();
infozone_width = widthDetails - width;
pig_width = infozone_width;
infozone_width = full_width - width;
pig_width = infozone_width;
if (g_settings.channellist_additional == 2) // with miniTV
pig_height = (pig_width * 9) / 16;
infozone_height = height - theight - pig_height - footerHeight;
}
else
{
x = frameBuffer->getScreenX() + (frameBuffer->getScreenWidth() - width) / 2;
y = frameBuffer->getScreenY() + (frameBuffer->getScreenHeight() - (height+ info_height)) / 2;
}
pig_height = 0;
infozone_height = height - theight - pig_height - footerHeight;
}
bool CChannelList::updateSelection(int newpos)
@@ -570,7 +570,7 @@ int CChannelList::show()
COSDFader fader(g_settings.menu_Content_alpha);
fader.StartFadeIn();
if (g_settings.channellist_minitv)
if (g_settings.channellist_additional)
{
frameBuffer->paintBoxRel(x+width,y+theight,infozone_width,pig_height+infozone_height,COL_MENUCONTENT_PLUS_0);
}
@@ -906,12 +906,11 @@ int CChannelList::show()
void CChannelList::hide()
{
if (g_settings.channellist_minitv)
if ((g_settings.channellist_additional == 2) || (previous_channellist_additional == 2)) // with miniTV
{
// widthDetails = frameBuffer->getScreenWidth() - frameBuffer->getScreenX();
videoDecoder->Pig(-1, -1, -1, -1);
}
frameBuffer->paintBackgroundBoxRel(x, y, widthDetails, height+ info_height+ 5);
frameBuffer->paintBackgroundBoxRel(x, y, full_width, height+ info_height+ 5);
clearItem2DetailsLine();
}
@@ -1500,7 +1499,7 @@ void CChannelList::paintDetails(int index)
p_event = &chanlist[index]->currentEvent;
}
frameBuffer->paintBoxRel(x+2, y + height + 2, widthDetails-4, info_height - 4, COL_MENUCONTENTDARK_PLUS_0, RADIUS_LARGE);//round
frameBuffer->paintBoxRel(x+2, y + height + 2, full_width-4, info_height - 4, COL_MENUCONTENTDARK_PLUS_0, RADIUS_LARGE);//round
if (!p_event->description.empty()) {
char cNoch[50] = {0}; // UTF-8
@@ -1524,7 +1523,7 @@ void CChannelList::paintDetails(int index)
std::string text2= p_event->text;
int xstart = 10;
if (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text1, true) > (widthDetails - 30 - seit_len) )
if (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text1, true) > (full_width - 30 - seit_len) )
{
// zu breit, Umbruch versuchen...
int pos;
@@ -1532,7 +1531,7 @@ void CChannelList::paintDetails(int index)
pos = text1.find_last_of("[ -.]+");
if ( pos!=-1 )
text1 = text1.substr( 0, pos );
} while ( ( pos != -1 ) && (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text1, true) > (widthDetails - 30 - seit_len) ) );
} while ( ( pos != -1 ) && (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text1, true) > (full_width - 30 - seit_len) ) );
std::string text3 = ""; /* not perfect, but better than crashing... */
if (p_event->description.length() > text1.length())
@@ -1542,7 +1541,7 @@ void CChannelList::paintDetails(int index)
text3= text3+ " - ";
xstart += g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text3, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 2* fheight, widthDetails - 30- noch_len, text3, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 2* fheight, full_width - 30- noch_len, text3, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true);
}
if (!(text2.empty())) {
@@ -1551,7 +1550,7 @@ void CChannelList::paintDetails(int index)
text2 = text2.substr( 0, text2.find('\n') );
#if 0 //FIXME: to discuss, eat too much cpu time if string long enough
int pos = 0;
while ( ( pos != -1 ) && (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text2, true) > (widthDetails - 30 - noch_len) ) ) {
while ( ( pos != -1 ) && (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text2, true) > (full_width - 30 - noch_len) ) ) {
pos = text2.find_last_of(" ");
if ( pos!=-1 ) {
@@ -1559,12 +1558,12 @@ void CChannelList::paintDetails(int index)
}
}
#endif
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ xstart, y+ height+ 5+ 2* fheight, widthDetails- xstart- 30- noch_len, text2, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ xstart, y+ height+ 5+ 2* fheight, full_width- xstart- 30- noch_len, text2, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true);
}
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ fheight, widthDetails - 30 - seit_len, text1, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ widthDetails- 10- seit_len, y+ height+ 5+ fheight, seit_len, cSeit, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true); // UTF-8
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ widthDetails- 10- noch_len, y+ height+ 5+ 2* fheight, noch_len, cNoch, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true); // UTF-8
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ fheight, full_width - 30 - seit_len, text1, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ full_width- 10- seit_len, y+ height+ 5+ fheight, seit_len, cSeit, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true); // UTF-8
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ full_width- 10- noch_len, y+ height+ 5+ 2* fheight, noch_len, cNoch, colored_event_C ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true); // UTF-8
}
if(g_settings.channellist_foot == 0) {
transponder t;
@@ -1576,7 +1575,7 @@ void CChannelList::paintDetails(int index)
else
desc = desc + " (" + CServiceManager::getInstance()->GetSatelliteName(chanlist[index]->getSatellitePosition()) + ")";
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, widthDetails - 30, desc.c_str(), COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, full_width - 30, desc.c_str(), COL_MENUCONTENTDARK, 0, true);
}
else if( !displayNext && g_settings.channellist_foot == 1) { // next Event
char buf[128] = {0};
@@ -1589,11 +1588,11 @@ void CChannelList::paintDetails(int index)
snprintf(buf, sizeof(buf), "%s", CurrentNext.next_name.c_str());
int from_len = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getRenderWidth(cFrom, true); // UTF-8
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, widthDetails - 30 - from_len, buf, colored_event_N ? COL_COLORED_EVENTS_CHANNELLIST :COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ widthDetails- 10- from_len, y+ height+ 5+ 3*fheight, from_len, cFrom, colored_event_N ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true); // UTF-8
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, full_width - 30 - from_len, buf, colored_event_N ? COL_COLORED_EVENTS_CHANNELLIST :COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ full_width- 10- from_len, y+ height+ 5+ 3*fheight, from_len, cFrom, colored_event_N ? COL_COLORED_EVENTS_CHANNELLIST : COL_MENUCONTENTDARK, 0, true); // UTF-8
}
}
if ((g_settings.channellist_minitv) && (p_event != NULL))
if ((g_settings.channellist_additional) && (p_event != NULL))
paint_events(index);
}
@@ -1622,7 +1621,7 @@ void CChannelList::paintItem2DetailsLine (int pos, int /*ch_index*/)
details_line.paint();
//info box frame
frameBuffer->paintBoxFrame(x, ypos2, widthDetails, info_height, 2, col1, RADIUS_LARGE);
frameBuffer->paintBoxFrame(x, ypos2, full_width, info_height, 2, col1, RADIUS_LARGE);
}
}
}
@@ -1632,14 +1631,14 @@ void CChannelList::showChannelLogo()
if(g_settings.infobar_show_channellogo){
static int logo_w = 0;
static int logo_h = 0;
int logo_w_max = widthDetails / 4;
frameBuffer->paintBoxRel(x + widthDetails - logo_off - logo_w, y+(theight-logo_h)/2, logo_w, logo_h, COL_MENUHEAD_PLUS_0);
int logo_w_max = full_width / 4;
frameBuffer->paintBoxRel(x + full_width - logo_off - logo_w, y+(theight-logo_h)/2, logo_w, logo_h, COL_MENUHEAD_PLUS_0);
std::string lname;
if(g_PicViewer->GetLogoName(chanlist[selected]->channel_id, chanlist[selected]->getName(), lname, &logo_w, &logo_h)) {
if((logo_h > theight) || (logo_w > logo_w_max))
g_PicViewer->rescaleImageDimensions(&logo_w, &logo_h, logo_w_max, theight);
g_PicViewer->DisplayImage(lname, x + widthDetails - logo_off - logo_w, y+(theight-logo_h)/2, logo_w, logo_h);
g_PicViewer->DisplayImage(lname, x + full_width - logo_off - logo_w, y+(theight-logo_h)/2, logo_w, logo_h);
}
}
}
@@ -1728,7 +1727,7 @@ void CChannelList::paintButtonBar(bool is_current)
//paint buttons
int y_foot = y + (height - footerHeight);
::paintButtons(x, y_foot, widthDetails,num_buttons, Button, footerHeight,0,false,COL_INFOBAR_SHADOW,NULL,0,true, buttonID_rest);
::paintButtons(x, y_foot, full_width,num_buttons, Button, footerHeight,0,false,COL_INFOBAR_SHADOW,NULL,0,true, buttonID_rest);
}
void CChannelList::paintItem(int pos)
@@ -1970,18 +1969,18 @@ void CChannelList::paintHead()
frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_MUTE_ZAP_ACTIVE, &iw3, &ih);
// head
frameBuffer->paintBoxRel(x,y, widthDetails,theight+0, COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP);//round
frameBuffer->paintBoxRel(x,y, full_width,theight+0, COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP);//round
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_INFO, x + widthDetails - iw1 - 10, y, theight); //y+ 5 );
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_MENU, x + widthDetails - iw1 - iw2 - 14, y, theight);//y + 5); // icon for bouquet list button
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_INFO, x + full_width - iw1 - 10, y, theight); //y+ 5 );
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_MENU, x + full_width - iw1 - iw2 - 14, y, theight);//y + 5); // icon for bouquet list button
if (g_settings.channellist_new_zap_mode)
frameBuffer->paintIcon(this->new_mode_active ?
NEUTRINO_ICON_BUTTON_MUTE_ZAP_ACTIVE : NEUTRINO_ICON_BUTTON_MUTE_ZAP_INACTIVE,
x + widthDetails - iw1 - iw2 - iw3 - 18, y, theight);
x + full_width - iw1 - iw2 - iw3 - 18, y, theight);
if (gotTime) {
int iw3x = (g_settings.channellist_new_zap_mode) ? iw3 : -4;
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x + widthDetails - iw1 - iw2 - iw3x - 28 -timestr_len,
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x + full_width - iw1 - iw2 - iw3x - 28 -timestr_len,
y+theight, timestr_len, timestr, COL_MENUHEAD, 0, true); // UTF-8
timestr_len += 4;
}
@@ -1990,14 +1989,15 @@ void CChannelList::paintHead()
if (g_settings.channellist_new_zap_mode)
timestr_len += iw3 + 10;
logo_off = timestr_len + 10;
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+10,y+theight+0, widthDetails - timestr_len, name, COL_MENUHEAD, 0, true); // UTF-8
g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+10,y+theight+0, full_width - timestr_len, name, COL_MENUHEAD, 0, true); // UTF-8
}
void CChannelList::paint()
{
if (g_settings.channellist_minitv)
if (g_settings.channellist_additional == 2) // with miniTV
{
paint_pig(x+width, y+theight+1, pig_width, pig_height);
// 5px offset - same value as in list below
paint_pig(x+width+5, y+theight+5, pig_width-10, pig_height-10);
}
numwidth = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_NUMBER]->getRenderWidth(MaxChanNr().c_str());
@@ -2096,7 +2096,8 @@ void CChannelList::paint_events(int index)
readEvents(chanlist[index]->channel_id);
frameBuffer->paintBoxRel(x+ width,y+ theight+pig_height, infozone_width, infozone_height,COL_MENUCONTENT_PLUS_0);
char text1[10];
char startTime[10];
int startTimeWidth = 0;
CChannelEventList::iterator e;
time_t azeit;
time(&azeit);
@@ -2130,15 +2131,20 @@ void CChannelList::paint_events(int index)
}
if (e == evtlist.end())
break;
//Display the remaining events
struct tm *tmStartZeit = localtime(&e->startTime);
strftime(text1, sizeof(text1), "%H:%M", tmStartZeit );
//printf("%s %s\n", text1, e->description.c_str());
int timewidth = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getRenderWidth(text1, true);
if ((y+ theight+ pig_height + i*ffheight) < (y+ theight+ pig_height + infozone_height))
{
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->RenderString(x+ width+5, y+ theight+ pig_height + i*ffheight, timewidth, text1, COL_MENUCONTENTDARK, 0, true);
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->RenderString(x+ width+5+timewidth+5, y+ theight+ pig_height + i*ffheight, infozone_width - timewidth - 20, e->description, COL_MENUCONTENTDARK, 0, true);
if (e->eventID)
{
struct tm *tmStartZeit = localtime(&e->startTime);
strftime(startTime, sizeof(startTime), "%H:%M", tmStartZeit );
//printf("%s %s\n", startTime, e->description.c_str());
startTimeWidth = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->getRenderWidth("88:88"); // use a fixed value
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->RenderString(x+ width+5, y+ theight+ pig_height + i*ffheight, startTimeWidth, startTime, COL_MENUCONTENTINACTIVE, 0, true);
startTimeWidth = startTimeWidth +5;
}
g_Font[SNeutrinoSettings::FONT_TYPE_EPG_INFO1]->RenderString(x+ width+5+startTimeWidth, y+ theight+ pig_height + i*ffheight, infozone_width - startTimeWidth - 20, e->description, COL_MENUCONTENTDARK, 0, true);
}
else
{

View File

@@ -72,16 +72,17 @@ private:
ZapitChannelList chanlist;
CZapProtection* zapProtection;
int width;
int widthDetails;
int height;
int x;
int y;
int full_width;
int width;
int height;
int x;
int y;
int logo_off;
int pig_width;
int pig_height;
int infozone_width;
int infozone_height;
int pig_width;
int pig_height;
int infozone_width;
int infozone_height;
int previous_channellist_additional;
bool historyMode;
bool vlist; // "virtual" list, not bouquet

View File

@@ -354,6 +354,14 @@ const CMenuOptionChooser::keyval INFOBAR_SHOW_RES_MODE_OPTIONS[INFOBAR_SHOW_RES_
{ 2, LOCALE_OPTIONS_OFF }
};
#define CHANNELLIST_ADDITIONAL_OPTION_COUNT 3
const CMenuOptionChooser::keyval CHANNELLIST_ADDITIONAL_OPTIONS[CHANNELLIST_ADDITIONAL_OPTION_COUNT] =
{
{ 0, LOCALE_CHANNELLIST_ADDITIONAL_OFF },
{ 1, LOCALE_CHANNELLIST_ADDITIONAL_ON },
{ 2, LOCALE_CHANNELLIST_ADDITIONAL_ON_MINITV }
};
#define CHANNELLIST_FOOT_OPTIONS_COUNT 3
const CMenuOptionChooser::keyval CHANNELLIST_FOOT_OPTIONS[CHANNELLIST_FOOT_OPTIONS_COUNT]=
{
@@ -796,9 +804,10 @@ void COsdSetup::showOsdChanlistSetup(CMenuWidget *menu_chanlist)
CMenuOptionChooser * mc;
menu_chanlist->addIntroItems(LOCALE_MISCSETTINGS_CHANNELLIST);
// channel list with minitv
mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_MINITV, &g_settings.channellist_minitv, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true);
mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_MINITV);
// channellist additional
mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_ADDITIONAL, &g_settings.channellist_additional, CHANNELLIST_ADDITIONAL_OPTIONS, CHANNELLIST_ADDITIONAL_OPTION_COUNT, true);
mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_ADDITIONAL);
menu_chanlist->addItem(mc);
// epg align
@@ -893,9 +902,15 @@ int COsdSetup::showContextChanlistMenu()
menu_chanlist->enableFade(false);
menu_chanlist->setSelected(cselected);
CMenuOptionChooser * mc;
menu_chanlist->addIntroItems(LOCALE_MISCSETTINGS_CHANNELLIST);//, NONEXISTANT_LOCALE, CMenuWidget::BTN_TYPE_CANCEL);
CMenuOptionChooser * mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, &g_settings.channellist_epgtext_align_right, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS_COUNT, true);
mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_ADDITIONAL, &g_settings.channellist_additional, CHANNELLIST_ADDITIONAL_OPTIONS, CHANNELLIST_ADDITIONAL_OPTION_COUNT, true);
mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_ADDITIONAL);
menu_chanlist->addItem(mc);
mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, &g_settings.channellist_epgtext_align_right, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS_COUNT, true);
mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_EPG_ALIGN);
menu_chanlist->addItem(mc);
@@ -911,6 +926,8 @@ int COsdSetup::showContextChanlistMenu()
mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_COLORED);
menu_chanlist->addItem(mc);
menu_chanlist->addItem(new CMenuSeparator(CMenuSeparator::LINE));
CMenuWidget *fontSettingsSubMenu = new CMenuWidget(LOCALE_FONTMENU_HEAD, NEUTRINO_ICON_KEYBINDING);
fontSettingsSubMenu->enableSaveScreen(true);
fontSettingsSubMenu->enableFade(false);
@@ -925,7 +942,7 @@ int COsdSetup::showContextChanlistMenu()
fontSettingsSubMenu->addItem(GenericMenuSeparatorLine);
fontSettingsSubMenu->addItem(new CMenuForwarder(LOCALE_OPTIONS_DEFAULT, true, NULL, this, font_sizes_groups[i].actionkey));
CMenuForwarder * mf = new CMenuDForwarder(LOCALE_FONTMENU_HEAD, true, NULL, fontSettingsSubMenu, NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN);
CMenuForwarder * mf = new CMenuDForwarder(LOCALE_FONTMENU_HEAD, true, NULL, fontSettingsSubMenu, NULL, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED);
mf->setHint("", LOCALE_MENU_HINT_FONTS);
menu_chanlist->addItem(mf);

View File

@@ -605,12 +605,12 @@ int CNeutrinoApp::loadSetup(const char * fname)
g_settings.mode_clock = configfile.getInt32( "mode_clock", 0);
g_settings.zapto_pre_time = configfile.getInt32( "zapto_pre_time", 0);
g_settings.spectrum = configfile.getBool("spectrum" , false);
g_settings.channellist_additional = configfile.getInt32("channellist_additional", 0); //default off
g_settings.channellist_epgtext_align_right = configfile.getBool("channellist_epgtext_align_right" , false);
g_settings.channellist_extended = configfile.getBool("channellist_extended" , true);
g_settings.channellist_foot = configfile.getInt32("channellist_foot" , 1);//default next Event
g_settings.channellist_new_zap_mode = configfile.getInt32("channellist_new_zap_mode", 1);
g_settings.channellist_sort_mode = configfile.getInt32("channellist_sort_mode", 0);//sort mode: alpha, freq, sat
g_settings.channellist_minitv = configfile.getInt32("channellist_minitv", 0); //default off
//screen configuration
g_settings.screen_xres = configfile.getInt32("screen_xres", 100);
@@ -1027,11 +1027,11 @@ void CNeutrinoApp::saveSetup(const char * fname)
configfile.setInt32( "mode_clock", g_settings.mode_clock );
configfile.setInt32( "zapto_pre_time", g_settings.zapto_pre_time );
configfile.setBool("spectrum", g_settings.spectrum);
configfile.setInt32("channellist_additional", g_settings.channellist_additional);
configfile.setBool("channellist_epgtext_align_right", g_settings.channellist_epgtext_align_right);
configfile.setBool("channellist_extended" , g_settings.channellist_extended);
configfile.setInt32("channellist_foot" , g_settings.channellist_foot);
configfile.setInt32("channellist_new_zap_mode", g_settings.channellist_new_zap_mode);
configfile.setInt32("channellist_minitv", g_settings.channellist_minitv);
configfile.setInt32("remote_control_hardware", g_settings.remote_control_hardware);
configfile.setBool ( "audiochannel_up_down_enable", g_settings.audiochannel_up_down_enable );
configfile.setInt32("channellist_sort_mode", g_settings.channellist_sort_mode);

View File

@@ -75,7 +75,6 @@ install_DATA = channels.js \
Y_Tools_Boxcontrol.yhtm \
Y_Tools_Check_Install.yhtm \
Y_Tools_Cmd.yhtm \
Y_Tools_fbshot.yhtm \
Y_Tools_Flash_Menue.yhtm \
Y_Tools_Flash_Upload.yhtm \
Y_Tools_Info_Menue.yhtm \

View File

@@ -72,8 +72,7 @@ function init(){
</script>
</head>
{=var-set:lcshot={=if-file-exists:/bin/lcshot~true~{=if-file-exists:/var/bin/lcshot~true~false=}=}=}
{=var-set:fbshot={=if-file-exists:/bin/fbshot~true~{=if-file-exists:/var/bin/fbshot~true~{=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}=}=}
{=var-set:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}
{=var-set:fbshot={=if-file-exists:/bin/fbshot~true~{=if-file-exists:/var/bin/fbshot~true~false=}=}=}
<body>
<div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>{=L:main.boxcontrol=}</h2></div>
@@ -106,13 +105,13 @@ function init(){
</li>
<li>
{=if-equal:{=var-get:fbshot=}~true~
<a target="work" title="{=L:bc.menue.osd_screenshot_desc=}" href="Y_Tools_fbshot.yhtm">{=L:bc.menue.osd_screenshot=}</a>
<a target="work" title="{=L:bc.menue.osd_screenshot_desc=}" href="Y_Tools_remote_osd.yhtm?noremote=1">{=L:bc.menue.osd_screenshot=}</a>
~
<a href="javascript:void(0)" class="disabled" title="{=L:bc.menue.osd_screenshot_desc_ni=}">{=L:bc.menue.osd_screenshot=}</a>
=}
</li>
<li>
{=if-equal:{=var-get:dboxshot=}~true~
{=if-equal:{=var-get:fbshot=}~true~
<a target="work" title="{=L:bc.menue.remote_osd_desc=}" href="Y_Tools_remote_osd.yhtm">{=L:bc.menue.remote_osd=}</a>
~
<a href="javascript:void(0)" class="disabled" title="{=L:bc.menue.remote_osd_desc_ni=}">{=L:bc.menue.remote_osd=}</a>

View File

@@ -846,3 +846,15 @@ a.timer {
.lt_table td {
white-space: pre-wrap;
}
/* screenshots */
td.shot {
vertical-align: top;
}
img#shot {
width: 100%;
background-color: #ffffff;
}
img#shot:hover {
cursor: pointer;
}

View File

@@ -1,56 +0,0 @@
{=var-set:cancache=yPInstall=}
{=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
//<![CDATA[
function do_snapshot(){
show_waitbox(true);
window.setTimeout("do_snapshot2()", 500);
}
function do_snapshot2(){
var _shot = document.getElementById("shot");
var filename = id("file").value;
dbox_exec_tools("fbshot fb /tmp/"+filename+".png");
show_waitbox(false);
show_obj("shot", true);
_shot.src = "/tmp/"+filename+".png?"+Math.random();
}
function do_dboxshot(){
show_waitbox(true);
window.setTimeout("do_dboxshot2()", 500);
}
function do_dboxshot2(){
var _shot = document.getElementById("shot");
var filename = id("file").value;
var res = dbox_exec_tools("fbshot fb /tmp/"+filename+".png");
if(res != "")
dbox_exec_tools("fbshot -o /tmp/"+filename+".png");
show_waitbox(false);
show_obj("shot", true);
_shot.src = "/tmp/"+filename+".bmp?"+Math.random();
}
function do_clearshot(){
window.setTimeout("do_clearshot2()", 500);
}
function do_clearshot2(){
dbox_exec_tools("fbshot_clear");
}
//]]>
</script>
</head>
<body>
{=var-set:wait_text={=L:bc.osd.shap_wait_text=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-BoxControl-OSD_Screenshot=}{=var-set:menu={=L:bc.menue.osd_screenshot=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<button name="snapshot" ytype="shot" onclick="do_snapshot()">{=L:bc.osd.shot=}</button>
{=var-set:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}
<button name="clearshot" ytype="clearshot" onclick="do_clearshot()">{=L:bc.osd.delete_shots=}</button>
&nbsp;Filename:<input type="text" value="a" id="file" size="16"/>
<br/>
<img id="shot" src="" style="visibility:hidden;"/>
</div>
</div>
</body>
</html>

View File

@@ -7,14 +7,16 @@ function rcsim(_key) {
$('statusline').show();
$('buttons').hide();
dbox_rcsim(_key);
window.setTimeout("do_dboxshot()",750);
window.setTimeout("do_snapshot()",750);
}
function do_dboxshot(){
var res = dbox_exec_tools("fbshot fb /tmp/a.png");
function do_snapshot(){
var filename = id("filename").value;
var res = dbox_exec_tools("fbshot fb /tmp/"+filename+".png");
var _shot = document.getElementById("shot");
_shot.src = "/tmp/a.png?"+Math.random();
_shot.src = "/tmp/"+filename+".png?"+Math.random();
$('statusline').hide();
$('buttons').show();
show_obj("shot", true);
}
function do_clearshot(){
window.setTimeout("do_clearshot2()", 500);
@@ -22,23 +24,40 @@ function do_clearshot(){
function do_clearshot2(){
dbox_exec_tools("fbshot_clear");
}
function do_zoomshot(){
// not a really zoom-function
var _remote = document.getElementById('remote');
if (_remote.style.display == 'none')
_remote.style.display='inline';
else
_remote.style.display='none';
}
//]]>
</script>
</head>
<body onload="do_dboxshot()">
<div class="work_box">
<body onload="do_snapshot()">
<div class="work_box" id="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-BoxControl-Remote_OSD=}{=var-set:menu={=L:bc.menue.remote_osd=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<div style="height:30px;">
<span id="buttons" style="display:none"><button name="dboxshot" ytype="shot" onclick="do_dboxshot()">{=L:bc.osd.shot=}</button>&nbsp;
<button name="clearshot" ytype="clearshot" onclick="do_clearshot()">{=L:bc.osd.delete_shots=}</button></span>
<span id="buttons" style="display:none">
<button name="snapshot" ytype="shot" onclick="do_snapshot()">{=L:bc.osd.shot=}</button>&nbsp;
<button name="clearshot" ytype="clearshot" onclick="do_clearshot()">{=L:bc.osd.delete_shots=}</button>&nbsp;
<button name="zoomshot" ytype="zoomshot" onclick="do_zoomshot()">{=L:bc.osd.zoom_shot=}</button>&nbsp;
{=L:filename=}:<input type="text" value="a" id="filename" size="16" />
</span>
<span id="statusline"><img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/></span>
</div>
<table cellpadding="0">
<tr>
<td>{=include-block:Y_Blocks.txt;remote=}</td>
<td><img id="shot" src="" {=if-empty:{=full=}~style="width:600px"~=}/></td>
<td id="remote" {=if-empty:{=noremote=}~~style="display: none"=}>
{=include-block:Y_Blocks.txt;remote=}
</td>
<td class="shot">
<img id="shot" src="" onclick="do_zoomshot()" style="visibility:hidden;"/>
</td>
</tr>
</table>
</div>

View File

@@ -1,4 +1,4 @@
version=2.8.0.31
date=19.11.2012
version=2.8.0.33
date=06.02.2013
type=Release
info=Port Coolstream

View File

@@ -51,6 +51,7 @@ check=Prüfen
help=Hilfe
attention=Achtung!
directory=Verzeichnis
filename=Dateiname
restriced_by_management_ip=Zugriff verwehrt wg. ManagementIP
# ==========Main Menue
@@ -128,6 +129,7 @@ bc.msg.send_message=Nachricht senden
======== Boxcontrol - Remote & OSD
bc.osd.shot=Schnappschuss
bc.osd.delete_shots=Schnappschuss löschen
bc.osd.zoom_shot=Schnappschuss zoomen
bc.osd.shap_wait_text=Schnappschuss wird erstellt
======== Boxcontrol - TV-Screenshot

View File

@@ -51,6 +51,7 @@ check=check
help=Help
attention=Attention!
directory=Directory
filename=Filename
restriced_by_management_ip=restricted by ManagementIP
#========= MAIN Menue
@@ -130,6 +131,7 @@ bc.msg.send_message=send message
======== Boxcontrol - Remote & OSD
bc.osd.shot=Shot
bc.osd.delete_shots=Delete shots
bc.osd.zoom_shot=Zoom shot
bc.osd.shap_wait_text=Take Snapshot
======== Boxcontrol - TV-Screenshot

View File

@@ -227,6 +227,10 @@ typedef enum
LOCALE_BOUQUETNAME_OTHER,
LOCALE_BOUQUETNAME_REMOVED,
LOCALE_CABLESETUP_PROVIDER,
LOCALE_CHANNELLIST_ADDITIONAL,
LOCALE_CHANNELLIST_ADDITIONAL_OFF,
LOCALE_CHANNELLIST_ADDITIONAL_ON,
LOCALE_CHANNELLIST_ADDITIONAL_ON_MINITV,
LOCALE_CHANNELLIST_CURRENT_TP,
LOCALE_CHANNELLIST_EDIT,
LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT,
@@ -247,7 +251,6 @@ typedef enum
LOCALE_CHANNELLIST_MAKE_HDLIST,
LOCALE_CHANNELLIST_MAKE_NEWLIST,
LOCALE_CHANNELLIST_MAKE_REMOVEDLIST,
LOCALE_CHANNELLIST_MINITV,
LOCALE_CHANNELLIST_NEW_ZAP_MODE,
LOCALE_CHANNELLIST_NONEFOUND,
LOCALE_CHANNELLIST_PROVS,
@@ -761,12 +764,12 @@ typedef enum
LOCALE_MENU_HINT_CEC_MODE,
LOCALE_MENU_HINT_CEC_STANDBY,
LOCALE_MENU_HINT_CEC_VIEW_ON,
LOCALE_MENU_HINT_CHANNELLIST_ADDITIONAL,
LOCALE_MENU_HINT_CHANNELLIST_COLORED,
LOCALE_MENU_HINT_CHANNELLIST_EPG_ALIGN,
LOCALE_MENU_HINT_CHANNELLIST_EXTENDED,
LOCALE_MENU_HINT_CHANNELLIST_FONTS,
LOCALE_MENU_HINT_CHANNELLIST_FOOT,
LOCALE_MENU_HINT_CHANNELLIST_MINITV,
LOCALE_MENU_HINT_CHANNELLIST_SETUP,
LOCALE_MENU_HINT_CI,
LOCALE_MENU_HINT_COLORS,

View File

@@ -227,6 +227,10 @@ const char * locale_real_names[] =
"bouquetname.other",
"bouquetname.removed",
"cablesetup.provider",
"channellist.additional",
"channellist.additional_off",
"channellist.additional_on",
"channellist.additional_on_minitv",
"channellist.current_tp",
"channellist.edit",
"channellist.epgtext_align_left",
@@ -247,7 +251,6 @@ const char * locale_real_names[] =
"channellist.make_hdlist",
"channellist.make_newlist",
"channellist.make_removedlist",
"channellist.minitv",
"channellist.new_zap_mode",
"channellist.nonefound",
"channellist.provs",
@@ -761,12 +764,12 @@ const char * locale_real_names[] =
"menu.hint_cec_mode",
"menu.hint_cec_standby",
"menu.hint_cec_view_on",
"menu.hint_channellist_additional",
"menu.hint_channellist_colored",
"menu.hint_channellist_epg_align",
"menu.hint_channellist_extended",
"menu.hint_channellist_fonts",
"menu.hint_channellist_foot",
"menu.hint_channellist_minitv",
"menu.hint_channellist_setup",
"menu.hint_ci",
"menu.hint_colors",

View File

@@ -416,12 +416,12 @@ struct SNeutrinoSettings
int pip_y;
int bigFonts;
int big_windows;
int channellist_additional;
int channellist_epgtext_align_right;
int channellist_extended;
int channellist_foot;
int channellist_new_zap_mode;
int channellist_sort_mode;
int channellist_minitv;
char repeat_blocker[4];
char repeat_genericblocker[4];
int remote_control_hardware;