The LCARS skin's main menu now reacts to changes of the current channel's name

This commit is contained in:
Klaus Schmidinger 2017-11-08 10:37:57 +01:00
parent 5c94900026
commit 33bbff2aa5
2 changed files with 6 additions and 3 deletions

View File

@ -9162,7 +9162,7 @@ Video Disk Recorder Revision History
a subdirectory.
- SVDRP peering can now be limited to the default SVDRP host (see MANUAL for details).
2017-11-07: Version 2.3.9
2017-11-08: Version 2.3.9
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
@ -9190,3 +9190,4 @@ Video Disk Recorder Revision History
changes.
- OSD menus now try to keep the offset of the list cursor at a constant position on
the screen, even if the list is modified while being displayed.
- The LCARS skin's main menu now reacts to changes of the current channel's name.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: skinlcars.c 4.5 2017/06/23 15:52:03 kls Exp $
* $Id: skinlcars.c 4.6 2017/11/08 10:10:30 kls Exp $
*/
// "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures,
@ -715,6 +715,7 @@ private:
int lastLiveIndicatorY;
bool lastLiveIndicatorTransferring;
const cChannel *lastChannel;
cString lastChannelName;
const cEvent *lastEvent;
const cRecording *lastRecording;
cString lastHeader;
@ -1426,12 +1427,13 @@ void cSkinLCARSDisplayMenu::DrawLive(const cChannel *Channel)
}
if (!Channel)
return;
if (initial || Channel != lastChannel) {
if (initial || Channel != lastChannel || strcmp(Channel->Name(), lastChannelName)) {
osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder);
osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);
int x = xa00 + (yc03 - yc02); // compensate for the arc
osd->DrawText(x, yc00, cSource::ToString(Channel->Source()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), cFont::GetFont(fontOsd), xa02 - x, yc03 - yc00, taTop | taRight | taBorder);
lastChannel = Channel;
lastChannelName = Channel->Name();
DrawSeen(0, 0);
}
// The current programme: