- 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.menu Menü
timing.numericzap Umschalten mit Zifferntasten timing.numericzap Umschalten mit Zifferntasten
timing.off manuell, ohne Timeout timing.off manuell, ohne Timeout
timing.off_auto automatisch, ohne Timeout
timing.popup_messages Popup Meldungen timing.popup_messages Popup Meldungen
timing.static_messages Interaktive Meldungen timing.static_messages Interaktive Meldungen
timing.volumebar Lautstärkeanzeige timing.volumebar Lautstärkeanzeige

View File

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

View File

@@ -920,23 +920,40 @@ void CInfoViewer::showTitle(CZapitChannel * channel, const bool calledFromNumZap
void CInfoViewer::setInfobarTimeout(int timeout_ext) void CInfoViewer::setInfobarTimeout(int timeout_ext)
{ {
int mode = CNeutrinoApp::getInstance()->getMode(); int mode = CNeutrinoApp::getInstance()->getMode();
int timeout = 0;
//define timeouts //define timeouts
switch (mode) switch (mode)
{ {
case NeutrinoModes::mode_radio: case NeutrinoModes::mode_radio:
case NeutrinoModes::mode_webradio: 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; break;
case NeutrinoModes::mode_ts: case NeutrinoModes::mode_ts:
if (CMoviePlayerGui::getInstance().IsAudioPlaying()) 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 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; break;
case NeutrinoModes::mode_tv: case NeutrinoModes::mode_tv:
case NeutrinoModes::mode_webtv: case NeutrinoModes::mode_webtv:
default: 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; break;
} }
} }

View File

@@ -1160,8 +1160,9 @@ void COsdSetup::showOsdTimeoutSetup(CMenuWidget* menu_timeout)
for (int i = 0; i < SNeutrinoSettings::HANDLING_INFOBAR_SETTING_COUNT; i++) 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->setNumberFormat(nf);
ch->setLocalizedValue(-1, LOCALE_TIMING_OFF_AUTO);
ch->setLocalizedValue(0, LOCALE_TIMING_OFF); ch->setLocalizedValue(0, LOCALE_TIMING_OFF);
ch->setHint("", handling_infobar_setting[i].hint); ch->setHint("", handling_infobar_setting[i].hint);
menu_timeout->addItem(ch); menu_timeout->addItem(ch);

View File

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

View File

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