diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index 05479efc3..b463d0b43 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -167,6 +167,8 @@ void CInfoViewer::Init() changePB(); pbBlinkChange = g_settings.progressbar_color; + casysChange = g_settings.casystem_display; + channellogoChange = g_settings.infobar_show_channellogo; /* we need to calculate this only once */ info_time_width = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getRenderWidth("22:22") + 10; @@ -372,37 +374,18 @@ void CInfoViewer::showTitle (const int ChanNum, const std::string & Channel, con pbBlinkChange = g_settings.progressbar_color; changePB(); } -//################################################################# - if (g_settings.casystem_display) - bottom_bar_offset = 22; - else - bottom_bar_offset = 0; - BoxStartX = g_settings.screen_StartX + 10; - BoxEndX = g_settings.screen_EndX - 10; - BoxEndY = g_settings.screen_EndY - 10 - InfoHeightY_Info - bottom_bar_offset; - BoxStartY = BoxEndY - InfoHeightY - ChanHeight / 2; + if (casysChange != g_settings.casystem_display || channellogoChange != g_settings.infobar_show_channellogo){ + casysChange = g_settings.casystem_display; + channellogoChange = g_settings.infobar_show_channellogo; - BBarY = BoxEndY + bottom_bar_offset; - BBarFontY = BBarY + InfoHeightY_Info - (InfoHeightY_Info - g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight()) / 2; /* center in buttonbar */ - - /* ChanNameX gets modified in showChannelLogo(), so we initialize it in showTitle() - ChanNameX = BoxStartX + ChanWidth + SHADOW_OFFSET; - */ - ChanNameY = BoxStartY + (ChanHeight / 2) + SHADOW_OFFSET; //oberkante schatten? - ChanInfoX = BoxStartX + (ChanWidth / 3); - -//################################################################# - if ( g_settings.infobar_show_channellogo != 3) /* 3 is "old default" with sigscales etc. */ - { - ChanWidth = 4 * g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getRenderWidth(widest_number) + 10; - ChanHeight = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getHeight() * 9 / 8; - } - else - { /* default mode, with signal bars etc. */ - ChanWidth = 122; - ChanHeight = 74; + if (g_settings.casystem_display) + bottom_bar_offset = 22; + else + bottom_bar_offset = 0; + start(); } + ChanNameY = BoxStartY + (ChanHeight / 2) + SHADOW_OFFSET; //oberkante schatten? ChanInfoX = BoxStartX + (ChanWidth / 3); diff --git a/src/gui/infoviewer.h b/src/gui/infoviewer.h index 45354c7f5..d36a4edc8 100644 --- a/src/gui/infoviewer.h +++ b/src/gui/infoviewer.h @@ -96,7 +96,8 @@ class CInfoViewer CProgressBar *snrscale, *sigscale, *hddscale, *varscale, *timescale; bool pbBlinkChange; void changePB(); - + bool casysChange; + bool channellogoChange; void paintBackground(int col_Numbox); void show_Data( bool calledFromEvent = false ); void display_Info(const char *current, const char *next, bool UTF8 = true,