add option to adzap: zap on timer activation

This commit is contained in:
Jacek Jendrzej
2019-04-25 18:49:57 +02:00
parent df19fff874
commit 44fb2039e1
8 changed files with 48 additions and 0 deletions

View File

@@ -117,6 +117,10 @@ adzap.minutes Minuten
adzap.monitor Ein (dauerhaft)
adzap.switchback Zurückschalten nach
adzap.writedata Schreibe Status-Daten
adzap.zap Zap bei der Timer Aktivierung auf
adzap.zap_off nicht
adzap.zap_to_last_channel Letzter-Kanal
adzap.zap_to_strat_channel Start-Kanal
apidselector.head Sprachauswahl
audio.srs_algo Art
audio.srs_algo_heavy stark
@@ -1041,6 +1045,7 @@ menu.hint_a_pic Konfigurieren Sie den Audioplayer und den Bildbetrachter
menu.hint_adzap Der Werbezapper schaltet nach der eingestellten Zeit wieder auf den ursprünglichen Kanal zurück
menu.hint_adzap_active Der Werbezapper ist aktiv. Mit einem erneuten Aufruf wird er deaktiviert.
menu.hint_adzap_writedata Schreibe Daten über den Status des Werbezappers nach /tmp/adzap.data
menu.hint_adzap_zap Umschalten bei der Timer-Aktivierung auf Letzten oder Strat Kanal
menu.hint_aplay Audioplayer
menu.hint_aplay_setup Ändern Sie Audioplayer-Einstellungen wie Titel-Anzeige, Startverzeichnis oder Bildschirmschoner.
menu.hint_audio Audio-Ausgang, Dolby Digital und SRS TruVolume Optionen usw.

View File

@@ -117,6 +117,10 @@ adzap.minutes minutes
adzap.monitor On (durable)
adzap.switchback Switch back after
adzap.writedata Write status data
adzap.zap zap on timer activation to
adzap.zap_off off
adzap.zap_to_last_channel last-channel
adzap.zap_to_strat_channel start-channel
apidselector.head Select language
audio.srs_algo Type
audio.srs_algo_heavy Heavy
@@ -1041,6 +1045,7 @@ menu.hint_a_pic Configure audio player and picture viewer
menu.hint_adzap AdZap will switch back to the current channel when the selected time is up
menu.hint_adzap_active AdZap is active. With a new call it will be deactivated.
menu.hint_adzap_writedata Write data according to adzap status to /tmp/adzap.data
menu.hint_adzap_zap zap Switch to last or strat channel during timer activation
menu.hint_aplay Audio player
menu.hint_aplay_setup Change title display, start directory, screen saver and more
menu.hint_audio Audio output, DD\nSRS True volume options

View File

@@ -318,6 +318,14 @@ int CAdZapMenu::exec(CMenuTarget *parent, const std::string & actionKey)
void CAdZapMenu::ShowMenu()
{
#define ADZAP_ZAP_OPTION_COUNT 3
const CMenuOptionChooser::keyval ADZAP_ZAP_OPTIONS[ADZAP_ZAP_OPTION_COUNT] =
{
{ SNeutrinoSettings::ADZAP_ZAP_OFF,LOCALE_ADZAP_ZAP_OFF},
{ SNeutrinoSettings::ADZAP_ZAP_TO_LAST,LOCALE_ADZAP_ZAP_TO_LAST_CHANNEL},
{ SNeutrinoSettings::ADZAP_ZAP_TO_STRAT,LOCALE_ADZAP_ZAP_TO_STRAT_CHANNEL},
};
bool show_monitor = monitorLifeTime.tv_sec;
CMenuWidget *menu = new CMenuWidget(LOCALE_ADZAP, NEUTRINO_ICON_SETTINGS, width);
@@ -330,6 +338,10 @@ void CAdZapMenu::ShowMenu()
oc->setHint(NEUTRINO_ICON_HINT_ADZAP, LOCALE_MENU_HINT_ADZAP_WRITEDATA);
menu->addItem(oc);
CMenuOptionChooser *oc_zap = new CMenuOptionChooser(LOCALE_ADZAP_ZAP, &g_settings.adzap_zapOnActivation, ADZAP_ZAP_OPTIONS, ADZAP_ZAP_OPTION_COUNT, true);
oc_zap->setHint(NEUTRINO_ICON_HINT_ADZAP, LOCALE_MENU_HINT_ADZAP_ZAP);
menu->addItem(oc_zap);
menu->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_ADZAP_SWITCHBACK));
neutrino_locale_t minute = LOCALE_ADZAP_MINUTE;

