diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index ae4242bed..f68523569 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -1410,11 +1410,7 @@ int CChannelList::numericZap(int key) CZapitChannel* chan = getChannel(chn); if (doZap) { - int mode = CNeutrinoApp::getInstance()->getMode(); - if ( - ((mode == NeutrinoModes::mode_tv || mode == NeutrinoModes::mode_webtv) && g_settings.timing[SNeutrinoSettings::HANDLING_INFOBAR] == 0) || - ((mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio) && g_settings.timing[SNeutrinoSettings::HANDLING_INFOBAR_RADIO] == 0) - ) + if (!g_InfoViewer->hasTimeout()) g_InfoViewer->killTitle(); if(chan && SameTP(chan)) { @@ -1536,11 +1532,7 @@ void CChannelList::virtual_zap_mode(bool up) g_InfoViewer->resetSwitchMode(); //disable virtual_zap_mode if (doZap) { - int mode = CNeutrinoApp::getInstance()->getMode(); - if ( - ((mode == NeutrinoModes::mode_tv || mode == NeutrinoModes::mode_webtv) && g_settings.timing[SNeutrinoSettings::HANDLING_INFOBAR] == 0) || - ((mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio) && g_settings.timing[SNeutrinoSettings::HANDLING_INFOBAR_RADIO] == 0) - ) + if (!g_InfoViewer->hasTimeout()) g_InfoViewer->killTitle(); if(channel && SameTP(channel)) diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index c75c010a0..255ef3757 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -2327,3 +2327,13 @@ void CInfoViewer::ResetModules() delete rec; rec = NULL; infoViewerBB->ResetModules(); } + +bool CInfoViewer::hasTimeout() +{ + int mode = CNeutrinoApp::getInstance()->getMode(); + bool ret = ( + ((mode == NeutrinoModes::mode_tv || mode == NeutrinoModes::mode_webtv) && g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR] != 0) || + ((mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio) && g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_RADIO] != 0) + ); + return ret; +} diff --git a/src/gui/infoviewer.h b/src/gui/infoviewer.h index ffb9764ac..5c96a5a0b 100644 --- a/src/gui/infoviewer.h +++ b/src/gui/infoviewer.h @@ -212,5 +212,6 @@ class CInfoViewer uint32_t getUpdateTimer(void) { return lcdUpdateTimer; } inline t_channel_id get_current_channel_id(void) { return current_channel_id; } void ResetModules(); + bool hasTimeout(); }; #endif diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 46eb4515d..2f77b42f5 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2867,15 +2867,8 @@ void CNeutrinoApp::RealRun() else if( ( msg == CRCInput::RC_help ) || ( msg == CRCInput::RC_info) || ( msg == NeutrinoMessages::SHOW_INFOBAR ) ) { -#if 1 - bool enabled_by_timing = ( - ((mode == NeutrinoModes::mode_tv || mode == NeutrinoModes::mode_webtv) && g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR] != 0) || - ((mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio) && g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_RADIO] != 0) - ); - bool show_info = ((msg != NeutrinoMessages::SHOW_INFOBAR) || (g_InfoViewer->is_visible || enabled_by_timing)); -#else - const bool show_info = true; -#endif + bool show_info = ((msg != NeutrinoMessages::SHOW_INFOBAR) || (g_InfoViewer->is_visible || g_InfoViewer->hasTimeout())); + // turn on LCD display CVFD::getInstance()->wake_up();