diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 993e4cfbd..7b52239cf 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -319,6 +319,8 @@ eventfinder.search_within_epg Suche innerhalb EPG-Daten eventfinder.search_within_list Suche innerhalb Text eventfinder.searching Suche... eventfinder.start_search Suche starten +eventlist.additional Zusatzinformationen +eventlist.name Eventliste eventlistbar.channelswitch Umschalten eventlistbar.eventsort Sortieren eventlistbar.recordevent Aufnehmen @@ -530,6 +532,7 @@ fontsize.epg_info1 EPG Info 1 fontsize.epg_info2 EPG Info 2 fontsize.epg_title EPG Titel fontsize.eventlist_datetime Datum/Zeit +fontsize.eventlist_event Event Info fontsize.eventlist_itemlarge Groß fontsize.eventlist_itemsmall Klein fontsize.eventlist_title Titel @@ -765,7 +768,9 @@ menu.hint_epg_old_events Veraltete EPG-Daten werden nach dieser Zeit (in Stunden menu.hint_epg_save Speichert die EPG-Daten auf einem externen Datenträger und läd es von dort nach einen Neustart menu.hint_epg_save_standby Speichert die EPG-Daten auch im Standby-Modus menu.hint_event_textcolor Ändern Sie die Farbe für farbige Events in der Kanalliste und der Infobar +menu.hint_eventlist_additional Definiert, ob zusätzliche Informationen im Hauptfenster angezeigt werden sollen menu.hint_eventlist_fonts Ändern Sie die Schriftgröße in der Event-Liste +menu.hint_eventlist_setup Wählen Sie die Anzeigeoptionen für die Event-Liste menu.hint_extended Energiespar-, EPG-Speicher- und Lade-Optionen, HDMI-CEC, Startkanal und mehr menu.hint_factory Zurücksetzen der Box auf Werkseinstellungen.\nDie Box wird danach neu gestartet menu.hint_fade Bei aktivierter Funktion werden die Menüfenster 'weich' ein- bzw. ausgeblendet diff --git a/data/locale/english.locale b/data/locale/english.locale index e7a99dced..26fd83ed2 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -319,6 +319,8 @@ eventfinder.search_within_epg Search within eventfinder.search_within_list Search within eventfinder.searching Search for keyword in EPG... eventfinder.start_search Start Search +eventlist.additional Additional informations +eventlist.name Eventlist eventlistbar.channelswitch schedule eventlistbar.eventsort sorting eventlistbar.recordevent record @@ -530,6 +532,7 @@ fontsize.epg_info1 EPG Info 1 fontsize.epg_info2 EPG Info 2 fontsize.epg_title EPG Title fontsize.eventlist_datetime Date / Time +fontsize.eventlist_event Event Info fontsize.eventlist_itemlarge Large fontsize.eventlist_itemsmall Small fontsize.eventlist_title Title @@ -765,7 +768,9 @@ menu.hint_epg_old_events Hours after event end time to consider\nevent old and r menu.hint_epg_save Save cached EPG to harddisk or usb flash\nand load it after boot menu.hint_epg_save_standby Save EPG on soft standby mode menu.hint_event_textcolor Change event color for colored-event options\nin channel list and infobar +menu.hint_eventlist_additional Show additional informations\nin main box menu.hint_eventlist_fonts Change event list font sizes +menu.hint_eventlist_setup Configure event list GUI options menu.hint_extended Power saving, EPG save/load options\nHDMI-CEC, Start channel, zap options menu.hint_factory Reset box to factory state\nBox will reboot after reset menu.hint_fade Fade GUI windows diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 368cc583c..45f65c0c4 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -249,7 +249,10 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c full_width = frameBuffer->getScreenWidthRel(); x = getScreenStartX(full_width); - width = full_width / 3 * 2; + if (g_settings.eventlist_additional) + width = full_width / 3 * 2; + else + width = full_width; height = frameBuffer->getScreenHeightRel(); iheight = ::paintButtons(0, 0, 0, 1, tmp_button, 0, 0, false, COL_INFOBAR_SHADOW, NULL, 0, false); @@ -282,7 +285,8 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c infozone_width = full_width - width; // init right info_zone - cc_infozone = new CComponentsText(x+width+5, y+theight+10, infozone_width-10, listmaxshow*fheight-20); + if (g_settings.eventlist_additional) + cc_infozone = new CComponentsText(x+width+10, y+theight, infozone_width-20, listmaxshow*fheight); int res = menu_return::RETURN_REPAINT; //printf("CNeutrinoEventList::exec: channel_id %llx\n", channel_id); @@ -673,7 +677,8 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c } } - delete cc_infozone; + if (cc_infozone) + delete cc_infozone; cc_infozone = NULL; oldIndex = -1; oldEventID = -1; @@ -816,6 +821,9 @@ void CNeutrinoEventList::paintItem(unsigned int pos, t_channel_id channel_idI) void CNeutrinoEventList::paintDescription(int index) { + if (!g_settings.eventlist_additional) + return; + if (evtlist[index].eventID == oldEventID) { if (oldEventID == 0) { if (index == oldIndex) @@ -838,7 +846,7 @@ void CNeutrinoEventList::paintDescription(int index) else infozone_text = g_Locale->getText(LOCALE_EPGLIST_NOEVENTS); - cc_infozone->setText(infozone_text, CTextBox::TOP, g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_ITEMLARGE]); + cc_infozone->setText(infozone_text, CTextBox::TOP, g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_EVENT]); cc_infozone->doPaintBg(false); cc_infozone->paint(CC_SAVE_SCREEN_NO); } @@ -901,7 +909,7 @@ void CNeutrinoEventList::paint(t_channel_id channel_id) } // paint background for right box - if (!bgRightBoxPaint) { + if (g_settings.eventlist_additional && !bgRightBoxPaint) { frameBuffer->paintBoxRel(x+width,y+theight,infozone_width,listmaxshow*fheight,COL_MENUCONTENT_PLUS_0); bgRightBoxPaint = true; } diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index ee7a147e6..0cfa661f1 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -91,12 +91,13 @@ const SNeutrinoSettings::FONT_TYPES channellist_font_sizes[5] = SNeutrinoSettings::FONT_TYPE_CHANNEL_NUM_ZAP }; -const SNeutrinoSettings::FONT_TYPES eventlist_font_sizes[4] = +const SNeutrinoSettings::FONT_TYPES eventlist_font_sizes[5] = { SNeutrinoSettings::FONT_TYPE_EVENTLIST_TITLE, SNeutrinoSettings::FONT_TYPE_EVENTLIST_ITEMLARGE, SNeutrinoSettings::FONT_TYPE_EVENTLIST_ITEMSMALL, SNeutrinoSettings::FONT_TYPE_EVENTLIST_DATETIME, + SNeutrinoSettings::FONT_TYPE_EVENTLIST_EVENT }; const SNeutrinoSettings::FONT_TYPES infobar_font_sizes[4] = @@ -134,7 +135,7 @@ font_sizes_groups font_sizes_groups[6] = { {LOCALE_FONTMENU_MENU , 5, other_font_sizes , "fontsize.doth", LOCALE_MENU_HINT_MENU_FONTS }, {LOCALE_FONTMENU_CHANNELLIST, 5, channellist_font_sizes, "fontsize.dcha", LOCALE_MENU_HINT_CHANNELLIST_FONTS }, - {LOCALE_FONTMENU_EVENTLIST , 4, eventlist_font_sizes , "fontsize.deve", LOCALE_MENU_HINT_EVENTLIST_FONTS }, + {LOCALE_FONTMENU_EVENTLIST , 5, eventlist_font_sizes , "fontsize.deve", LOCALE_MENU_HINT_EVENTLIST_FONTS }, {LOCALE_FONTMENU_EPG , 4, epg_font_sizes , "fontsize.depg", LOCALE_MENU_HINT_EPG_FONTS }, {LOCALE_FONTMENU_INFOBAR , 4, infobar_font_sizes , "fontsize.dinf", LOCALE_MENU_HINT_INFOBAR_FONTS }, {LOCALE_FONTMENU_GAMELIST , 2, gamelist_font_sizes , "fontsize.dgam", LOCALE_MENU_HINT_GAMELIST_FONTS } @@ -157,6 +158,7 @@ font_sizes_struct neutrino_font[FONT_TYPE_COUNT] = {LOCALE_FONTSIZE_EVENTLIST_ITEMLARGE, 20, FONT_STYLE_BOLD , 1}, {LOCALE_FONTSIZE_EVENTLIST_ITEMSMALL, 14, FONT_STYLE_REGULAR, 1}, {LOCALE_FONTSIZE_EVENTLIST_DATETIME , 16, FONT_STYLE_REGULAR, 1}, + {LOCALE_FONTSIZE_EVENTLIST_EVENT , 17, FONT_STYLE_REGULAR, 1}, {LOCALE_FONTSIZE_GAMELIST_ITEMLARGE , 20, FONT_STYLE_BOLD , 1}, {LOCALE_FONTSIZE_GAMELIST_ITEMSMALL , 16, FONT_STYLE_REGULAR, 1}, {LOCALE_FONTSIZE_CHANNELLIST , 20, FONT_STYLE_BOLD , 1}, @@ -447,10 +449,17 @@ int COsdSetup::showOsdSetup() mf->setHint("", LOCALE_MENU_HINT_CHANNELLIST_SETUP); osd_menu->addItem(mf); + //eventlist + CMenuWidget osd_menu_eventlist(LOCALE_MAINMENU_SETTINGS, NEUTRINO_ICON_SETTINGS, width, MN_WIDGET_ID_OSDSETUP_EVENTLIST); + showOsdEventlistSetup(&osd_menu_eventlist); + mf = new CMenuForwarder(LOCALE_EVENTLIST_NAME, true, NULL, &osd_menu_eventlist, NULL, CRCInput::RC_4); + mf->setHint("", LOCALE_MENU_HINT_EVENTLIST_SETUP); + osd_menu->addItem(mf); + //screenshot CMenuWidget osd_menu_screenshot(LOCALE_MAINMENU_SETTINGS, NEUTRINO_ICON_SETTINGS, width, MN_WIDGET_ID_OSDSETUP_SCREENSHOT); showOsdScreenShotSetup(&osd_menu_screenshot); - mf = new CMenuForwarder(LOCALE_SCREENSHOT_MENU, true, NULL, &osd_menu_screenshot, NULL, CRCInput::RC_4); + mf = new CMenuForwarder(LOCALE_SCREENSHOT_MENU, true, NULL, &osd_menu_screenshot, NULL, CRCInput::RC_5); mf->setHint("", LOCALE_MENU_HINT_SCREENSHOT_SETUP); osd_menu->addItem(mf); @@ -834,6 +843,19 @@ void COsdSetup::showOsdChanlistSetup(CMenuWidget *menu_chanlist) menu_chanlist->addItem(mc); } +//eventlist +void COsdSetup::showOsdEventlistSetup(CMenuWidget *menu_eventlist) +{ + CMenuOptionChooser * mc; + + menu_eventlist->addIntroItems(LOCALE_EVENTLIST_NAME); + + // eventlist additional + mc = new CMenuOptionChooser(LOCALE_EVENTLIST_ADDITIONAL, &g_settings.eventlist_additional, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); + mc->setHint("", LOCALE_MENU_HINT_EVENTLIST_ADDITIONAL); + menu_eventlist->addItem(mc); +} + bool COsdSetup::changeNotify(const neutrino_locale_t OptionName, void * data) { if(ARE_LOCALES_EQUAL(OptionName, LOCALE_COLORMENU_CONTRAST_FONTS)) diff --git a/src/gui/osd_setup.h b/src/gui/osd_setup.h index e62f6f793..d3a84ce30 100644 --- a/src/gui/osd_setup.h +++ b/src/gui/osd_setup.h @@ -57,6 +57,7 @@ class COsdSetup : public CMenuTarget, public CChangeObserver void showOsdTimeoutSetup(CMenuWidget *menu_timeout); void showOsdInfobarSetup(CMenuWidget *menu_infobar); void showOsdChanlistSetup(CMenuWidget *menu_chanlist); + void showOsdEventlistSetup(CMenuWidget *menu_eventlist); void showOsdScreenShotSetup(CMenuWidget *menu_screenshot); void AddFontSettingItem(CMenuWidget &font_Settings, const SNeutrinoSettings::FONT_TYPES number_of_fontsize_entry); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 5f269773e..b09f89e20 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -606,6 +606,7 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.mode_clock = configfile.getInt32( "mode_clock", 0); g_settings.zapto_pre_time = configfile.getInt32( "zapto_pre_time", 0); g_settings.spectrum = configfile.getBool("spectrum" , false); + g_settings.eventlist_additional = configfile.getInt32("eventlist_additional", 0); g_settings.channellist_additional = configfile.getInt32("channellist_additional", 0); //default off g_settings.channellist_epgtext_align_right = configfile.getBool("channellist_epgtext_align_right" , false); g_settings.channellist_extended = configfile.getBool("channellist_extended" , true); @@ -1031,6 +1032,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setInt32( "mode_clock", g_settings.mode_clock ); configfile.setInt32( "zapto_pre_time", g_settings.zapto_pre_time ); configfile.setBool("spectrum", g_settings.spectrum); + configfile.setInt32("eventlist_additional", g_settings.eventlist_additional); configfile.setInt32("channellist_additional", g_settings.channellist_additional); configfile.setBool("channellist_epgtext_align_right", g_settings.channellist_epgtext_align_right); configfile.setBool("channellist_extended" , g_settings.channellist_extended); diff --git a/src/neutrino_menue.h b/src/neutrino_menue.h index 3efe11bd3..970bc2afc 100644 --- a/src/neutrino_menue.h +++ b/src/neutrino_menue.h @@ -55,6 +55,7 @@ enum MN_WIDGET_ID //osd setup MN_WIDGET_ID_OSDSETUP, MN_WIDGET_ID_OSDSETUP_CHANNELLIST, + MN_WIDGET_ID_OSDSETUP_EVENTLIST, MN_WIDGET_ID_OSDSETUP_FONT, MN_WIDGET_ID_OSDSETUP_FONTSCALE, MN_WIDGET_ID_OSDSETUP_INFOBAR, diff --git a/src/system/locals.h b/src/system/locals.h index dc9fadf40..ccea4e1df 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -346,6 +346,8 @@ typedef enum LOCALE_EVENTFINDER_SEARCH_WITHIN_LIST, LOCALE_EVENTFINDER_SEARCHING, LOCALE_EVENTFINDER_START_SEARCH, + LOCALE_EVENTLIST_ADDITIONAL, + LOCALE_EVENTLIST_NAME, LOCALE_EVENTLISTBAR_CHANNELSWITCH, LOCALE_EVENTLISTBAR_EVENTSORT, LOCALE_EVENTLISTBAR_RECORDEVENT, @@ -557,6 +559,7 @@ typedef enum LOCALE_FONTSIZE_EPG_INFO2, LOCALE_FONTSIZE_EPG_TITLE, LOCALE_FONTSIZE_EVENTLIST_DATETIME, + LOCALE_FONTSIZE_EVENTLIST_EVENT, LOCALE_FONTSIZE_EVENTLIST_ITEMLARGE, LOCALE_FONTSIZE_EVENTLIST_ITEMSMALL, LOCALE_FONTSIZE_EVENTLIST_TITLE, @@ -792,7 +795,9 @@ typedef enum LOCALE_MENU_HINT_EPG_SAVE, LOCALE_MENU_HINT_EPG_SAVE_STANDBY, LOCALE_MENU_HINT_EVENT_TEXTCOLOR, + LOCALE_MENU_HINT_EVENTLIST_ADDITIONAL, LOCALE_MENU_HINT_EVENTLIST_FONTS, + LOCALE_MENU_HINT_EVENTLIST_SETUP, LOCALE_MENU_HINT_EXTENDED, LOCALE_MENU_HINT_FACTORY, LOCALE_MENU_HINT_FADE, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 5445feccb..36bf350c7 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -346,6 +346,8 @@ const char * locale_real_names[] = "eventfinder.search_within_list", "eventfinder.searching", "eventfinder.start_search", + "eventlist.additional", + "eventlist.name", "eventlistbar.channelswitch", "eventlistbar.eventsort", "eventlistbar.recordevent", @@ -557,6 +559,7 @@ const char * locale_real_names[] = "fontsize.epg_info2", "fontsize.epg_title", "fontsize.eventlist_datetime", + "fontsize.eventlist_event", "fontsize.eventlist_itemlarge", "fontsize.eventlist_itemsmall", "fontsize.eventlist_title", @@ -792,7 +795,9 @@ const char * locale_real_names[] = "menu.hint_epg_save", "menu.hint_epg_save_standby", "menu.hint_event_textcolor", + "menu.hint_eventlist_additional", "menu.hint_eventlist_fonts", + "menu.hint_eventlist_setup", "menu.hint_extended", "menu.hint_factory", "menu.hint_fade", diff --git a/src/system/settings.h b/src/system/settings.h index 6e1856b26..f02441fe3 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -419,6 +419,7 @@ struct SNeutrinoSettings int pip_y; int bigFonts; int big_windows; + int eventlist_additional; int channellist_additional; int channellist_epgtext_align_right; int channellist_extended; @@ -466,7 +467,7 @@ struct SNeutrinoSettings // Font sizes -#define FONT_TYPE_COUNT 24 +#define FONT_TYPE_COUNT 25 enum FONT_TYPES { FONT_TYPE_MENU = 0, FONT_TYPE_MENU_TITLE = 1, @@ -479,19 +480,20 @@ struct SNeutrinoSettings FONT_TYPE_EVENTLIST_ITEMLARGE = 8, FONT_TYPE_EVENTLIST_ITEMSMALL = 9, FONT_TYPE_EVENTLIST_DATETIME = 10, - FONT_TYPE_GAMELIST_ITEMLARGE = 11, - FONT_TYPE_GAMELIST_ITEMSMALL = 12, - FONT_TYPE_CHANNELLIST = 13, - FONT_TYPE_CHANNELLIST_DESCR = 14, - FONT_TYPE_CHANNELLIST_NUMBER = 15, - FONT_TYPE_CHANNELLIST_EVENT = 16, - FONT_TYPE_CHANNEL_NUM_ZAP = 17, - FONT_TYPE_INFOBAR_NUMBER = 18, - FONT_TYPE_INFOBAR_CHANNAME = 19, - FONT_TYPE_INFOBAR_INFO = 20, - FONT_TYPE_INFOBAR_SMALL = 21, - FONT_TYPE_FILEBROWSER_ITEM = 22, - FONT_TYPE_MENU_HINT = 23 + FONT_TYPE_EVENTLIST_EVENT = 11, + FONT_TYPE_GAMELIST_ITEMLARGE = 12, + FONT_TYPE_GAMELIST_ITEMSMALL = 13, + FONT_TYPE_CHANNELLIST = 14, + FONT_TYPE_CHANNELLIST_DESCR = 15, + FONT_TYPE_CHANNELLIST_NUMBER = 16, + FONT_TYPE_CHANNELLIST_EVENT = 17, + FONT_TYPE_CHANNEL_NUM_ZAP = 18, + FONT_TYPE_INFOBAR_NUMBER = 19, + FONT_TYPE_INFOBAR_CHANNAME = 20, + FONT_TYPE_INFOBAR_INFO = 21, + FONT_TYPE_INFOBAR_SMALL = 22, + FONT_TYPE_FILEBROWSER_ITEM = 23, + FONT_TYPE_MENU_HINT = 24 }; // lcdd