From 33762a47bbe943718f786ab3c66d99fbffbf2aab Mon Sep 17 00:00:00 2001 From: vanhofen Date: Tue, 20 Aug 2019 22:52:14 +0200 Subject: [PATCH] channelist: keep channellist in users display/desc mode until exit Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/2a69b29463a29d768709dbe32b6446916c876909 Author: vanhofen Date: 2019-08-20 (Tue, 20 Aug 2019) Origin message was: ------------------ - channelist: keep channellist in users display/desc mode until exit ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/channellist.cpp | 22 +++++++++++++++++++--- src/neutrino.cpp | 12 ++++++++++-- src/system/settings.h | 2 ++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index ab94e9df2..456032a86 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -136,6 +136,9 @@ CChannelList::CChannelList(const char * const pName, bool phistoryMode, bool _vl channelsChanged = false; liveBouquet = false; + displayMode = DISPLAY_MODE_NOW; // always start with current events + descMode = false; // always start with event list + paint_events_index = -2; CFrameBuffer::getInstance()->OnAfterSetPallette.connect(sigc::mem_fun(this, &CChannelList::ResetModules)); CNeutrinoApp::getInstance()->OnAfterSetupFonts.connect(sigc::mem_fun(this, &CChannelList::ResetModules)); @@ -479,8 +482,9 @@ int CChannelList::doChannelMenu(void) int CChannelList::exec() { - displayMode = DISPLAY_MODE_NOW; // always start with current events - descMode = false; // always start with event list + displayMode = g_settings.channellist_displaymode; + descMode = g_settings.channellist_descmode; + int nNewChannel = show(); if ( nNewChannel > -1 && nNewChannel < (int) (*chanlist).size()) { if(this->historyMode && (*chanlist)[nNewChannel]) { @@ -620,7 +624,9 @@ int CChannelList::show() new_zap_mode = g_settings.channellist_new_zap_mode; calcSize(); - displayMode = DISPLAY_MODE_NOW; + + displayMode = g_settings.channellist_displaymode; + descMode = g_settings.channellist_descmode; COSDFader fader(g_settings.theme.menu_Content_alpha); fader.StartFadeIn(); @@ -870,10 +876,13 @@ int CChannelList::show() if (displayMode == DISPLAY_MODE_MAX) displayMode = DISPLAY_MODE_NOW; + g_settings.channellist_displaymode = displayMode; + if (g_settings.channellist_additional) { // show event description per default in primetime mode only descMode = (displayMode == DISPLAY_MODE_PRIME) ? true : false; + g_settings.channellist_descmode = descMode; } paint(); @@ -897,6 +906,7 @@ int CChannelList::show() if (g_settings.channellist_additional) { descMode = !descMode; + g_settings.channellist_descmode = descMode; paint(); } } @@ -2731,7 +2741,13 @@ void CChannelList::editMode(bool enable) if (!bouquet || !bouquet->zapitBouquet) return; + // reset displaymode + g_settings.channellist_displaymode = DISPLAY_MODE_NOW; displayMode = DISPLAY_MODE_NOW; + // reset descmode + g_settings.channellist_descmode = false; + descMode = false; + edit_state = enable; printf("STATE: %s\n", edit_state ? "EDIT" : "SHOW"); bool tvmode = CZapit::getInstance()->getMode() & CZapitClient::MODE_TV; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index d86d32791..32bba6158 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -860,6 +860,8 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.channellist_additional = configfile.getInt32("channellist_additional", 1); //default no minitv g_settings.eventlist_additional = configfile.getInt32("eventlist_additional", 1); //NI g_settings.eventlist_epgplus = configfile.getInt32("eventlist_epgplus", 1); + g_settings.channellist_displaymode = DISPLAY_MODE_NOW; + g_settings.channellist_descmode = false; g_settings.channellist_epgtext_align_right = configfile.getBool("channellist_epgtext_align_right" , false); g_settings.channellist_foot = configfile.getInt32("channellist_foot", 1); //default next Event g_settings.channellist_new_zap_mode = configfile.getInt32("channellist_new_zap_mode", 0); @@ -3356,7 +3358,6 @@ int CNeutrinoApp::showChannelList(const neutrino_msg_t _msg, bool from_menu) InfoIcons->enableInfoIcons(false); //NI InfoIcons StopSubtitles(); -//_show: int nNewChannel = -1; int old_b = bouquetList->getActiveBouquetNumber(); t_channel_id old_id = 0; @@ -3366,7 +3367,10 @@ int CNeutrinoApp::showChannelList(const neutrino_msg_t _msg, bool from_menu) int old_mode = GetChannelMode(); printf("CNeutrinoApp::showChannelList: bouquetList %p size %d old_b %d\n", bouquetList, (int)bouquetList->Bouquets.size(), old_b);fflush(stdout); - //_show: + // reset display mode and description mode of channellist + g_settings.channellist_displaymode = DISPLAY_MODE_NOW; + g_settings.channellist_descmode = false; + if(msg == CRCInput::RC_ok) { if( !bouquetList->Bouquets.empty() && bouquetList->Bouquets[old_b]->channelList->getSize() > 0) @@ -3645,6 +3649,10 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t _msg, neutrino_msg_data_t data) if( msg == CRCInput::RC_ok || msg == (neutrino_msg_t) g_settings.key_zaphistory || msg == (neutrino_msg_t) g_settings.key_current_transponder || (!g_InfoViewer->getSwitchMode() && CNeutrinoApp::getInstance()->listModeKey(msg))) { if( (mode == NeutrinoModes::mode_tv) || (mode == NeutrinoModes::mode_radio) || (mode == NeutrinoModes::mode_ts) || (mode == NeutrinoModes::mode_webtv) || (mode == NeutrinoModes::mode_webradio)) { + // reset displaymode and descmode of channellist + g_settings.channellist_displaymode = DISPLAY_MODE_NOW; + g_settings.channellist_descmode = false; + showChannelList(msg); return messages_return::handled; } diff --git a/src/system/settings.h b/src/system/settings.h index 7b5e33397..3e8501d61 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -660,6 +660,8 @@ struct SNeutrinoSettings CHANNELLIST_ADDITIONAL_MODE_MINITV = 2 }; int channellist_additional; + int channellist_displaymode; + bool channellist_descmode; int channellist_epgtext_align_right; int channellist_foot; int channellist_new_zap_mode;