diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 02bbb22a5..47cc621ce 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -134,6 +134,7 @@ CChannelList::CChannelList(const char * const pName, bool phistoryMode, bool _vl move_state = beDefault; edit_state = false; channelsChanged = false; + liveBouquet = false; paint_events_index = -2; CFrameBuffer::getInstance()->OnAfterSetPallette.connect(sigc::mem_fun(this, &CChannelList::ResetModules)); @@ -754,8 +755,8 @@ int CChannelList::show() if (new_selected >= 0) actzap = updateSelection(new_selected); } - else if (!edit_state && (msg == (neutrino_msg_t)g_settings.key_bouquet_up || - msg == (neutrino_msg_t)g_settings.key_bouquet_down)) { + else if (!edit_state && !liveBouquet && + (msg == (neutrino_msg_t)g_settings.key_bouquet_up || msg == (neutrino_msg_t)g_settings.key_bouquet_down)) { if (dline) dline->kill(); //kill details line on change to next page if (!bouquetList->Bouquets.empty()) { @@ -1272,6 +1273,7 @@ int CChannelList::numericZap(int key) if (this->lastChList.size() > 1) { CChannelList * channelList = new CChannelList(g_Locale->getText(LOCALE_CHANNELLIST_HISTORY), true, true); + channelList->setLiveBouquet(); for (unsigned int i = 1; i < this->lastChList.size(); ++i) { @@ -1302,6 +1304,7 @@ int CChannelList::numericZap(int key) { CChannelList * orgList = CNeutrinoApp::getInstance()->channelList; CChannelList * channelList = new CChannelList(g_Locale->getText(LOCALE_CHANNELLIST_CURRENT_TP), false, true); + channelList->setLiveBouquet(); t_channel_id recid = (*chanlist)[selected]->getChannelID() >> 16; for (unsigned int i = 0; i < (*orgList->chanlist).size(); i++) diff --git a/src/gui/channellist.h b/src/gui/channellist.h index bdd542a39..2c00d801e 100644 --- a/src/gui/channellist.h +++ b/src/gui/channellist.h @@ -84,6 +84,7 @@ private: unsigned int origPosition; unsigned int newPosition; bool channelsChanged; + bool liveBouquet; unsigned int tuned; t_channel_id selected_chid; @@ -236,6 +237,7 @@ public: CLastChannel & getLastChannels() { return lastChList; } bool showEmptyError(); int getSelected() { return selected; } + void setLiveBouquet(bool state = true) { liveBouquet = state; }; CZapitChannel* getPrevNextChannel(int key, unsigned int &sl); //friend class CZapitChannel; enum