From fa1cc55abd9426ca1ca42ce08fb37a341a6e3256 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sun, 28 Apr 2019 18:34:24 +0200 Subject: [PATCH] adzap: add "zap on timer activation" to adzap menu too Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/35904d55c2e225ebd046f162690411935a20f7cf Author: Jacek Jendrzej Date: 2019-04-28 (Sun, 28 Apr 2019) Origin message was: ------------------ - adzap: add "zap on timer activation" to adzap menu too ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/adzap.cpp | 21 +++++++++++++++++++++ src/gui/adzap.h | 1 + src/gui/epgview.cpp | 19 ++++--------------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/gui/adzap.cpp b/src/gui/adzap.cpp index b7113163d..caad4b061 100644 --- a/src/gui/adzap.cpp +++ b/src/gui/adzap.cpp @@ -261,6 +261,9 @@ int CAdZapMenu::exec(CMenuTarget *parent, const std::string & actionKey) armed = true; alerted = false; Update(); + if (CNeutrinoApp::getInstance()->channelList && g_settings.adzap_zapOnActivation != SNeutrinoSettings::ADZAP_ZAP_OFF) + Zap_On_Activation(CNeutrinoApp::getInstance()->channelList->getActiveChannel_ChannelID()); + return res; } if (actionKey == "disable") @@ -382,3 +385,21 @@ bool CAdZapMenu::changeNotify(const neutrino_locale_t, void * data) nc->setMarked(true); return false; } + +void CAdZapMenu::Zap_On_Activation(t_channel_id channel_id) +{ + 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_START) + { + 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); + } +} diff --git a/src/gui/adzap.h b/src/gui/adzap.h index 078d18faf..1b05b439a 100644 --- a/src/gui/adzap.h +++ b/src/gui/adzap.h @@ -62,5 +62,6 @@ class CAdZapMenu: public CMenuTarget, CChangeObserver int exec(CMenuTarget * parent, const std::string & actionKey); bool changeNotify(const neutrino_locale_t, void * data); bool isActive() { return (armed || monitor); }; + void Zap_On_Activation(t_channel_id channel_id); }; #endif // __adzap__ diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index bc40896ef..9dcd90d5f 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -1276,22 +1276,11 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start tmp_msg += to_string(g_settings.adzap_zapBackPeriod / 60); 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_START) - { - 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); - } + if (g_settings.adzap_zapOnActivation != SNeutrinoSettings::ADZAP_ZAP_OFF) + CAdZapMenu::getInstance()->Zap_On_Activation(channel_id); + + ShowMsg(LOCALE_ADZAP, tmp_msg, CMsgBox::mbrBack, CMsgBox::mbBack, NEUTRINO_ICON_INFO); } //CTimerdClient timerdclient; else if (g_Timerd->isTimerdAvailable())