--- channellist.cpp.~1.167.~ 2005-02-22 10:22:38.000000000 +0100 +++ channellist.cpp 2005-04-01 19:43:41.099431264 +0200 @@ -71,6 +71,7 @@ satellitePosition = _satellitePosition; channel_id = ids; bAlwaysLocked = false; + hidden = true; last_unlocked_EPGid = 0; } @@ -536,6 +537,14 @@ pos = 0; } + if (chanlist[pos]->hidden) { + // Should this be configurable? + // TODO: localize + DisplayErrorMessage("Der Kanal befindet sich in einem versteckten Bouquet."); + showInfo(tuned); + g_InfoViewer->killTitle(); + return; + } selected= pos; CChannel* chan = chanlist[selected]; lastChList.store (selected, chan->channel_id, forceStoreToLastChannels); @@ -756,15 +765,18 @@ if (key==g_settings.key_quickzap_down) { - if(selected==0) - selected = chanlist.size()-1; - else - selected--; + // Sort-of-bug: if all channels are hidden, this will loop + do + selected = selected > 0 ? selected - 1 : chanlist.size()-1; + while (chanlist[selected]->hidden); // CChannel* chan = chanlist[selected]; } else if (key==g_settings.key_quickzap_up) { - selected = (selected+1)%chanlist.size(); + // Sort-of-bug: if all channels are hidden, this will loop + do + selected = (selected+1)%chanlist.size(); + while (chanlist[selected]->hidden); // CChannel* chan = chanlist[selected]; }