- bouquetlist: formatting code using astyle; some manual code nicenings

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2021-12-14 11:11:25 +01:00
committed by Thilo Graf
parent 265d7e462c
commit 62253613e1
2 changed files with 290 additions and 206 deletions

View File

@@ -33,7 +33,6 @@
#include <gui/color.h> #include <gui/color.h>
#include <gui/eventlist.h> #include <gui/eventlist.h>
#include <gui/infoviewer.h> #include <gui/infoviewer.h>
#include <gui/components/cc.h> #include <gui/components/cc.h>
#include <gui/widget/menue.h> #include <gui/widget/menue.h>
#include <gui/widget/menue_options.h> #include <gui/widget/menue_options.h>
@@ -104,10 +103,12 @@ CBouquet* CBouquetList::addBouquet(const char * const pname, int BouquetKey, boo
void CBouquetList::deleteBouquet(CBouquet *bouquet) void CBouquetList::deleteBouquet(CBouquet *bouquet)
{ {
if (bouquet != NULL) { if (bouquet != NULL)
{
std::vector<CBouquet *>::iterator it = find(Bouquets.begin(), Bouquets.end(), bouquet); std::vector<CBouquet *>::iterator it = find(Bouquets.begin(), Bouquets.end(), bouquet);
if (it != Bouquets.end()) { if (it != Bouquets.end())
{
Bouquets.erase(it); Bouquets.erase(it);
delete bouquet; delete bouquet;
} }
@@ -122,9 +123,11 @@ t_bouquet_id CBouquetList::getActiveBouquetNumber()
#if 0 #if 0
void CBouquetList::adjustToChannel(int nChannelNr) void CBouquetList::adjustToChannel(int nChannelNr)
{ {
for (uint32_t i=0; i<Bouquets.size(); i++) { for (uint32_t i = 0; i < Bouquets.size(); i++)
{
int nChannelPos = Bouquets[i]->channelList->hasChannel(nChannelNr); int nChannelPos = Bouquets[i]->channelList->hasChannel(nChannelNr);
if (nChannelPos > -1) { if (nChannelPos > -1)
{
selected = i; selected = i;
Bouquets[i]->channelList->setSelected(nChannelPos); Bouquets[i]->channelList->setSelected(nChannelPos);
return; return;
@@ -132,9 +135,11 @@ void CBouquetList::adjustToChannel( int nChannelNr)
} }
} }
#endif #endif
bool CBouquetList::hasChannelID(t_channel_id channel_id) bool CBouquetList::hasChannelID(t_channel_id channel_id)
{ {
for (uint32_t i = 0; i < Bouquets.size(); i++) { for (uint32_t i = 0; i < Bouquets.size(); i++)
{
int nChannelPos = Bouquets[i]->channelList->hasChannelID(channel_id); int nChannelPos = Bouquets[i]->channelList->hasChannelID(channel_id);
if (nChannelPos > -1) if (nChannelPos > -1)
return true; return true;
@@ -145,20 +150,24 @@ bool CBouquetList::hasChannelID(t_channel_id channel_id)
bool CBouquetList::adjustToChannelID(t_channel_id channel_id) bool CBouquetList::adjustToChannelID(t_channel_id channel_id)
{ {
//printf("CBouquetList::adjustToChannelID [%s] to %llx, selected %d size %d\n", name.c_str(), channel_id, selected, Bouquets.size()); //printf("CBouquetList::adjustToChannelID [%s] to %llx, selected %d size %d\n", name.c_str(), channel_id, selected, Bouquets.size());
if(selected < Bouquets.size()) { if (selected < Bouquets.size())
{
int nChannelPos = Bouquets[selected]->channelList->hasChannelID(channel_id); int nChannelPos = Bouquets[selected]->channelList->hasChannelID(channel_id);
if(nChannelPos > -1) { if (nChannelPos > -1)
{
//printf("CBouquetList::adjustToChannelID [%s] to %llx -> not needed\n", name.c_str(), channel_id); //printf("CBouquetList::adjustToChannelID [%s] to %llx -> not needed\n", name.c_str(), channel_id);
Bouquets[selected]->channelList->setSelected(nChannelPos); Bouquets[selected]->channelList->setSelected(nChannelPos);
return true; return true;
} }
} }
//printf("CBouquetList::adjustToChannelID [%s] to %llx\n", name.c_str(), channel_id); //printf("CBouquetList::adjustToChannelID [%s] to %llx\n", name.c_str(), channel_id);
for (uint32_t i=0; i < Bouquets.size(); i++) { for (uint32_t i = 0; i < Bouquets.size(); i++)
{
if (i == selected) if (i == selected)
continue; continue;
int nChannelPos = Bouquets[i]->channelList->hasChannelID(channel_id); int nChannelPos = Bouquets[i]->channelList->hasChannelID(channel_id);
if (nChannelPos > -1) { if (nChannelPos > -1)
{
selected = i; selected = i;
Bouquets[i]->channelList->setSelected(nChannelPos); Bouquets[i]->channelList->setSelected(nChannelPos);
return true; return true;
@@ -166,20 +175,23 @@ bool CBouquetList::adjustToChannelID(t_channel_id channel_id)
} }
return false; return false;
} }
/* used in channellist to switch bouquets up/down */
// used in channellist to switch bouquets up/down
int CBouquetList::showChannelList(int nBouquet) int CBouquetList::showChannelList(int nBouquet)
{ {
if ((nBouquet < 0) || (nBouquet >= (int) Bouquets.size())) if ((nBouquet < 0) || (nBouquet >= (int) Bouquets.size()))
nBouquet = selected; nBouquet = selected;
int nNewChannel = Bouquets[nBouquet]->channelList->exec(); int nNewChannel = Bouquets[nBouquet]->channelList->exec();
if (nNewChannel > -1) { if (nNewChannel > -1)
{
selected = nBouquet; selected = nBouquet;
nNewChannel = -2; nNewChannel = -2;
} }
return nNewChannel; return nNewChannel;
} }
/* bShowChannelList default to false , return seems not checked anywhere */
// bShowChannelList default to false , return seems not checked anywhere
int CBouquetList::activateBouquet(int id, bool bShowChannelList) int CBouquetList::activateBouquet(int id, bool bShowChannelList)
{ {
int res = -1; int res = -1;
@@ -187,7 +199,8 @@ int CBouquetList::activateBouquet( int id, bool bShowChannelList)
if ((id >= 0) && (id < (int) Bouquets.size())) if ((id >= 0) && (id < (int) Bouquets.size()))
selected = id; selected = id;
if (bShowChannelList) { if (bShowChannelList)
{
res = Bouquets[selected]->channelList->exec(); res = Bouquets[selected]->channelList->exec();
if (res > -1) if (res > -1)
res = -2; res = -2;
@@ -197,16 +210,15 @@ int CBouquetList::activateBouquet( int id, bool bShowChannelList)
int CBouquetList::exec(bool bShowChannelList) int CBouquetList::exec(bool bShowChannelList)
{ {
/* select bouquet to show */
int res = show(bShowChannelList); int res = show(bShowChannelList);
//printf("Bouquet-exec: res %d bShowChannelList %d\n", res, bShowChannelList); fflush(stdout); //printf("Bouquet-exec: res %d bShowChannelList %d\n", res, bShowChannelList); fflush(stdout);
if (!bShowChannelList) if (!bShowChannelList)
return res; return res;
/* if >= 0, call activateBouquet to show channel list */
if ( res > -1) { if (res > -1)
return activateBouquet(selected, bShowChannelList); return activateBouquet(selected, bShowChannelList);
}
return res; return res;
} }
@@ -224,7 +236,8 @@ int CBouquetList::doMenu()
return 0; return 0;
zapitBouquet = Bouquets[selected]->zapitBouquet; zapitBouquet = Bouquets[selected]->zapitBouquet;
/* zapitBouquet not NULL only on real bouquets, satellitePosition is set for providers or SAT */
// zapitBouquet not NULL only on real bouquets, satellitePosition is set for providers or SAT
if (!zapitBouquet && Bouquets[selected]->satellitePosition == INVALID_SAT_POSITION) if (!zapitBouquet && Bouquets[selected]->satellitePosition == INVALID_SAT_POSITION)
return 0; return 0;
@@ -236,9 +249,11 @@ int CBouquetList::doMenu()
int old_epg = zapitBouquet ? zapitBouquet->bScanEpg : 0; int old_epg = zapitBouquet ? zapitBouquet->bScanEpg : 0;
int old_ci = zapitBouquet ? zapitBouquet->bUseCI : 0; int old_ci = zapitBouquet ? zapitBouquet->bUseCI : 0;
sprintf(cnt, "%d", i); sprintf(cnt, "%d", i);
/* FIXME menu centered different than bouquet list ??? */
/* provider bouquet */ // FIXME menu centered different than bouquet list ???
if (zapitBouquet && !zapitBouquet->bUser) { // provider bouquet
if (zapitBouquet && !zapitBouquet->bUser)
{
menu->addItem(new CMenuForwarder(LOCALE_FAVORITES_COPY, true, NULL, selector, cnt, CRCInput::RC_blue), old_selected == i ++); menu->addItem(new CMenuForwarder(LOCALE_FAVORITES_COPY, true, NULL, selector, cnt, CRCInput::RC_blue), old_selected == i ++);
if ((!zapitBouquet->bWebtv && !zapitBouquet->bWebradio) && g_settings.epg_scan == CEpgScan::SCAN_SEL) if ((!zapitBouquet->bWebtv && !zapitBouquet->bWebradio) && g_settings.epg_scan == CEpgScan::SCAN_SEL)
menu->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SCAN, &zapitBouquet->bScanEpg, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); menu->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SCAN, &zapitBouquet->bScanEpg, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
@@ -248,12 +263,14 @@ int CBouquetList::doMenu()
delete menu; delete menu;
delete selector; delete selector;
printf("CBouquetList::doMenu: %d selected\n", select); printf("CBouquetList::doMenu: %d selected\n", select);
if (old_epg != zapitBouquet->bScanEpg) { if (old_epg != zapitBouquet->bScanEpg)
{
save_bouquets = true; save_bouquets = true;
CNeutrinoApp::getInstance()->MarkBouquetsChanged(); CNeutrinoApp::getInstance()->MarkBouquetsChanged();
ret = -1; ret = -1;
} }
if (old_ci != zapitBouquet->bUseCI) { if (old_ci != zapitBouquet->bUseCI)
{
channels = &zapitBouquet->tvChannels; channels = &zapitBouquet->tvChannels;
for (int li = 0; li < (int) channels->size(); li++) for (int li = 0; li < (int) channels->size(); li++)
(*channels)[li]->bUseCI = zapitBouquet->bUseCI; (*channels)[li]->bUseCI = zapitBouquet->bUseCI;
@@ -268,37 +285,47 @@ int CBouquetList::doMenu()
ret = -1; ret = -1;
} }
if(select >= 0) { if (select >= 0)
{
bool added = false; bool added = false;
old_selected = select; old_selected = select;
switch(select) { switch (select)
case 0: // copy to favorites {
// copy to favorites
case 0:
hide(); hide();
bouquet_id = g_bouquetManager->existsUBouquet(Bouquets[selected]->channelList->getName()); bouquet_id = g_bouquetManager->existsUBouquet(Bouquets[selected]->channelList->getName());
if(bouquet_id < 0) { if (bouquet_id < 0)
{
tmp = g_bouquetManager->addBouquet(Bouquets[selected]->channelList->getName(), true); tmp = g_bouquetManager->addBouquet(Bouquets[selected]->channelList->getName(), true);
bouquet_id = g_bouquetManager->existsUBouquet(Bouquets[selected]->channelList->getName()); bouquet_id = g_bouquetManager->existsUBouquet(Bouquets[selected]->channelList->getName());
} else }
else
tmp = g_bouquetManager->Bouquets[bouquet_id]; tmp = g_bouquetManager->Bouquets[bouquet_id];
if (bouquet_id < 0) if (bouquet_id < 0)
return 0; return 0;
channels = &zapitBouquet->tvChannels; channels = &zapitBouquet->tvChannels;
for(int li = 0; li < (int) channels->size(); li++) { for (int li = 0; li < (int) channels->size(); li++)
if (!g_bouquetManager->existsChannelInBouquet(bouquet_id, ((*channels)[li])->getChannelID())) { {
if (!g_bouquetManager->existsChannelInBouquet(bouquet_id, ((*channels)[li])->getChannelID()))
{
added = true; added = true;
tmp->addService((*channels)[li]); tmp->addService((*channels)[li]);
} }
} }
channels = &zapitBouquet->radioChannels; channels = &zapitBouquet->radioChannels;
for(int li = 0; li < (int) channels->size(); li++) { for (int li = 0; li < (int) channels->size(); li++)
if (!g_bouquetManager->existsChannelInBouquet(bouquet_id, ((*channels)[li])->getChannelID())) { {
if (!g_bouquetManager->existsChannelInBouquet(bouquet_id, ((*channels)[li])->getChannelID()))
{
added = true; added = true;
tmp->addService((*channels)[li]); tmp->addService((*channels)[li]);
} }
} }
if (added) { if (added)
{
CNeutrinoApp::getInstance()->MarkFavoritesChanged(); CNeutrinoApp::getInstance()->MarkFavoritesChanged();
CNeutrinoApp::getInstance()->MarkChannelsInit(); CNeutrinoApp::getInstance()->MarkChannelsInit();
return 1; return 1;
@@ -308,8 +335,10 @@ int CBouquetList::doMenu()
break; break;
} }
} }
} else { }
/* user or satellite bouquet */ else
{
// user or satellite bouquet
menu->addItem(new CMenuForwarder(LOCALE_BOUQUETEDITOR_DELETE, true, NULL, selector, cnt, CRCInput::RC_red), old_selected == i ++); menu->addItem(new CMenuForwarder(LOCALE_BOUQUETEDITOR_DELETE, true, NULL, selector, cnt, CRCInput::RC_red), old_selected == i ++);
if (zapitBouquet && (!zapitBouquet->bWebtv && !zapitBouquet->bWebradio) && (g_settings.epg_scan == CEpgScan::SCAN_SEL)) if (zapitBouquet && (!zapitBouquet->bWebtv && !zapitBouquet->bWebradio) && (g_settings.epg_scan == CEpgScan::SCAN_SEL))
menu->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SCAN, &zapitBouquet->bScanEpg, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); menu->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SCAN, &zapitBouquet->bScanEpg, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
@@ -319,12 +348,14 @@ int CBouquetList::doMenu()
menu->exec(NULL, ""); menu->exec(NULL, "");
delete menu; delete menu;
delete selector; delete selector;
if (zapitBouquet && (old_epg != zapitBouquet->bScanEpg)) { if (zapitBouquet && (old_epg != zapitBouquet->bScanEpg))
{
save_bouquets = true; save_bouquets = true;
CNeutrinoApp::getInstance()->MarkFavoritesChanged(); CNeutrinoApp::getInstance()->MarkFavoritesChanged();
ret = -1; ret = -1;
} }
if (zapitBouquet && (old_ci != zapitBouquet->bUseCI)) { if (zapitBouquet && (old_ci != zapitBouquet->bUseCI))
{
channels = &zapitBouquet->tvChannels; channels = &zapitBouquet->tvChannels;
for (int li = 0; li < (int) channels->size(); li++) for (int li = 0; li < (int) channels->size(); li++)
(*channels)[li]->bUseCI = zapitBouquet->bUseCI; (*channels)[li]->bUseCI = zapitBouquet->bUseCI;
@@ -340,22 +371,27 @@ int CBouquetList::doMenu()
} }
printf("CBouquetList::doMenu: %d selected\n", select); printf("CBouquetList::doMenu: %d selected\n", select);
if(select >= 0) { if (select >= 0)
{
old_selected = select; old_selected = select;
int result = ShowMsg(LOCALE_BOUQUETEDITOR_DELETE, Bouquets[selected]->channelList->getName(), CMsgBox::mbrNo, CMsgBox::mbYes | CMsgBox::mbNo); int result = ShowMsg(LOCALE_BOUQUETEDITOR_DELETE, Bouquets[selected]->channelList->getName(), CMsgBox::mbrNo, CMsgBox::mbYes | CMsgBox::mbNo);
if (result != CMsgBox::mbrYes) if (result != CMsgBox::mbrYes)
return 0; return 0;
if (zapitBouquet) { if (zapitBouquet)
{
bouquet_id = g_bouquetManager->existsUBouquet(Bouquets[selected]->channelList->getName()); bouquet_id = g_bouquetManager->existsUBouquet(Bouquets[selected]->channelList->getName());
if(bouquet_id >= 0) { if (bouquet_id >= 0)
{
g_bouquetManager->deleteBouquet(bouquet_id); g_bouquetManager->deleteBouquet(bouquet_id);
CNeutrinoApp::getInstance()->MarkFavoritesChanged(); CNeutrinoApp::getInstance()->MarkFavoritesChanged();
CNeutrinoApp::getInstance()->MarkChannelsInit(); CNeutrinoApp::getInstance()->MarkChannelsInit();
return 1; return 1;
} }
} else { }
else
{
CServiceManager::getInstance()->RemovePosition(Bouquets[selected]->satellitePosition); CServiceManager::getInstance()->RemovePosition(Bouquets[selected]->satellitePosition);
g_bouquetManager->loadBouquets(); g_bouquetManager->loadBouquets();
g_bouquetManager->deletePosition(Bouquets[selected]->satellitePosition); g_bouquetManager->deletePosition(Bouquets[selected]->satellitePosition);
@@ -379,9 +415,10 @@ const struct button_label CBouquetListButtons[4] =
void CBouquetList::updateSelection(int newpos) void CBouquetList::updateSelection(int newpos)
{ {
if (newpos < 0) /* to avoid all callers having to check */ if (newpos < 0) // to avoid all callers having to check
return; return;
if((int) selected != newpos) { if ((int) selected != newpos)
{
int prev_selected = selected; int prev_selected = selected;
unsigned int oldliststart = liststart; unsigned int oldliststart = liststart;
@@ -389,14 +426,15 @@ void CBouquetList::updateSelection(int newpos)
liststart = (selected / listmaxshow) * listmaxshow; liststart = (selected / listmaxshow) * listmaxshow;
if (oldliststart != liststart) if (oldliststart != liststart)
paint(); paint();
else { else
{
paintItem(prev_selected - liststart); paintItem(prev_selected - liststart);
paintItem(selected - liststart); paintItem(selected - liststart);
} }
} }
} }
/* bShowChannelList default to true, returns new bouquet or -1/-2 */ // bShowChannelList default to true, returns new bouquet or -1/-2
int CBouquetList::show(bool bShowChannelList) int CBouquetList::show(bool bShowChannelList)
{ {
neutrino_msg_t msg; neutrino_msg_t msg;
@@ -460,75 +498,99 @@ int CBouquetList::show(bool bShowChannelList)
uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout); uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout);
bool loop = true; bool loop = true;
while (loop) { while (loop)
{
g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd);
if (msg <= CRCInput::RC_MaxRC) if (msg <= CRCInput::RC_MaxRC)
timeoutEnd = CRCInput::calcTimeoutEnd(timeout); timeoutEnd = CRCInput::calcTimeoutEnd(timeout);
if((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer())) { if ((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer()))
{
if (fader.FadeDone()) if (fader.FadeDone())
loop = false; loop = false;
} }
else if ((msg == CRCInput::RC_timeout ) || else if ((msg == CRCInput::RC_timeout) || (msg == (neutrino_msg_t) g_settings.key_channelList_cancel) ||
(msg == (neutrino_msg_t) g_settings.key_channelList_cancel) ||
((msg == (neutrino_msg_t) g_settings.key_favorites) && (CNeutrinoApp::getInstance()->GetChannelMode() == LIST_MODE_FAV))) ((msg == (neutrino_msg_t) g_settings.key_favorites) && (CNeutrinoApp::getInstance()->GetChannelMode() == LIST_MODE_FAV)))
{ {
selected = oldselected; selected = oldselected;
if(fader.StartFadeOut()) { if (fader.StartFadeOut())
{
timeoutEnd = CRCInput::calcTimeoutEnd(1); timeoutEnd = CRCInput::calcTimeoutEnd(1);
msg = 0; msg = 0;
} else }
else
loop = false; loop = false;
} }
else if(msg == CRCInput::RC_red || msg == (neutrino_msg_t) g_settings.key_favorites) { else if (msg == CRCInput::RC_red || msg == (neutrino_msg_t) g_settings.key_favorites)
if (!favonly && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_FAV) { {
if (!favonly && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_FAV)
{
CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_FAV); CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_FAV);
hide(); hide();
return CHANLIST_CHANGE_MODE; return CHANLIST_CHANGE_MODE;
} }
} else if(msg == CRCInput::RC_green) { }
if (!favonly && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_PROV) { else if (msg == CRCInput::RC_green)
{
if (!favonly && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_PROV)
{
CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_PROV); CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_PROV);
hide(); hide();
return CHANLIST_CHANGE_MODE; return CHANLIST_CHANGE_MODE;
} }
} else if(msg == CRCInput::RC_yellow || msg == CRCInput::RC_sat) { }
if(!favonly && bShowChannelList && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_SAT) { else if (msg == CRCInput::RC_yellow || msg == CRCInput::RC_sat)
{
if (!favonly && bShowChannelList && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_SAT)
{
CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_SAT); CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_SAT);
hide(); hide();
return CHANLIST_CHANGE_MODE; return CHANLIST_CHANGE_MODE;
} }
} else if(msg == CRCInput::RC_blue) { }
if(!favonly && bShowChannelList && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_ALL) { else if (msg == CRCInput::RC_blue)
{
if (!favonly && bShowChannelList && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_ALL)
{
CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_ALL); CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_ALL);
hide(); hide();
return CHANLIST_CHANGE_MODE; return CHANLIST_CHANGE_MODE;
} }
} else if(msg == CRCInput::RC_www) { }
if(!favonly && bShowChannelList && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_WEB) { else if (msg == CRCInput::RC_www)
{
if (!favonly && bShowChannelList && CNeutrinoApp::getInstance()->GetChannelMode() != LIST_MODE_WEB)
{
CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_WEB); CNeutrinoApp::getInstance()->SetChannelMode(LIST_MODE_WEB);
hide(); hide();
return CHANLIST_CHANGE_MODE; return CHANLIST_CHANGE_MODE;
} }
} }
else if ( msg == CRCInput::RC_setup) { else if (msg == CRCInput::RC_setup)
if (!favonly && !Bouquets.empty()) { {
if (!favonly && !Bouquets.empty())
{
int ret = doMenu(); int ret = doMenu();
if(ret > 0) { if (ret > 0)
{
res = CHANLIST_NO_RESTORE; res = CHANLIST_NO_RESTORE;
loop = false; loop = false;
} else if(ret < 0) { }
else if (ret < 0)
{
paintHead(); paintHead();
paint(); paint();
} }
} }
} }
else if ( msg == (neutrino_msg_t) g_settings.key_list_start ) { else if (msg == (neutrino_msg_t) g_settings.key_list_start)
{
if (!Bouquets.empty()) if (!Bouquets.empty())
updateSelection(0); updateSelection(0);
} }
else if ( msg == (neutrino_msg_t) g_settings.key_list_end ) { else if (msg == (neutrino_msg_t) g_settings.key_list_end)
{
if (!Bouquets.empty()) if (!Bouquets.empty())
updateSelection(Bouquets.size() - 1); updateSelection(Bouquets.size() - 1);
} }
@@ -538,8 +600,10 @@ int CBouquetList::show(bool bShowChannelList)
int new_selected = UpDownKey(Bouquets, msg, listmaxshow, selected); int new_selected = UpDownKey(Bouquets, msg, listmaxshow, selected);
updateSelection(new_selected); updateSelection(new_selected);
} }
else if(msg == (neutrino_msg_t)g_settings.key_bouquet_up || msg == (neutrino_msg_t)g_settings.key_bouquet_down) { else if (msg == (neutrino_msg_t)g_settings.key_bouquet_up || msg == (neutrino_msg_t)g_settings.key_bouquet_down)
if(bShowChannelList) { {
if (bShowChannelList)
{
int mode = CNeutrinoApp::getInstance()->GetChannelMode(); int mode = CNeutrinoApp::getInstance()->GetChannelMode();
mode += (msg == (neutrino_msg_t)g_settings.key_bouquet_down) ? -1 : 1; mode += (msg == (neutrino_msg_t)g_settings.key_bouquet_down) ? -1 : 1;
if (mode < 0) if (mode < 0)
@@ -551,28 +615,39 @@ int CBouquetList::show(bool bShowChannelList)
return CHANLIST_CHANGE_MODE; return CHANLIST_CHANGE_MODE;
} }
} }
else if ( msg == CRCInput::RC_ok ) { else if (msg == CRCInput::RC_ok)
if(!Bouquets.empty() /* && (!bShowChannelList || !Bouquets[selected]->channelList->isEmpty())*/) { {
if (!Bouquets.empty() /*&& (!bShowChannelList || !Bouquets[selected]->channelList->isEmpty())*/)
{
zapOnExit = true; zapOnExit = true;
loop = false; loop = false;
} }
} }
else if (CRCInput::isNumeric(msg)) { else if (CRCInput::isNumeric(msg))
if (!Bouquets.empty()) { {
if (pos == lmaxpos) { if (!Bouquets.empty())
if (msg == CRCInput::RC_0) { {
if (pos == lmaxpos)
{
if (msg == CRCInput::RC_0)
{
chn = firstselected; chn = firstselected;
pos = lmaxpos; pos = lmaxpos;
} else { }
else
{
chn = CRCInput::getNumericValue(msg); chn = CRCInput::getNumericValue(msg);
pos = 1; pos = 1;
} }
} else { }
else
{
chn = chn * 10 + CRCInput::getNumericValue(msg); chn = chn * 10 + CRCInput::getNumericValue(msg);
pos++; pos++;
} }
if (chn > Bouquets.size()) { if (chn > Bouquets.size())
{
chn = firstselected; chn = firstselected;
pos = lmaxpos; pos = lmaxpos;
} }
@@ -580,12 +655,17 @@ int CBouquetList::show(bool bShowChannelList)
int new_selected = (chn - 1) % Bouquets.size(); // is % necessary (i.e. can firstselected be > Bouquets.size()) ? int new_selected = (chn - 1) % Bouquets.size(); // is % necessary (i.e. can firstselected be > Bouquets.size()) ?
updateSelection(new_selected); updateSelection(new_selected);
} }
} else if (msg == NeutrinoMessages::EVT_SERVICESCHANGED || msg == NeutrinoMessages::EVT_BOUQUETSCHANGED) { }
else if (msg == NeutrinoMessages::EVT_SERVICESCHANGED || msg == NeutrinoMessages::EVT_BOUQUETSCHANGED)
{
g_RCInput->postMsg(msg, data); g_RCInput->postMsg(msg, data);
loop = false; loop = false;
res = CHANLIST_CANCEL_ALL; res = CHANLIST_CANCEL_ALL;
} else { }
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all ) { else
{
if (CNeutrinoApp::getInstance()->handleMsg(msg, data) & messages_return::cancel_all)
{
loop = false; loop = false;
res = CHANLIST_CANCEL_ALL; res = CHANLIST_CANCEL_ALL;
} }
@@ -604,14 +684,17 @@ int CBouquetList::show(bool bShowChannelList)
CVFD::getInstance()->setMode(CVFD::MODE_TVRADIO); CVFD::getInstance()->setMode(CVFD::MODE_TVRADIO);
if (save_bouquets) { if (save_bouquets)
{
save_bouquets = false; save_bouquets = false;
#if 0 #if 0
if (CNeutrinoApp::getInstance()->GetChannelMode() == LIST_MODE_FAV) if (CNeutrinoApp::getInstance()->GetChannelMode() == LIST_MODE_FAV)
g_bouquetManager->saveUBouquets(); g_bouquetManager->saveUBouquets();
else else
g_bouquetManager->saveBouquets(); g_bouquetManager->saveBouquets();
#endif #endif
if (g_settings.epg_scan == CEpgScan::SCAN_SEL) if (g_settings.epg_scan == CEpgScan::SCAN_SEL)
CEpgScan::getInstance()->Start(); CEpgScan::getInstance()->Start();
} }
@@ -679,23 +762,28 @@ void CBouquetList::paintItem(int pos)
} }
} }
if (npos < (int) Bouquets.size()) { if (npos < (int) Bouquets.size())
{
char num[12]; char num[12];
snprintf(num, sizeof(num), "%d", npos + 1); snprintf(num, sizeof(num), "%d", npos + 1);
int iw = 0, ih = 0; int iw = 0, ih = 0;
if ((g_settings.epg_scan == CEpgScan::SCAN_SEL) && if ((g_settings.epg_scan == CEpgScan::SCAN_SEL) &&
Bouquets[npos]->zapitBouquet && Bouquets[npos]->zapitBouquet->bScanEpg) { Bouquets[npos]->zapitBouquet && Bouquets[npos]->zapitBouquet->bScanEpg)
{
frameBuffer->getIconSize(NEUTRINO_ICON_MARKER_EPG, &iw, &ih); frameBuffer->getIconSize(NEUTRINO_ICON_MARKER_EPG, &iw, &ih);
if (iw && ih) { if (iw && ih)
{
int icon_x = x + width - SCROLLBAR_WIDTH - OFFSET_INNER_MID - iw; int icon_x = x + width - SCROLLBAR_WIDTH - OFFSET_INNER_MID - iw;
frameBuffer->paintIcon(NEUTRINO_ICON_MARKER_EPG, icon_x, ypos, item_height); frameBuffer->paintIcon(NEUTRINO_ICON_MARKER_EPG, icon_x, ypos, item_height);
iw = iw + OFFSET_INNER_MID; iw = iw + OFFSET_INNER_MID;
} }
} }
if (Bouquets[npos]->zapitBouquet && Bouquets[npos]->zapitBouquet->bUseCI) { if (Bouquets[npos]->zapitBouquet && Bouquets[npos]->zapitBouquet->bUseCI)
{
int iw2 = 0; int iw2 = 0;
frameBuffer->getIconSize(NEUTRINO_ICON_MARKER_SCRAMBLED, &iw2, &ih); frameBuffer->getIconSize(NEUTRINO_ICON_MARKER_SCRAMBLED, &iw2, &ih);
if (iw2 && ih) { if (iw2 && ih)
{
int icon_x = x + width - SCROLLBAR_WIDTH - OFFSET_INNER_MID - iw - iw2; int icon_x = x + width - SCROLLBAR_WIDTH - OFFSET_INNER_MID - iw - iw2;
frameBuffer->paintIcon(NEUTRINO_ICON_MARKER_SCRAMBLED, icon_x, ypos, item_height); frameBuffer->paintIcon(NEUTRINO_ICON_MARKER_SCRAMBLED, icon_x, ypos, item_height);
iw = iw + iw2 + OFFSET_INNER_MID; iw = iw + iw2 + OFFSET_INNER_MID;
@@ -728,7 +816,8 @@ void CBouquetList::paint()
numwidth = 0; numwidth = 0;
int maxDigitWidth = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_NUMBER]->getMaxDigitWidth(); int maxDigitWidth = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_NUMBER]->getMaxDigitWidth();
int _lastnum = lastnum; int _lastnum = lastnum;
while (_lastnum) { while (_lastnum)
{
numwidth += maxDigitWidth; numwidth += maxDigitWidth;
_lastnum /= 10; _lastnum /= 10;
} }
@@ -745,10 +834,8 @@ void CBouquetList::paint()
if (!Bouquets.empty()) if (!Bouquets.empty())
{ {
for (unsigned int count = 0; count < listmaxshow; count++) for (unsigned int count = 0; count < listmaxshow; count++)
{
paintItem(count); paintItem(count);
} }
}
int total_pages; int total_pages;
int current_page; int current_page;

View File

@@ -29,7 +29,6 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#ifndef __bouquetlist__ #ifndef __bouquetlist__
#define __bouquetlist__ #define __bouquetlist__
@@ -52,7 +51,6 @@ typedef enum bouquetSwitchMode
class CBouquet class CBouquet
{ {
public: public:
int unique_key; int unique_key;
bool bLocked; bool bLocked;
@@ -125,5 +123,4 @@ class CBouquetList : public CListHelpers
bool hasChannelID(t_channel_id channel_id); bool hasChannelID(t_channel_id channel_id);
}; };
#endif #endif