View File

@@ -1249,6 +1249,18 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
tmp_msg += " ";
tmp_msg += g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE);
ShowMsg(LOCALE_ADZAP, tmp_msg, CMsgBox::mbrBack, CMsgBox::mbBack, NEUTRINO_ICON_INFO);
if(g_settings.adzap_zapOnActivation == SNeutrinoSettings::ADZAP_ZAP_TO_LAST)
CNeutrinoApp::getInstance()->channelList->numericZap(g_settings.key_lastchannel);
else if(g_settings.adzap_zapOnActivation == SNeutrinoSettings::ADZAP_ZAP_TO_STRAT){
int mode = CNeutrinoApp::getInstance()->getMode();
bool isRadioMode = (mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio);
const t_channel_id cur_channel_id = isRadioMode ? g_settings.startchannelradio_id : g_settings.startchanneltv_id;
if(cur_channel_id != channel_id)
CNeutrinoApp::getInstance()->channelList->zapTo_ChannelID(cur_channel_id, true);
else
CNeutrinoApp::getInstance()->channelList->numericZap(g_settings.key_lastchannel);
}
}
//CTimerdClient timerdclient;
else if (g_Timerd->isTimerdAvailable())

View File

@@ -1032,6 +1032,7 @@ int CNeutrinoApp::loadSetup(const char * fname)
g_settings.adzap_zapBackPeriod = configfile.getInt32("adzap_zapBackPeriod", 180);
g_settings.adzap_writeData = configfile.getInt32("adzap_writeData", 0);
g_settings.adzap_zapOnActivation = configfile.getInt32("adzap_zapOnActivation", 0);
// USERMENU -> in system/settings.h
//-------------------------------------------
@@ -1750,6 +1751,7 @@ void CNeutrinoApp::saveSetup(const char * fname)
configfile.setInt32("uselastchannel", g_settings.uselastchannel);
configfile.setInt32("adzap_zapBackPeriod", g_settings.adzap_zapBackPeriod);
configfile.setInt32("adzap_writeData", g_settings.adzap_writeData);
configfile.setInt32("adzap_zapOnActivation", g_settings.adzap_zapOnActivation);
//epg search
g_settings.epg_search_history_size = g_settings.epg_search_history.size();
if (g_settings.epg_search_history_size > g_settings.epg_search_history_max)

View File

@@ -144,6 +144,10 @@ typedef enum
LOCALE_ADZAP_MONITOR,
LOCALE_ADZAP_SWITCHBACK,
LOCALE_ADZAP_WRITEDATA,
LOCALE_ADZAP_ZAP,
LOCALE_ADZAP_ZAP_OFF,
LOCALE_ADZAP_ZAP_TO_LAST_CHANNEL,
LOCALE_ADZAP_ZAP_TO_STRAT_CHANNEL,
LOCALE_APIDSELECTOR_HEAD,
LOCALE_AUDIO_SRS_ALGO,
LOCALE_AUDIO_SRS_ALGO_HEAVY,
@@ -1068,6 +1072,7 @@ typedef enum
LOCALE_MENU_HINT_ADZAP,
LOCALE_MENU_HINT_ADZAP_ACTIVE,
LOCALE_MENU_HINT_ADZAP_WRITEDATA,
LOCALE_MENU_HINT_ADZAP_ZAP,
LOCALE_MENU_HINT_APLAY,
LOCALE_MENU_HINT_APLAY_SETUP,
LOCALE_MENU_HINT_AUDIO,

View File

@@ -144,6 +144,10 @@ const char * locale_real_names[] =
"adzap.monitor",
"adzap.switchback",
"adzap.writedata",
"adzap.zap",
"adzap.zap_off",
"adzap.zap_to_last_channel",
"adzap.zap_to_strat_channel",
"apidselector.head",
"audio.srs_algo",
"audio.srs_algo_heavy",
@@ -1068,6 +1072,7 @@ const char * locale_real_names[] =
"menu.hint_adzap",
"menu.hint_adzap_active",
"menu.hint_adzap_writedata",
"menu.hint_adzap_zap",
"menu.hint_aplay",
"menu.hint_aplay_setup",
"menu.hint_audio",

View File

@@ -884,6 +884,8 @@ struct SNeutrinoSettings
//adzap
int adzap_zapBackPeriod;
int adzap_writeData;
int adzap_zapOnActivation;
enum{ADZAP_ZAP_OFF,ADZAP_ZAP_TO_LAST,ADZAP_ZAP_TO_STRAT};
int power_standby;
int hdd_sleep;