From 8f876c1d681943b202e5f7f2e851ac63db4c5729 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 3 Jan 2017 15:38:04 +0100 Subject: [PATCH 01/26] src/eitd/edvbstring.cpp init array Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/80728520f6218cf550a3a5325a7606fd43b68034 Author: Jacek Jendrzej Date: 2017-01-03 (Tue, 03 Jan 2017) --- src/eitd/edvbstring.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/eitd/edvbstring.cpp b/src/eitd/edvbstring.cpp index 0e29d0456..cb495b1cc 100644 --- a/src/eitd/edvbstring.cpp +++ b/src/eitd/edvbstring.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include "SIutils.hpp" #include "debug.h" @@ -2105,6 +2106,7 @@ std::string convertDVBUTF8(const char *data, int len, int table, int tsidonid) //dprintf("recode:::: tsidonid %X table %d two-char %d len %d\n", tsidonid, table, twochar, len); unsigned char res[2048]; + memset(res,0,sizeof(res)); while (i < len) { unsigned long code=0; @@ -2267,6 +2269,7 @@ const std::string convertLatin1UTF8(const std::string &string) unsigned int t=0, i=0, len=string.size(); unsigned char res[2048]; + memset(res,0,sizeof(res)); while (i < len) { From 48294595d497ac20266f01ac5ff8002f956897bb Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 3 Jan 2017 15:56:58 +0100 Subject: [PATCH 02/26] src/timerd/timermanager.cpp dont unlock on other errors Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/950963146a9b8589837a3f32e6ba37757be42415 Author: Jacek Jendrzej Date: 2017-01-03 (Tue, 03 Jan 2017) --- src/timerd/timermanager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index e18e1612f..fec447b79 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -723,7 +723,6 @@ bool CTimerManager::shutdown() time_t nextAnnounceTime=0; bool status=false; timer_is_rec = false; - dprintf("stopping timermanager thread ...\n"); dprintf("Waiting for timermanager thread to terminate ...\n"); @@ -737,7 +736,8 @@ bool CTimerManager::shutdown() saveEventsToConfig(); dprintf("shutdown: saved config\n"); } - if (pthread_mutex_trylock(&tm_eventsMutex) == EBUSY) + int rc = pthread_mutex_trylock(&tm_eventsMutex); + if (rc == EBUSY) { dprintf("error: mutex is still LOCKED\n"); return false; @@ -771,8 +771,8 @@ bool CTimerManager::shutdown() timer_minutes = (nextAnnounceTime - 3*60)/60; } dprintf("shutdown: timeset: %d timer_minutes %ld\n", timeset, timer_minutes); - - pthread_mutex_unlock(&tm_eventsMutex); + if(rc == 0) + pthread_mutex_unlock(&tm_eventsMutex); return status; } //------------------------------------------------------------ From 62fd71bc1c54544453e350faa832c9fec99dc049 Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Tue, 3 Jan 2017 04:48:34 +0100 Subject: [PATCH 03/26] src/driver/pictureviewer/png.cpp: Fix -Wclobbered compiler warning Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/617075c30ea54374e80a353a4c3b68a8ffc5602c Author: Michael Liebmann Date: 2017-01-03 (Tue, 03 Jan 2017) --- src/driver/pictureviewer/png.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/driver/pictureviewer/png.cpp b/src/driver/pictureviewer/png.cpp index c684eecf3..83b01976b 100644 --- a/src/driver/pictureviewer/png.cpp +++ b/src/driver/pictureviewer/png.cpp @@ -35,7 +35,7 @@ int int_png_load(const char *name, unsigned char **buffer, int* xp, int* yp, int int bit_depth, color_type, interlace_type, number_passes, pass, int_bpp; png_byte * fbptr; FILE * fh; - bool updateInfo_alreadyRead = false; + bool updateInfo_alreadyRead; if(!(fh=fopen(name,"rb"))) return(FH_ERROR_FILE); @@ -64,6 +64,7 @@ int int_png_load(const char *name, unsigned char **buffer, int* xp, int* yp, int png_init_io(png_ptr,fh); png_read_info(png_ptr, info_ptr); png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, NULL, NULL); + updateInfo_alreadyRead = false; if (alpha) // 24bit or gray scale PNGs with alpha-channel { *bpp = png_get_channels(png_ptr, info_ptr); From e06b70466aa8b2f58883c5427f5738fa9b3e1e99 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 5 Jan 2017 08:42:14 +0100 Subject: [PATCH 04/26] locale: update slovak; thx to Pr0metheus Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/98ab8a083ec38725e83a066a28b818b796cfb257 Author: vanhofen Date: 2017-01-05 (Thu, 05 Jan 2017) Origin message was: ------------------ - locale: update slovak; thx to Pr0metheus --- data/locale/slovak.locale | 72 ++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/data/locale/slovak.locale b/data/locale/slovak.locale index 22ca09a52..153c31359 100644 --- a/data/locale/slovak.locale +++ b/data/locale/slovak.locale @@ -461,7 +461,7 @@ extra.key_timeshift Časový posun extra.key_unlock Odblokovanie extra.ladirection Umiestnenie zem.šírky extra.latitude Zem.šírka [N/S] -extra.loadconfig Obnoviť nastavenia z... +extra.loadconfig Obnoviť nastavenia z ... extra.loadkeys Obnoviť nastavenia kláves z ... extra.lodirection Umiestnenie zem.dľžky extra.longitude Zem.dľžka [E/W] @@ -473,7 +473,7 @@ extra.rotor_swap Vymeniť východ/západ motoru extra.rounded_corners Vzhľad rohov extra.rounded_corners_off hranatý extra.rounded_corners_on zaoblený -extra.saveconfig Uložiť nastavenia do... +extra.saveconfig Uložiť nastavenia do ... extra.savekeys Uložiť nastavenia kláves do ... extra.scrambled_message Správa o kódovaní extra.show_mute_icon Ikona umlčania pri hlasitosti 0 @@ -703,7 +703,7 @@ fontmenu.eventlist Programový sprievodca fontmenu.head Nastavenie písma fontmenu.infobar Informačná lišta fontmenu.menu Menu -fontmenu.messages Messages +fontmenu.messages Správy fontmenu.moviebrowser Prehliadač filmov fontmenu.other Iné fontmenu.scaling Faktor zoomu globálneho fontu @@ -712,7 +712,6 @@ fontmenu.scaling_x_hint2 Vodorovne (v %) min 50 / max 200 fontmenu.scaling_y Zvislo (v %) fontmenu.scaling_y_hint2 Zvislo (v %) min 50 / max 200 fontmenu.sizes Veľkosti písma -fontsize.button_text Button text fontsize.channel_num_zap Priamy výber fontsize.channellist Zoznam kanálov fontsize.channellist_descr Popis @@ -738,7 +737,7 @@ fontsize.menu_foot Päta (vo všetkých grafických elementoch) fontsize.menu_hint Popis menu fontsize.menu_info Informačné menu fontsize.menu_title Titulok menu -fontsize.message_text Messagwe Text +fontsize.message_text Text správy fontsize.moviebrowser_head Hlavičky fontsize.moviebrowser_info Informačné okno fontsize.moviebrowser_list Zoznam položiek @@ -787,7 +786,7 @@ hdd_statfs_recording len pri nahrávaní hdd_umount Odpojenie hdd_umount_warn Chyba odpájania disku! hdd_umounted Zariadenie odstránené -help_box_title Help +help_box_title Pomoc imageinfo.api API: imageinfo.creator Vytvoril: imageinfo.date Dátum: @@ -1040,7 +1039,8 @@ menu.hint_epg_extendedcache Maximálny čas ukladania\npopisov doplňujúcich ud menu.hint_epg_fonts Zmena veľkosti písma okna EPG podrobností menu.hint_epg_max_events Maximálny počet uložených udalostí. Po dosiahnutí hranice\nEPG cache odstráni nasledujúce udalosti menu.hint_epg_old_events Hodiny po skončení udalosti, kedy sa označí\nako staré a odstráni sa z uložených -menu.hint_epg_read Načíta uložené EPG údaje po zavedení z externého zariadenia +menu.hint_epg_read Po reštarte načíta uložené EPG údaje z externého zariadenia +menu.hint_epg_read_frequently Načíta uložené EPG údaje v častejších intervaloch z externého zariadenia menu.hint_epg_save Uloženie EPG na disk alebo usb\pre načítanie po spustení menu.hint_epg_save_frequently Ukladanie EPG v pravidelných intervaloch na externé zariadenie menu.hint_epg_save_mode Ukladať EPG iba pre kanály uložené v obľúbených buketoch @@ -1186,7 +1186,7 @@ menu.hint_menu_fonts Zmena veľkosti písma menu menu.hint_menu_hints Zobrazí túto nápovedu. Taktiež môžno kedykoľvek zmeniť použitím tlačidla ´HELP´. menu.hint_menu_pos Výber umiestnenia menu menu.hint_menus Konfigurácia volieb ponuky -menu.hint_message_fonts Change message text font sizes +menu.hint_message_fonts Zmena veľkosti písma správy menu.hint_misc_cec HDMI-CEC voľby menu.hint_misc_channellist HD/Nové/Odstránené zoznamy kanálov, cyklické prepnutie menu.hint_misc_energy Použitie pohotovostného režimu, oneskorené vypnutie\nčasovače neaktivity @@ -1407,14 +1407,14 @@ menu.hint_selected_text Zmena farby textu označenej položky menu.hint_service Nastavenie tuneru, vyhľadanie služieb,\núprava buketov, aktualizácia software menu.hint_service_scan Automatické / manuálne vyhľadávanie staníc, FastScan, Test signálu menu.hint_settings Konfigurácia system, sieť, zvuk, obraz, OSD a iné -menu.hint_shoutcast_dev_id Vložte vaše SHOUTcast údaje. Neuvedením údajov sa vypne podpora SHOUTcast. -menu.hint_shoutcast_enabled Povoliť alebo zakázať podporu SHOUTcast +menu.hint_shoutcast_dev_id Vložte vaše SHOUTcast ID. Prázdne pole vypne podporu pre SHOUTcast. +menu.hint_shoutcast_enabled Povolí alebo zakáže podporu pre SHOUTcast. menu.hint_show_mute_icon Zobrazenie ikony umlčania, ak nastavenie hlasitosťi bude 0 -menu.hint_shutdown Vypnutie prijímača - bez potvrdzovania -menu.hint_shutdown_count Čas prepnutia prijímača z pohotovostného režimu do stavu vypnutia -menu.hint_shutdown_menu Prepne prijímač do pohotovostného režimu alebo ho vypne, nastaví časovač vypnutia -menu.hint_shutdown_rcdelay Aktivuje vypnutie prijímača, ak je tlačidlo zapnutia\nstlačené viac ako 1 sekundu -menu.hint_shutdown_real Aktivuje pohotovostný režim\nAk je zakázané, tlačidlo zapnutia vypne prístroj +menu.hint_shutdown Vypne prijímač do hlbokého spánku.\nBez potvrdzovania +menu.hint_shutdown_count Čas prepnutia prijímača z pohotovostného režimu do hlbokého spánku +menu.hint_shutdown_menu Uvedie prijímač do pohotovostného režimu alebo hlbokého spánku, nastavte časovač spánku +menu.hint_shutdown_rcdelay Povolí hlboký spánok v prípade stlačenia\ntlačidla napájania dlhšie ako 1 sekunda +menu.hint_shutdown_real Povolí pohotovostný režim\nAk je zakázané, tlačidlo napájania uvedie prijímač do hlbokého spánku menu.hint_sleeptimer Nastavenie časovača pre prechod prijímača do pohotovostného režimu menu.hint_sleeptimer_min Prednastavené nastavenia pre časovač vypnutia menu.hint_sms_channel Ak povolené, číselné klávesy v zozname kanálov budú použité pre vyhľadávanie kanálu v štýle SMS @@ -1434,7 +1434,8 @@ menu.hint_subchannel_pos Pozícia menu výberu sub-kanálov menu.hint_sw_update Aktualizácia software menu.hint_theme Výber prednastavených farebných vzhľadov\nUloženie alebo nahranie vzhľadu zo súborov menu.hint_timeouts Konfigurácia času zmiznutia GUI okien\nv sekundách -menu.hint_timeouts_static_messages Timeout for specific messages with user interaction +menu.hint_timeouts_static_messages Čas pre špecifické správy so zásahom užívateľa +menu.hint_timer_followscreenings Pre nastavenie časovača zobraziť výber s nasledujúcim vysielaním menu.hint_timers Pridanie/Odstránenie/Upravenie plánovaného\nnahrávania, pripomienky atď. menu.hint_timezone Výber časového pásma menu.hint_tmdb_api_key Vložte váš TMDb API kľúč. Neuvedením údajov sa vypne podpora TMDb @@ -1515,6 +1516,7 @@ miscsettings.epg_old_events Odstrániť neaktuálne EPG (hod.) miscsettings.epg_old_events_hint1 Ako dlho zapisovať EPG údaje po skončení? miscsettings.epg_old_events_hint2 Nastavenie v hodinách. miscsettings.epg_read Obnoviť EPG po reštarte +miscsettings.epg_read_frequently Časté obnovovanie EPG miscsettings.epg_save Uložiť EPG pred vypnutím miscsettings.epg_save_frequently Periodické ukladanie EPG miscsettings.epg_save_mode Iba obľúbené @@ -1669,6 +1671,7 @@ moviebrowser.edit_book_type_info1 Zadanie novej dĺžky skoku moviebrowser.edit_book_type_info2 <0 vzad , >0 vpred, 0: nikde moviebrowser.edit_serie Zadanie názvu série moviebrowser.error_no_movies Nenájdené filmy +moviebrowser.filter_off Filter vyp moviebrowser.foot_filter Filter: moviebrowser.foot_focus Prepnúť okno moviebrowser.foot_options Voľby @@ -1753,7 +1756,7 @@ moviebrowser.menu_truncate Skrátiť film moviebrowser.option_browser Možnosti prehliadača moviebrowser.reload_at_start Načítanie informácie o filme pri štarte moviebrowser.remount_at_start Pripojiť pri štarte -moviebrowser.scan_for_movies Hľadať filmy ... +moviebrowser.scan_for_movies Prehľadávanie nahrávok ... moviebrowser.serie_auto_create Automaticky doplniť seriály moviebrowser.serie_head Seriály moviebrowser.serie_name Zmena názvu @@ -1825,24 +1828,27 @@ movieplayer.bookmarkname_hint2 movieplayer.chapters Kapitoly movieplayer.fileplayback Prehliadač súborov movieplayer.head Prehrávač filmov +movieplayer.help_additional Ak chcete nájsť viac definovateľných kláves, vojdite do\n"Hlavné menuu" > "Nastavenia" > "Nastavenie kláves" > "Upraviť..." > "Prehrávač filmov".\n\nPočas prehrávania filmu sú niektoré položky hlavného menu deaktivované. +movieplayer.help_button_1 1 minúta späť +movieplayer.help_button_2 Skok na začiatok filmu +movieplayer.help_button_3 1 minúta vpred +movieplayer.help_button_4 3 minúty späť +movieplayer.help_button_5 Skok na stred filmu +movieplayer.help_button_6 3 minúty vpred +movieplayer.help_button_7 10 minút späť +movieplayer.help_button_8 Skok na koniec filmu +movieplayer.help_button_9 10 minút vpred +movieplayer.help_button_backward Zrýchlene späť +movieplayer.help_button_forward Zrýchlene vpred +movieplayer.help_button_menu Otvoriť hlavné menu +movieplayer.help_button_pause Pozastaviť / Pokračovať +movieplayer.help_button_stop Zastaviť movieplayer.plugin Doplnky Prhrávača filmov movieplayer.starting Spúšťa sa prehrávanie... movieplayer.titles Tituly movieplayer.toomanybookmarks Veľa záložiek.\nJe potrebné vymazať jednu najprv. -movieplayer.tshelp1 Zastavenie -movieplayer.tshelp10 asi 10 min dozadu -movieplayer.tshelp11 asi 10 min dopredu -movieplayer.tshelp12 Nápoveda: http://www.giggo.de/dbox2/movieplayer.html\n -movieplayer.tshelp2 Výbrer zvukovej stopy -movieplayer.tshelp3 Prerušenie/Pokračovanie -movieplayer.tshelp4 Vytvoriť záložku -movieplayer.tshelp5 Zobraziť čas -movieplayer.tshelp6 asi 1 min dozadu -movieplayer.tshelp7 asi 1 min dopredu -movieplayer.tshelp8 asi 5 min dozadu -movieplayer.tshelp9 asi 5 min dopredu movieplayer.tsplayback Prehrať TS -movieplayer.ytplayback YouTube prehrávač +movieplayer.ytplayback YouTube video prehrávač mpkey.audio Zvuková stopa mpkey.bookmark Uložiť záložku mpkey.forward Dopredu @@ -2386,6 +2392,7 @@ timerlist.type.zapto Prepnutie timerlist.weekdays V dňoch týždňa timerlist.weekdays.hint_1 Po Ut St Št Pi So Ne timerlist.weekdays.hint_2 'X'=plánované '-' neplánované +timersettings.followscreenings Ukázať výber vysielania timersettings.record_safety_time_after Korekcia času ukončenia nahrávania timersettings.record_safety_time_after.hint_1 Čas v min. (00=vypnuté), ktorý bude pripočítaný timersettings.record_safety_time_after.hint_2 po ukončení daného plánu @@ -2403,8 +2410,8 @@ timing.infobar_movieplayer Stavový riadok (filmový mód) timing.infobar_radio Stavový riadok (rádio mód) timing.menu Ponuka timing.numericzap Prepínanie číslami -timing.popup_messages Popup messages -timing.static_messages Interactive messages +timing.popup_messages Vyskakovacie správy +timing.static_messages Interaktívne správy timing.volumebar Ukazateľ hlasitosti tmdb.api_key TMDb API kľúč tmdb.enabled TMDb podpora @@ -2444,6 +2451,7 @@ usermenu.title_blue Možnosti usermenu.title_green Zvuk usermenu.title_red Udalosti usermenu.title_yellow Obraz +usermenus.head Užívateľské menu video_mode_ok Pracuje tento video režim správne? videomenu.43mode Zobrazenie formátu 4:3 videomenu.analog_auto AUTO From 5afde73788301fd476380926d87f76538546d9c8 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 5 Jan 2017 22:16:23 +0100 Subject: [PATCH 05/26] CNeutrinoApp: try to fix display intro settings message Message was not really visible on startup. Contents of InitZapper() seems to have prevented this. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/5014a272e547e8d1aff58d513d6bd95127c2a682 Author: Thilo Graf Date: 2017-01-05 (Thu, 05 Jan 2017) --- src/neutrino.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 24cb19c2f..19593cbdd 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2205,7 +2205,6 @@ TIMER_START(); startwizard.exec(NULL, ""); } - InitZapper(); if(loadSettingsErg) { hintBox->hide(); dprintf(DEBUG_INFO, "config file or options missing\n"); @@ -2215,6 +2214,8 @@ TIMER_START(); saveSetup(NEUTRINO_SETTINGS_FILE); } + InitZapper(); + CHDDDestExec * hdd = new CHDDDestExec(); hdd->exec(NULL, ""); delete hdd; From 932a0c5b8fbe99b22e66b457c87d92e485f4fc51 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 5 Jan 2017 22:18:35 +0100 Subject: [PATCH 06/26] CMovieBrowser: fix possible compiler warning -misleading-indentatio Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/64b2f94dd797cced9f9f6e7e6267a7e5af7a904f Author: Thilo Graf Date: 2017-01-05 (Thu, 05 Jan 2017) --- src/gui/moviebrowser/mb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 99ebf9023..b0b669518 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -265,7 +265,7 @@ CMovieBrowser::~CMovieBrowser() delete m_movieCover; if (m_header) - delete m_header; m_header = NULL; + delete m_header; } void CMovieBrowser::clearListLines() From eb7d16a32a63e22e5a1c86c77e7bae7e8817502b Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Sun, 1 Jan 2017 16:46:49 +0100 Subject: [PATCH 07/26] fontrenderer.cpp: Use additional percentage height offset. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Different font types could have different glyph heights, Therfore static values seems not really senseful. eg. chars like ÄÁÂÅÈÉÊËÌÍÎÏÑÒÓÕÖÙÛÜÝ could paint over defined height, Note: However, depending of implementations, the font image may change. Most likely this must be adapted to some parts. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/3ecb94fc21ab968d44eecbc76a12216ce7da685f Author: Thilo Graf Date: 2017-01-01 (Sun, 01 Jan 2017) --- src/driver/fontrenderer.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/driver/fontrenderer.cpp b/src/driver/fontrenderer.cpp index 29a42be01..d43684626 100644 --- a/src/driver/fontrenderer.cpp +++ b/src/driver/fontrenderer.cpp @@ -287,10 +287,14 @@ return 0; ascender=tM; descender=tg-hg; //this is a negative value! int halflinegap= -(descender>>1); // |descender/2| - we use descender as linegap, half at top, half at bottom - upper = halflinegap+ascender+3; // we add 3 at top - lower = -descender+halflinegap+1; // we add 1 at bottom + + //hack: Use additional percentage height offset, font types could have different heights, static values seems not really senseful. + upper = halflinegap+ascender+hg/7; // we add 1/7 of glyph height at top + lower = -descender+halflinegap-hg/10; // we add 1/10 of glyph height at bottom + height=upper+lower; // this is total height == distance of lines - DigitHeight = ascender+2; + + DigitHeight = ascender+2; //Is this static value really ok? DigitOffset = -descender+halflinegap; // hack end From 18b9d5458653cd1b9a1c642ac6f63e81d5433ef8 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 5 Jan 2017 10:22:49 +0100 Subject: [PATCH 08/26] CComponentsButton: fix height comparsion comparsion with itself Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/4a03eb69805f72e837e74a07eb3d1ff82ba0aa09 Author: Thilo Graf Date: 2017-01-05 (Thu, 05 Jan 2017) --- src/gui/components/cc_frm_button.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/components/cc_frm_button.cpp b/src/gui/components/cc_frm_button.cpp index 18b3d31ea..96a0957fb 100644 --- a/src/gui/components/cc_frm_button.cpp +++ b/src/gui/components/cc_frm_button.cpp @@ -215,7 +215,7 @@ void CComponentsButton::initCaption() * Otherwise definied font will be used. Button dimensions are calculated from parent container (e.g. footer...). * These dimensions must be enough to display complete content like possible icon and without truncated text. */ - if ((cc_btn_font->getHeight()- 2*w_frame) > h_cap && (cc_btn_font->getRenderWidth(cc_btn_text)- 2*w_frame) > w_cap) + if ((cc_btn_font->getHeight()- 2*w_frame) > (height - 2*w_frame) && (cc_btn_font->getRenderWidth(cc_btn_text)- 2*w_frame) > w_cap) cc_btn_font = def_font; cc_btn_text_obj->setText(cc_btn_text, CTextBox::NO_AUTO_LINEBREAK, cc_btn_font); From 0a64983cb05862c8b47ec383720bdd73669c6b5d Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 5 Jan 2017 10:31:51 +0100 Subject: [PATCH 09/26] CBEChannelWidget/CBEBouquetWidget: use explicit footer font Default button font type in footer is button text type and not footer font. Faces of buttons are still disabled and not visible here, therefore this should be ok at the moment. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/753cfda24357ae138765ff606c0fb8452faa49ae Author: Thilo Graf Date: 2017-01-05 (Thu, 05 Jan 2017) --- src/gui/bedit/bouqueteditor_bouquets.cpp | 2 +- src/gui/bedit/bouqueteditor_channels.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/bedit/bouqueteditor_bouquets.cpp b/src/gui/bedit/bouqueteditor_bouquets.cpp index 9c7017a46..5e2e348c8 100644 --- a/src/gui/bedit/bouqueteditor_bouquets.cpp +++ b/src/gui/bedit/bouqueteditor_bouquets.cpp @@ -157,7 +157,7 @@ const struct button_label CBEBouquetWidgetButtons[6] = void CBEBouquetWidget::paintFoot() { size_t numbuttons = sizeof(CBEBouquetWidgetButtons)/sizeof(CBEBouquetWidgetButtons[0]); - footer.paintButtons(x, y+height, width, ButtonHeight, numbuttons, CBEBouquetWidgetButtons, width/numbuttons-20); + footer.paintButtons(x, y+height, width, ButtonHeight, numbuttons, CBEBouquetWidgetButtons, width/numbuttons-2*OFFSET_INNER_MID, 0, g_Font[SNeutrinoSettings::FONT_TYPE_MENU_FOOT]); } void CBEBouquetWidget::hide() diff --git a/src/gui/bedit/bouqueteditor_channels.cpp b/src/gui/bedit/bouqueteditor_channels.cpp index 03f3776d8..8fea35409 100644 --- a/src/gui/bedit/bouqueteditor_channels.cpp +++ b/src/gui/bedit/bouqueteditor_channels.cpp @@ -194,7 +194,7 @@ const struct button_label CBEChannelWidgetButtons[6] = void CBEChannelWidget::paintFoot() { size_t numbuttons = sizeof(CBEChannelWidgetButtons)/sizeof(CBEChannelWidgetButtons[0]); - footer.paintButtons(x, y + (height-footerHeight), width, footerHeight, numbuttons, CBEChannelWidgetButtons, width/numbuttons-20); + footer.paintButtons(x, y + (height-footerHeight), width, footerHeight, numbuttons, CBEChannelWidgetButtons, width/numbuttons-2*OFFSET_INNER_MID, 0, g_Font[SNeutrinoSettings::FONT_TYPE_MENU_FOOT]); } std::string CBEChannelWidget::getInfoText(int index) From 35166dadcee3d5820604b33cf3600659214eabc6 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Tue, 3 Jan 2017 11:25:43 +0100 Subject: [PATCH 10/26] CComponentsButton: try to fix fallback for font size Some conditions were not catched. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/a5d2c2cb1d3f4509894b9746dfe6ec7bebdfb846 Author: Thilo Graf Date: 2017-01-03 (Tue, 03 Jan 2017) --- src/gui/components/cc_frm_button.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/gui/components/cc_frm_button.cpp b/src/gui/components/cc_frm_button.cpp index 96a0957fb..3ec7ce20b 100644 --- a/src/gui/components/cc_frm_button.cpp +++ b/src/gui/components/cc_frm_button.cpp @@ -120,7 +120,7 @@ void CComponentsButton::initVarButton( const int& x_pos, const int& y_pos, const cc_btn_icon_obj = NULL; cc_btn_text_obj = NULL; cc_btn_dy_font = CNeutrinoFonts::getInstance(); - cc_btn_font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT]; + cc_btn_font = NULL; cc_btn_icon = icon_name; cc_btn_text = caption; cc_directKey = CRCInput::RC_nokey; @@ -188,6 +188,7 @@ void CComponentsButton::initCaption() //set basic properties int w_frame = fr_thickness; + int reduce = 2*w_frame; if (cc_btn_text_obj){ //position and size int x_cap = w_frame; @@ -197,8 +198,8 @@ void CComponentsButton::initCaption() if (cc_btn_font == NULL) cc_btn_font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT]; - int w_cap = width - w_frame - append_x_offset - x_cap - w_frame; - int h_cap = min(height - 2*w_frame, cc_btn_font->getHeight()); + int w_cap = min(width - append_x_offset - x_cap - reduce, cc_btn_font->getRenderWidth(cc_btn_text)); + int h_cap = min(height - reduce, cc_btn_font->getHeight()); /*NOTE: paint of centered text in y direction without y_offset looks unlovely displaced in y direction especially besides small icons and inside small areas, @@ -210,13 +211,17 @@ void CComponentsButton::initCaption() cc_btn_text_obj->setDimensionsAll(x_cap, y_cap, w_cap, h_cap); //text and font - Font* def_font = *cc_btn_dy_font->getDynFont(w_cap, h_cap, cc_btn_text); /* If button dimension too small, use dynamic font, this ignores possible defined font * Otherwise definied font will be used. Button dimensions are calculated from parent container (e.g. footer...). * These dimensions must be enough to display complete content like possible icon and without truncated text. */ - if ((cc_btn_font->getHeight()- 2*w_frame) > (height - 2*w_frame) && (cc_btn_font->getRenderWidth(cc_btn_text)- 2*w_frame) > w_cap) - cc_btn_font = def_font; + Font *tmp_font = cc_btn_font; + if ((tmp_font->getHeight()-reduce) > (height-reduce) && (tmp_font->getRenderWidth(cc_btn_text)-reduce) > width-reduce) + tmp_font = *cc_btn_dy_font->getDynFont(w_cap, h_cap, cc_btn_text); + if ((cc_btn_font->getHeight()-reduce) > (height-reduce)) + tmp_font = *cc_btn_dy_font->getDynFont(w_cap, h_cap, cc_btn_text); + + cc_btn_font = tmp_font; cc_btn_text_obj->setText(cc_btn_text, CTextBox::NO_AUTO_LINEBREAK, cc_btn_font); cc_btn_text_obj->forceTextPaint(); //here required; From da941689f0d2f5da53451e257dd6d0d3fa517910 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Tue, 3 Jan 2017 11:27:52 +0100 Subject: [PATCH 11/26] CComponentsFooter: fix default button font type Deafult buttonfont is FONT_TYPE_BUTTON_TEXT not FONT_TYPE_MENU_FOOT Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/60a77d38b324f6907b4a726fa975906c4056e514 Author: Thilo Graf Date: 2017-01-03 (Tue, 03 Jan 2017) --- src/gui/components/cc_frm_footer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/components/cc_frm_footer.h b/src/gui/components/cc_frm_footer.h index b70292765..59a90e8f5 100644 --- a/src/gui/components/cc_frm_footer.h +++ b/src/gui/components/cc_frm_footer.h @@ -204,7 +204,7 @@ class CComponentsFooter : public CComponentsHeader const struct button_label * const content, const int& label_width = 0, const int& context_buttons = 0, - Font* font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_FOOT], + Font* font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT], bool do_save_bg = CC_SAVE_SCREEN_NO ); From 8d6fb1e02261439c4b947f5f13daf029b2413a52 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 5 Jan 2017 22:53:31 +0100 Subject: [PATCH 12/26] CComponentsFooter: optimize button position and size Buttons are now smaller so it should be enough, to center only, if not please report. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/a9b8b2233932ca8fd0e11e8efbee4291dd643df7 Author: Thilo Graf Date: 2017-01-05 (Thu, 05 Jan 2017) --- src/gui/components/cc_frm_footer.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/gui/components/cc_frm_footer.cpp b/src/gui/components/cc_frm_footer.cpp index befc333e8..6653d6616 100644 --- a/src/gui/components/cc_frm_footer.cpp +++ b/src/gui/components/cc_frm_footer.cpp @@ -137,11 +137,14 @@ void CComponentsFooter::setButtonLabels(const struct button_label_s * const cont * With this container we can work inside footer as primary container (in this context '=this') and the parent for the button label container (chain object). * Button label container (chain object) itself is concurrent to the parent object for button objects. */ + int dist = height/2-cch_offset; + int h_chain = ccf_btn_font->getHeight() > height+dist ? height-dist : ccf_btn_font->getHeight()+dist; int x_chain = width/2 - w_chain/2; + int y_chain = height/2 - h_chain/2; if (cch_icon_obj) x_chain = cch_offset+cch_icon_obj->getWidth()+cch_offset; if (chain == NULL){ - chain = new CComponentsFrmChain(x_chain, 0, w_chain, height, 0, CC_DIR_X, this, CC_SHADOW_OFF, COL_MENUCONTENT_PLUS_6, col_body); + chain = new CComponentsFrmChain(x_chain, y_chain, w_chain, h_chain, 0, CC_DIR_X, this, CC_SHADOW_OFF, COL_MENUCONTENT_PLUS_6, col_body); chain->setAppendOffset(0, 0); chain->setCorner(this->corner_rad, this->corner_type); chain->doPaintBg(false); @@ -172,7 +175,7 @@ void CComponentsFooter::setButtonLabels(const struct button_label_s * const cont * with default width to chain object. */ vector v_btns; - int h_btn = /*(ccf_enable_button_bg ? */(height*85/100)-2*fr_thickness-OFFSET_INNER_SMALL/* : height)*/-ccf_button_shadow_width; + int h_btn = /*(ccf_enable_button_bg ? */chain->getHeight()-2*fr_thickness/*-OFFSET_INNER_SMALL*//* : height)*/-ccf_button_shadow_width; for (size_t i= 0; i< label_count; i++){ string txt = content[i].text; string icon_name = string(content[i].button); @@ -426,7 +429,8 @@ void CComponentsFooter::enableButtonShadow(int mode, const int& shadow_width, bo if (chain){ for(size_t i=0; isize(); i++){ chain->getCCItem(i)->enableShadow(ccf_enable_button_shadow, ccf_button_shadow_width, ccf_button_shadow_force_paint); - int y_btn = ccf_enable_button_shadow == CC_SHADOW_OFF ? CC_CENTERED : chain->getHeight()/2 - chain->getCCItem(i)->getHeight()/2 - ccf_button_shadow_width; + //int y_btn = ccf_enable_button_shadow == CC_SHADOW_OFF ? CC_CENTERED : chain->getHeight()/2 - chain->getCCItem(i)->getHeight()/2 - ccf_button_shadow_width; + int y_btn = chain->getHeight()/2 - chain->getCCItem(i)->getHeight()/2; chain->getCCItem(i)->setYPos(y_btn); } } From 8bd51fae471b194bdf80d2420e2011a24a43c803 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Wed, 4 Jan 2017 10:25:35 +0100 Subject: [PATCH 13/26] CHintBox/CMsgBox: reduce minimal dimensions Better display for smaller texts. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/10523d8ad4fb2d75ba742f2c0b4b616fe5e7bfaa Author: Thilo Graf Date: 2017-01-04 (Wed, 04 Jan 2017) --- src/gui/widget/hintbox.h | 2 +- src/gui/widget/msgbox.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/widget/hintbox.h b/src/gui/widget/hintbox.h index c005feb26..728edc73c 100644 --- a/src/gui/widget/hintbox.h +++ b/src/gui/widget/hintbox.h @@ -32,7 +32,7 @@ #include -#define HINTBOX_MIN_WIDTH 420 +#define HINTBOX_MIN_WIDTH 320 #define HINTBOX_MIN_HEIGHT 125 #define HINTBOX_MAX_HEIGHT 520 #define HINTBOX_DEFAULT_TIMEOUT g_settings.timing[SNeutrinoSettings::TIMING_POPUP_MESSAGES] diff --git a/src/gui/widget/msgbox.h b/src/gui/widget/msgbox.h index f20083296..f15060973 100644 --- a/src/gui/widget/msgbox.h +++ b/src/gui/widget/msgbox.h @@ -35,7 +35,7 @@ #include "hintbox.h" #define MSGBOX_MIN_WIDTH HINTBOX_MIN_WIDTH -#define MSGBOX_MIN_HEIGHT HINTBOX_MIN_HEIGHT + 75 +#define MSGBOX_MIN_HEIGHT HINTBOX_MIN_HEIGHT #define MSGBOX_DEFAULT_TIMEOUT g_settings.timing[SNeutrinoSettings::TIMING_STATIC_MESSAGES] #define DEFAULT_MSGBOX_TEXT_MODE (CMsgBox::CENTER | CMsgBox::AUTO_WIDTH | CMsgBox::AUTO_HIGH) From 91d2fa878408c089e7287cea4429399c219ed075 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Wed, 4 Jan 2017 11:57:04 +0100 Subject: [PATCH 14/26] CHintBox: add overloaded version of setMsgText() with locale parameter Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/c60accaeae87bed84011eeb84fe4820f8741e383 Author: Thilo Graf Date: 2017-01-04 (Wed, 04 Jan 2017) --- src/gui/widget/hintbox.cpp | 5 +++++ src/gui/widget/hintbox.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/gui/widget/hintbox.cpp b/src/gui/widget/hintbox.cpp index 45883cc22..45ec42223 100644 --- a/src/gui/widget/hintbox.cpp +++ b/src/gui/widget/hintbox.cpp @@ -330,6 +330,11 @@ void CHintBox::setMsgText(const std::string& Text, const uint& hint_id, const in obj_text->setText(Text, mode, font, color_text, style); } +void CHintBox::setMsgText(const neutrino_locale_t& locale, const uint& hint_id, const int& mode, Font* font_text, const fb_pixel_t& color_text, const int& style) +{ + setMsgText(g_Locale->getText(locale), hint_id, mode, font_text, color_text, style); +} + void CHintBox::ReSize() { int h = (ccw_head ? ccw_head->getHeight() : 0); diff --git a/src/gui/widget/hintbox.h b/src/gui/widget/hintbox.h index 728edc73c..0bd123c45 100644 --- a/src/gui/widget/hintbox.h +++ b/src/gui/widget/hintbox.h @@ -290,6 +290,12 @@ class CHintBox : public CComponentsWindow Font* font_text = NULL, const fb_pixel_t& color_text = COL_MENUCONTENT_TEXT, const int& style = CComponentsText::FONT_STYLE_REGULAR); + void setMsgText(const neutrino_locale_t& locale, + const uint& hint_id = 0, + const int& mode = CTextBox::AUTO_WIDTH | CTextBox::AUTO_HIGH | CTextBox::CENTER, + Font* font_text = NULL, + const fb_pixel_t& color_text = COL_MENUCONTENT_TEXT, + const int& style = CComponentsText::FONT_STYLE_REGULAR); }; /** From e012f6b3f59cb903b0ed5523b54573f2484258eb Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 5 Jan 2017 23:07:58 +0100 Subject: [PATCH 15/26] icons: better visibility for some icons Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/4955b4e34211582ba264025c6c8932f320c06f5d Author: vanhofen Date: 2017-01-05 (Thu, 05 Jan 2017) Origin message was: ------------------ - icons: better visibility for some icons --- data/icons/status/info/info0_off.png | Bin 402 -> 402 bytes data/icons/status/info/info1_off.png | Bin 505 -> 503 bytes data/icons/status/info/info2_off.png | Bin 390 -> 391 bytes data/icons/status/info/info3_off.png | Bin 286 -> 287 bytes data/icons/various/star-off.png | Bin 269 -> 380 bytes data/icons/various/star-on.png | Bin 221 -> 386 bytes data/icons/various/stars.png | Bin 841 -> 694 bytes data/icons/various/stars_bg.png | Bin 827 -> 676 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/icons/status/info/info0_off.png b/data/icons/status/info/info0_off.png index 7c64b5dd577696aea5db69a99ed28b781b47c41a..46957439af9b3a7f1e0bab86ca822d00ac792910 100644 GIT binary patch delta 369 zcmV-%0gnEX1Cj%fDu4d~{{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jKw)6*4bJKC`v}00AFKL_t(Y$L-X=E`wnd$MKIck}xp20VY%JeJ%iT4V^@^yU|RA zLEMD)0?q}H5Ed?g1*5LbYkA+Kw5gU#m!9eQcfP+T=lq_BX@5*QW{N?jQrW=;R{qF* zM>Qf^P|C7QmSx5ShhJ(u03xD^HJqX|1h|6+){C-qM~^^C zsfopis9_U#1K_tPM?@VWsH5F=<^#nA9#TqmJm$GS3cx&0aE*A$~T delta 369 zcmV-%0gnEX1Cj%fDt}=BVE|z+u@zeY000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jC0|5F!NLkuu-_00AFKL_t(Y$L-X=E`wnd$MKKWNW#G62ADe4Wze{SK1nALx*N?@ z7{qXHL3!`Tm}q^LrkqF@NcpDF*d=y@oR^|B?BM zMnrU=lx3ML%Zv#QOE@nkrJjufUc=Kbz>nDc!ulitBBG5|9OHcm@H<*qE6UOveF7<^ zHWngc59_!Y0KY~xBAQsta|a7x0}m;sJ=~&-Cb~Um-cVfNE~V7OeV+TH0L+lHDP;p{e2V>u=;mkVae!@y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jKw)6*4bJKC`v}00D$aL_t(Y$L-a+6cxc&>|KJBZ^qr*$EO1f)9|w!oa;Ydw;{S?pH!$<-loX=FES- zb`SrhM;4ltc~mb|a&X zY>(g~&f^S@;(t(S-oy`l!AGoR=FdSDM8qQQV6kD#rY+ky#Tz`z%y*4|h&YKS7+36{ z@B*K)o|&7a?_r$4SzO1t%AL2knVH|V0THo;$2d^SY$-FJ^$h+7p4QaAO33OcA|B%I z9?$k5o=3#-0=GIGhpbqa&+P(NvDIK)$ATs^?eo z6{ql^vSq(+Q=9`ffljQLJVSMmo6Z|Aou}NSQxmo*?$Ymx_i3`iIoFSGc(Wp z=WX}lzjVl4lX5s5PMY+Y+2|h;qtZUA+lt9#qJAo}iKWVE3%=M^!C*#pn>f*ySuOZd zn@=$Vuv})nIBmghgLeU@ng0dp8@#JUJCKM_LZ<3o!C|g8)K;ktvsdt40lL<4UjTcN z!HjH=;R-I|9Dk1ENNL`}53J!cRxe!9``Zduw~nz zU&%Vo;BjTke&bqZzO8Q2RgCa3GvDo{@ey%(`gUaI%0Ky%i-UfX4;=6Z5%#eA-J`8U P00000NkvXXu0mjfN_p54 diff --git a/data/icons/status/info/info2_off.png b/data/icons/status/info/info2_off.png index 82238c7b9a596b474b8ea4639223f5e13acd338f..2111d097d0eaaebb6ef6039b5cdbca28309ed70a 100644 GIT binary patch delta 358 zcmV-s0h#`W1BU~UDu4d~{{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jKw)6*4f&Hoiju009(9L_t(Y$L-TGN<%>u1<;dVA!uWz3rVTX)IlQlDO^Di6x@Lb zk`36{2ZITi?t!*hhhSqN7|_PpjPRL65(_~g7lzM&^Zvbe-hchW3M>41)XG9i=@1<> zuwLDZh+6KM7N5OgjBZ5qs~h!#{1QFv;vJ90`a)TM#~yA{N*8lake&DNj5bCQFN5t9O3?kwbEj(oL?P7hQtk?2b_N(M8tng3p3Hx(cV`?QZD*ylh07*qoM6N<$ Eg8A{8JOBUy delta 357 zcmV-r0h<1Y1BL^TDt}=BVE|z+u@zeY000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jC0`4G1i7ZV@5?009$8L_t(Y$L-TGN&`U{1>i5iLeR!a4`Qh|2%^{v;|YSG;0;6w zxq$Fv9}Fg-wYE8jU}GT|FpaSpVHsDVg`ltxhGqZx_q{j&+kc@!gFlZ}Sx71Eql--} zSN9^Km3!vJXRnx`9}&aqM!O*IVSp{n@KCG|l=T_5ag|a!uRTF_KEM+Wa2pZx?~Ea( z)ItZBSi^2aT*FeOubZC-5pnaAIcFo|l+q!FIKn4^O+4eaa5rB-Ud?fYY3BNz!Ec~? zf=LdlgYg#*7hYixE4Zr@=x2e;Jj+o;ynQp|b|$~brC#kl$iLWeex2f_nD<8Rdn`0o zvvW9$h|}5(BH{$QxX2(~zI+g*0iKhaLd=&dWe zz8rMai=X~oZ~B3j{KXu+p4tiAA^p#6UdlJ#`o_3m;)*1Z_7EE@HEnM{pverLu6{1- HoD!M>V5R(&D^5bA9djb>nA;4JWnEM{Qf76xHPhFNnYfP(BLp1!W^4|v#lxme2I z-i`tat@di=;q8<_TpYjHKz*@&zUqBHtfQ@qcVzh!O%tXX;KR{a@_sy!rfil7fCeXlW z@lEV?G<(A_?(v9+;%_svT`Nh$IKx6k(;@7Cid|wA?Lo-Qr?QWWU;K=7td!c1(LSkk zR7R?@!^}MRvSp(#vY%r68<3OC-04-dMg^P3Z{%-P0JVAoiimNHmFG1Uv4oovn~aEN zFN|7v!4Bp#^C~khF^65WyRoWu0eZ%CX5MuMGxHT05f_;C@9iB)-#@t^4I+L30000< KMNUMnLSTX+d6}I6 delta 252 zcmVfm@$WHPE{7zDo3$E;}d4rvHbFkv3oOiReTJ$klS+l0(^NIKiS=soFlD!yB z%9F zGRhj}qmKm*H!|@}N}_EudK9%CNyQ*%?xRQDX$+(6JVIVR!iDP?#*1wyIy#Q+c#fY; zqv^q-C3Q_q#2{NODPJa}vOtFPv;UXdGO(Y-= zEVDa1d*;lX<*zK{X)WYwZBSly2&^4!j|3F*w1VBZMq<>$0v1D_u8#t=-?QH<9Q$kVBk`{|IU8~(k$1K6`aY%)lP QYybcN07*qoM6N<$g3;!lg#Z8m delta 204 zcmV;-05kuB1Kk0T8Gi%-008{QM%(}Z0HjGoK~yLet-&!4!C(M};jc-<&{(<&ae&@| z4iXW27e}a=#04rgiz7&+tHBAl0uhVF6&T6OAA_c?O2qR>zo0@z-!NpLVptqGs2ClL zwu-RESSbw$51)XL33rSe5g`FS9*zuLwtTX|)eB`}@+>Lo4MmG7X_2y+lQdHvVv-ih z!Mfzs$vQv!9m`nv~LP{RR20000HK_mq0z*ke zK~!ko?U}u66hRn=pIbks2tiM{z-c@`U{OIZAsmXFv5;URg54An?9~WzC|IOXY(hXI z`4c2t3gSPIs{{iUS`EQiC}QALFpvSi3P)Lv?8kj2?-y< zM&YoH!eQaJEnl@!SS?yV$T8P7V7d=43-33-06Z#Me`ki9OTcyD7qHmF*C4##d;nYq ze)pISbL(ei#3|qyaKc96g&x)-yx;s?U^k#_6gG?0&obi8So=l~3lZLL{#LAgyGZ?# zOQA!+A)o?`xO)}27c=Wm;34n{SO-44`+GMoyubVqa2hxQ90v9S2Y^P0Us}LNcdY^M zfS15VKl)0Wjekbm2RsALb?NwJ;EHPt?=N2lR)9TS^51|7;7dRHN}F~7ptNbb{d}p5 zNuB~zN}IOu-t((KEtXyL#2PTFv{~&}|Nqw9QRO^vDK#zbD{W>IswCn4X#DA?#IAP!X)!bn`TDYF1+9TYv5GE@GGTFebD+zRdXdpr;;P>3hy_+H)X6` zgnp6{8z~btax6r6zxmOWv04%O!4_$?1{`#cZ-7bQJn+`_9ZfrX6yAIO46wsJZo2<} zGk|q{yKEGW4O%})aO`)W35+XkT1uN`U<|n9{uyOCUU+}`tNcCEdk&P9Hj7G|CvLlb z;og}ZwEk9S&0m4zN}CVyPNmHcV9rM25^yqQA;SC3uLE_Z%}NKq30$&KSO+c^s4pQQ cA+gQl57}v5)v*fnYXATM07*qoM6N<$g7zUR4FCWD literal 841 zcmV-P1GfB$P)000jN1^@s6V}-;P00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zSd76)oAqe0u-@0@g`H zK~!ko?buI9R6!gE@bApq*W1?COv)5QBcesoa0 z5_F3U3QLouEQ+Ag((R90i<eF5uN zzt1bc?@#st0KWCL_PE~qdN;nIqWf;kbpW7#Cb&%u5J3Yb9L3{DPYM z%p8S)+~g!G>vtK?-(|ue&|#1XGSfc*G+A%`N_-3e$k3^1HvKhTRp&Xbf|(lusgR)} zK}vzt7;|KVjMV^~h==}coDFsSt$ypRFV#x`sO@-?R=(ftPkr%q-~b{4)>^PJU_)S~ zg>crvh)Vd=6EIP~hqpWlSkA08SBXQxjDGd}~M3Tz}u8?ZKDB7oN* z%*-In&Yj+IVf6XZ#iaGtm*OP=qDLx>6pc0ufd!YE}zJq`fx zZg0uo(iGtf#`?1JF#xDPk}F6e-Y6g&1PIctVXaA!!;oG8)&x?f)?}k90BE}SDX;%x ze4$uhem=IS0d0~3&PE+5WYg0^htV);H3K6Lc!?xPnV8P1_&*0=z4b-E=sg0DyZZF}daF=Hn`pZDZyi0P>1&sc$+zsuw((e0^iFFZ=~rU(Vjf=D+7R)`L+L T-LQ8U00000NkvXXu0mjf=OKo# diff --git a/data/icons/various/stars_bg.png b/data/icons/various/stars_bg.png index be87f9d2c7b629916507b4890b9dc131074b0ca7..072b90073de8330b6feaafcce6040f54d39bc613 100644 GIT binary patch literal 676 zcmV;V0$crwP)=X45OjqIt8slaDhNhoQDlvU1RD|TCD^MGWRHS{jbig5_#l6R zq!q+}AX^CrEVK;9LJX$+a9Rc5&%=#0!2YdvUfluN7E{r=LFFyht2lfGbft|oEpx)t^Ch#F#OTb&;1+X%R zzND3ZM%)fO1y1$o_<7($XgeP-Uj`O{tv&Kzfn&huLG&fH5&%i9u%FNMFv$~ON>a=D z==nvU+Lm3ri6vlM(&C`{|F`CjD(7xUsabJH((RNg$@zHsBy7JYbNHsD$zkf3Qp)a! zz)Z>{_a!xQ%68}D=3fCvQifkjstsE|t!f_2&>8C@?K&Sfzb#{|T!em_5$hQf)w@`T z^KtXz8DrHV^piExY8BWW9$y2Kz-i!3=-Z!l_UL@{{0U$~cw7zt|7L*ip>LC!O$=K< zNpb8qpaC3})RZ(2OaM2+KchUyJ0CB9k-tZJ&w#R|SxJw>cKtlOGd*nmwa%Kq00$+# zZ|{`!1CW``0f#dd;(XlvGEkGW(7~?)=gh1IoGnn_!^6X4oyQ-1i&@X&H^0pQ0000< KMNUMnLSTX=!z~y9 literal 827 zcmV-B1H}A^P)000jN1^@s6V}-;P00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zSd778XO~#+(2E0?0{3 zK~!ko?buI96j2-p@b7QN+1Zp`BZLgZB07j5L{?^55lK)92GMEv5ZyfmT{?9Qx_dFY z3mxp@K@Wzy21VH+f+7m-pQyXJ%iFR(b-UF{r3jWHvr zJ=X7WUsk{$GiLz+Q&UqzzVEli0PCvlt&A zKj6CVUElW|-}fCNN{x+;9c#b(dPg7M&hK>c*4K}x;$V7u`jXbVM=5pK^StAUM53FB zJZ6ScN@cUzcZEVBV~knUTEFr!a-{4=Q;n|_>+8=u z0MK@MqmWwb769!45R1i(<2Z0#7ryV~&%v@ailY4h&~f{7*#xTbm12GU`G%4PCy1zJ zeSICdT#lG|UP}2(Yki@yu@ORuhA4{S|5yRmTVIvmQa~a~WV6|rF=n2bhlCIxl~RhC zkFKt+K8T{|ij*=A0GWFpdLIhZ>MQ<~w7%|q=??f7zR`-s-nmLDtu?x3T%}`3>q Date: Thu, 5 Jan 2017 23:42:23 +0100 Subject: [PATCH 16/26] themes: better visibility for progressbars Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/251632ddf0a215255394f2e4da53abb78b4226b1 Author: vanhofen Date: 2017-01-05 (Thu, 05 Jan 2017) Origin message was: ------------------ - themes: better visibility for progressbars --- data/themes/Material_Grey_(Dark).theme | 6 +++--- data/themes/Material_Grey_(Medium).theme | 6 +++--- src/gui/themes.cpp | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/data/themes/Material_Grey_(Dark).theme b/data/themes/Material_Grey_(Dark).theme index 182127cae..d1f905421 100644 --- a/data/themes/Material_Grey_(Dark).theme +++ b/data/themes/Material_Grey_(Dark).theme @@ -128,6 +128,6 @@ progressbar_active_green=62 progressbar_active_blue=62 # 900 -progressbar_passive_red=13 -progressbar_passive_green=13 -progressbar_passive_blue=13 +progressbar_passive_red=26 +progressbar_passive_green=26 +progressbar_passive_blue=26 diff --git a/data/themes/Material_Grey_(Medium).theme b/data/themes/Material_Grey_(Medium).theme index 7832697fb..441debf27 100644 --- a/data/themes/Material_Grey_(Medium).theme +++ b/data/themes/Material_Grey_(Medium).theme @@ -128,6 +128,6 @@ progressbar_active_green=62 progressbar_active_blue=62 # 800 -progressbar_passive_red=26 -progressbar_passive_green=26 -progressbar_passive_blue=26 +progressbar_passive_red=38 +progressbar_passive_green=38 +progressbar_passive_blue=38 diff --git a/src/gui/themes.cpp b/src/gui/themes.cpp index c209da2d4..8281c5d38 100644 --- a/src/gui/themes.cpp +++ b/src/gui/themes.cpp @@ -438,12 +438,12 @@ void CThemes::getTheme(CConfigFile &configfile) t.progressbar_timescale_invert = configfile.getInt32("progressbar_timescale_invert", 0); //NI - t.progressbar_active_red = configfile.getInt32( "progressbar_active_red", 98 ); - t.progressbar_active_green = configfile.getInt32( "progressbar_active_green", 98 ); - t.progressbar_active_blue = configfile.getInt32( "progressbar_active_blue", 98 ); - t.progressbar_passive_red = configfile.getInt32( "progressbar_passive_red", 62 ); - t.progressbar_passive_green = configfile.getInt32( "progressbar_passive_green", 62 ); - t.progressbar_passive_blue = configfile.getInt32( "progressbar_passive_blue", 62 ); + t.progressbar_active_red = configfile.getInt32( "progressbar_active_red", 62 ); + t.progressbar_active_green = configfile.getInt32( "progressbar_active_green", 62 ); + t.progressbar_active_blue = configfile.getInt32( "progressbar_active_blue", 62 ); + t.progressbar_passive_red = configfile.getInt32( "progressbar_passive_red", 26 ); + t.progressbar_passive_green = configfile.getInt32( "progressbar_passive_green", 26 ); + t.progressbar_passive_blue = configfile.getInt32( "progressbar_passive_blue", 26 ); } void CThemes::move_userDir() From 0a8605fbd45a59c2163eba2fd8b730015cd3456f Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Sun, 8 Jan 2017 14:39:38 +0100 Subject: [PATCH 17/26] CComponentsFrmClock/CInfoClock: simplify font init Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/ffeb2d6459ae1c0a2668f5c2cf4cc8ad85a5466a Author: Thilo Graf Date: 2017-01-08 (Sun, 08 Jan 2017) --- src/gui/components/cc_frm_clock.cpp | 28 ++++++++++++++-------------- src/gui/components/cc_frm_clock.h | 10 +++++++--- src/gui/infoclock.cpp | 9 ++------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/gui/components/cc_frm_clock.cpp b/src/gui/components/cc_frm_clock.cpp index 5adcd7b45..0ca83c8ec 100644 --- a/src/gui/components/cc_frm_clock.cpp +++ b/src/gui/components/cc_frm_clock.cpp @@ -75,11 +75,8 @@ CComponentsFrmClock::CComponentsFrmClock( const int& x_pos, //init default font cl_font = font; cl_font_style = font_style; - if (cl_font == NULL){ - int dx = 0; - int dy = 30; - setClockFont(*CNeutrinoFonts::getInstance()->getDynFont(dx, dy, cl_format_str, cl_font_style)); - } + if (cl_font == NULL) + initClockFont(0, g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight()); //init general clock dimensions height = cl_font->getHeight(); @@ -114,6 +111,11 @@ CComponentsFrmClock::~CComponentsFrmClock() delete cl_timer; } +void CComponentsFrmClock::initClockFont(int dx, int dy) +{ + setClockFont(*CNeutrinoFonts::getInstance()->getDynFont(dx, dy, cl_format_str, cl_font_style)); +} + void CComponentsFrmClock::initTimeString() { @@ -380,15 +382,13 @@ void CComponentsFrmClock::paint(bool do_save_bg) void CComponentsFrmClock::setClockFont(Font *font, const int& style) { - if (cl_font != font) - cl_font = font; - - if (style != -1) - cl_font_style = style; - -// setHeight(cl_font->getHeight()); -// setWidth(cl_font->getRenderWidth(cl_format_str)); - initCCLockItems(); + if (cl_font != font || (cl_font != font)){ + if (cl_font != font) + cl_font = font; + if (style != -1) + cl_font_style = style; + //initCCLockItems(); + } } Font* CComponentsFrmClock::getClockFont() diff --git a/src/gui/components/cc_frm_clock.h b/src/gui/components/cc_frm_clock.h index c46dc0bad..ddc5abbbb 100644 --- a/src/gui/components/cc_frm_clock.h +++ b/src/gui/components/cc_frm_clock.h @@ -88,9 +88,8 @@ class CComponentsFrmClock : public CComponentsForm, public CCTextScreen bool stopClock(); ///switch between primary and secondary format void toggleFormat(); - - ///return pointer of font object - Font* getClockFont(); + ///init internal font + void initClockFont(int dx, int dy); public: @@ -121,6 +120,9 @@ class CComponentsFrmClock : public CComponentsForm, public CCTextScreen */ void setClockFont(Font * font, const int& style = -1); + ///return pointer of font object + Font* getClockFont(); + ///set text color virtual void setTextColor(fb_pixel_t color_text){ cl_col_text = color_text;} @@ -132,6 +134,8 @@ class CComponentsFrmClock : public CComponentsForm, public CCTextScreen ///use string expession: "%H:%M" = 12:22, "%H:%M:%S" = 12:22:12 ///set current time format string, 1st parameter set the default format, 2nd parameter sets an alternatively format for use as blink effect virtual void setClockFormat(const char* prformat_str, const char* secformat_str = NULL); + ///get current time format string, + std::string getClockFormat(){return cl_format;} ///start and paint ticking clock virtual bool Start(); diff --git a/src/gui/infoclock.cpp b/src/gui/infoclock.cpp index 0971e2401..c0e8ebc58 100644 --- a/src/gui/infoclock.cpp +++ b/src/gui/infoclock.cpp @@ -73,17 +73,12 @@ void CInfoClock::initCCLockItems() setClockFormat("%H:%M", "%H %M"); //set height, NOTE: height is strictly bound to settings - if (g_settings.infoClockFontSize != height){ - height = g_settings.infoClockFontSize; - int dx = 0; - int dy = height; - setClockFont(*CNeutrinoFonts::getInstance()->getDynFont(dx, dy, cl_format_str, cl_font_style)); - } + height = g_settings.infoClockFontSize; + initClockFont(0, height); // set corner radius depending on clock height corner_rad = (g_settings.rounded_corners) ? std::max(height/10, CORNER_RADIUS_SMALL) : 0; - CComponentsFrmClock::initCCLockItems(); CVolumeHelper::getInstance()->refresh(cl_font); CVolumeHelper::getInstance()->getInfoClockDimensions(&x, &y, &width, &height); } From c310f69985fc40a9466e8ffab68b2f91fe52f966 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Sun, 8 Jan 2017 15:03:25 +0100 Subject: [PATCH 18/26] CVolumeHelper: fix info clock position after changed clock osd settings After increased clock height settings, position of infoclock was wrong. Old font instance and old width were not changed related to new instance. TODO: It works but procedure with helper class seems is rather elaborate and should be thoroughly revised. I recommend callbacks via native type save signal/slot handler. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/236ca5395438fc1792ad9fbf2f6f602e081ae29c Author: Thilo Graf Date: 2017-01-08 (Sun, 08 Jan 2017) --- src/gui/volumebar.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gui/volumebar.cpp b/src/gui/volumebar.cpp index acf528f1e..982c15e12 100644 --- a/src/gui/volumebar.cpp +++ b/src/gui/volumebar.cpp @@ -293,13 +293,13 @@ void CVolumeHelper::Init(Font* font) void CVolumeHelper::initInfoClock(Font* font) { - if (clock_font == NULL){ - if (font == NULL) { - clock_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]; - } - else - clock_font = font; + if (font == NULL) { + int dx = 0; + int dy = g_settings.infoClockFontSize; + clock_font = *CNeutrinoFonts::getInstance()->getDynFont(dx, dy, g_settings.infoClockSeconds ? "%H:%M:%S" : "%H:%M"); } + else + clock_font = font; digit_offset = (clock_font)->getDigitOffset(); digit_h = (clock_font)->getDigitHeight(); From 7741cb2a3ec56384e240a8ab1bf935f4fe76adda Mon Sep 17 00:00:00 2001 From: Marc Szymkowiak Date: Mon, 9 Jan 2017 19:39:30 +0100 Subject: [PATCH 19/26] add entry to load saved epg data manual Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/9b2a0d44146f2516d93e8e9cb30451e522b64f71 Author: Marc Szymkowiak Date: 2017-01-09 (Mon, 09 Jan 2017) --- data/locale/deutsch.locale | 2 ++ data/locale/english.locale | 2 ++ src/gui/miscsettings_menu.cpp | 14 ++++++++++++++ src/gui/miscsettings_menu.h | 3 ++- src/system/locals.h | 2 ++ src/system/locals_intern.h | 2 ++ 6 files changed, 24 insertions(+), 1 deletion(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 96b9a5525..ad5fe2adf 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1042,6 +1042,7 @@ menu.hint_epg_max_events Maxiale Anzahl der Events im Zwischenspeicher menu.hint_epg_old_events Veraltete EPG-Daten werden nach dieser Zeit (in Stunden) verworfen menu.hint_epg_read Liest nach einem Neustart die EPG-Daten von einem externen Datenträger wieder ein menu.hint_epg_read_frequently Liest die EPG-Daten in regelmäßigen Abständen von einem externen Datenträger +menu.hint_epg_read_now Liest die EPG-Daten von einem externen Datenträger ein menu.hint_epg_save Speichert die EPG-Daten beim Herunterfahren auf einem externen Datenträger menu.hint_epg_save_frequently Speichert die EPG-Daten in regelmäßigen Abständen auf einem externen Datenträger menu.hint_epg_save_mode Speichert die EPG-Daten nur für Sender, die in die Favoriten aufgenommen sind @@ -1518,6 +1519,7 @@ miscsettings.epg_old_events_hint1 Wie lange abgelaufene EPG-Daten aufheben? miscsettings.epg_old_events_hint2 Angabe in Stunden miscsettings.epg_read Gespeicherte EPG-Daten einlesen miscsettings.epg_read_frequently EPG regelmäßig einlesen +miscsettings.epg_read_now Gespeichterte EPG-Daten jetzt einlesen miscsettings.epg_save EPG zwischenspeichern miscsettings.epg_save_frequently EPG regelmäßig speichern miscsettings.epg_save_mode Nur Favoriten diff --git a/data/locale/english.locale b/data/locale/english.locale index 4ff1c72e3..5b3f6e6e4 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1042,6 +1042,7 @@ menu.hint_epg_max_events Maximum events to cache. After reaching limit\nEPG cach menu.hint_epg_old_events Hours after event end time to consider\nevent old and remove it from cache menu.hint_epg_read Read saved EPG data after boot from an external device menu.hint_epg_read_frequently Read cached EPG data in frequently intervals from an external device +menu.hint_epg_read_now Read saved EPG data from an external device menu.hint_epg_save Save cached EPG data to an external device menu.hint_epg_save_frequently Save cached EPG data in frequently intervals to an external device menu.hint_epg_save_mode Cache EPG only for channels present in favorite bouquets @@ -1518,6 +1519,7 @@ miscsettings.epg_old_events_hint1 How long will EPG-Data be stored after they ti miscsettings.epg_old_events_hint2 Set in hours miscsettings.epg_read Restore EPG on boot miscsettings.epg_read_frequently Restore EPG frequently +miscsettings.epg_read_now Restore EPG now miscsettings.epg_save Save EPG on shutdown miscsettings.epg_save_frequently Save EPG frequently miscsettings.epg_save_mode Favorites only diff --git a/src/gui/miscsettings_menu.cpp b/src/gui/miscsettings_menu.cpp index 49bafb4bd..176629ac6 100644 --- a/src/gui/miscsettings_menu.cpp +++ b/src/gui/miscsettings_menu.cpp @@ -58,6 +58,8 @@ #include #include +#include + extern CPlugins * g_PluginList; extern cVideo *videoDecoder; @@ -69,6 +71,7 @@ CMiscMenue::CMiscMenue() epg_save_standby = NULL; epg_save_frequently = NULL; epg_read = NULL; + epg_read_now = NULL; epg_read_frequently = NULL; epg_dir = NULL; } @@ -141,6 +144,12 @@ int CMiscMenue::exec(CMenuTarget* parent, const std::string &actionKey) { return showMiscSettingsMenuOnlineServices(); } + else if(actionKey == "epg_read_now") + { + printf("Reading epg cache from %s....\n", g_settings.epg_dir.c_str()); + g_Sectionsd->readSIfromXML(g_settings.epg_dir.c_str()); + return menu_return::RETURN_REPAINT; + } return showMiscSettingsMenu(); } @@ -422,6 +431,9 @@ void CMiscMenue::showMiscSettingsMenuEpg(CMenuWidget *ms_epg) epg_dir = new CMenuForwarder(LOCALE_MISCSETTINGS_EPG_DIR, (g_settings.epg_save || g_settings.epg_read), g_settings.epg_dir, this, "epgdir"); epg_dir->setHint("", LOCALE_MENU_HINT_EPG_DIR); + epg_read_now = new CMenuForwarder(LOCALE_MISCSETTINGS_EPG_READ_NOW, g_settings.epg_read, NULL, this, "epg_read_now"); + epg_read_now->setHint("", LOCALE_MENU_HINT_EPG_READ_NOW); + epg_cache = to_string(g_settings.epg_cache); if (epg_cache.length() < 2) epg_cache.insert(0, 2 - epg_cache.length(), ' '); @@ -468,6 +480,7 @@ void CMiscMenue::showMiscSettingsMenuEpg(CMenuWidget *ms_epg) ms_epg->addItem(epg_read); ms_epg->addItem(epg_read_frequently); ms_epg->addItem(epg_dir); + ms_epg->addItem(epg_read_now); ms_epg->addItem(GenericMenuSeparatorLine); ms_epg->addItem(mf); ms_epg->addItem(mf1); @@ -641,6 +654,7 @@ bool CMiscMenue::changeNotify(const neutrino_locale_t OptionName, void * /*data* else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_MISCSETTINGS_EPG_READ)) { epg_read_frequently->setActive(g_settings.epg_read); + epg_read_now->setActive(g_settings.epg_read); epg_dir->setActive(g_settings.epg_read || g_settings.epg_save); CNeutrinoApp::getInstance()->SendSectionsdConfig(); diff --git a/src/gui/miscsettings_menu.h b/src/gui/miscsettings_menu.h index b8bbaa1a7..61e01b561 100644 --- a/src/gui/miscsettings_menu.h +++ b/src/gui/miscsettings_menu.h @@ -36,7 +36,7 @@ //#define CPU_FREQ class CMiscMenue : public CMenuTarget, CChangeObserver -{ +{ private: CFanControlNotifier *fanNotifier; CSectionsdConfigNotifier* sectionsdConfigNotifier; @@ -51,6 +51,7 @@ class CMiscMenue : public CMenuTarget, CChangeObserver CMenuOptionChooser * youtube_onoff; CMenuOptionChooser * shoutcast_onoff; CMenuForwarder * epg_dir; + CMenuForwarder * epg_read_now; int width; std::string epg_cache; std::string epg_extendedcache; diff --git a/src/system/locals.h b/src/system/locals.h index 9bc970415..18546341d 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1069,6 +1069,7 @@ typedef enum LOCALE_MENU_HINT_EPG_OLD_EVENTS, LOCALE_MENU_HINT_EPG_READ, LOCALE_MENU_HINT_EPG_READ_FREQUENTLY, + LOCALE_MENU_HINT_EPG_READ_NOW, LOCALE_MENU_HINT_EPG_SAVE, LOCALE_MENU_HINT_EPG_SAVE_FREQUENTLY, LOCALE_MENU_HINT_EPG_SAVE_MODE, @@ -1545,6 +1546,7 @@ typedef enum LOCALE_MISCSETTINGS_EPG_OLD_EVENTS_HINT2, LOCALE_MISCSETTINGS_EPG_READ, LOCALE_MISCSETTINGS_EPG_READ_FREQUENTLY, + LOCALE_MISCSETTINGS_EPG_READ_NOW, LOCALE_MISCSETTINGS_EPG_SAVE, LOCALE_MISCSETTINGS_EPG_SAVE_FREQUENTLY, LOCALE_MISCSETTINGS_EPG_SAVE_MODE, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 2ec577772..f2d76e08d 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1069,6 +1069,7 @@ const char * locale_real_names[] = "menu.hint_epg_old_events", "menu.hint_epg_read", "menu.hint_epg_read_frequently", + "menu.hint_epg_read_now", "menu.hint_epg_save", "menu.hint_epg_save_frequently", "menu.hint_epg_save_mode", @@ -1545,6 +1546,7 @@ const char * locale_real_names[] = "miscsettings.epg_old_events_hint2", "miscsettings.epg_read", "miscsettings.epg_read_frequently", + "miscsettings.epg_read_now", "miscsettings.epg_save", "miscsettings.epg_save_frequently", "miscsettings.epg_save_mode", From c2f6fc5539655069a371f2de296e53579d939049 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Mon, 9 Jan 2017 17:26:13 +0100 Subject: [PATCH 20/26] CComponentsFrmClock: disable digit height Using of digit height is not really required here. eg. better centering Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/d0aa901d709e7f3e028ec792ce8e1e06824ef40d Author: Thilo Graf Date: 2017-01-09 (Mon, 09 Jan 2017) --- src/gui/components/cc_frm_clock.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/components/cc_frm_clock.cpp b/src/gui/components/cc_frm_clock.cpp index 0ca83c8ec..9a0dd0070 100644 --- a/src/gui/components/cc_frm_clock.cpp +++ b/src/gui/components/cc_frm_clock.cpp @@ -262,12 +262,12 @@ void CComponentsFrmClock::initCCLockItems() lbl->doPaintTextBoxBg(paint_bg); bool save_txt_screen = cc_txt_save_screen || (!paint_bg || cc_body_gradient_enable); lbl->enableTboxSaveScreen(save_txt_screen); - +#if 0 //use matching height for digits for better vertical centerring into form CTextBox* ctb = lbl->getCTextBoxObject(); if (ctb) ctb->setFontUseDigitHeight(); -#if 0 + //ensure paint of text and label bg on changed text or painted form background bool force_txt_and_bg = (lbl->textChanged() || this->paint_bg); lbl->forceTextPaint(force_txt_and_bg); From db337a9a4d3977980e9b2c2818e545ff0779a6f0 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Mon, 9 Jan 2017 21:28:59 +0100 Subject: [PATCH 21/26] CComponentsFrmClock: add missing reinit Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/002cc4c74e0b388b6f3a3393bbadb36a8ae4ad45 Author: Thilo Graf Date: 2017-01-09 (Mon, 09 Jan 2017) --- src/gui/components/cc_frm_clock.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/components/cc_frm_clock.cpp b/src/gui/components/cc_frm_clock.cpp index 9a0dd0070..d1a9cbc7a 100644 --- a/src/gui/components/cc_frm_clock.cpp +++ b/src/gui/components/cc_frm_clock.cpp @@ -387,8 +387,8 @@ void CComponentsFrmClock::setClockFont(Font *font, const int& style) cl_font = font; if (style != -1) cl_font_style = style; - //initCCLockItems(); } + initCCLockItems(); } Font* CComponentsFrmClock::getClockFont() From 6f985bbb6b7a82b4a82d765f25237599ac4f61a9 Mon Sep 17 00:00:00 2001 From: Andrej Tobola Date: Wed, 11 Jan 2017 07:44:52 +0100 Subject: [PATCH 22/26] Update slovak.locale New update, is it submitted in correct way? Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/5791e328032ab92266f549b2e658f60b675bd712 Author: Andrej Tobola Date: 2017-01-11 (Wed, 11 Jan 2017) --- data/locale/slovak.locale | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data/locale/slovak.locale b/data/locale/slovak.locale index 153c31359..b871855b1 100644 --- a/data/locale/slovak.locale +++ b/data/locale/slovak.locale @@ -712,6 +712,7 @@ fontmenu.scaling_x_hint2 Vodorovne (v %) min 50 / max 200 fontmenu.scaling_y Zvislo (v %) fontmenu.scaling_y_hint2 Zvislo (v %) min 50 / max 200 fontmenu.sizes Veľkosti písma +fontsize.button_text Text tlačidla fontsize.channel_num_zap Priamy výber fontsize.channellist Zoznam kanálov fontsize.channellist_descr Popis @@ -1041,6 +1042,7 @@ menu.hint_epg_max_events Maximálny počet uložených udalostí. Po dosiahnutí menu.hint_epg_old_events Hodiny po skončení udalosti, kedy sa označí\nako staré a odstráni sa z uložených menu.hint_epg_read Po reštarte načíta uložené EPG údaje z externého zariadenia menu.hint_epg_read_frequently Načíta uložené EPG údaje v častejších intervaloch z externého zariadenia +menu.hint_epg_read_now Načítať uložené EPG údaje z externého zariadenia menu.hint_epg_save Uloženie EPG na disk alebo usb\pre načítanie po spustení menu.hint_epg_save_frequently Ukladanie EPG v pravidelných intervaloch na externé zariadenie menu.hint_epg_save_mode Ukladať EPG iba pre kanály uložené v obľúbených buketoch @@ -1517,6 +1519,7 @@ miscsettings.epg_old_events_hint1 Ako dlho zapisovať EPG údaje po skončení? miscsettings.epg_old_events_hint2 Nastavenie v hodinách. miscsettings.epg_read Obnoviť EPG po reštarte miscsettings.epg_read_frequently Časté obnovovanie EPG +miscsettings.epg_read_now Obnoviť EPG miscsettings.epg_save Uložiť EPG pred vypnutím miscsettings.epg_save_frequently Periodické ukladanie EPG miscsettings.epg_save_mode Iba obľúbené From efa0ace74fee1b4a32d9993eb33598f16a8757b8 Mon Sep 17 00:00:00 2001 From: Andrej Tobola Date: Wed, 11 Jan 2017 08:00:28 +0100 Subject: [PATCH 23/26] Update slovak.locale Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/c4679651f451b5c8c39966ac8b8c05de8c87423a Author: Andrej Tobola Date: 2017-01-11 (Wed, 11 Jan 2017) --- data/locale/slovak.locale | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/locale/slovak.locale b/data/locale/slovak.locale index b871855b1..9255842a5 100644 --- a/data/locale/slovak.locale +++ b/data/locale/slovak.locale @@ -2374,8 +2374,8 @@ timerlist.repeat.wednesday St timerlist.repeat.weekdays v dňoch týždňa timerlist.repeat.weekly týždenne timerlist.repeatcount Opakovanie -timerlist.repeatcount.help1 Počet opakovaní -timerlist.repeatcount.help2 ´0´ - stále opakuj +timerlist.repeatcount.hint_1 Počet opakovaní časovača +timerlist.repeatcount.hint_1 0 pre neobmedzené opakovania timerlist.save Uložiť plán timerlist.standby Akcia timerlist.standby.off Opustiť pohotovostný režim From 66e0281beb8b83aee5a9781880c32ee2bf80f1c5 Mon Sep 17 00:00:00 2001 From: Andrej Tobola Date: Wed, 11 Jan 2017 08:24:02 +0100 Subject: [PATCH 24/26] Update slovak.locale Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/adcc5c4285587374c17e49ede18cc591600e8d8d Author: Andrej Tobola Date: 2017-01-11 (Wed, 11 Jan 2017) --- data/locale/slovak.locale | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/locale/slovak.locale b/data/locale/slovak.locale index 9255842a5..c292260db 100644 --- a/data/locale/slovak.locale +++ b/data/locale/slovak.locale @@ -2375,7 +2375,7 @@ timerlist.repeat.weekdays v dňoch týždňa timerlist.repeat.weekly týždenne timerlist.repeatcount Opakovanie timerlist.repeatcount.hint_1 Počet opakovaní časovača -timerlist.repeatcount.hint_1 0 pre neobmedzené opakovania +timerlist.repeatcount.hint_2 0 pre neobmedzené opakovania timerlist.save Uložiť plán timerlist.standby Akcia timerlist.standby.off Opustiť pohotovostný režim From 862f212214f77993a0940ab4e655b88c873dc87e Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Tue, 10 Jan 2017 22:07:49 +0100 Subject: [PATCH 25/26] CHintBox: add possibility to left hintbox with RC_up and RC_down RC_up and RC_down are used for text scroll, but most message texts are small and no scroll mode is required. In case of large texts it should falling back to scroll mode. Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/1d8de839d576a9d844b7fa31ebc8c97957deb864 Author: Thilo Graf Date: 2017-01-10 (Tue, 10 Jan 2017) --- src/gui/widget/hintbox.cpp | 13 ++++++++++--- src/gui/widget/hintbox.h | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gui/widget/hintbox.cpp b/src/gui/widget/hintbox.cpp index 45ec42223..9be2aae6f 100644 --- a/src/gui/widget/hintbox.cpp +++ b/src/gui/widget/hintbox.cpp @@ -134,6 +134,8 @@ void CHintBox::init(const std::string& Text, const int& Width, const std::string hb_font = MSG_FONT; + enable_txt_scroll = false; + //enable shadow shadow = CC_SHADOW_ON; @@ -219,10 +221,14 @@ int CHintBox::exec() } else if ((msg == CRCInput::RC_up) || (msg == CRCInput::RC_down)) { - if (msg == CRCInput::RC_up) - this->scroll_up(); + if (enable_txt_scroll){ + if (msg == CRCInput::RC_up) + this->scroll_up(); + else + this->scroll_down(); + } else - this->scroll_down(); + res = messages_return::cancel_all; } else if (CNeutrinoApp::getInstance()->listModeKey(msg)){ // do nothing //TODO: if passed rc messages are ignored rc messaages: has no effect here too!! @@ -274,6 +280,7 @@ void CHintBox::addHintItem(const std::string& Text, const int& text_mode, const if (h_lines > h_hint_obj){ txt_mode = text_mode | CTextBox::SCROLL; ccw_buttons = ccw_buttons | CComponentsHeader::CC_BTN_UP | CComponentsHeader::CC_BTN_DOWN; + enable_txt_scroll = true; } /* define y start position of infobox inside body */ diff --git a/src/gui/widget/hintbox.h b/src/gui/widget/hintbox.h index 0bd123c45..187752286 100644 --- a/src/gui/widget/hintbox.h +++ b/src/gui/widget/hintbox.h @@ -60,6 +60,7 @@ class CHintBox : public CComponentsWindow int y_hint_obj; int h_hint_obj; int w_indentation; + bool enable_txt_scroll; Font* hb_font; From d4224c27644e2cef6aba041e4250f4f5ffeb1dd3 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 11 Jan 2017 22:15:36 +0100 Subject: [PATCH 26/26] fix readepg from sectionsdcontrol :supplement to 02f848ab9acbe5769305f510a715899b1722f57b new try Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/31325875db0b398c721f6e80c0eff83b529d1382 Author: Jacek Jendrzej Date: 2017-01-11 (Wed, 11 Jan 2017) Origin message was: ------------------ fix readepg from sectionsdcontrol :supplement to 02f848ab9acbe5769305f510a715899b1722f57b new try --- src/eitd/sectionsd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index e131b423d..38b9300e1 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -1225,7 +1225,7 @@ static void commandReadSIfromXML(int connfd, char *data, const unsigned dataLeng writeLockMessaging(); data[dataLength] = '\0'; - epg_dir = (std::string)data + "/"; + static std::string epg_dir_tmp = (std::string)data + "/"; unlockMessaging(); @@ -1233,7 +1233,7 @@ static void commandReadSIfromXML(int connfd, char *data, const unsigned dataLeng pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - if (pthread_create (&thrInsert, &attr, insertEventsfromFile, (void *)epg_dir.c_str() )) + if (pthread_create (&thrInsert, &attr, insertEventsfromFile, (void *)epg_dir_tmp.c_str() )) { perror("sectionsd: pthread_create()"); }