From 1658fe3b8f9171f60178116cf51d52a44c9f524a Mon Sep 17 00:00:00 2001 From: vanhofen Date: Fri, 6 May 2022 23:41:05 +0200 Subject: [PATCH] channellist: allow epgtext alignment Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/3a657e396084bf9d6090f47d580dd639ec76b622 Author: vanhofen Date: 2022-05-06 (Fri, 06 May 2022) Origin message was: ------------------ - channellist: allow epgtext alignment ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 12 ++++++++---- data/locale/english.locale | 12 ++++++++---- data/y-web/Y_neutrino_Blocks.txt | 9 +++++---- src/gui/channellist.cpp | 29 ++++++++++++++++------------- src/gui/channellist.h | 7 +++++++ src/gui/osd_setup.cpp | 22 ++++++++++++---------- src/neutrino.cpp | 11 +++++++++-- src/system/locals.h | 12 ++++++++---- src/system/locals_intern.h | 12 ++++++++---- src/system/settings.h | 2 +- version_pseudo.h | 2 +- 11 files changed, 83 insertions(+), 47 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 56a65022d..3a14c3784 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -291,8 +291,10 @@ channellist.edit Bearbeiten channellist.enablesdt_off aus channellist.enablesdt_on ein channellist.enablesdt_on_extended ein (mit PMT) -channellist.epgtext_align_left links -channellist.epgtext_align_right rechts +channellist.epgtext_align_left_bottom links unten +channellist.epgtext_align_left_middle links zentriert +channellist.epgtext_align_right_bottom rechts unten +channellist.epgtext_align_right_middle rechts zentiert channellist.extended Sendungsfortschritt anzeigen channellist.favs Favoriten channellist.foot Kanalinformationen @@ -1937,7 +1939,7 @@ messagebox.ok OK messagebox.yes Ja miscsettings.channellist Kanalliste miscsettings.channellist_enablesdt Transponder Hintergrundaktualisierung -miscsettings.channellist_epgtext_align Event-Text ausrichten +miscsettings.channellist_epgtext_alignment Event-Text ausrichten miscsettings.channellogos Senderlogos miscsettings.colored_events Sendung hervorheben miscsettings.colored_events_0 keine @@ -2785,8 +2787,10 @@ settings.noconffile Die Einstellungen wurden nicht\ngefunden. Es werden Standard settings.pos_bottom_center unten zentriert settings.pos_bottom_left unten links settings.pos_bottom_right unten rechts -settings.pos_default_center zentriert +settings.pos_center zentriert settings.pos_higher_center höher zentriert +settings.pos_left links +settings.pos_right rechts settings.pos_top_center oben zentriert settings.pos_top_left oben links settings.pos_top_right oben rechts diff --git a/data/locale/english.locale b/data/locale/english.locale index 88050eba3..9c888c066 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -291,8 +291,10 @@ channellist.edit Edit channellist.enablesdt_off off channellist.enablesdt_on on channellist.enablesdt_on_extended on (with PMT) -channellist.epgtext_align_left left -channellist.epgtext_align_right right +channellist.epgtext_align_left_bottom left bottom +channellist.epgtext_align_left_middle left middle +channellist.epgtext_align_right_bottom right bottom +channellist.epgtext_align_right_middle right middle channellist.extended Show event progress channellist.favs Favorites channellist.foot Channel information @@ -1937,7 +1939,7 @@ messagebox.ok Ok messagebox.yes Yes miscsettings.channellist Channellist miscsettings.channellist_enablesdt Transponder background update -miscsettings.channellist_epgtext_align Programtext Align +miscsettings.channellist_epgtext_alignment Programtext alignment miscsettings.channellogos Channel logos miscsettings.colored_events Program colored miscsettings.colored_events_0 none @@ -2785,8 +2787,10 @@ settings.noconffile No settings found.\nUsing defaults. settings.pos_bottom_center bottom center settings.pos_bottom_left bottom left settings.pos_bottom_right bottom right -settings.pos_default_center center +settings.pos_center center settings.pos_higher_center higher center +settings.pos_left left +settings.pos_right richt settings.pos_top_center top center settings.pos_top_left top left settings.pos_top_right top right diff --git a/data/y-web/Y_neutrino_Blocks.txt b/data/y-web/Y_neutrino_Blocks.txt index 6fbead163..3f0309fd9 100644 --- a/data/y-web/Y_neutrino_Blocks.txt +++ b/data/y-web/Y_neutrino_Blocks.txt @@ -616,8 +616,9 @@ start-block~neutrino_form-data_diverse Ausrichtung Programmtext - links  - rechts + + links  + rechts @@ -729,7 +730,7 @@ function form_init() document.f.infobar_show.selectedIndex = val; obj_set_radio_value('radiotext', "{=ini-get:%(CONFIGDIR)/neutrino.conf;radiotext_enable;false~cache=}"); - obj_set_radio_value('epgtext_align_right', "{=ini-get:%(CONFIGDIR)/neutrino.conf;channellist_epgtext_align_right;false~cache=}"); + obj_set_radio_value('channellist_epgtext_alignment', "{=ini-get:%(CONFIGDIR)/neutrino.conf;channellist_epgtext_alignment;false~cache=}"); obj_set_radio_value('channellist_extended', "{=ini-get:%(CONFIGDIR)/neutrino.conf;channellist_extended;false~cache=}"); val = "{=ini-get:%(CONFIGDIR)/neutrino.conf;standby_off_with;0=}"; @@ -761,7 +762,7 @@ end-block~neutrino_form-data_diverse # ------- yWeb save Settings start-block~neutrino_diverse_save_settings -{=ini-set:%(CONFIGDIR)/neutrino.conf;channellist_epgtext_align_right;{=epgtext_align_right=}~open=} +{=ini-set:%(CONFIGDIR)/neutrino.conf;channellist_epgtext_alignment;{=channellist_epgtext_alignment=}~open=} {=ini-set:%(CONFIGDIR)/neutrino.conf;channellist_extended;{=channellist_extended=}~cache=} {=ini-set:%(CONFIGDIR)/neutrino.conf;filebrowser_showrights;{=filebrowser_showrights=}~cache=} {=ini-set:%(CONFIGDIR)/neutrino.conf;filebrowser_denydirectoryleave;{=filebrowser_denydirectoryleave=}~cache=} diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index e3240ed3d..bd96c6090 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -2182,10 +2182,10 @@ void CChannelList::paintItem(int pos, const bool firstpaint) if (!p_event->description.empty()) { - if (g_settings.channellist_epgtext_align_right) - snprintf(chan_desc, sizeof(chan_desc), "%s", p_event->description.c_str()); - else + if ((g_settings.channellist_epgtext_alignment == EPGTEXT_ALIGN_LEFT_MIDDLE) || (g_settings.channellist_epgtext_alignment == EPGTEXT_ALIGN_LEFT_BOTTOM)) snprintf(chan_desc, sizeof(chan_desc), " - %s", p_event->description.c_str()); + else + snprintf(chan_desc, sizeof(chan_desc), "%s", p_event->description.c_str()); unsigned int chan_desc_len = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getRenderWidth(chan_desc); @@ -2220,17 +2220,20 @@ void CChannelList::paintItem(int pos, const bool firstpaint) } g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x + OFFSET_INNER_MID + numwidth + OFFSET_INNER_MID + prg_offset + OFFSET_INNER_MID, ypos + fheight, chan_name_len, chan_name, color); - int descr_offset = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getDescender() - g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getDescender(); - if (g_settings.channellist_epgtext_align_right) - { - // align right - g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x + width - SCROLLBAR_WIDTH - offset_right - chan_desc_len, ypos + fheight - descr_offset, chan_desc_len, chan_desc, dcolor); - } + + int chan_desc_x; + if ((g_settings.channellist_epgtext_alignment == EPGTEXT_ALIGN_LEFT_MIDDLE) || (g_settings.channellist_epgtext_alignment == EPGTEXT_ALIGN_LEFT_BOTTOM)) + chan_desc_x = x + OFFSET_INNER_MID + numwidth + OFFSET_INNER_MID + prg_offset + OFFSET_INNER_MID + chan_name_len; else - { - // align left - g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x + OFFSET_INNER_MID + numwidth + OFFSET_INNER_MID + prg_offset + OFFSET_INNER_MID + chan_name_len, ypos + fheight - descr_offset, chan_desc_len, chan_desc, dcolor); - } + chan_desc_x = x + width - SCROLLBAR_WIDTH - offset_right - chan_desc_len; + + int chan_desc_y_off; + if ((g_settings.channellist_epgtext_alignment == EPGTEXT_ALIGN_LEFT_MIDDLE) || (g_settings.channellist_epgtext_alignment == EPGTEXT_ALIGN_RIGHT_MIDDLE)) + chan_desc_y_off = fheight/2 - g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getHeight()/2; + else + chan_desc_y_off = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getDescender() - g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getDescender(); + + g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(chan_desc_x, ypos + fheight - chan_desc_y_off, chan_desc_len, chan_desc, dcolor); } else { diff --git a/src/gui/channellist.h b/src/gui/channellist.h index 73a036fad..6eb884ee0 100644 --- a/src/gui/channellist.h +++ b/src/gui/channellist.h @@ -64,6 +64,13 @@ enum { DISPLAY_MODE_MAX }; +enum { + EPGTEXT_ALIGN_LEFT_MIDDLE = 0, + EPGTEXT_ALIGN_LEFT_BOTTOM, + EPGTEXT_ALIGN_RIGHT_MIDDLE, + EPGTEXT_ALIGN_RIGHT_BOTTOM +}; + enum { CHANLIST_CANCEL = -1, CHANLIST_CANCEL_ALL = -2, diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index 94b356d05..be389027f 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -489,7 +489,7 @@ const CMenuOptionChooser::keyval VOLUMEBAR_DISP_POS_OPTIONS[VOLUMEBAR_DISP_POS_O #define MENU_DISP_POS_OPTIONS_COUNT 5 const CMenuOptionChooser::keyval MENU_DISP_POS_OPTIONS[MENU_DISP_POS_OPTIONS_COUNT]= { - { 0, LOCALE_SETTINGS_POS_DEFAULT_CENTER }, + { 0, LOCALE_SETTINGS_POS_CENTER }, { 1, LOCALE_SETTINGS_POS_TOP_LEFT }, { 2, LOCALE_SETTINGS_POS_TOP_RIGHT }, { 3, LOCALE_SETTINGS_POS_BOTTOM_LEFT }, @@ -520,11 +520,13 @@ const CMenuOptionChooser::keyval CHANNELLIST_FOOT_OPTIONS[CHANNELLIST_FOOT_OPTIO { 2, LOCALE_CHANNELLIST_FOOT_OFF } }; -#define CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS_COUNT 2 -const CMenuOptionChooser::keyval CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS[CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS_COUNT]= +#define CHANNELLIST_EPGTEXT_ALIGNMENT_OPTIONS_COUNT 4 +const CMenuOptionChooser::keyval CHANNELLIST_EPGTEXT_ALIGNMENT_OPTIONS[CHANNELLIST_EPGTEXT_ALIGNMENT_OPTIONS_COUNT]= { - { 0, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT }, - { 1, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT } + { EPGTEXT_ALIGN_LEFT_MIDDLE, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT_MIDDLE }, + { EPGTEXT_ALIGN_LEFT_BOTTOM, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT_BOTTOM }, + { EPGTEXT_ALIGN_RIGHT_MIDDLE, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT_MIDDLE }, + { EPGTEXT_ALIGN_RIGHT_BOTTOM, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT_BOTTOM } }; #define OPTIONS_COLORED_EVENTS_OPTION_COUNT 3 @@ -575,10 +577,10 @@ const CMenuOptionChooser::keyval PROGRESSBAR_COLOR_OPTIONS[PROGRESSBAR_COLOR_OPT #define OPTIONS_CHANNELLOGO_POSITION_COUNT 4 const CMenuOptionChooser::keyval OPTIONS_CHANNELLOGO_POSITION[OPTIONS_CHANNELLOGO_POSITION_COUNT] = { - { 0, LOCALE_OPTIONS_OFF }, // off - { CCHeaderTypes::CC_LOGO_RIGHT, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT }, // right - { CCHeaderTypes::CC_LOGO_LEFT, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT }, // left - { CCHeaderTypes::CC_LOGO_CENTER, LOCALE_SETTINGS_POS_DEFAULT_CENTER } // centered + { 0, LOCALE_OPTIONS_OFF }, // off + { CCHeaderTypes::CC_LOGO_RIGHT, LOCALE_SETTINGS_POS_RIGHT }, // right + { CCHeaderTypes::CC_LOGO_LEFT, LOCALE_SETTINGS_POS_LEFT }, // left + { CCHeaderTypes::CC_LOGO_CENTER, LOCALE_SETTINGS_POS_CENTER } // centered }; // show osd setup @@ -1410,7 +1412,7 @@ void COsdSetup::showOsdChanlistSetup(CMenuWidget *menu_chanlist) menu_chanlist->addItem(mc); // epg align - mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, &g_settings.channellist_epgtext_align_right, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS_COUNT, true); + mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGNMENT, &g_settings.channellist_epgtext_alignment, CHANNELLIST_EPGTEXT_ALIGNMENT_OPTIONS, CHANNELLIST_EPGTEXT_ALIGNMENT_OPTIONS_COUNT, true); mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_EPG_ALIGN); menu_chanlist->addItem(mc); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 696c2f4f5..4ad37056d 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -1243,7 +1243,7 @@ int CNeutrinoApp::loadSetup(const char *fname) g_settings.channellist_displaymode = DISPLAY_MODE_NOW; g_settings.channellist_additional = configfile.getInt32("channellist_additional", 1); // default no minitv - g_settings.channellist_epgtext_align_right = configfile.getBool("channellist_epgtext_align_right", false); + g_settings.channellist_epgtext_alignment = configfile.getInt32("channellist_epgtext_alignment", EPGTEXT_ALIGN_LEFT_MIDDLE); g_settings.channellist_foot = configfile.getInt32("channellist_foot", 1); // default next Event g_settings.channellist_new_zap_mode = configfile.getInt32("channellist_new_zap_mode", 0); g_settings.channellist_numeric_adjust = configfile.getInt32("channellist_numeric_adjust", 0); @@ -1475,6 +1475,13 @@ void CNeutrinoApp::upgradeSetup(const char * fname) g_settings.font_file_monospace = FONTDIR "/tuxtxt.ttf"; configfile.deleteKey("ttx_font_file"); } + if (g_settings.version_pseudo < "20220506230000") + { + g_settings.channellist_epgtext_alignment = configfile.getBool("channellist_epgtext_align_right", false); + if (g_settings.channellist_epgtext_alignment == 1) // old bool + g_settings.channellist_epgtext_alignment = EPGTEXT_ALIGN_RIGHT_MIDDLE; + configfile.deleteKey("channellist_epgtext_align_right"); + } g_settings.version_pseudo = NEUTRINO_VERSION_PSEUDO; configfile.setString("version_pseudo", g_settings.version_pseudo); @@ -2110,7 +2117,7 @@ void CNeutrinoApp::saveSetup(const char *fname) // channellist configfile.setInt32("channellist_additional", g_settings.channellist_additional); - configfile.setBool("channellist_epgtext_align_right", g_settings.channellist_epgtext_align_right); + configfile.setInt32("channellist_epgtext_alignment", g_settings.channellist_epgtext_alignment); configfile.setInt32("channellist_foot", g_settings.channellist_foot); configfile.setInt32("channellist_new_zap_mode", g_settings.channellist_new_zap_mode); configfile.setInt32("channellist_numeric_adjust", g_settings.channellist_numeric_adjust); diff --git a/src/system/locals.h b/src/system/locals.h index 7ef45df26..2b44f8147 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -318,8 +318,10 @@ typedef enum LOCALE_CHANNELLIST_ENABLESDT_OFF, LOCALE_CHANNELLIST_ENABLESDT_ON, LOCALE_CHANNELLIST_ENABLESDT_ON_EXTENDED, - LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT, - LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT, + LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT_BOTTOM, + LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT_MIDDLE, + LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT_BOTTOM, + LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT_MIDDLE, LOCALE_CHANNELLIST_EXTENDED, LOCALE_CHANNELLIST_FAVS, LOCALE_CHANNELLIST_FOOT, @@ -1964,7 +1966,7 @@ typedef enum LOCALE_MESSAGEBOX_YES, LOCALE_MISCSETTINGS_CHANNELLIST, LOCALE_MISCSETTINGS_CHANNELLIST_ENABLESDT, - LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, + LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGNMENT, LOCALE_MISCSETTINGS_CHANNELLOGOS, LOCALE_MISCSETTINGS_COLORED_EVENTS, LOCALE_MISCSETTINGS_COLORED_EVENTS_0, @@ -2812,8 +2814,10 @@ typedef enum LOCALE_SETTINGS_POS_BOTTOM_CENTER, LOCALE_SETTINGS_POS_BOTTOM_LEFT, LOCALE_SETTINGS_POS_BOTTOM_RIGHT, - LOCALE_SETTINGS_POS_DEFAULT_CENTER, + LOCALE_SETTINGS_POS_CENTER, LOCALE_SETTINGS_POS_HIGHER_CENTER, + LOCALE_SETTINGS_POS_LEFT, + LOCALE_SETTINGS_POS_RIGHT, LOCALE_SETTINGS_POS_TOP_CENTER, LOCALE_SETTINGS_POS_TOP_LEFT, LOCALE_SETTINGS_POS_TOP_RIGHT, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 1f7a2178a..80e4308ea 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -318,8 +318,10 @@ const char * locale_real_names[] = "channellist.enablesdt_off", "channellist.enablesdt_on", "channellist.enablesdt_on_extended", - "channellist.epgtext_align_left", - "channellist.epgtext_align_right", + "channellist.epgtext_align_left_bottom", + "channellist.epgtext_align_left_middle", + "channellist.epgtext_align_right_bottom", + "channellist.epgtext_align_right_middle", "channellist.extended", "channellist.favs", "channellist.foot", @@ -1964,7 +1966,7 @@ const char * locale_real_names[] = "messagebox.yes", "miscsettings.channellist", "miscsettings.channellist_enablesdt", - "miscsettings.channellist_epgtext_align", + "miscsettings.channellist_epgtext_alignment", "miscsettings.channellogos", "miscsettings.colored_events", "miscsettings.colored_events_0", @@ -2812,8 +2814,10 @@ const char * locale_real_names[] = "settings.pos_bottom_center", "settings.pos_bottom_left", "settings.pos_bottom_right", - "settings.pos_default_center", + "settings.pos_center", "settings.pos_higher_center", + "settings.pos_left", + "settings.pos_right", "settings.pos_top_center", "settings.pos_top_left", "settings.pos_top_right", diff --git a/src/system/settings.h b/src/system/settings.h index 990907b3a..ad6f6a242 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -1054,7 +1054,7 @@ struct SNeutrinoSettings }; int channellist_additional; - int channellist_epgtext_align_right; + int channellist_epgtext_alignment; int channellist_foot; int channellist_new_zap_mode; int channellist_numeric_adjust; diff --git a/version_pseudo.h b/version_pseudo.h index 82c617df5..c0cc11586 100644 --- a/version_pseudo.h +++ b/version_pseudo.h @@ -1 +1 @@ -#define NEUTRINO_VERSION_PSEUDO "20220130200000" +#define NEUTRINO_VERSION_PSEUDO "20220506230000"