diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 84b2d26e4..74780bbe1 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -861,6 +861,7 @@ glcd.align_none keine glcd.align_right rechts glcd.align_start Sendungsstart ausrichten glcd.align_time Uhrzeit ausrichten +glcd.background BG Bild glcd.bar_width Fortschrittsbalken Weite glcd.bar_x_position Fortschrittsbalken x-Position glcd.bar_y_position Fortschrittsbalken y-Position @@ -904,6 +905,16 @@ glcd.epg_y_position EPG y-Position glcd.font Schrift glcd.font_autoresize Automatische Schriftgröße glcd.head GraphLCD-Unterstützung +glcd.icon_cam_x_position Icon CI x-Position +glcd.icon_dd_x_position Icon Ton x-Position +glcd.icon_ecm_x_position Icon Verschlüsselung x-Position +glcd.icon_mute_x_position Icon Mute x-Position +glcd.icon_rec_x_position Icon Aufnahme x-Position +glcd.icon_timer_x_position Icon Timer x-Position +glcd.icon_ts_x_position Icon Timeshift x-Position +glcd.icon_txt_x_position Icon Radiotext x-Position +glcd.icon_y_percent Icons Höhe +glcd.icon_y_position Icons y-Position glcd.logodir Senderlogo-Verzeichnis glcd.logo_x_position Senderlogo x-Position glcd.logo_y_position Senderlogo y-Position diff --git a/data/locale/english.locale b/data/locale/english.locale index 208983ec1..2458f3e3b 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -861,6 +861,7 @@ glcd.align_none none glcd.align_right right glcd.align_start Event start arrangement glcd.align_time Time arrangement +glcd.background BG Picture glcd.bar_width Progressbar width glcd.bar_x_position Progressbar x-position glcd.bar_y_position Progressbar y-position @@ -904,6 +905,16 @@ glcd.epg_y_position EPG y-position glcd.font Font glcd.font_autoresize Auto size glcd.head GraphLCD-support +glcd.icon_cam_x_position Icon CI x-position +glcd.icon_dd_x_position Icon Audio x-position +glcd.icon_ecm_x_position Icon Crypt x-position +glcd.icon_mute_x_position Icon Mute x-position +glcd.icon_rec_x_position Icon Record x-position +glcd.icon_timer_x_position Icon Timer x-position +glcd.icon_ts_x_position Icon Timeshift x-position +glcd.icon_txt_x_position Icon Radiotext x-position +glcd.icon_y_percent Icons height +glcd.icon_y_position Icons y-position glcd.logodir Channel logo directory glcd.logo_x_position Channel logo x-position glcd.logo_y_position Channel logo y-position diff --git a/src/driver/glcd/glcd.cpp b/src/driver/glcd/glcd.cpp index 4f71ebae6..a64ffa682 100644 --- a/src/driver/glcd/glcd.cpp +++ b/src/driver/glcd/glcd.cpp @@ -540,11 +540,11 @@ void cGLCD::Exec() } else { if (txtLocked) { drawText(t.glcd_icon_txt_x_position, t.glcd_icons_y_position, - bitmap->Width() - 1, SmalltextWidth, "txt", &font_smalltext, GLCD::cColor::Green, + bitmap->Width() - 1, SmalltextWidth, "rt", &font_smalltext, GLCD::cColor::Green, GLCD::cColor::Transparent, true, 0, 0); } else { drawText(t.glcd_icon_txt_x_position, t.glcd_icons_y_position, - bitmap->Width() - 1, SmalltextWidth, "txt", &font_smalltext, GLCD::cColor::Gray, + bitmap->Width() - 1, SmalltextWidth, "rt", &font_smalltext, GLCD::cColor::Gray, GLCD::cColor::Transparent, true, 0, 0); } } diff --git a/src/gui/glcdsetup.cpp b/src/gui/glcdsetup.cpp index 4b859e32f..e2f7b8e6e 100644 --- a/src/gui/glcdsetup.cpp +++ b/src/gui/glcdsetup.cpp @@ -181,6 +181,20 @@ int GLCD_Menu::exec(CMenuTarget* parent, const std::string & actionKey) } return res; } + else if (actionKey == "select_background") + { + CFileBrowser fileBrowser; + CFileFilter fileFilter; + fileFilter.addFilter("jpg"); + fileFilter.addFilter("jpeg"); + fileFilter.addFilter("png"); + fileBrowser.Filter = &fileFilter; + if (fileBrowser.exec(THEMESDIR) == true) + t.glcd_background_image = fileBrowser.getSelectedFile()->Name; + else + t.glcd_background_image = ""; + return res; + } else if (actionKey == "brightness_default") { g_settings.glcd_brightness = GLCD_DEFAULT_BRIGHTNESS; @@ -457,11 +471,13 @@ int GLCD_Menu::GLCD_Theme_Settings() SNeutrinoGlcdTheme &t = g_settings.glcd_theme; //sigc::slot0 slot_repaint = sigc::mem_fun(gts, &CMenuWidget::paint); //we want to repaint after changed Option - gts->addItem(new CMenuForwarder(LOCALE_GLCD_THEME, true, NULL, CGLCDThemes::getInstance(), NULL, CRCInput::RC_red)); + gts->addItem(new CMenuForwarder(LOCALE_GLCD_THEME, true, NULL, CGLCDThemes::getInstance(), NULL, CRCInput::RC_0)); gts->addItem(GenericMenuSeparatorLine); - gts->addItem(new CMenuForwarder(LOCALE_GLCD_FONT, true, t.glcd_font, this, "select_font", CRCInput::RC_green)); + gts->addItem(new CMenuForwarder(LOCALE_GLCD_FONT, true, t.glcd_font, this, "select_font", CRCInput::RC_red)); + + gts->addItem(new CMenuForwarder(LOCALE_GLCD_BACKGROUND, true, t.glcd_background_image, this, "select_background", CRCInput::RC_green)); gts->addItem(new CMenuForwarder(LOCALE_GLCD_POSITION_SETTINGS, t.glcd_position_settings, NULL, this, "position_settings", CRCInput::RC_yellow)); @@ -596,6 +612,29 @@ int GLCD_Menu::GLCD_Theme_Position_Settings() gtps->addItem(new CMenuOptionChooser(LOCALE_GLCD_SHOW_WEATHER, &t.glcd_weather, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); + gtps->addItem(GenericMenuSeparatorLine); + + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_Y_PERCENT, + &t.glcd_icons_percent, true, 0, 100, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_Y_POSITION, + &t.glcd_icons_y_position, true, 0, oled_height, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_CAM_X_POSITION, + &t.glcd_icon_cam_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_DD_X_POSITION, + &t.glcd_icon_dd_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_ECM_X_POSITION, + &t.glcd_icon_ecm_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_MUTE_X_POSITION, + &t.glcd_icon_mute_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_REC_X_POSITION, + &t.glcd_icon_rec_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_TIMER_X_POSITION, + &t.glcd_icon_timer_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_TS_X_POSITION, + &t.glcd_icon_ts_x_position, true, 0, oled_width, this)); + gtps->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_ICON_TXT_X_POSITION, + &t.glcd_icon_txt_x_position, true, 0, oled_width, this)); + int res = gtps->exec(NULL, ""); delete gtps; cGLCD::getInstance()->StandbyMode(false); diff --git a/src/system/locals.h b/src/system/locals.h index 7167e6fb4..c22cb4022 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -888,6 +888,7 @@ typedef enum LOCALE_GLCD_ALIGN_RIGHT, LOCALE_GLCD_ALIGN_START, LOCALE_GLCD_ALIGN_TIME, + LOCALE_GLCD_BACKGROUND, LOCALE_GLCD_BAR_WIDTH, LOCALE_GLCD_BAR_X_POSITION, LOCALE_GLCD_BAR_Y_POSITION, @@ -931,6 +932,16 @@ typedef enum LOCALE_GLCD_FONT, LOCALE_GLCD_FONT_AUTORESIZE, LOCALE_GLCD_HEAD, + LOCALE_GLCD_ICON_CAM_X_POSITION, + LOCALE_GLCD_ICON_DD_X_POSITION, + LOCALE_GLCD_ICON_ECM_X_POSITION, + LOCALE_GLCD_ICON_MUTE_X_POSITION, + LOCALE_GLCD_ICON_REC_X_POSITION, + LOCALE_GLCD_ICON_TIMER_X_POSITION, + LOCALE_GLCD_ICON_TS_X_POSITION, + LOCALE_GLCD_ICON_TXT_X_POSITION, + LOCALE_GLCD_ICON_Y_PERCENT, + LOCALE_GLCD_ICON_Y_POSITION, LOCALE_GLCD_LOGODIR, LOCALE_GLCD_LOGO_X_POSITION, LOCALE_GLCD_LOGO_Y_POSITION, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 636a0ffd3..12fff632d 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -888,6 +888,7 @@ const char * locale_real_names[] = "glcd.align_right", "glcd.align_start", "glcd.align_time", + "glcd.background", "glcd.bar_width", "glcd.bar_x_position", "glcd.bar_y_position", @@ -931,6 +932,16 @@ const char * locale_real_names[] = "glcd.font", "glcd.font_autoresize", "glcd.head", + "glcd.icon_cam_x_position", + "glcd.icon_dd_x_position", + "glcd.icon_ecm_x_position", + "glcd.icon_mute_x_position", + "glcd.icon_rec_x_position", + "glcd.icon_timer_x_position", + "glcd.icon_ts_x_position", + "glcd.icon_txt_x_position", + "glcd.icon_y_percent", + "glcd.icon_y_position", "glcd.logodir", "glcd.logo_x_position", "glcd.logo_y_position",