- eventlist: make additional infos switchable

* new menu 'eventlist' in osd-setup
* fix offset in infozone
* fontsize for infozone adjustable
This commit is contained in:
svenhoefer
2013-04-13 11:13:23 +02:00
parent d937082cd5
commit 473d6f38ba
10 changed files with 78 additions and 22 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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);
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,6 +677,7 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c
}
}
if (cc_infozone)
delete cc_infozone;
cc_infozone = NULL;
oldIndex = -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;
}

View File

@@ -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))

View File

@@ -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);

View File

@@ -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);

View File

@@ -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,

View File

@@ -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,

View File

@@ -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",

View File

@@ -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