diff options
Diffstat (limited to 'recmenuitem.c')
-rw-r--r-- | recmenuitem.c | 108 |
1 files changed, 61 insertions, 47 deletions
diff --git a/recmenuitem.c b/recmenuitem.c index 0854a7a..76d0a5f 100644 --- a/recmenuitem.c +++ b/recmenuitem.c @@ -10,8 +10,8 @@ cRecMenuItem::cRecMenuItem(void) { height = 0; action = rmsNotConsumed; drawn = false; - font = tvguideConfig.FontRecMenuItem; - fontSmall = tvguideConfig.FontRecMenuItemSmall; + font = fontManager.FontRecMenuItem; + fontSmall = fontManager.FontRecMenuItemSmall; } cRecMenuItem::~cRecMenuItem(void) { @@ -32,18 +32,24 @@ void cRecMenuItem::SetPixmaps(void) { } void cRecMenuItem::setBackground(void) { - if (active) { - color = theme.Color(clrHighlight); - colorBlending = theme.Color(clrHighlightBlending); - colorText = theme.Color(clrFontActive); + if (tvguideConfig.style == eStyleGraphical) { + drawBackgroundGraphical(bgButton, active); + colorTextBack = clrTransparent; + colorText = (active)?theme.Color(clrFontActive):theme.Color(clrFont); } else { - color = theme.Color(clrGrid1); - colorBlending = theme.Color(clrGrid1Blending); - colorText = theme.Color(clrFont); + if (active) { + color = theme.Color(clrHighlight); + colorBlending = theme.Color(clrHighlightBlending); + colorText = theme.Color(clrFontActive); + } else { + color = theme.Color(clrGrid1); + colorBlending = theme.Color(clrGrid1Blending); + colorText = theme.Color(clrFont); + } + colorTextBack = (tvguideConfig.style == eStyleFlat)?color:clrTransparent; + drawBackground(); + drawBorder(); } - colorTextBack = (tvguideConfig.useBlending==0)?color:clrTransparent; - drawBackground(); - drawBorder(); } // --- cRecMenuItemButton ------------------------------------------------------- @@ -124,12 +130,13 @@ void cRecMenuItemButtonYesNo::SetPixmaps(void) { int buttonWidth = 44 * width / 100; int yesX = x + width / 25; int noX = x + 52 * width / 100; + int yPixmaps = y + geoManager.borderRecMenus / 2; if (!pixmap) { - pixmap = osdManager.requestPixmap(4, cRect(yesX, y, buttonWidth, height)); - pixmapNo = new cStyledPixmap(osdManager.requestPixmap(4, cRect(noX, y, buttonWidth, height))); + pixmap = osdManager.requestPixmap(4, cRect(yesX, yPixmaps, buttonWidth, height)); + pixmapNo = new cStyledPixmap(osdManager.requestPixmap(4, cRect(noX, yPixmaps, buttonWidth, height))); } else { - pixmap->SetViewPort(cRect(x, y, width, height)); - pixmapNo->SetViewPort(cRect(x, y, width, height)); + pixmap->SetViewPort(cRect(x, yPixmaps, width, height)); + pixmapNo->SetViewPort(cRect(x, yPixmaps, width, height)); } } @@ -144,35 +151,43 @@ void cRecMenuItemButtonYesNo::Show(void) { } void cRecMenuItemButtonYesNo::setBackground() { - if (active) { - if (yesActive) { - color = theme.Color(clrHighlight); - colorBlending = theme.Color(clrHighlightBlending); - colorText = theme.Color(clrFontActive); - pixmapNo->setColor( theme.Color(clrGrid1), - theme.Color(clrGrid1Blending)); - colorTextNo = theme.Color(clrFont); + if (tvguideConfig.style == eStyleGraphical) { + drawBackgroundGraphical(bgButton, yesActive&&active); + colorTextBack = clrTransparent; + colorText = (active&&yesActive)?theme.Color(clrFontActive):theme.Color(clrFont); + colorTextNo = (active&&!yesActive)?theme.Color(clrFontActive):theme.Color(clrFont); + pixmapNo->drawBackgroundGraphical(bgButton, active&&!yesActive); + } else { + if (active) { + if (yesActive) { + color = theme.Color(clrHighlight); + colorBlending = theme.Color(clrHighlightBlending); + colorText = theme.Color(clrFontActive); + pixmapNo->setColor( theme.Color(clrGrid1), + theme.Color(clrGrid1Blending)); + colorTextNo = theme.Color(clrFont); + } else { + color = theme.Color(clrGrid1); + colorBlending = theme.Color(clrGrid1Blending); + colorText = theme.Color(clrFont); + pixmapNo->setColor( theme.Color(clrHighlight), + theme.Color(clrHighlightBlending)); + colorTextNo = theme.Color(clrFontActive); + } } else { color = theme.Color(clrGrid1); colorBlending = theme.Color(clrGrid1Blending); colorText = theme.Color(clrFont); - pixmapNo->setColor( theme.Color(clrHighlight), - theme.Color(clrHighlightBlending)); - colorTextNo = theme.Color(clrFontActive); + pixmapNo->setColor( theme.Color(clrGrid1), + theme.Color(clrGrid1Blending)); + colorTextNo = theme.Color(clrFont); } - } else { - color = theme.Color(clrGrid1); - colorBlending = theme.Color(clrGrid1Blending); - colorText = theme.Color(clrFont); - pixmapNo->setColor( theme.Color(clrGrid1), - theme.Color(clrGrid1Blending)); - colorTextNo = theme.Color(clrFont); + colorTextBack = (tvguideConfig.style == eStyleFlat)?color:clrTransparent; + drawBackground(); + drawBorder(); + pixmapNo->drawBackground(); + pixmapNo->drawBorder(); } - colorTextBack = (tvguideConfig.useBlending==0)?color:clrTransparent; - drawBackground(); - drawBorder(); - pixmapNo->drawBackground(); - pixmapNo->drawBorder(); } void cRecMenuItemButtonYesNo::Draw(void) { @@ -1340,17 +1355,17 @@ void cRecMenuItemTimer::Show(void) { void cRecMenuItemTimer::Draw(void) { const cChannel *channel = timer->Channel(); - cString channelName(""); int channelTransponder = 0; + cString channelName = ""; if (channel) { - channelName = channel->Name(); channelTransponder = channel->Transponder(); + channelName = channel->Name(); } int logoX = DrawIcons(); int logoWidth = height * tvguideConfig.logoWidthRatio / tvguideConfig.logoHeightRatio; cImageLoader imgLoader; if (!tvguideConfig.hideChannelLogos) { - if (imgLoader.LoadLogo(*channelName, logoWidth, height)) { + if (imgLoader.LoadLogo(channel, logoWidth, height)) { cImage logo = imgLoader.GetImage(); pixmapIcons->DrawImage(cPoint(logoX, 0), logo); logoX += logoWidth + 5; @@ -1577,14 +1592,13 @@ void cRecMenuItemEvent::Draw(void) { return; int logoX = DrawIcons(); const cChannel *channel = Channels.GetByChannelID(event->ChannelID()); - cString channelName(""); - if (channel) { + cString channelName = ""; + if (channel) channelName = channel->Name(); - } int logoWidth = height * tvguideConfig.logoWidthRatio / tvguideConfig.logoHeightRatio; cImageLoader imgLoader; if (!tvguideConfig.hideChannelLogos) { - if (imgLoader.LoadLogo(*channelName, logoWidth, height)) { + if (imgLoader.LoadLogo(channel, logoWidth, height)) { cImage logo = imgLoader.GetImage(); pixmapText->DrawImage(cPoint(logoX, 0), logo); logoX += logoWidth + 5; @@ -1749,7 +1763,7 @@ void cRecMenuItemChannelChooser::DrawValue(void) { int logoWidth = height * tvguideConfig.logoWidthRatio / tvguideConfig.logoHeightRatio; int logoX = textX - logoWidth - 10; cImageLoader imgLoader; - if (imgLoader.LoadLogo(channel->Name(), logoWidth, height)) { + if (imgLoader.LoadLogo(channel, logoWidth, height)) { cImage logo = imgLoader.GetImage(); pixmapChannel->DrawImage(cPoint(logoX, 0), logo); } |