Merge branch 'master' into pu/mp

Origin commit data
------------------
Branch: ni/coolstream
Commit: 7ae7765460
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2017-09-27 (Wed, 27 Sep 2017)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Jacek Jendrzej
2017-09-27 14:30:28 +02:00
4 changed files with 42 additions and 4 deletions

View File

@@ -355,6 +355,7 @@ int CBEBouquetWidget::exec(CMenuTarget* parent, const std::string & /*actionKey*
CBEChannelWidget* channelWidget = new CBEChannelWidget(ChannelWidgetCaption, selected);
channelWidget->exec(this, "");
selected = channelWidget->getBouquet();
if (channelWidget->hasChanged())
bouquetsChanged = true;
delete channelWidget;

View File

@@ -70,6 +70,8 @@ CBEChannelWidget::CBEChannelWidget(const std::string & Caption, unsigned int Bou
status_icon_width = std::max(status_icon_width, iw);
frameBuffer->getIconSize(NEUTRINO_ICON_LOCK, &iw, &ih);
status_icon_width = std::max(status_icon_width, iw);
header.addContextButton(CComponentsHeader::CC_BTN_LEFT | CComponentsHeader::CC_BTN_RIGHT);
}
CBEChannelWidget::~CBEChannelWidget()
@@ -416,6 +418,34 @@ int CBEChannelWidget::exec(CMenuTarget* parent, const std::string & /*actionKey*
paintFoot();
paintItems();
}
else if (msg == CRCInput::RC_left || msg == CRCInput::RC_right)
{
unsigned int bouquet_size = g_bouquetManager->Bouquets.size();
if (msg == CRCInput::RC_left)
{
if (bouquet == 0)
bouquet = bouquet_size - 1;
else
bouquet--;
}
else
{
if (bouquet < bouquet_size - 1)
bouquet++;
else
bouquet = 0;
}
Channels = mode == CZapitClient::MODE_TV ? &(g_bouquetManager->Bouquets[bouquet]->tvChannels) : &(g_bouquetManager->Bouquets[bouquet]->radioChannels);
caption = g_bouquetManager->Bouquets[bouquet]->bFav ? g_Locale->getText(LOCALE_FAVORITES_BOUQUETNAME) : g_bouquetManager->Bouquets[bouquet]->Name;
selected = 0;
paintHead();
paintBody();
paintFoot();
paintItems();
}
else if (msg == CRCInput::RC_ok)
{
if (state == beDefault)

View File

@@ -89,6 +89,7 @@ class CBEChannelWidget : public CBEGlobals, public CMenuTarget, public CListHelp
ZapitChannelList * Channels;
int exec(CMenuTarget* parent, const std::string & actionKey);
bool hasChanged();
unsigned int getBouquet() { return bouquet; };
};
#endif

View File

@@ -1303,7 +1303,10 @@ void CMenuWidget::setMenuPos(const int& menu_width)
int scr_y = frameBuffer->getScreenY();
int scr_w = frameBuffer->getScreenWidth();
int scr_h = frameBuffer->getScreenHeight();
int real_h = full_height + OFFSET_INTER + hint_height + OFFSET_SHADOW; // full_height includes footer_height : see calcSize
int hint_h = 0;
if (hint_height)
hint_h = OFFSET_INTER + hint_height + OFFSET_SHADOW;
int real_h = full_height + hint_h; // full_height includes footer_height : see calcSize
int x_old = x;
int y_old = y;
//configured positions
@@ -1423,20 +1426,23 @@ void CMenuWidget::saveScreen()
return;
delete[] background;
saveScreen_height = full_height + OFFSET_INTER + hint_height + OFFSET_SHADOW; // full_height includes footer_height : see calcSize
int hint_h = 0;
if (hint_height)
hint_h = OFFSET_INTER + hint_height + OFFSET_SHADOW;
saveScreen_height = full_height + hint_h; // full_height includes footer_height : see calcSize
saveScreen_width = full_width;
saveScreen_y = y;
saveScreen_x = x;
background = new fb_pixel_t [saveScreen_height * saveScreen_width];
if(background)
frameBuffer->SaveScreen(saveScreen_x /*-DETAILSLINE_WIDTH*/, saveScreen_y, saveScreen_width, saveScreen_height, background);
frameBuffer->SaveScreen(saveScreen_x, saveScreen_y, saveScreen_width, saveScreen_height, background);
}
void CMenuWidget::restoreScreen()
{
if(background) {
if(savescreen)
frameBuffer->RestoreScreen(saveScreen_x /*-DETAILSLINE_WIDTH*/, saveScreen_y, saveScreen_width, saveScreen_height, background);
frameBuffer->RestoreScreen(saveScreen_x, saveScreen_y, saveScreen_width, saveScreen_height, background);
}
}