diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index afd0f3e32..3c6159b3d 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -779,8 +779,6 @@ imageinfo.version Version: inetradio.name Internetradio infoviewer.epgnotload Informationen noch nicht geladen... infoviewer.epgwait Warte auf EPG-Informationen... -infoviewer.eventlist EPG/Vorschau -infoviewer.languages Tonwahl infoviewer.motor_moving Antennenpositionierung infoviewer.next Später infoviewer.nocurrent Keine Info zu laufendem Programm @@ -788,10 +786,8 @@ infoviewer.noepg Keine EPG-Information verfügbar infoviewer.notavailable Kanal (zur Zeit) nicht verfügbar infoviewer.now Jetzt infoviewer.selecttime Startzeiten -infoviewer.streaminfo Erweiterungen infoviewer.subchan_disp_pos Unterkanalanzeige infoviewer.subchan_infobar Infobar -infoviewer.subservice Bildregie infoviewer.waittime Warte auf Uhrzeit... ipsetup.hint_1 Benutzen Sie 0..9 oder hoch/runter ipsetup.hint_2 OK speichert, EXIT bricht ab @@ -1636,15 +1632,15 @@ moviebrowser.help_button_red Sortierung ändern moviebrowser.help_button_right Ansicht ändern moviebrowser.help_button_yellow Aktives Fenster wechseln moviebrowser.hide_series Verstecke Serien -moviebrowser.hint_copy_onefile -moviebrowser.hint_copy_several -moviebrowser.hint_cut +moviebrowser.hint_copy_onefile Erstellt aus den Sprungmarken des Films einen neuen Film +moviebrowser.hint_copy_several Erstellt aus den Sprungmarken des Films mehrere neue Filme +moviebrowser.hint_cut Schneidet die Sprungmarken aus dem Film und erstellt einen neuen Film moviebrowser.hint_jumpbackward Rücksprung in 5 Sekunden\n'0' zum Weitersehen moviebrowser.hint_jumpforward Werbung überspringen in 5 Sekunden\n'0' zum Ansehen moviebrowser.hint_movieend Filmende in 5 Sekunden\n'0' zum Weitersehen moviebrowser.hint_newbook_backward Neue Wiederholung gestartet.\n'%s' bestimmt die Endposition, '0' bricht ab. moviebrowser.hint_newbook_forward Neuer Werbesprung gestartet.\n'%s' bestimmt die Endposition, '0' bricht ab. -moviebrowser.hint_truncate +moviebrowser.hint_truncate Entfernt den Filmteil hinter der Filmende-Markierung moviebrowser.info_audio Audio moviebrowser.info_channel Kanal moviebrowser.info_file Datei @@ -1858,7 +1854,8 @@ nfsmenu.head NFS/CIFS/FTPFS Einstellungen nvod.percentage (%d%% vorbei) nvod.starting (Beginn in %d min) nvodselector.directormode Bildregie-Modus -nvodselector.head Anfangszeit auswählen +nvodselector.head Bildregie +nvodselector.starttime Anfangszeit auswählen nvodselector.subservice Perspektiven opkg.button.expert_off Standard-Modus opkg.button.expert_on Experten-Modus @@ -2357,6 +2354,10 @@ usermenu.msg_info_is_empty Es wurde kein Name für dieses Menü vergeben.\nVerwe usermenu.msg_warning_name Sie haben mehrere Menüpunkte für dieses Menü angelegt,\naber keinen neuen Namen festgelegt.\nEs ist daher empfohlen, einen neuen Namen zu vergeben! usermenu.msg_warning_no_items Sie haben keine Menüpunkte für dieses Menü angelegt!\nDer Menüname wird daher zurückgesetzt! usermenu.name Name +usermenu.title_blue Erweiterungen +usermenu.title_green Tonwahl +usermenu.title_red EPG +usermenu.title_yellow Bildregie video_mode_ok Video-Einstellungen OK? videomenu.43mode 4:3 Anzeigeverhalten videomenu.analog_auto AUTO diff --git a/data/locale/english.locale b/data/locale/english.locale index 385f8ed3a..b8910c253 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -779,8 +779,6 @@ imageinfo.version Version: inetradio.name Internetradio infoviewer.epgnotload EPG not loaded.... infoviewer.epgwait waiting for EPG... -infoviewer.eventlist Event-List -infoviewer.languages Audio infoviewer.motor_moving Antenna positioning infoviewer.next next infoviewer.nocurrent No info for current program available @@ -788,10 +786,8 @@ infoviewer.noepg EPG not available infoviewer.notavailable Channel not available infoviewer.now now infoviewer.selecttime Timeselection -infoviewer.streaminfo Features infoviewer.subchan_disp_pos Subchannel display infoviewer.subchan_infobar Full infobar -infoviewer.subservice Subservices infoviewer.waittime Waiting for time... ipsetup.hint_1 Use 0..9, or use Up/Down, ipsetup.hint_2 OK saves, Exit aborts @@ -1455,7 +1451,7 @@ miscsettings.epg_dir EPG save path miscsettings.epg_extendedcache EPG Long Description (hours) miscsettings.epg_extendedcache_hint1 How long into the future will EPG extended descriptions miscsettings.epg_extendedcache_hint2 be Cached? (Set in hours) -miscsettings.epg_head Epg +miscsettings.epg_head EPG miscsettings.epg_max_events Max. Events miscsettings.epg_max_events_hint1 How many events should be stored? miscsettings.epg_max_events_hint2 normaly 6000, 0 to disable limit @@ -1636,15 +1632,15 @@ moviebrowser.help_button_red Change sort moviebrowser.help_button_right Change view moviebrowser.help_button_yellow Switch active window moviebrowser.hide_series Hide series -moviebrowser.hint_copy_onefile -moviebrowser.hint_copy_several -moviebrowser.hint_cut +moviebrowser.hint_copy_onefile Creating one new movie from the bookmarks of the movie +moviebrowser.hint_copy_several Creating several new movies from the bookmarks of the movie +moviebrowser.hint_cut Cutting bookmarks from movie and creating one new movie moviebrowser.hint_jumpbackward Jump back in 5 seconds\n'0' to cancel moviebrowser.hint_jumpforward Jump forward in 5 seconds\n'0' to cancel moviebrowser.hint_movieend Film end in 5 seconds\n'0' to cancel moviebrowser.hint_newbook_backward New jump back started\n'%s' to define endposition, '0' to cancel moviebrowser.hint_newbook_forward New jump forward started\n'%s' to define endposition, '0' to cancel -moviebrowser.hint_truncate +moviebrowser.hint_truncate Truncating all data beyond the end-bookmark moviebrowser.info_audio Audio moviebrowser.info_channel Channel moviebrowser.info_file File @@ -1857,9 +1853,10 @@ nfs.username username nfsmenu.head NFS/CIFS/FTPFS settings nvod.percentage (%d%% over) nvod.starting (starting in %d min) -nvodselector.directormode Direct-Mode -nvodselector.head Select starting-time -nvodselector.subservice Select Subservice +nvodselector.directormode Director mode +nvodselector.head Subservices +nvodselector.starttime Select starting time +nvodselector.subservice Select subservice opkg.button.expert_off Standard mode opkg.button.expert_on Expert mode opkg.button.info Package information @@ -2357,6 +2354,10 @@ usermenu.msg_info_is_empty You don't have definied a name for this menu!\nUsing usermenu.msg_warning_name You have more than one items created for this menu,\nbut none new name for this menue defined.\nIt is recommended to enter a new name! usermenu.msg_warning_no_items No items defined!\nThe menu name is reset! usermenu.name Name +usermenu.title_blue Features +usermenu.title_green Audio +usermenu.title_red Event-List +usermenu.title_yellow Subservices video_mode_ok Is this video mode working ok ? videomenu.43mode 4:3 Content mode videomenu.analog_auto AUTO diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index cc53ccaa2..04138e00c 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -1392,6 +1392,9 @@ int CChannelList::numericZap(int key) CZapitChannel* CChannelList::getPrevNextChannel(int key, unsigned int &sl) { + if(sl >= (*chanlist).size()) + sl = (*chanlist).size()-1; + CZapitChannel* channel = (*chanlist)[sl]; int bsize = bouquetList->Bouquets.size(); int bactive = bouquetList->getActiveBouquetNumber(); @@ -1714,7 +1717,7 @@ void CChannelList::showChannelLogo() //TODO: move into an own handler, eg. heade #define NUM_LIST_BUTTONS_SORT 9 struct button_label SChannelListButtons_SMode[NUM_LIST_BUTTONS_SORT] = { - { NEUTRINO_ICON_BUTTON_RED, LOCALE_INFOVIEWER_EVENTLIST}, + { NEUTRINO_ICON_BUTTON_RED, LOCALE_MISCSETTINGS_EPG_HEAD}, { NEUTRINO_ICON_BUTTON_GREEN, LOCALE_CHANNELLIST_FOOT_SORT_ALPHA}, { NEUTRINO_ICON_BUTTON_YELLOW, LOCALE_BOUQUETLIST_HEAD}, { NEUTRINO_ICON_BUTTON_BLUE, LOCALE_INFOVIEWER_NEXT}, diff --git a/src/gui/components/cc_draw.cpp b/src/gui/components/cc_draw.cpp index 8433253a7..a43e0e461 100644 --- a/src/gui/components/cc_draw.cpp +++ b/src/gui/components/cc_draw.cpp @@ -76,7 +76,6 @@ CCDraw::CCDraw() : COSDFader(g_settings.theme.menu_Content_alpha) CCDraw::~CCDraw() { - hide(); clearFbData(); } diff --git a/src/gui/components/cc_frm_button.cpp b/src/gui/components/cc_frm_button.cpp index ab4b45563..38087c79a 100644 --- a/src/gui/components/cc_frm_button.cpp +++ b/src/gui/components/cc_frm_button.cpp @@ -102,8 +102,8 @@ void CComponentsButton::initVarButton( const int& x_pos, const int& y_pos, const shadow = shadow_mode; shadow_w = SHADOW_OFFSET; - cc_body_gradient_enable = false/*g_settings.gradiant*/; //gradient is prepared for use but disabled at the moment till some other parts of gui parts are provide gradient - setColBodyGradient(CColorGradient::gradientLight2Dark, CFrameBuffer::gradientVertical, CColorGradient::light); + cc_body_gradient_enable = CC_COLGRAD_OFF/*g_settings.gradiant*/; //gradient is prepared for use but disabled at the moment till some other parts of gui parts are provide gradient + setColBodyGradient(cc_body_gradient_enable/*CColorGradient::gradientLight2Dark*/, CFrameBuffer::gradientVertical, CColorGradient::light); col_frame = color_frame; col_body = cc_body_gradient_enable? COL_DARK_GRAY : color_body; col_shadow = color_shadow; @@ -150,7 +150,7 @@ void CComponentsButton::initIcon() cc_btn_icon = frameBuffer->getIconBasePath() + "/" + cc_btn_icon + ".png"; cc_btn_icon_obj = new CComponentsPictureScalable(fr_thickness, y_icon, cc_btn_icon, this); - + cc_btn_icon_obj->SetTransparent(CFrameBuffer::TM_BLACK); int h_icon = cc_btn_icon_obj->getHeight(); //get required icon height diff --git a/src/gui/components/cc_item.cpp b/src/gui/components/cc_item.cpp index 4f9b242c4..9c938167c 100644 --- a/src/gui/components/cc_item.cpp +++ b/src/gui/components/cc_item.cpp @@ -135,6 +135,7 @@ void CComponentsItem::kill(const fb_pixel_t& bg_color, bool ignore_parent) else CComponents::kill(cc_parent->getColorBody(), cc_parent->getCornerRadius()); } + clearScreenBuffer(); } //synchronize colors for forms diff --git a/src/gui/components/cc_item_picture.h b/src/gui/components/cc_item_picture.h index 2ca4639b3..a1865bcef 100644 --- a/src/gui/components/cc_item_picture.h +++ b/src/gui/components/cc_item_picture.h @@ -93,10 +93,6 @@ class CComponentsPicture : public CComponentsItem ///paint image void paintPicture(); - // t = CFrameBuffer::TM_BLACK : Transparency when black content ('pseudo' transparency) - // t = CFrameBuffer::TM_NONE : No 'pseudo' transparency - void SetTransparent(int t){ image_transparent = t; } - public: /*! Constructor for image objects: use this for scaled images. @@ -160,6 +156,13 @@ class CComponentsPicture : public CComponentsItem ///return paint mode of internal image, true=image was painted, please do not to confuse with isPainted()! isPainted() is related to item itself. virtual inline bool isPicPainted(){return is_image_painted;}; + /**sets transparency mode if icons + * @param[in] t Transparency mode + * @li t = CFrameBuffer::TM_BLACK : Transparency when black content ('pseudo' transparency) + * @li t = CFrameBuffer::TM_NONE : No 'pseudo' transparency + */ + void SetTransparent(int t){ image_transparent = t; } + ///paint item virtual void paint(bool do_save_bg = CC_SAVE_SCREEN_YES); ///hide item, see also CComponents::hide(); diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index f9d49dd7c..962884397 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -125,6 +125,9 @@ CInfoViewer::CInfoViewer () oldinfo.current_uniqueKey = 0; oldinfo.next_uniqueKey = 0; isVolscale = false; + info_time_width = 0; + timeoutEnd = 0; + sec_timer_id = 0; } CInfoViewer::~CInfoViewer() @@ -195,35 +198,22 @@ void CInfoViewer::start () 2 * g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getHeight() + 25; infoViewerBB->Init(); - if ( g_settings.infobar_show_channellogo != 3 && g_settings.infobar_show_channellogo != 5 && g_settings.infobar_show_channellogo != 6) /* 3 & 5 & 6 is "default" with sigscales etc. */ - { - ChanWidth = 4 * g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getMaxDigitWidth() + 10; - ChanHeight = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getHeight() * 9 / 8; - } - else - { /* default mode, with signal bars etc. */ - ChanWidth = 122; - ChanHeight = 74; - int test = g_SignalFont->getWidth() * 14; - if (test > ChanWidth) { - ChanWidth = test; - } - test = (g_SignalFont->getHeight() * 2) + (36 * g_settings.screen_yres / 100); - if (test > ChanHeight) { - ChanHeight = test; - } - } + ChanWidth = max(125, 4 * g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getMaxDigitWidth() + 10); + + ChanHeight = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getHeight()/* * 9/8*/; + ChanHeight += g_SignalFont->getHeight()/2; + ChanHeight = max(75, ChanHeight); BoxStartX = g_settings.screen_StartX + 10; BoxEndX = g_settings.screen_EndX - 10; BoxEndY = g_settings.screen_EndY - 10 - infoViewerBB->InfoHeightY_Info - infoViewerBB->bottom_bar_offset; BoxStartY = BoxEndY - InfoHeightY - ChanHeight / 2; - ChanNameY = BoxStartY + (ChanHeight / 2)/* + SHADOW_OFFSET*/; //oberkante schatten? + ChanNameY = BoxStartY + (ChanHeight / 2) + SHADOW_OFFSET; ChanInfoX = BoxStartX + (ChanWidth / 3); initClock(); - time_height = clock->getHeight(); + time_height = max(ChanHeight / 2, clock->getHeight()); time_width = clock->getWidth(); } @@ -235,6 +225,8 @@ void CInfoViewer::ResetPB() } if (timescale){ + if (g_settings.infobar_progressbar == SNeutrinoSettings::INFOBAR_PROGRESSBAR_ARRANGEMENT_DEFAULT) + timescale->kill(); delete timescale; timescale = NULL; } @@ -338,7 +330,7 @@ void CInfoViewer::showRecordIcon (const bool show) if (rec == NULL){ //TODO: full refactoring of this icon handler rec = new CComponentsShapeSquare(box_posX, BoxStartY + box_posY , box_len, chanH, NULL, CC_SHADOW_ON, COL_RED, COL_INFOBAR_PLUS_0); rec->setFrameThickness(2); - rec->setShadowWidth(3); + rec->setShadowWidth(SHADOW_OFFSET/2); rec->setCorner(RADIUS_MIN, CORNER_ALL); } if (!rec->isPainted()) @@ -403,12 +395,12 @@ void CInfoViewer::paintBackground(int col_NumBox) paintBody(); // number box + int y_numbox = body->getYPos()-ChanHeight-SHADOW_OFFSET; if (numbox == NULL){ //TODO: move into an own member, paintNumBox() or so... - numbox = new CComponentsShapeSquare(BoxStartX, BoxStartY, ChanWidth, ChanHeight); - numbox->enableShadow(CC_SHADOW_ON, 6, true); + numbox = new CComponentsShapeSquare(BoxStartX, y_numbox, ChanWidth, ChanHeight); + numbox->enableShadow(CC_SHADOW_ON, SHADOW_OFFSET, true); }else - numbox->setDimensionsAll(BoxStartX, BoxStartY, ChanWidth, ChanHeight); - + numbox->setDimensionsAll(BoxStartX, y_numbox, ChanWidth, ChanHeight); numbox->setColorBody(g_settings.theme.infobar_gradient_top ? COL_MENUHEAD_PLUS_0 : col_NumBox); numbox->enableColBodyGradient(g_settings.theme.infobar_gradient_top, g_settings.theme.infobar_gradient_top ? COL_INFOBAR_PLUS_0 : col_NumBox, g_settings.theme.infobar_gradient_top_direction); numbox->setCorner(c_rad_mid, CORNER_ALL); @@ -417,7 +409,7 @@ void CInfoViewer::paintBackground(int col_NumBox) void CInfoViewer::paintHead() { - int head_x = BoxStartX+ChanWidth+5; + int head_x = BoxStartX+ChanWidth -1; /*Ugly: -1 to avoid background shine through round borders*/ int head_w = BoxEndX-head_x; if (header == NULL){ header = new CComponentsShapeSquare(head_x, ChanNameY, head_w, time_height, NULL, CC_SHADOW_RIGHT); @@ -436,11 +428,19 @@ void CInfoViewer::paintHead() void CInfoViewer::paintBody() { int h_body = InfoHeightY - header_height + (g_settings.infobar_casystem_display < 2 ? infoViewerBB->bottom_bar_offset : 0); + + if(virtual_zap_mode) + h_body -= (g_settings.infobar_casystem_display < 2 ? infoViewerBB->bottom_bar_offset : 0); + if (body == NULL) - body = new CComponentsShapeSquare(ChanInfoX, ChanNameY + header_height, BoxEndX-ChanInfoX, h_body, NULL, CC_SHADOW_RIGHT); + body = new CComponentsShapeSquare(ChanInfoX, ChanNameY + header_height, BoxEndX-ChanInfoX, h_body); else body->setDimensionsAll(ChanInfoX, ChanNameY + header_height, BoxEndX-ChanInfoX, h_body); + //set corner and shadow modes, consider virtual zap mode + body->setCorner(RADIUS_LARGE, virtual_zap_mode ? CORNER_BOTTOM : CORNER_NONE); + body->enableShadow(virtual_zap_mode ? CC_SHADOW_ON : CC_SHADOW_RIGHT); + body->setColorBody(g_settings.theme.infobar_gradient_body ? COL_MENUHEAD_PLUS_0 : COL_INFOBAR_PLUS_0); body->enableColBodyGradient(g_settings.theme.infobar_gradient_body, COL_INFOBAR_PLUS_0, g_settings.theme.infobar_gradient_body_direction); @@ -637,7 +637,10 @@ void CInfoViewer::reset_allScala() { changePB(); lastsig = lastsnr = -1; + infoViewerBB->changePB(); infoViewerBB->reset_allScala(); + if(!clock) + initClock(); } void CInfoViewer::check_channellogo_ca_SettingsChange() @@ -769,7 +772,7 @@ void CInfoViewer::showTitle(CZapitChannel * channel, const bool calledFromNumZap } } int chanH = g_SignalFont->getHeight (); - g_SignalFont->RenderString (3 + BoxStartX + ((ChanWidth - satNameWidth) / 2) , BoxStartY + chanH, satNameWidth, satname_tmp, COL_INFOBAR_TEXT); + g_SignalFont->RenderString (3 + BoxStartX + ((ChanWidth - satNameWidth) / 2) , numbox->getYPos() + chanH, satNameWidth, satname_tmp, COL_INFOBAR_TEXT); ChanNumYPos += 10; } @@ -777,10 +780,19 @@ void CInfoViewer::showTitle(CZapitChannel * channel, const bool calledFromNumZap if ((!logo_ok && g_settings.infobar_show_channellogo < 2) || g_settings.infobar_show_channellogo == 2 || g_settings.infobar_show_channellogo == 4) // no logo in numberbox { // show number in numberbox - int tmpwidth = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getRenderWidth(strChanNum); - g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->RenderString( - BoxStartX + (ChanWidth - tmpwidth) / 2, ChanNumYPos, - ChanWidth, strChanNum, col_NumBoxText); + int h_tmp = numbox->getHeight(); + int y_tmp = numbox->getYPos() + 5*100/h_tmp; //5% + if (g_settings.infobar_sat_display){ + int h_sfont = g_SignalFont->getHeight(); + h_tmp -= h_sfont; + y_tmp += h_sfont; + } + y_tmp += h_tmp/2 + g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getHeight()/2; + g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->RenderString(BoxStartX + (ChanWidth-g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getRenderWidth(strChanNum))/2, + y_tmp, + ChanWidth, + strChanNum, + col_NumBoxText); } if (ChannelLogoMode == 1 || ( g_settings.infobar_show_channellogo == 3 && !logo_ok) || g_settings.infobar_show_channellogo == 6 ) /* channel number besides channel name */ { @@ -1488,7 +1500,7 @@ void CInfoViewer::showSNR () TODO: decouple this */ if (!fileplay && !IS_WEBTV(current_channel_id) && ( g_settings.infobar_show_channellogo == 3 || g_settings.infobar_show_channellogo == 5 || g_settings.infobar_show_channellogo == 6 )) { int chanH = g_SignalFont->getHeight(); -// int freqStartY = BoxStartY + 2 * chanH - 3; + int y_numbox = numbox->getYPos(); if ((newfreq && chanready) || SDT_freq_update) { char freq[20]; newfreq = false; @@ -1502,12 +1514,12 @@ void CInfoViewer::showSNR () snprintf (freq, sizeof(freq), "%d.%d MHz %s", frequency / 1000, frequency % 1000, polarisation.c_str()); int satNameWidth = g_SignalFont->getRenderWidth (freq); - g_SignalFont->RenderString (3 + BoxStartX + ((ChanWidth - satNameWidth) / 2), BoxStartY + 2 * chanH - 3, satNameWidth, freq, SDT_freq_update ? COL_COLORED_EVENTS_TEXT:COL_INFOBAR_TEXT); + g_SignalFont->RenderString (3 + BoxStartX + ((ChanWidth - satNameWidth) / 2), y_numbox + 2 * chanH - 3, satNameWidth, freq, SDT_freq_update ? COL_COLORED_EVENTS_TEXT:COL_INFOBAR_TEXT); SDT_freq_update = false; } if (sigbox == NULL){ int sb_x = ChanWidth *10/100; - sigbox = new CSignalBox(BoxStartX+sb_x, BoxStartY+ChanHeight/2, ChanWidth-2*sb_x, ChanHeight/2, CFEManager::getInstance()->getLiveFE(), true, NULL, "S", "Q"); + sigbox = new CSignalBox(BoxStartX+sb_x, y_numbox+ChanHeight/2, ChanWidth-2*sb_x, ChanHeight/2, CFEManager::getInstance()->getLiveFE(), true, NULL, "S", "Q"); sigbox->setTextColor(COL_INFOBAR_TEXT); sigbox->doPaintBg(false); } @@ -1623,7 +1635,13 @@ void CInfoViewer::display_Info(const char *current, const char *next, else txt_cur_event->setDimensionsAll(xStart, CurrInfoY - height, currTimeX - xStart - 5, height); txt_cur_event->setText(current, CTextBox::NO_AUTO_LINEBREAK, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO], colored_event_C ? COL_COLORED_EVENTS_TEXT : COL_INFOBAR_TEXT); - txt_cur_event->paint(CC_SAVE_SCREEN_NO); + + if (txt_cur_event_rest && txt_cur_event_rest->isPainted()) + txt_cur_event_rest->hide(); + if (txt_cur_event && txt_cur_event->isPainted()) + txt_cur_event->hide(); + + txt_cur_event->paint(CC_SAVE_SCREEN_YES); if (runningStart){ if (txt_cur_start == NULL) txt_cur_start = new CComponentsTextTransp(NULL, InfoX, CurrInfoY - height, info_time_width, height); @@ -1639,7 +1657,7 @@ void CInfoViewer::display_Info(const char *current, const char *next, else txt_cur_event_rest->setDimensionsAll(currTimeX, CurrInfoY - height, currTimeW, height); txt_cur_event_rest->setText(runningRest, CTextBox::RIGHT, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO], colored_event_C ? COL_COLORED_EVENTS_TEXT : COL_INFOBAR_TEXT); - txt_cur_event_rest->paint(CC_SAVE_SCREEN_NO); + txt_cur_event_rest->paint(CC_SAVE_SCREEN_YES); } } @@ -1947,7 +1965,7 @@ void CInfoViewer::showInfoFile() //set some properties for info object infobar_txt->setDimensionsAll(xStart, yStart, width, height); infobar_txt->setCorner(RADIUS_SMALL); - infobar_txt->enableShadow(CC_SHADOW_ON, 3); + infobar_txt->enableShadow(CC_SHADOW_ON, SHADOW_OFFSET/2); infobar_txt->setTextColor(COL_INFOBAR_TEXT); infobar_txt->setColorBody(COL_INFOBAR_PLUS_0); infobar_txt->doPaintTextBoxBg(false); @@ -1984,18 +2002,18 @@ void CInfoViewer::killTitle() sigbox->kill(); #endif header->kill(); -#if 0 //not really required to kill clock, body does this +#if 0 //not really required to kill clock, header does this if (clock) clock->kill(); #endif body->kill(); -#if 0 //not really required to kill epg infos, body does this - if (txt_cur_start) - txt_cur_start->kill(); if (txt_cur_event) txt_cur_event->kill(); if (txt_cur_event_rest) txt_cur_event_rest->kill(); +#if 0 //not really required to kill epg infos, body does this + if (txt_cur_start) + txt_cur_start->kill(); if (txt_next_start) txt_next_start->kill(); if (txt_next_event) @@ -2064,7 +2082,7 @@ int CInfoViewer::showChannelLogo(const t_channel_id logo_channel_id, const int c // calculate mid of numberbox int satNameHeight = g_settings.infobar_sat_display ? g_SignalFont->getHeight() : 0; int x_mid = BoxStartX + ChanWidth / 2; - y_mid = BoxStartY + (satNameHeight + ChanHeight) / 2; + y_mid = numbox->getYPos() + (satNameHeight + ChanHeight) / 2; g_PicViewer->rescaleImageDimensions(&logo_w, &logo_h, ChanWidth, ChanHeight - satNameHeight); // channel name with number diff --git a/src/gui/infoviewer_bb.h b/src/gui/infoviewer_bb.h index 360898a21..4a7944028 100644 --- a/src/gui/infoviewer_bb.h +++ b/src/gui/infoviewer_bb.h @@ -118,7 +118,6 @@ class CInfoViewerBB void paint_ca_icons(int, const char*, int&); void paintCA_bar(int,int); void showOne_CAIcon(); - void changePB(void); static void* scrambledThread(void *arg); void scrambledCheck(bool force=false); @@ -153,6 +152,7 @@ class CInfoViewerBB CComponentsShapeSquare* getFooter(void){return foot;} CComponentsShapeSquare* getCABar(void){return cabar;} void ResetModules(void); + void changePB(void); }; #endif // __infoview_bb__ diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 551205bd5..bffe01b29 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -206,6 +207,8 @@ void CMoviePlayerGui::Init(void) keyPressed = CMoviePlayerGui::PLUGIN_PLAYSTATE_NORMAL; isLuaPlay = false; blockedFromPlugin = false; + m_screensaver = false; + m_idletime = time(NULL); } void CMoviePlayerGui::cutNeutrino() @@ -980,6 +983,32 @@ void CMoviePlayerGui::PlayFileLoop(void) } showSubtitle(0); + if (playstate == CMoviePlayerGui::PAUSE && (msg == CRCInput::RC_timeout || msg == NeutrinoMessages::EVT_TIMER)) + { + int delay = time(NULL) - m_idletime; + int screensaver_delay = g_settings.screensaver_delay; + if (screensaver_delay != 0 && delay > screensaver_delay*60 && !m_screensaver) { + videoDecoder->setBlank(true); + screensaver(true); + } + } + else + { + m_idletime = time(NULL); + if (m_screensaver) + { + videoDecoder->setBlank(false); + screensaver(false); + //ignore first keypress stop - just quit the screensaver and call infoviewer + if (msg == CRCInput::RC_stop) { + g_RCInput->clearRCMsg(); + callInfoViewer(); + continue; + } + + } + } + if (msg == (neutrino_msg_t) g_settings.mpkey_plugin) { g_PluginList->startPlugin_by_name(g_settings.movieplayer_plugin.c_str ()); } else if (msg == (neutrino_msg_t) g_settings.mpkey_stop) { @@ -1015,8 +1044,6 @@ void CMoviePlayerGui::PlayFileLoop(void) repeat_mode = REPEAT_OFF; g_settings.movieplayer_repeat_on = repeat_mode; callInfoViewer(); - } else if (msg == (neutrino_msg_t) CRCInput::RC_setup) { - CNeutrinoApp::getInstance()->handleMsg(NeutrinoMessages::SHOW_MAINMENU, 0); } else if (msg == (neutrino_msg_t) g_settings.mpkey_play) { if (time_forced) { time_forced = false; @@ -1209,6 +1236,8 @@ void CMoviePlayerGui::PlayFileLoop(void) makeScreenShot(false, true); } else if (msg == CRCInput::RC_sat) { //FIXME do nothing ? + } else if (msg == (neutrino_msg_t) CRCInput::RC_setup) { + CNeutrinoApp::getInstance()->handleMsg(NeutrinoMessages::SHOW_MAINMENU, 0); } else if (msg == CRCInput::RC_red || msg == CRCInput::RC_green || msg == CRCInput::RC_yellow || msg == CRCInput::RC_blue ) { //maybe move FileTime.kill to Usermenu to simplify this call bool restore = FileTime.IsVisible(); @@ -2269,3 +2298,18 @@ size_t CMoviePlayerGui::GetReadCount() //printf("GetReadCount: %lld\n", res); return (size_t) res; } + +void CMoviePlayerGui::screensaver(bool on) +{ + if (on) + { + m_screensaver = true; + CScreenSaver::getInstance()->Start(); + } + else + { + CScreenSaver::getInstance()->Stop(); + m_screensaver = false; + m_idletime = time(NULL); + } +} diff --git a/src/gui/movieplayer.h b/src/gui/movieplayer.h index ba1f2fadf..fcef1ea6f 100644 --- a/src/gui/movieplayer.h +++ b/src/gui/movieplayer.h @@ -107,6 +107,11 @@ class CMoviePlayerGui : public CMenuTarget unsigned short currentapid, currentac3; repeat_mode_enum repeat_mode; + /* screensaver */ + int m_idletime; + bool m_screensaver; + void screensaver(bool on); + /* subtitles vars */ unsigned short numsubs; std::string slanguage[MAX_PLAYBACK_PIDS]; diff --git a/src/gui/opkg_manager.cpp b/src/gui/opkg_manager.cpp index b17483f5e..75d3888ab 100644 --- a/src/gui/opkg_manager.cpp +++ b/src/gui/opkg_manager.cpp @@ -73,7 +73,11 @@ #endif #define OPKG_BAD_PATTERN_LIST_FILE CONFIGDIR "/bad_package_pattern.list" +#if 0 +#define OPKG_CONFIG_FILE "/etc/opkg/opkg.conf" +#else #define OPKG_CONFIG_FILE "/etc/opkg/opkg.conf.borken" +#endif using namespace std; diff --git a/src/gui/plugins.cpp b/src/gui/plugins.cpp index 622c2c1cf..37d5a8e84 100644 --- a/src/gui/plugins.cpp +++ b/src/gui/plugins.cpp @@ -402,7 +402,8 @@ void CPlugins::startScriptPlugin(int number) chmod(script, 0755); if (plugin_list[number].shellwindow) { - CShellWindow(script, CShellWindow::VERBOSE | CShellWindow::ACKNOWLEDGE); + int res = 0; + CShellWindow (script, CShellWindow::VERBOSE | CShellWindow::ACKNOWLEDGE, &res); scriptOutput = ""; } else diff --git a/src/gui/screensaver.cpp b/src/gui/screensaver.cpp index f8b027c56..c6cb91405 100644 --- a/src/gui/screensaver.cpp +++ b/src/gui/screensaver.cpp @@ -112,10 +112,6 @@ void CScreenSaver::Stop() thrScreenSaver = 0; } - if(thrScreenSaver) - pthread_cancel(thrScreenSaver); - thrScreenSaver = 0; - if (scr_clock){ scr_clock->Stop(); delete scr_clock; diff --git a/src/gui/timeosd.cpp b/src/gui/timeosd.cpp index 5660a483a..fdc97b3a7 100644 --- a/src/gui/timeosd.cpp +++ b/src/gui/timeosd.cpp @@ -45,6 +45,7 @@ void CTimeOSD::Init() { paint_bg = g_settings.infoClockBackground; m_time_show = time(0); + m_mode = MODE_ASC; //use current theme colors setColorAll(COL_MENUCONTENT_PLUS_6, COL_MENUCONTENT_PLUS_0, COL_MENUCONTENTDARK_PLUS_0); @@ -58,11 +59,6 @@ void CTimeOSD::Init() setColorBody(COL_BACKGROUND_PLUS_0); } - if (g_settings.infoClockSeconds) - setClockFormat("%H:%M:%S"); - else - setClockFormat("%H:%M", "%H %M"); - //set height, NOTE: height is strictly bound to settings if (g_settings.infoClockFontSize != height){ height = g_settings.infoClockFontSize; diff --git a/src/gui/update.cpp b/src/gui/update.cpp index 08b395d30..b215e71b7 100644 --- a/src/gui/update.cpp +++ b/src/gui/update.cpp @@ -508,7 +508,7 @@ int CFlashUpdate::exec(CMenuTarget* parent, const std::string &actionKey) CVFD::getInstance()->setMode(CLCD::MODE_PROGRESSBAR2); #endif // VFD_UPDATE - showGlobalStatus(19); + paint(); showGlobalStatus(20); diff --git a/src/gui/user_menue.cpp b/src/gui/user_menue.cpp index bc03ebdc9..45cbfde0c 100644 --- a/src/gui/user_menue.cpp +++ b/src/gui/user_menue.cpp @@ -266,14 +266,15 @@ bool CUserMenu::showUserMenu(neutrino_msg_t msg) if (g_RemoteControl->subChannels.empty()) break; // NVOD/SubService- Kanal! - CMenuWidget *tmpNVODSelector = new CMenuWidget(g_RemoteControl->are_subchannels ? LOCALE_NVODSELECTOR_SUBSERVICE : LOCALE_NVODSELECTOR_HEAD, NEUTRINO_ICON_VIDEO); + CMenuWidget *tmpNVODSelector = new CMenuWidget(g_RemoteControl->are_subchannels ? LOCALE_NVODSELECTOR_SUBSERVICE : LOCALE_NVODSELECTOR_STARTTIME, NEUTRINO_ICON_VIDEO); if (!subchanselect.getNVODMenu(tmpNVODSelector)) { delete tmpNVODSelector; break; } keyhelper.get(&key,&icon); - menu_item = new CMenuDForwarder(g_RemoteControl->are_subchannels ? LOCALE_NVODSELECTOR_SUBSERVICE : LOCALE_NVODSELECTOR_HEAD, true, NULL, tmpNVODSelector, "-1", key,icon); + menu_item = new CMenuDForwarder(g_RemoteControl->are_subchannels ? LOCALE_NVODSELECTOR_SUBSERVICE : LOCALE_NVODSELECTOR_STARTTIME, true, NULL, tmpNVODSelector, "-1", key,icon); // FIXME menu_item->setHint("", NONEXISTANT_LOCALE); + break; } case SNeutrinoSettings::ITEM_TECHINFO: @@ -519,7 +520,7 @@ const char *CUserMenu::getUserMenuButtonName(int button, bool &active, bool retu case SNeutrinoSettings::ITEM_SUBCHANNEL: if (!g_RemoteControl->subChannels.empty()) { if(loc == NONEXISTANT_LOCALE && !text) - loc = g_RemoteControl->are_subchannels ? LOCALE_NVODSELECTOR_SUBSERVICE : LOCALE_NVODSELECTOR_HEAD; + loc = g_RemoteControl->are_subchannels ? LOCALE_NVODSELECTOR_SUBSERVICE : LOCALE_NVODSELECTOR_STARTTIME; else return_title = true; active = true; diff --git a/src/gui/user_menue.h b/src/gui/user_menue.h index 33a90f0c2..c5b801c17 100644 --- a/src/gui/user_menue.h +++ b/src/gui/user_menue.h @@ -57,10 +57,10 @@ typedef struct user_menu_data_t #define COL_BUTTONMAX SNeutrinoSettings::BUTTON_MAX static user_menu_data_t user_menu[COL_BUTTONMAX] = { - {LOCALE_INFOVIEWER_EVENTLIST , CRCInput::RC_red , NEUTRINO_ICON_BUTTON_RED , NEUTRINO_ICON_RED, -1}, - {LOCALE_INFOVIEWER_LANGUAGES , CRCInput::RC_green , NEUTRINO_ICON_BUTTON_GREEN , NEUTRINO_ICON_GREEN, -1}, + {LOCALE_USERMENU_TITLE_RED , CRCInput::RC_red , NEUTRINO_ICON_BUTTON_RED , NEUTRINO_ICON_RED, -1}, + {LOCALE_USERMENU_TITLE_GREEN , CRCInput::RC_green , NEUTRINO_ICON_BUTTON_GREEN , NEUTRINO_ICON_GREEN, -1}, {NONEXISTANT_LOCALE , CRCInput::RC_yellow , NEUTRINO_ICON_BUTTON_YELLOW , NEUTRINO_ICON_YELLOW, -1}, - {LOCALE_INFOVIEWER_STREAMINFO , CRCInput::RC_blue , NEUTRINO_ICON_BUTTON_BLUE , NEUTRINO_ICON_FEATURES, -1} + {LOCALE_USERMENU_TITLE_BLUE , CRCInput::RC_blue , NEUTRINO_ICON_BUTTON_BLUE , NEUTRINO_ICON_FEATURES, -1} }; // const neutrino_msg_t col_key_helper_msg_def[COL_BUTTONMAX]={CRCInput::RC_red,CRCInput::RC_green,CRCInput::RC_yellow,CRCInput::RC_blue}; diff --git a/src/gui/user_menue_setup.cpp b/src/gui/user_menue_setup.cpp index 4b701a187..d2232b9cf 100644 --- a/src/gui/user_menue_setup.cpp +++ b/src/gui/user_menue_setup.cpp @@ -81,7 +81,7 @@ static keyvals usermenu_items[] = { SNeutrinoSettings::ITEM_EPG_INFO, LOCALE_EPGMENU_EVENTINFO, usermenu_show }, { SNeutrinoSettings::ITEM_EPG_MISC, LOCALE_USERMENU_ITEM_EPG_MISC, usermenu_show }, { SNeutrinoSettings::ITEM_AUDIO_SELECT, LOCALE_AUDIOSELECTMENUE_HEAD, usermenu_show }, - { SNeutrinoSettings::ITEM_SUBCHANNEL, LOCALE_INFOVIEWER_SUBSERVICE, usermenu_show }, + { SNeutrinoSettings::ITEM_SUBCHANNEL, LOCALE_NVODSELECTOR_HEAD, usermenu_show }, { SNeutrinoSettings::ITEM_FILEPLAY, LOCALE_MOVIEPLAYER_FILEPLAYBACK, usermenu_show }, { SNeutrinoSettings::ITEM_AUDIOPLAY, LOCALE_AUDIOPLAYER_NAME, usermenu_show }, { SNeutrinoSettings::ITEM_INETPLAY, LOCALE_INETRADIO_NAME, usermenu_show }, diff --git a/src/gui/user_menue_setup.h b/src/gui/user_menue_setup.h index 088e135e6..f622eadf5 100644 --- a/src/gui/user_menue_setup.h +++ b/src/gui/user_menue_setup.h @@ -53,10 +53,10 @@ typedef struct usermenu_props_t #define USERMENU_ITEMS_COUNT SNeutrinoSettings::BUTTON_MAX const struct usermenu_props_t usermenu[USERMENU_ITEMS_COUNT] = { - {LOCALE_USERMENU_BUTTON_RED , SNeutrinoSettings::BUTTON_RED , CRCInput::RC_red ,NEUTRINO_ICON_BUTTON_RED ,LOCALE_INFOVIEWER_EVENTLIST }, - {LOCALE_USERMENU_BUTTON_GREEN , SNeutrinoSettings::BUTTON_GREEN , CRCInput::RC_green ,NEUTRINO_ICON_BUTTON_GREEN ,LOCALE_AUDIOSELECTMENUE_HEAD }, - {LOCALE_USERMENU_BUTTON_YELLOW , SNeutrinoSettings::BUTTON_YELLOW , CRCInput::RC_yellow ,NEUTRINO_ICON_BUTTON_YELLOW ,LOCALE_INFOVIEWER_SUBSERVICE }, - {LOCALE_USERMENU_BUTTON_BLUE , SNeutrinoSettings::BUTTON_BLUE , CRCInput::RC_blue ,NEUTRINO_ICON_BUTTON_BLUE ,LOCALE_INFOVIEWER_STREAMINFO } + {LOCALE_USERMENU_BUTTON_RED , SNeutrinoSettings::BUTTON_RED , CRCInput::RC_red ,NEUTRINO_ICON_BUTTON_RED ,LOCALE_USERMENU_TITLE_RED }, + {LOCALE_USERMENU_BUTTON_GREEN , SNeutrinoSettings::BUTTON_GREEN , CRCInput::RC_green ,NEUTRINO_ICON_BUTTON_GREEN ,LOCALE_USERMENU_TITLE_GREEN }, + {LOCALE_USERMENU_BUTTON_YELLOW , SNeutrinoSettings::BUTTON_YELLOW , CRCInput::RC_yellow ,NEUTRINO_ICON_BUTTON_YELLOW ,LOCALE_USERMENU_TITLE_YELLOW }, + {LOCALE_USERMENU_BUTTON_BLUE , SNeutrinoSettings::BUTTON_BLUE , CRCInput::RC_blue ,NEUTRINO_ICON_BUTTON_BLUE ,LOCALE_USERMENU_TITLE_BLUE } }; diff --git a/src/gui/widget/shellwindow.cpp b/src/gui/widget/shellwindow.cpp index 308ceaa8d..60eab7cb3 100644 --- a/src/gui/widget/shellwindow.cpp +++ b/src/gui/widget/shellwindow.cpp @@ -89,7 +89,7 @@ void CShellWindow::exec() int w_shell = frameBuffer->getScreenWidth(); unsigned int lines_max = h_shell / font->getHeight(); list lines; - CBox textBoxPosition(frameBuffer->getScreenX(), frameBuffer->getScreenX(), w_shell, h_shell); + CBox textBoxPosition(frameBuffer->getScreenX(), frameBuffer->getScreenY(), w_shell, h_shell); if (textBox == NULL){ textBox = new CTextBox(cmd.c_str(), font, CTextBox::BOTTOM, &textBoxPosition); textBox->enableSaveScreen(false); @@ -251,7 +251,8 @@ void CShellWindow::showResult() int xpos = frameBuffer->getScreenWidth() - b_width; int ypos = frameBuffer->getScreenHeight() - b_height; CComponentsButton btn(xpos, ypos, b_width, b_height, LOCALE_MESSAGEBOX_BACK, NEUTRINO_ICON_BUTTON_OKAY, NULL, true, true); - btn.paint(); + btn.setColorBody(COL_MENUCONTENT_PLUS_0); + btn.paint(false); } neutrino_msg_t msg; diff --git a/src/gui/widget/textbox.cpp b/src/gui/widget/textbox.cpp index 70d642bf8..c42fa67e2 100644 --- a/src/gui/widget/textbox.cpp +++ b/src/gui/widget/textbox.cpp @@ -580,7 +580,7 @@ void CTextBox::refreshText(void) } //detect corrupt position values - if ((ax<=0) || (ay<=0)){ + if ((ax<0) || (ay<0)){ dprintf(DEBUG_NORMAL, "\033[33m[CTextBox] [%s - %d] ERROR! position out of range: ax = %d, ay = %d, dx = %d, dy = %d\033[0m\n", __func__, __LINE__, ax, ay, dx, dy); return; } diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 84383e1b8..1001d1fbf 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -291,14 +291,7 @@ const lcd_setting_struct_t lcd_setting[SNeutrinoSettings::LCD_SETTING_COUNT] = ,{ "lcd_epgmode" , 0 /*DEFAULT_LCD_EPGMODE*/ } #endif }; -#if 0 -const char* usermenu_default[SNeutrinoSettings::BUTTON_MAX]={ - "2,3,4,13", // RED - "6", // GREEN - "7", // YELLOW - "12,11,20,21,19,14,15" // BLUE -}; -#endif + static SNeutrinoSettings::usermenu_t usermenu_default[] = { { CRCInput::RC_red, "2,3,4,13", "", "red" }, { CRCInput::RC_green, "6", "", "green" }, @@ -306,11 +299,6 @@ static SNeutrinoSettings::usermenu_t usermenu_default[] = { { CRCInput::RC_blue, "12,11,20,21,19,14,29,30,15", "", "blue" }, { CRCInput::RC_play, "9", "", "5" }, { CRCInput::RC_audio, "27", "", "6" }, -#if 0 - { CRCInput::RC_timer, "19", "", "7" }, - { CRCInput::RC_usb, "31", "", "6" }, - { CRCInput::RC_archive, "30", "", "4" }, -#endif { CRCInput::RC_nokey, "", "", "" }, }; @@ -1965,14 +1953,14 @@ TIMER_START(); } // default usermenu titles correspond to gui/user_menue_setup.h:struct usermenu_props_t usermenu - if (g_settings.usermenu[0]->title.empty()) - g_settings.usermenu[0]->title = g_Locale->getText(LOCALE_INFOVIEWER_EVENTLIST); - if (g_settings.usermenu[1]->title.empty()) - g_settings.usermenu[1]->title = g_Locale->getText(LOCALE_AUDIOSELECTMENUE_HEAD); - if (g_settings.usermenu[2]->title.empty()) - g_settings.usermenu[2]->title = g_Locale->getText(LOCALE_INFOVIEWER_SUBSERVICE); - if (g_settings.usermenu[3]->title.empty()) - g_settings.usermenu[3]->title = g_Locale->getText(LOCALE_INFOVIEWER_STREAMINFO); + if (g_settings.usermenu[0]->title.empty() && !g_settings.usermenu[0]->items.empty()) + g_settings.usermenu[0]->title = g_Locale->getText(LOCALE_USERMENU_TITLE_RED); + if (g_settings.usermenu[1]->title.empty() && !g_settings.usermenu[1]->items.empty()) + g_settings.usermenu[1]->title = g_Locale->getText(LOCALE_USERMENU_TITLE_GREEN); + if (g_settings.usermenu[2]->title.empty() && !g_settings.usermenu[2]->items.empty()) + g_settings.usermenu[2]->title = g_Locale->getText(LOCALE_USERMENU_TITLE_YELLOW); + if (g_settings.usermenu[3]->title.empty() && !g_settings.usermenu[3]->items.empty()) + g_settings.usermenu[3]->title = g_Locale->getText(LOCALE_USERMENU_TITLE_BLUE); /* setup GUI */ neutrinoFonts = CNeutrinoFonts::getInstance(); diff --git a/src/system/locals.h b/src/system/locals.h index 573931828..2fbbe336a 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -806,8 +806,6 @@ typedef enum LOCALE_INETRADIO_NAME, LOCALE_INFOVIEWER_EPGNOTLOAD, LOCALE_INFOVIEWER_EPGWAIT, - LOCALE_INFOVIEWER_EVENTLIST, - LOCALE_INFOVIEWER_LANGUAGES, LOCALE_INFOVIEWER_MOTOR_MOVING, LOCALE_INFOVIEWER_NEXT, LOCALE_INFOVIEWER_NOCURRENT, @@ -815,10 +813,8 @@ typedef enum LOCALE_INFOVIEWER_NOTAVAILABLE, LOCALE_INFOVIEWER_NOW, LOCALE_INFOVIEWER_SELECTTIME, - LOCALE_INFOVIEWER_STREAMINFO, LOCALE_INFOVIEWER_SUBCHAN_DISP_POS, LOCALE_INFOVIEWER_SUBCHAN_INFOBAR, - LOCALE_INFOVIEWER_SUBSERVICE, LOCALE_INFOVIEWER_WAITTIME, LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2, @@ -1886,6 +1882,7 @@ typedef enum LOCALE_NVOD_STARTING, LOCALE_NVODSELECTOR_DIRECTORMODE, LOCALE_NVODSELECTOR_HEAD, + LOCALE_NVODSELECTOR_STARTTIME, LOCALE_NVODSELECTOR_SUBSERVICE, LOCALE_OPKG_BUTTON_EXPERT_OFF, LOCALE_OPKG_BUTTON_EXPERT_ON, @@ -2384,6 +2381,10 @@ typedef enum LOCALE_USERMENU_MSG_WARNING_NAME, LOCALE_USERMENU_MSG_WARNING_NO_ITEMS, LOCALE_USERMENU_NAME, + LOCALE_USERMENU_TITLE_BLUE, + LOCALE_USERMENU_TITLE_GREEN, + LOCALE_USERMENU_TITLE_RED, + LOCALE_USERMENU_TITLE_YELLOW, LOCALE_VIDEO_MODE_OK, LOCALE_VIDEOMENU_43MODE, LOCALE_VIDEOMENU_ANALOG_AUTO, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 57ab07fd5..b9ab8d2b4 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -806,8 +806,6 @@ const char * locale_real_names[] = "inetradio.name", "infoviewer.epgnotload", "infoviewer.epgwait", - "infoviewer.eventlist", - "infoviewer.languages", "infoviewer.motor_moving", "infoviewer.next", "infoviewer.nocurrent", @@ -815,10 +813,8 @@ const char * locale_real_names[] = "infoviewer.notavailable", "infoviewer.now", "infoviewer.selecttime", - "infoviewer.streaminfo", "infoviewer.subchan_disp_pos", "infoviewer.subchan_infobar", - "infoviewer.subservice", "infoviewer.waittime", "ipsetup.hint_1", "ipsetup.hint_2", @@ -1886,6 +1882,7 @@ const char * locale_real_names[] = "nvod.starting", "nvodselector.directormode", "nvodselector.head", + "nvodselector.starttime", "nvodselector.subservice", "opkg.button.expert_off", "opkg.button.expert_on", @@ -2384,6 +2381,10 @@ const char * locale_real_names[] = "usermenu.msg_warning_name", "usermenu.msg_warning_no_items", "usermenu.name", + "usermenu.title_blue", + "usermenu.title_green", + "usermenu.title_red", + "usermenu.title_yellow", "video_mode_ok", "videomenu.43mode", "videomenu.analog_auto",