mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 16:31:11 +02:00
gui/bedit/bouqueteditor_chanselect.cpp: mark inactive channels,
pass CZapitBouquet in place of bouquet number, cleanup
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
#include <global.h>
|
#include <global.h>
|
||||||
#include <neutrino.h>
|
#include <neutrino.h>
|
||||||
#include "bouqueteditor_chanselect.h"
|
#include "bouqueteditor_chanselect.h"
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
|
|
||||||
extern CBouquetManager *g_bouquetManager;
|
extern CBouquetManager *g_bouquetManager;
|
||||||
|
|
||||||
CBEChannelSelectWidget::CBEChannelSelectWidget(const std::string & Caption, unsigned int Bouquet, CZapitClient::channelsMode Mode)
|
CBEChannelSelectWidget::CBEChannelSelectWidget(const std::string & Caption, CZapitBouquet* Bouquet, CZapitClient::channelsMode Mode)
|
||||||
:CListBox(Caption.c_str())
|
:CListBox(Caption.c_str())
|
||||||
{
|
{
|
||||||
int icol_w, icol_h;
|
int icol_w, icol_h;
|
||||||
@@ -123,7 +124,11 @@ void CBEChannelSelectWidget::paintItem(uint32_t itemNr, int paintNr, bool pselec
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
color = COL_MENUCONTENT_TEXT;
|
if (Channels[itemNr]->flags & CZapitChannel::NOT_PRESENT)
|
||||||
|
color = COL_MENUCONTENTINACTIVE_TEXT;
|
||||||
|
else
|
||||||
|
color = COL_MENUCONTENT_TEXT;
|
||||||
|
|
||||||
bgcolor = COL_MENUCONTENT_PLUS_0;
|
bgcolor = COL_MENUCONTENT_PLUS_0;
|
||||||
frameBuffer->paintBoxRel(x,ypos, width- 15, iheight, bgcolor);
|
frameBuffer->paintBoxRel(x,ypos, width- 15, iheight, bgcolor);
|
||||||
}
|
}
|
||||||
@@ -131,15 +136,10 @@ void CBEChannelSelectWidget::paintItem(uint32_t itemNr, int paintNr, bool pselec
|
|||||||
if(itemNr < getItemCount())
|
if(itemNr < getItemCount())
|
||||||
{
|
{
|
||||||
if( isChannelInBouquet(itemNr))
|
if( isChannelInBouquet(itemNr))
|
||||||
{
|
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_GREEN, x+10, ypos, iheight);
|
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_GREEN, x+10, ypos, iheight);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
//frameBuffer->paintBoxRel(x+8, ypos+4, NEUTRINO_ICON_BUTTON_GREEN_WIDTH, fheight-4, bgcolor);
|
|
||||||
frameBuffer->paintBoxRel(x+10, ypos, iconoffset, iheight, bgcolor);
|
frameBuffer->paintBoxRel(x+10, ypos, iconoffset, iheight, bgcolor);
|
||||||
}
|
|
||||||
//g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x + 8 + NEUTRINO_ICON_BUTTON_GREEN_WIDTH + 8, ypos+ fheight, width - (8 + NEUTRINO_ICON_BUTTON_GREEN_WIDTH + 8 + 8), Channels[itemNr]->getName(), color);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x + 20 + iconoffset, ypos + iheight - (iheight-fheight)/2, width - 20 - iconoffset, Channels[itemNr]->getName(), color);
|
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x + 20 + iconoffset, ypos + iheight - (iheight-fheight)/2, width - 20 - iconoffset, Channels[itemNr]->getName(), color);
|
||||||
if(Channels[itemNr]->scrambled)
|
if(Channels[itemNr]->scrambled)
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_SCRAMBLED, x+width- 15 - 28, ypos, fheight);
|
frameBuffer->paintIcon(NEUTRINO_ICON_SCRAMBLED, x+width- 15 - 28, ypos, fheight);
|
||||||
@@ -154,20 +154,20 @@ void CBEChannelSelectWidget::onOkKeyPressed()
|
|||||||
return;
|
return;
|
||||||
setModified();
|
setModified();
|
||||||
if (isChannelInBouquet(selected))
|
if (isChannelInBouquet(selected))
|
||||||
g_bouquetManager->Bouquets[bouquet]->removeService(Channels[selected]->channel_id);
|
bouquet->removeService(Channels[selected]);
|
||||||
else
|
else
|
||||||
CZapit::getInstance()->addChannelToBouquet( bouquet, Channels[selected]->channel_id);
|
bouquet->addService(Channels[selected]);
|
||||||
|
|
||||||
bouquetChannels = mode == CZapitClient::MODE_TV ? &(g_bouquetManager->Bouquets[bouquet]->tvChannels) : &(g_bouquetManager->Bouquets[bouquet]->radioChannels);
|
bouquetChannels = mode == CZapitClient::MODE_TV ? &(bouquet->tvChannels) : &(bouquet->radioChannels);
|
||||||
|
|
||||||
paintItem( selected, selected - liststart, false);
|
paintItem( selected, selected - liststart, false);
|
||||||
g_RCInput->postMsg( CRCInput::RC_down, 0 );
|
g_RCInput->postMsg( CRCInput::RC_down, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CBEChannelSelectWidget::onRedKeyPressed()
|
void CBEChannelSelectWidget::onRedKeyPressed()
|
||||||
{
|
{
|
||||||
if (selected >= Channels.size())
|
if (selected >= Channels.size())
|
||||||
return;
|
return;
|
||||||
setModified();
|
|
||||||
|
|
||||||
channellist_sort_mode++;
|
channellist_sort_mode++;
|
||||||
if(channellist_sort_mode > SORT_END)
|
if(channellist_sort_mode > SORT_END)
|
||||||
@@ -193,7 +193,6 @@ void CBEChannelSelectWidget::onRedKeyPressed()
|
|||||||
paintFoot();
|
paintFoot();
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int CBEChannelSelectWidget::exec(CMenuTarget* parent, const std::string & actionKey)
|
int CBEChannelSelectWidget::exec(CMenuTarget* parent, const std::string & actionKey)
|
||||||
{
|
{
|
||||||
@@ -208,14 +207,14 @@ int CBEChannelSelectWidget::exec(CMenuTarget* parent, const std::string & action
|
|||||||
x = ConnectLineBox_Width;
|
x = ConnectLineBox_Width;
|
||||||
y = getScreenStartY(height + info_height);
|
y = getScreenStartY(height + info_height);
|
||||||
|
|
||||||
bouquetChannels = mode == CZapitClient::MODE_TV ? &(g_bouquetManager->Bouquets[bouquet]->tvChannels) : &(g_bouquetManager->Bouquets[bouquet]->radioChannels);
|
bouquetChannels = mode == CZapitClient::MODE_TV ? &(bouquet->tvChannels) : &(bouquet->radioChannels);
|
||||||
|
|
||||||
Channels.clear();
|
Channels.clear();
|
||||||
if (mode == CZapitClient::MODE_RADIO) {
|
if (mode == CZapitClient::MODE_RADIO)
|
||||||
CServiceManager::getInstance()->GetAllRadioChannels(Channels);
|
CServiceManager::getInstance()->GetAllRadioChannels(Channels);
|
||||||
} else {
|
else
|
||||||
CServiceManager::getInstance()->GetAllTvChannels(Channels);
|
CServiceManager::getInstance()->GetAllTvChannels(Channels);
|
||||||
}
|
|
||||||
sort(Channels.begin(), Channels.end(), CmpChannelByChName());
|
sort(Channels.begin(), Channels.end(), CmpChannelByChName());
|
||||||
|
|
||||||
return CListBox::exec(parent, actionKey);
|
return CListBox::exec(parent, actionKey);
|
||||||
@@ -232,9 +231,9 @@ void CBEChannelSelectWidget::paintFoot()
|
|||||||
{
|
{
|
||||||
const short numbuttons = sizeof(CBEChannelSelectButtons)/sizeof(CBEChannelSelectButtons[0]);
|
const short numbuttons = sizeof(CBEChannelSelectButtons)/sizeof(CBEChannelSelectButtons[0]);
|
||||||
struct button_label Button[numbuttons];
|
struct button_label Button[numbuttons];
|
||||||
for (int i = 0; i < numbuttons; i++) {
|
for (int i = 0; i < numbuttons; i++)
|
||||||
Button[i] = CBEChannelSelectButtons[i];
|
Button[i] = CBEChannelSelectButtons[i];
|
||||||
}
|
|
||||||
switch (channellist_sort_mode) {
|
switch (channellist_sort_mode) {
|
||||||
case SORT_ALPHA:
|
case SORT_ALPHA:
|
||||||
Button[0].locale = LOCALE_CHANNELLIST_FOOT_SORT_ALPHA;
|
Button[0].locale = LOCALE_CHANNELLIST_FOOT_SORT_ALPHA;
|
||||||
@@ -253,13 +252,6 @@ void CBEChannelSelectWidget::paintFoot()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
::paintButtons(x, y + (height-footerHeight), width, numbuttons, Button, width, footerHeight);
|
::paintButtons(x, y + (height-footerHeight), width, numbuttons, Button, width, footerHeight);
|
||||||
#if 0
|
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_OKAY, x+width- 3* ButtonWidth+ 8, y+height+1);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+width- 3* ButtonWidth+ 38, y+height+24 - 2, width, g_Locale->getText(LOCALE_BOUQUETEDITOR_SWITCH), COL_INFOBAR_TEXT);
|
|
||||||
|
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_HOME, x+width - ButtonWidth+ 8, y+height+1);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+width - ButtonWidth+ 38, y+height+24 - 2, width, g_Locale->getText(LOCALE_BOUQUETEDITOR_RETURN), COL_INFOBAR_TEXT);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CBEChannelSelectWidget::getInfoText(int index)
|
std::string CBEChannelSelectWidget::getInfoText(int index)
|
||||||
|
@@ -45,7 +45,7 @@ class CBEChannelSelectWidget : public CListBox
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
||||||
unsigned int bouquet;
|
CZapitBouquet * bouquet;
|
||||||
short int channellist_sort_mode;
|
short int channellist_sort_mode;
|
||||||
enum{SORT_ALPHA,SORT_FREQ,SORT_SAT,SORT_CH_NUMBER, SORT_END};
|
enum{SORT_ALPHA,SORT_FREQ,SORT_SAT,SORT_CH_NUMBER, SORT_END};
|
||||||
CZapitClient::channelsMode mode;
|
CZapitClient::channelsMode mode;
|
||||||
@@ -62,7 +62,6 @@ class CBEChannelSelectWidget : public CListBox
|
|||||||
void onRedKeyPressed();
|
void onRedKeyPressed();
|
||||||
void hide();
|
void hide();
|
||||||
|
|
||||||
|
|
||||||
int footerHeight;
|
int footerHeight;
|
||||||
int info_height;
|
int info_height;
|
||||||
|
|
||||||
@@ -71,12 +70,10 @@ class CBEChannelSelectWidget : public CListBox
|
|||||||
ZapitChannelList Channels;
|
ZapitChannelList Channels;
|
||||||
ZapitChannelList * bouquetChannels;
|
ZapitChannelList * bouquetChannels;
|
||||||
|
|
||||||
CBEChannelSelectWidget(const std::string & Caption, unsigned int Bouquet, CZapitClient::channelsMode Mode);
|
CBEChannelSelectWidget(const std::string & Caption, CZapitBouquet* Bouquet, CZapitClient::channelsMode Mode);
|
||||||
~CBEChannelSelectWidget();
|
~CBEChannelSelectWidget();
|
||||||
int exec(CMenuTarget* parent, const std::string & actionKey);
|
int exec(CMenuTarget* parent, const std::string & actionKey);
|
||||||
bool hasChanged();
|
bool hasChanged();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user