diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index e90412c6e..e3002d168 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -938,7 +938,8 @@ glcd.progressbar_width Fortschrittsbalken Weite glcd.progressbar_x_position Fortschrittsbalken x-Position glcd.progressbar_y_position Fortschrittsbalken y-Position glcd.restart Neu erkennen -glcd.scroll_speed Scroll-Geschwindigkeit +glcd.scroll Laufschrift +glcd.scroll_speed Geschwindigkeit der Laufschrift glcd.standby_clock Zeitanzeige im Standby glcd.standby_clock_analog Analoge Uhr glcd.standby_clock_digital Digitale Uhr diff --git a/data/locale/english.locale b/data/locale/english.locale index 34e242931..d2b02c5e3 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -938,6 +938,7 @@ glcd.progressbar_width Progress bar width glcd.progressbar_x_position Progress bar x-position glcd.progressbar_y_position Progress bar y-position glcd.restart Restart +glcd.scroll Scroll glcd.scroll_speed Scroll speed glcd.standby_clock Time display in standby mode glcd.standby_clock_analog Analog clock diff --git a/src/driver/glcd/glcd.cpp b/src/driver/glcd/glcd.cpp index 5a6d396f7..15b1c3164 100644 --- a/src/driver/glcd/glcd.cpp +++ b/src/driver/glcd/glcd.cpp @@ -48,7 +48,7 @@ #include "png.h" #include "jpeglib.h" -#define ICONSEXT ".png" +#define ICONSEXT ".png" static const char *kDefaultConfigFile = "/etc/graphlcd.conf"; static cGLCD *cglcd = NULL; @@ -1069,9 +1069,17 @@ void cGLCD::Run(void) { Epg = g_Locale->getText(LOCALE_GLCD_VOLUME); EpgWidth = font_epg.Width(Epg); - doScrollEpg = EpgWidth > bitmap->Width(); + if (g_settings.glcd_scroll) + { + doScrollEpg = EpgWidth > bitmap->Width(); + scrollEpgForward = true; + } + else + { + doScrollEpg = false; + scrollEpgForward = false; + } scrollEpgSkip = 0; - scrollEpgForward = true; if (doScrollEpg) { scrollEpgOffset = bitmap->Width() / 4; @@ -1093,8 +1101,16 @@ void cGLCD::Run(void) { Channel = g_Locale->getText(LOCALE_GLCD_VOLUME); ChannelWidth = font_channel.Width(Channel); - doScrollChannel = ChannelWidth > bitmap->Width(); - scrollChannelForward = true; + if (g_settings.glcd_scroll) + { + doScrollChannel = ChannelWidth > bitmap->Width(); + scrollChannelForward = true; + } + else + { + doScrollChannel = false; + scrollChannelForward = false; + } scrollChannelSkip = 0; if (doScrollChannel) { @@ -1118,8 +1134,16 @@ void cGLCD::Run(void) { Epg = stagingEpg; EpgWidth = font_epg.Width(Epg); - doScrollEpg = EpgWidth > bitmap->Width(); - scrollEpgForward = true; + if (g_settings.glcd_scroll) + { + doScrollEpg = EpgWidth > bitmap->Width(); + scrollEpgForward = true; + } + else + { + doScrollEpg = false; + scrollEpgForward = false; + } scrollEpgSkip = 0; if (doScrollEpg) { @@ -1133,8 +1157,16 @@ void cGLCD::Run(void) { Channel = stagingChannel; ChannelWidth = font_channel.Width(Channel); - doScrollChannel = ChannelWidth > bitmap->Width(); - scrollChannelForward = true; + if (g_settings.glcd_scroll) + { + doScrollChannel = ChannelWidth > bitmap->Width(); + scrollChannelForward = true; + } + else + { + doScrollChannel = false; + scrollChannelForward = false; + } scrollChannelSkip = 0; if (doScrollChannel) { @@ -1165,8 +1197,16 @@ void cGLCD::Run(void) EpgWidth = 0; Scale = 0; doScrollEpg = false; - doScrollChannel = ChannelWidth > bitmap->Width(); - scrollChannelForward = true; + if (g_settings.glcd_scroll) + { + doScrollChannel = ChannelWidth > bitmap->Width(); + scrollChannelForward = true; + } + else + { + doScrollChannel = false; + scrollChannelForward = false; + } scrollChannelSkip = 0; if (doScrollChannel) { @@ -1187,8 +1227,16 @@ void cGLCD::Run(void) { Epg = info_CurrentNext.current_name; EpgWidth = font_epg.Width(Epg); - doScrollEpg = EpgWidth > bitmap->Width(); - scrollEpgForward = true; + if (g_settings.glcd_scroll) + { + doScrollEpg = EpgWidth > bitmap->Width(); + scrollEpgForward = true; + } + else + { + doScrollEpg = false; + scrollEpgForward = false; + } scrollEpgSkip = 0; if (doScrollEpg) { diff --git a/src/gui/glcdsetup.cpp b/src/gui/glcdsetup.cpp index 92b05e843..c8e663b13 100644 --- a/src/gui/glcdsetup.cpp +++ b/src/gui/glcdsetup.cpp @@ -315,6 +315,8 @@ int GLCD_Menu::GLCD_Menu_Settings() gms->addItem(new CMenuForwarder(LOCALE_GLCD_BRIGHTNESS_SETTINGS, true, NULL, this, "brightness_settings", CRCInput::convertDigitToKey(shortcut++))); + gms->addItem(new CMenuOptionChooser(LOCALE_GLCD_SCROLL, &g_settings.glcd_scroll, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this, CRCInput::convertDigitToKey(shortcut++))); + gms->addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_SCROLL_SPEED, &g_settings.glcd_scroll_speed, true, 1, 63, this)); gms->addItem(new CMenuOptionChooser(LOCALE_GLCD_MIRROR_OSD, &g_settings.glcd_mirror_osd, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this, CRCInput::convertDigitToKey(shortcut++))); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 3172ad3d1..7515ea17a 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -395,6 +395,7 @@ int CNeutrinoApp::loadSetup(const char *fname) g_settings.glcd_brightness_standby = configfile.getInt32("glcd_brightness_standby", GLCD_DEFAULT_BRIGHTNESS_STANDBY); g_settings.glcd_mirror_osd = configfile.getInt32("glcd_mirror_osd", 0); g_settings.glcd_mirror_video = configfile.getInt32("glcd_mirror_video", 0); + g_settings.glcd_scroll = configfile.getInt32("glcd_scroll", 1); #if BOXMODEL_VUUNO4KSE g_settings.glcd_scroll_speed = configfile.getInt32("glcd_scroll_speed", 1); #elif BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUULTIMO4K @@ -1528,6 +1529,7 @@ void CNeutrinoApp::saveSetup(const char *fname) configfile.setInt32("glcd_brightness_standby", g_settings.glcd_brightness_standby); configfile.setInt32("glcd_mirror_osd", g_settings.glcd_mirror_osd); configfile.setInt32("glcd_mirror_video", g_settings.glcd_mirror_video); + configfile.setInt32("glcd_scroll", g_settings.glcd_scroll); configfile.setInt32("glcd_scroll_speed", g_settings.glcd_scroll_speed); configfile.setInt32("glcd_selected_config", g_settings.glcd_selected_config); #endif diff --git a/src/system/locals.h b/src/system/locals.h index d5527b815..2a9d791d6 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -965,6 +965,7 @@ typedef enum LOCALE_GLCD_PROGRESSBAR_X_POSITION, LOCALE_GLCD_PROGRESSBAR_Y_POSITION, LOCALE_GLCD_RESTART, + LOCALE_GLCD_SCROLL, LOCALE_GLCD_SCROLL_SPEED, LOCALE_GLCD_STANDBY_CLOCK, LOCALE_GLCD_STANDBY_CLOCK_ANALOG, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 951113455..78056fcc8 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -965,6 +965,7 @@ const char * locale_real_names[] = "glcd.progressbar_x_position", "glcd.progressbar_y_position", "glcd.restart", + "glcd.scroll", "glcd.scroll_speed", "glcd.standby_clock", "glcd.standby_clock_analog", diff --git a/src/system/settings.h b/src/system/settings.h index bb87b5df6..7d6b6b8dc 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -198,13 +198,13 @@ struct SNeutrinoTheme struct timer_remotebox_item { - unsigned int port; - std::string user; - std::string pass; - std::string rbname; - std::string rbaddress; - bool enabled; - bool online; + unsigned int port; + std::string user; + std::string pass; + std::string rbname; + std::string rbaddress; + bool enabled; + bool online; }; #define GLCD_DEFAULT_BRIGHTNESS 10 @@ -329,6 +329,7 @@ struct SNeutrinoSettings int glcd_brightness_standby; int glcd_mirror_osd; int glcd_mirror_video; + int glcd_scroll; int glcd_scroll_speed; int glcd_selected_config; #endif