diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index ea55fa02c..b38882db7 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1154,6 +1154,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 @@ -1682,6 +1683,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 c57f56963..5f1d7d239 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1154,6 +1154,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 @@ -1682,6 +1683,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/data/locale/slovak.locale b/data/locale/slovak.locale index 153c31359..c292260db 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é @@ -2371,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_2 0 pre neobmedzené opakovania timerlist.save Uložiť plán timerlist.standby Akcia timerlist.standby.off Opustiť pohotovostný režim diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index 72f39fe75..88f7fe61b 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()"); } diff --git a/src/gui/components/cc_frm_clock.cpp b/src/gui/components/cc_frm_clock.cpp index 0ca83c8ec..d1a9cbc7a 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); @@ -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() 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/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; diff --git a/src/system/locals.h b/src/system/locals.h index b5ab61615..cebda5393 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1181,6 +1181,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, @@ -1709,6 +1710,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 a92e7e00b..0bf865bcd 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1181,6 +1181,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", @@ -1709,6 +1710,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",