The LCARS skin now only displays devices that can actually receive channels

This commit is contained in:
Klaus Schmidinger 2012-06-04 08:09:19 +02:00
parent 95e180a3e3
commit e16e8b182f
3 changed files with 23 additions and 13 deletions

View File

@ -1311,6 +1311,8 @@ Reinhard Nissl <rnissl@gmx.de>
transponder changes are recognized transponder changes are recognized
for helping to debug switching into time shift mode when pausing live video for helping to debug switching into time shift mode when pausing live video
for fixing a possible high CPU load when pausing replay for fixing a possible high CPU load when pausing replay
for suggesting that the LCARS skin should only displays devices that can actually
receive channels
Richard Robson <richard_robson@beeb.net> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the for reporting freezing replay if a timer starts while in Transfer Mode from the

View File

@ -7153,3 +7153,5 @@ Video Disk Recorder Revision History
- Added a missing template specification to the c'tor of cSortedTimers (thanks to Udo - Added a missing template specification to the c'tor of cSortedTimers (thanks to Udo
Richter). Richter).
- Fixed the background color of the Transfer Mode indicator bitmap in the LCARS skin. - Fixed the background color of the Transfer Mode indicator bitmap in the LCARS skin.
- The LCARS skin now only displays devices that can actually receive channels, leaving
out, for instance, pure replay devices (suggested by Reinhard Nissl).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: skinlcars.c 2.3 2012/06/03 15:59:26 kls Exp $ * $Id: skinlcars.c 2.4 2012/06/04 08:05:03 kls Exp $
*/ */
// "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures, // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures,
@ -1192,15 +1192,17 @@ void cSkinLCARSDisplayMenu::DrawTimers(void)
int Slot = 0; int Slot = 0;
for (int i = 0; i < cDevice::NumDevices(); i++) { for (int i = 0; i < cDevice::NumDevices(); i++) {
if (const cDevice *Device = cDevice::GetDevice(i)) { if (const cDevice *Device = cDevice::GetDevice(i)) {
if (!deviceRecording[Device->DeviceNumber()]) { if (Device->NumProvidedSystems()) {
if (Slot < FreeDeviceSlots.Size()) { if (!deviceRecording[Device->DeviceNumber()]) {
y = FreeDeviceSlots[Slot]; if (Slot < FreeDeviceSlots.Size()) {
Slot++; y = FreeDeviceSlots[Slot];
Slot++;
}
if (y + lineHeight > ys05)
break;
deviceOffset[Device->DeviceNumber()] = y;
y += lineHeight + Gap;
} }
if (y + lineHeight > ys05)
break;
deviceOffset[Device->DeviceNumber()] = y;
y += lineHeight + Gap;
} }
} }
} }
@ -1231,8 +1233,10 @@ void cSkinLCARSDisplayMenu::DrawDevice(const cDevice *Device)
void cSkinLCARSDisplayMenu::DrawDevices(void) void cSkinLCARSDisplayMenu::DrawDevices(void)
{ {
for (int i = 0; i < cDevice::NumDevices(); i++) { for (int i = 0; i < cDevice::NumDevices(); i++) {
if (const cDevice *Device = cDevice::GetDevice(i)) if (const cDevice *Device = cDevice::GetDevice(i)) {
DrawDevice(Device); if (Device->NumProvidedSystems())
DrawDevice(Device);
}
} }
} }
@ -1264,8 +1268,10 @@ void cSkinLCARSDisplayMenu::DrawSignals(void)
if (initial || Now - lastSignalDisplay >= SIGNALDISPLAYDELTA) { if (initial || Now - lastSignalDisplay >= SIGNALDISPLAYDELTA) {
for (int i = 0; i < cDevice::NumDevices(); i++) { for (int i = 0; i < cDevice::NumDevices(); i++) {
if (const cDevice *Device = cDevice::GetDevice(i)) { if (const cDevice *Device = cDevice::GetDevice(i)) {
if (int y = deviceOffset[i]) if (Device->NumProvidedSystems()) {
DrawDeviceSignal(osd, Device, xs + lineHeight / 2, y, xs11, y + lineHeight, lastSignalStrength[i], lastSignalQuality[i], initial); if (int y = deviceOffset[i])
DrawDeviceSignal(osd, Device, xs + lineHeight / 2, y, xs11, y + lineHeight, lastSignalStrength[i], lastSignalQuality[i], initial);
}
} }
} }
lastSignalDisplay = Now; lastSignalDisplay = Now;