show infobar with colored freq after SDT freq update

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@2150 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
satbaby
2012-03-15 18:06:22 +00:00
parent 0167d227b2
commit e7f4a0a9cc
3 changed files with 11 additions and 4 deletions

View File

@@ -116,6 +116,7 @@ void CInfoViewer::Init()
newfreq = true;
chanready = 1;
fileplay = 0;
SDT_freq_update = false;
/* maybe we should not tie this to the blinkenlights settings? */
if (g_settings.casystem_display < 2)
@@ -1533,16 +1534,15 @@ void CInfoViewer::showSNR ()
return;
char percent[10];
uint16_t ssig, ssnr;
/* right now, infobar_show_channellogo == 3 is the trigger for signal bars etc.
TODO: decouple this */
if (! fileplay && ( g_settings.infobar_show_channellogo == 3 || g_settings.infobar_show_channellogo == 5 || g_settings.infobar_show_channellogo == 6 )) {
int chanH = g_SignalFont->getHeight();
int freqStartY = BoxStartY + 2 * chanH - 3;
if (newfreq && chanready) {
if ((newfreq && chanready) || SDT_freq_update) {
char freq[20];
newfreq = false;
CZapitClient::CCurrentServiceInfo si = g_Zapit->getCurrentServiceInfo ();
std::string polarisation;
if (g_info.delivery_system == DVB_S)
@@ -1552,7 +1552,8 @@ void CInfoViewer::showSNR ()
snprintf (freq, sizeof(freq), "%d.%d MHz %s", si.tsfrequency / 1000, si.tsfrequency % 1000, polarisation.c_str());
int satNameWidth = g_SignalFont->getRenderWidth (freq);
g_SignalFont->RenderString (3 + BoxStartX + ((ChanWidth - satNameWidth) / 2), BoxStartY + 2 * chanH - 3, satNameWidth, freq, COL_INFOBAR);
g_SignalFont->RenderString (3 + BoxStartX + ((ChanWidth - satNameWidth) / 2), BoxStartY + 2 * chanH - 3, satNameWidth, freq, SDT_freq_update ? COL_COLORED_EVENTS_INFOBAR:COL_INFOBAR);
SDT_freq_update = false;
}
int sw, snr, sig, posx, posy;
int height;

View File

@@ -185,6 +185,7 @@ class CInfoViewer
int handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data);
void clearVirtualZapMode() {virtual_zap_mode = false;}
void changePB();
bool SDT_freq_update;
};
class CInfoViewerHandler : public CMenuTarget

View File

@@ -2870,6 +2870,11 @@ _repeat:
}
else if (msg == NeutrinoMessages::EVT_SERVICES_UPD) {
SDTreloadChannels = true;
g_InfoViewer->SDT_freq_update = true;
if( !g_InfoViewer->is_visible && !autoshift){
g_RCInput->postMsg(NeutrinoMessages::SHOW_INFOBAR , 0);
}
return messages_return::handled;
// ShowHintUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_EXTRA_ZAPIT_SDT_CHANGED),
// CMessageBox::mbrBack,CMessageBox::mbBack, NEUTRINO_ICON_INFO);
}