diff options
author | louis <louis.braun@gmx.de> | 2014-10-25 20:10:00 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2014-10-25 20:10:00 +0200 |
commit | 1e20f0c893b37f889269500e55f3022f450dfb04 (patch) | |
tree | 7ddb4b2838950e5b2b94e3416386423d28535e40 /views/displaymenuview.c | |
parent | ce67dea08af33f53525b61e168f32af11101e2c6 (diff) | |
download | vdr-plugin-skindesigner-1e20f0c893b37f889269500e55f3022f450dfb04.tar.gz vdr-plugin-skindesigner-1e20f0c893b37f889269500e55f3022f450dfb04.tar.bz2 |
added device info in displaychannel
Diffstat (limited to 'views/displaymenuview.c')
-rw-r--r-- | views/displaymenuview.c | 119 |
1 files changed, 3 insertions, 116 deletions
diff --git a/views/displaymenuview.c b/views/displaymenuview.c index 66df9a6..47c1591 100644 --- a/views/displaymenuview.c +++ b/views/displaymenuview.c @@ -223,9 +223,6 @@ cDisplayMenuMainView::cDisplayMenuMainView(cTemplateView *tmplView, bool menuIni cDisplayMenuMainView::~cDisplayMenuMainView() { CancelSave(); FadeOut(); - delete[] lastSignalStrength; - delete[] lastSignalQuality; - delete[] recDevices; } void cDisplayMenuMainView::DrawStaticViewElements(void) { @@ -360,18 +357,6 @@ void cDisplayMenuMainView::DrawDiscUsage(void) { DrawViewElement(veDiscUsage, &stringTokens, &intTokens); } -void cDisplayMenuMainView::InitDevices(void) { - int numDevices = cDevice::NumDevices(); - lastSignalStrength = new int[numDevices]; - lastSignalQuality = new int[numDevices]; - recDevices = new bool[numDevices]; - for (int i=0; i<numDevices; i++) { - lastSignalStrength[i] = 0; - lastSignalQuality[i] = 0; - recDevices[i] = false; - } -} - bool cDisplayMenuMainView::DrawLoad(void) { if (!ViewElementImplemented(veSystemLoad)) { return false; @@ -400,120 +385,22 @@ bool cDisplayMenuMainView::DrawDevices(void) { if (!ViewElementImplemented(veDevices)) { return false; } - int numDevices = cDevice::NumDevices(); - if (!initial) { - //check if drawing is necessary - bool changed = false; - for (int i = 0; i < numDevices; i++) { - const cDevice *device = cDevice::GetDevice(i); - if (!device || !device->NumProvidedSystems()) { - continue; - } - if ((device->SignalStrength() != lastSignalStrength[i]) || (device->SignalQuality() != lastSignalQuality[i])) { - changed = true; - break; - } - } - if (!changed) { - return false; - } - } map < string, string > stringTokens; map < string, int > intTokens; - map < string, vector< map< string, string > > > deviceLoopTokens; vector< map< string, string > > devices; - //check device which currently displays live tv - int deviceLiveTV = -1; - cDevice *primaryDevice = cDevice::PrimaryDevice(); - if (primaryDevice) { - if (!primaryDevice->Replaying() || primaryDevice->Transferring()) - deviceLiveTV = cDevice::ActualDevice()->DeviceNumber(); - else - deviceLiveTV = primaryDevice->DeviceNumber(); - } - - //check currently recording devices - for (cTimer *timer = Timers.First(); timer; timer = Timers.Next(timer)) { - if (!timer->Recording()) { - continue; - } - if (cRecordControl *RecordControl = cRecordControls::GetRecordControl(timer)) { - const cDevice *recDevice = RecordControl->Device(); - if (recDevice) { - recDevices[recDevice->DeviceNumber()] = true; - } - } - } - int actualNumDevices = 0; - for (int i = 0; i < numDevices; i++) { - const cDevice *device = cDevice::GetDevice(i); - if (!device || !device->NumProvidedSystems()) { - continue; - } - actualNumDevices++; - map< string, string > deviceVals; - stringstream strNum; - strNum << actualNumDevices; - deviceVals.insert(pair< string, string >("devices[num]", strNum.str())); - deviceVals.insert(pair< string, string >("devices[type]", *(device->DeviceType()))); - cCamSlot *camSlot = device->CamSlot(); - int camNumber = -1; - if (camSlot) { - camNumber = camSlot->SlotNumber(); - deviceVals.insert(pair< string, string >("devices[hascam]", "1")); - } else { - deviceVals.insert(pair< string, string >("devices[hascam]", "0")); - } - int signalStrength = device->SignalStrength(); - int signalQuality = device->SignalQuality(); - stringstream strCamNumber; - strCamNumber << camNumber; - deviceVals.insert(pair< string, string >("devices[cam]", strCamNumber.str())); - stringstream strStrength; - strStrength << signalStrength; - deviceVals.insert(pair< string, string >("devices[signalstrength]", strStrength.str())); - stringstream strQuality; - strQuality << signalQuality; - deviceVals.insert(pair< string, string >("devices[signalquality]", strQuality.str())); - - deviceVals.insert(pair< string, string >("devices[livetv]", i == deviceLiveTV ? "1" : "0")); - deviceVals.insert(pair< string, string >("devices[recording]", recDevices[i] ? "1" : "0")); - - const cChannel *channel = device->GetCurrentlyTunedTransponder(); - const cSource *source = (channel) ? Sources.Get(channel->Source()) : NULL; - if (channel && channel->Number() > 0) { - stringstream strChanNum; - strChanNum << channel->Number(); - deviceVals.insert(pair< string, string >("devices[channelnumber]", strChanNum.str())); - deviceVals.insert(pair< string, string >("devices[channelname]", channel->Name())); - deviceVals.insert(pair< string, string >("devices[channelid]", *(channel->GetChannelID().ToString()))); - deviceVals.insert(pair< string, string >("devices[istuned]", "1")); - } else { - deviceVals.insert(pair< string, string >("devices[channelnumber]", "0")); - deviceVals.insert(pair< string, string >("devices[channelname]", "")); - deviceVals.insert(pair< string, string >("devices[channelid]", "")); - deviceVals.insert(pair< string, string >("devices[istuned]", "0")); - } - - deviceVals.insert(pair< string, string >("devices[source]", source ? source->Description() : "")); - - devices.push_back(deviceVals); + bool changed = SetDevices(initial, &intTokens, &devices); + if (!changed) + return false; - lastSignalStrength[i] = signalStrength; - lastSignalQuality[i] = signalQuality; - } deviceLoopTokens.insert(pair< string, vector< map< string, string > > >("devices", devices)); - - intTokens.insert(pair<string, int>("numdevices", actualNumDevices)); ClearViewElement(veDevices); DrawViewElement(veDevices, &stringTokens, &intTokens, &deviceLoopTokens); return true; } - /************************************************************************ * cDisplayMenuSchedulesView ************************************************************************/ |