- infobar: add timeout -1; automatic, without timeout

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2021-07-18 22:44:08 +02:00
committed by Thilo Graf
parent 775dc6778b
commit 0465a8401f
6 changed files with 29 additions and 7 deletions

View File

@@ -2750,6 +2750,7 @@ timing.infobar_tv TV-Modus
timing.menu Menü
timing.numericzap Umschalten mit Zifferntasten
timing.off manuell, ohne Timeout
timing.off_auto automatisch, ohne Timeout
timing.popup_messages Popup Meldungen
timing.static_messages Interaktive Meldungen
timing.volumebar Lautstärkeanzeige

View File

@@ -2750,6 +2750,7 @@ timing.infobar_tv TV mode
timing.menu Menu
timing.numericzap Numeric Zap
timing.off manual, without timeout
timing.off_auto automatic, without timeout
timing.popup_messages Popup messages
timing.static_messages Interactive messages
timing.volumebar Volume bar

View File

@@ -920,23 +920,40 @@ void CInfoViewer::showTitle(CZapitChannel * channel, const bool calledFromNumZap
void CInfoViewer::setInfobarTimeout(int timeout_ext)
{
int mode = CNeutrinoApp::getInstance()->getMode();
int timeout = 0;
//define timeouts
switch (mode)
{
case NeutrinoModes::mode_radio:
case NeutrinoModes::mode_webradio:
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_RADIO] + timeout_ext);
timeout = g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_RADIO];
if (timeout < 0)
timeout = 0;
timeoutEnd = CRCInput::calcTimeoutEnd(timeout + timeout_ext);
break;
case NeutrinoModes::mode_ts:
if (CMoviePlayerGui::getInstance().IsAudioPlaying())
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_MEDIA_AUDIO] + timeout_ext);
{
timeout = g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_MEDIA_AUDIO];
if (timeout < 0)
timeout = 0;
timeoutEnd = CRCInput::calcTimeoutEnd(timeout + timeout_ext);
}
else
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_MEDIA_VIDEO] + timeout_ext);
{
timeout = g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR_MEDIA_VIDEO];
if (timeout < 0)
timeout = 0;
timeoutEnd = CRCInput::calcTimeoutEnd(timeout + timeout_ext);
}
break;
case NeutrinoModes::mode_tv:
case NeutrinoModes::mode_webtv:
default:
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR] + timeout_ext);
timeout = g_settings.handling_infobar[SNeutrinoSettings::HANDLING_INFOBAR];
if (timeout < 0)
timeout = 0;
timeoutEnd = CRCInput::calcTimeoutEnd(timeout + timeout_ext);
break;
}
}

View File

@@ -1160,8 +1160,9 @@ void COsdSetup::showOsdTimeoutSetup(CMenuWidget* menu_timeout)
for (int i = 0; i < SNeutrinoSettings::HANDLING_INFOBAR_SETTING_COUNT; i++)
{
ch = new CMenuOptionNumberChooser(handling_infobar_setting[i].name, &g_settings.handling_infobar[i], true, 0, 240);
ch = new CMenuOptionNumberChooser(handling_infobar_setting[i].name, &g_settings.handling_infobar[i], true, -1, 240);
ch->setNumberFormat(nf);
ch->setLocalizedValue(-1, LOCALE_TIMING_OFF_AUTO);
ch->setLocalizedValue(0, LOCALE_TIMING_OFF);
ch->setHint("", handling_infobar_setting[i].hint);
menu_timeout->addItem(ch);

View File

@@ -2777,6 +2777,7 @@ typedef enum
LOCALE_TIMING_MENU,
LOCALE_TIMING_NUMERICZAP,
LOCALE_TIMING_OFF,
LOCALE_TIMING_OFF_AUTO,
LOCALE_TIMING_POPUP_MESSAGES,
LOCALE_TIMING_STATIC_MESSAGES,
LOCALE_TIMING_VOLUMEBAR,

View File

@@ -2777,6 +2777,7 @@ const char * locale_real_names[] =
"timing.menu",
"timing.numericzap",
"timing.off",
"timing.off_auto",
"timing.popup_messages",
"timing.static_messages",
"timing.volumebar",