implemented dvbapi service interface, added viewelement ecminfo in displaychannel

This commit is contained in:
louis
2015-04-26 14:05:14 +02:00
parent 4fb0b9de22
commit e7d8a193a7
13 changed files with 157 additions and 3 deletions

View File

@@ -16,6 +16,8 @@ cSDDisplayChannel::cSDDisplayChannel(cTemplate *channelTemplate, bool WithInfo)
channelChange = false;
initial = true;
devicesLast = cTimeMs::Now();
currentChannelSid = -1;
isEncrypted = false;
channelView = new cDisplayChannelView(channelTemplate->GetRootView());
if (!channelView->createOsd()) {
@@ -33,17 +35,20 @@ cSDDisplayChannel::~cSDDisplayChannel() {
void cSDDisplayChannel::SetChannel(const cChannel *Channel, int Number) {
if (!doOutput)
return;
channelChange = true;
groupSep = false;
cString ChannelNumber("");
cString ChannelName("");
cString ChannelID("");
currentChannelSid = -1;
isEncrypted = false;
if (Channel) {
ChannelName = Channel->Name() ? Channel->Name() : "";
ChannelID = Channel->GetChannelID().ToString();
currentChannelSid = Channel->Sid();
isEncrypted = Channel->Ca();
if (!Channel->GroupSep()) {
ChannelNumber = cString::sprintf("%d%s", Channel->Number(), Number ? "-" : "");
} else {
@@ -54,12 +59,14 @@ void cSDDisplayChannel::SetChannel(const cChannel *Channel, int Number) {
} else {
ChannelName = ChannelString(NULL, 0);
}
channelView->ClearChannel();
channelView->ClearEPGInfo();
channelView->ClearStatusIcons();
channelView->ClearChannelGroups();
channelView->ClearScraperContent();
channelView->ClearAudioInfo();
channelView->ClearEncryptionInfo();
if (!groupSep) {
channelView->DrawChannel(ChannelNumber, ChannelName, ChannelID, (Number > 0)?true:false);
channelView->DrawProgressBarBack();
@@ -189,6 +196,9 @@ void cSDDisplayChannel::Flush(void) {
channelView->DrawDevices(initial);
devicesLast = cTimeMs::Now();
}
if (isEncrypted) {
channelView->DrawEncryptionInfo(currentChannelSid);
}
} else {
channelView->ClearStatusIcons();
channelView->ClearScreenResolution();