mirror of
https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
synced 2023-10-05 15:01:48 +02:00
restructured detailöed EPG View that tv frame and status buttons are displayed
This commit is contained in:
parent
9b45a5d093
commit
3121910dc1
2
HISTORY
2
HISTORY
@ -103,3 +103,5 @@ Version 1.1.0
|
||||
- Added possibility to manage EPG Search Timers in red button recording
|
||||
menu
|
||||
- completely refactored recording menu
|
||||
- restructured detailöed EPG View that tv frame and status buttons
|
||||
are displayed
|
||||
|
6
config.c
6
config.c
@ -12,9 +12,8 @@ cTvguideConfig::cTvguideConfig() {
|
||||
displayTime = 160;
|
||||
displayStatusHeader = 1;
|
||||
displayChannelGroups = 1;
|
||||
statusHeaderPercent = 20;
|
||||
headerHeightPercent = 20;
|
||||
channelGroupsPercent = 5;
|
||||
epgViewHeaderPercent = 25;
|
||||
epgViewBorder = 50;
|
||||
scaleVideo = 1;
|
||||
decorateVideo = 1;
|
||||
@ -217,9 +216,8 @@ bool cTvguideConfig::SetupParse(const char *Name, const char *Value) {
|
||||
else if (strcmp(Name, "showTimeInGrid") == 0) showTimeInGrid = atoi(Value);
|
||||
else if (strcmp(Name, "displayStatusHeader") == 0) displayStatusHeader = atoi(Value);
|
||||
else if (strcmp(Name, "displayChannelGroups") == 0) displayChannelGroups = atoi(Value);
|
||||
else if (strcmp(Name, "statusHeaderPercent") == 0) statusHeaderPercent = atoi(Value);
|
||||
else if (strcmp(Name, "headerHeightPercent") == 0) headerHeightPercent = atoi(Value);
|
||||
else if (strcmp(Name, "channelGroupsPercent") == 0) channelGroupsPercent = atoi(Value);
|
||||
else if (strcmp(Name, "epgViewHeaderPercent") == 0) epgViewHeaderPercent = atoi(Value);
|
||||
else if (strcmp(Name, "epgViewBorder") == 0) epgViewBorder = atoi(Value);
|
||||
else if (strcmp(Name, "scaleVideo") == 0) scaleVideo = atoi(Value);
|
||||
else if (strcmp(Name, "decorateVideo") == 0) decorateVideo = atoi(Value);
|
||||
|
3
config.h
3
config.h
@ -46,9 +46,8 @@ class cTvguideConfig {
|
||||
int displayTime;
|
||||
int displayStatusHeader;
|
||||
int displayChannelGroups;
|
||||
int statusHeaderPercent;
|
||||
int headerHeightPercent;
|
||||
int channelGroupsPercent;
|
||||
int epgViewHeaderPercent;
|
||||
int epgViewBorder;
|
||||
int scaleVideo;
|
||||
int decorateVideo;
|
||||
|
41
detailview.c
41
detailview.c
@ -8,17 +8,19 @@
|
||||
#include "tools.h"
|
||||
#include "detailview.h"
|
||||
|
||||
cDetailView::cDetailView(const cEvent *event) {
|
||||
cDetailView::cDetailView(const cEvent *event, cFooter *footer) {
|
||||
this->event = event;
|
||||
this->footer = footer;
|
||||
imgScrollBar = NULL;
|
||||
border = tvguideConfig.epgViewBorder; //px, border in view window
|
||||
scrollBarWidth = 40;
|
||||
headerWidth = geoManager.headerContentWidth;
|
||||
headerHeight = geoManager.epgViewHeaderHeight;
|
||||
pixmapPoster = NULL;
|
||||
width = geoManager.osdWidth;
|
||||
contentWidth = width - scrollBarWidth;
|
||||
contentX = 0;
|
||||
contentHeight = geoManager.osdHeight - headerHeight;
|
||||
contentHeight = geoManager.osdHeight - headerHeight - geoManager.footerHeight;
|
||||
widthPoster = 30 * contentWidth / 100;
|
||||
}
|
||||
|
||||
@ -31,8 +33,6 @@ cDetailView::~cDetailView(void){
|
||||
header = NULL;
|
||||
osdManager.releasePixmap(headerLogo);
|
||||
headerLogo = NULL;
|
||||
osdManager.releasePixmap(headerBack);
|
||||
headerBack = NULL;
|
||||
osdManager.releasePixmap(content);
|
||||
content = NULL;
|
||||
if (pixmapPoster)
|
||||
@ -40,9 +40,8 @@ cDetailView::~cDetailView(void){
|
||||
pixmapPoster = NULL;
|
||||
osdManager.releasePixmap(scrollBar);
|
||||
scrollBar = NULL;
|
||||
osdManager.releasePixmap(footer);
|
||||
footer = NULL;
|
||||
delete imgScrollBar;
|
||||
footer->LeaveDetailedViewMode(Channels.GetByChannelID(event->ChannelID()));
|
||||
}
|
||||
|
||||
void cDetailView::setContent() {
|
||||
@ -120,13 +119,11 @@ bool cDetailView::setContentDrawportHeight() {
|
||||
}
|
||||
|
||||
void cDetailView::createPixmaps() {
|
||||
back = osdManager.requestPixmap(3, cRect(0, 0, geoManager.osdWidth, geoManager.osdHeight), cRect::Null);
|
||||
back = osdManager.requestPixmap(3, cRect(0, 0, width, headerHeight + contentHeight), cRect::Null);
|
||||
back->Fill(clrBlack);
|
||||
header = new cStyledPixmap(osdManager.requestPixmap(5, cRect(0, 0, width, headerHeight), cRect::Null));
|
||||
header = new cStyledPixmap(osdManager.requestPixmap(5, cRect(0, 0, headerWidth, headerHeight), cRect::Null));
|
||||
headerLogo = osdManager.requestPixmap(6, cRect(0, 0, width, headerHeight), cRect::Null);
|
||||
headerLogo->Fill(clrTransparent);
|
||||
headerBack = osdManager.requestPixmap(4, cRect(0, 0, width, headerHeight), cRect::Null);
|
||||
headerBack->Fill(clrBlack);
|
||||
header->setColor(theme.Color(clrHeader), theme.Color(clrHeaderBlending));
|
||||
content = osdManager.requestPixmap(5, cRect(contentX, headerHeight, contentWidth, contentHeight),
|
||||
cRect(0,0, contentWidth, max(heightContent, contentHeight)));
|
||||
@ -136,18 +133,23 @@ void cDetailView::createPixmaps() {
|
||||
pixmapPoster->DrawRectangle(cRect(2, 0, widthPoster - 2, content->DrawPort().Height()), theme.Color(clrBackground));
|
||||
}
|
||||
scrollBar = osdManager.requestPixmap(5, cRect(geoManager.osdWidth - scrollBarWidth, headerHeight, scrollBarWidth, contentHeight));
|
||||
|
||||
footer = osdManager.requestPixmap(5, cRect(0, headerHeight + content->ViewPort().Height(), width, 3));
|
||||
footer->Fill(theme.Color(clrBorder));
|
||||
}
|
||||
|
||||
void cDetailView::drawHeader() {
|
||||
header->Fill(clrTransparent);
|
||||
if (tvguideConfig.style == eStyleGraphical) {
|
||||
header->drawBackgroundGraphical(bgEpgHeader);
|
||||
if (tvguideConfig.scaleVideo) {
|
||||
header->drawBackgroundGraphical(bgStatusHeaderWindowed);
|
||||
} else {
|
||||
header->drawBackgroundGraphical(bgStatusHeaderFull);
|
||||
}
|
||||
} else {
|
||||
header->drawBackground();
|
||||
header->drawBoldBorder();
|
||||
}
|
||||
if (tvguideConfig.scaleVideo) {
|
||||
back->DrawRectangle(cRect(headerWidth, 0, geoManager.tvFrameWidth, headerHeight), clrTransparent);
|
||||
}
|
||||
tColor colorTextBack = (tvguideConfig.style == eStyleFlat)?theme.Color(clrHeader):clrTransparent;
|
||||
int logoHeight = 2 * header->Height() / 3;
|
||||
int logoWidth = logoHeight * tvguideConfig.logoWidthRatio / tvguideConfig.logoHeightRatio;
|
||||
@ -171,16 +173,16 @@ void cDetailView::drawHeader() {
|
||||
epgImageWidth = epgImageHeight * tvguideConfig.epgImageWidth / tvguideConfig.epgImageHeight;
|
||||
if (imgLoader.LoadEPGImage(event->EventID(), epgImageWidth, epgImageHeight)) {
|
||||
cImage epgImage = imgLoader.GetImage();
|
||||
int epgImageX = header->Width() - border - epgImageWidth;
|
||||
int epgImageY = (header->Height() - epgImageHeight) / 2;
|
||||
int epgImageX = headerWidth - border - epgImageWidth;
|
||||
int epgImageY = (headerHeight - epgImageHeight) / 2;
|
||||
header->DrawRectangle(cRect(epgImageX-2, epgImageY-2, epgImageWidth + 4, epgImageHeight + 4), theme.Color(clrBorder));
|
||||
header->DrawImage(cPoint(epgImageX, epgImageY), epgImage);
|
||||
epgImageDrawn = true;
|
||||
}
|
||||
}
|
||||
int textX = logoDrawn?(border + logoWidth + 5):border;
|
||||
int textY = (header->Height() - 7*lineHeight/2)/2;
|
||||
int maxTextWidth = header->Width() - 2 * border;
|
||||
int textY = (headerHeight - 7*lineHeight/2)/2;
|
||||
int maxTextWidth = headerWidth - 2 * border;
|
||||
if (logoDrawn)
|
||||
maxTextWidth -= logoWidth;
|
||||
if (epgImageDrawn)
|
||||
@ -211,9 +213,8 @@ void cDetailView::drawHeader() {
|
||||
}
|
||||
}
|
||||
|
||||
void cDetailView::drawRecIcon() {
|
||||
void cDetailView::drawRecIcon(void) {
|
||||
cString recIconText(" REC ");
|
||||
int headerWidth = width;
|
||||
int widthIcon = fontManager.FontDetailHeader->Width(*recIconText);
|
||||
int height = fontManager.FontDetailHeader->Height()+10;
|
||||
int posX = headerWidth - widthIcon - 20;
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <vdr/epg.h>
|
||||
#include "services/tvscraper.h"
|
||||
#include "styledpixmap.h"
|
||||
#include "footer.h"
|
||||
|
||||
// --- cDetailView -------------------------------------------------------------
|
||||
|
||||
@ -16,11 +17,10 @@ private:
|
||||
cPixmap *back;
|
||||
cStyledPixmap *header;
|
||||
cPixmap *headerLogo;
|
||||
cPixmap *headerBack;
|
||||
cPixmap *content;
|
||||
cPixmap *pixmapPoster;
|
||||
cPixmap *scrollBar;
|
||||
cPixmap *footer;
|
||||
cFooter *footer;
|
||||
const cEvent *event;
|
||||
cImage *imgScrollBar;
|
||||
cTextWrapper description;
|
||||
@ -28,6 +28,7 @@ private:
|
||||
TVScraperGetFullInformation mediaInfo;
|
||||
bool hasAdditionalMedia;
|
||||
int border;
|
||||
int headerWidth;
|
||||
int headerHeight;
|
||||
int width;
|
||||
int contentWidth;
|
||||
@ -65,7 +66,7 @@ private:
|
||||
void pageDown();
|
||||
void Action(void);
|
||||
public:
|
||||
cDetailView(const cEvent *event);
|
||||
cDetailView(const cEvent *event, cFooter *footer);
|
||||
virtual ~cDetailView(void);
|
||||
void setContent();
|
||||
void createPixmaps();
|
||||
|
25
footer.c
25
footer.c
@ -54,15 +54,31 @@ void cFooter::drawBlueButton() {
|
||||
DrawButton(*text, theme.Color(clrButtonBlue), theme.Color(clrButtonBlueBorder), oeButtonBlue, positionButtons[3]);
|
||||
}
|
||||
|
||||
void cFooter::UpdateGroupButtons(const cChannel *channel) {
|
||||
void cFooter::UpdateGroupButtons(const cChannel *channel, bool force) {
|
||||
if (!channel)
|
||||
return;
|
||||
int group = channelGroups->GetGroup(channel);
|
||||
if (group != currentGroup) {
|
||||
if ((group != currentGroup) || force) {
|
||||
currentGroup = group;
|
||||
drawGreenButton(channelGroups->GetPrev(group));
|
||||
drawYellowButton(channelGroups->GetNext(group));
|
||||
}
|
||||
}
|
||||
|
||||
void cFooter::SetDetailedViewMode(void) {
|
||||
ClearButton(positionButtons[1]);
|
||||
ClearButton(positionButtons[2]);
|
||||
}
|
||||
|
||||
void cFooter::LeaveDetailedViewMode(const cChannel *channel) {
|
||||
if (tvguideConfig.channelJumpMode == eNumJump) {
|
||||
drawGreenButton();
|
||||
drawYellowButton();
|
||||
} else {
|
||||
UpdateGroupButtons(channel, true);
|
||||
}
|
||||
}
|
||||
|
||||
void cFooter::SetButtonPositions(void) {
|
||||
for (int i=0; i < 4; i++) {
|
||||
positionButtons[i] = -1;
|
||||
@ -126,3 +142,8 @@ void cFooter::DrawButton(const char *text, tColor color, tColor borderColor, eOs
|
||||
int textHeight = fontManager.FontButton->Height();
|
||||
footer->DrawText(cPoint(left + (geoManager.buttonWidth-textWidth)/2, buttonY + (geoManager.buttonHeight-textHeight)/2), text, theme.Color(clrFontButtons), colorTextBack, fontManager.FontButton);
|
||||
}
|
||||
|
||||
void cFooter::ClearButton(int num) {
|
||||
int left = num * geoManager.buttonWidth + (2 * num + 1) * geoManager.buttonBorder;
|
||||
footer->DrawRectangle(cRect(left, buttonY, geoManager.buttonWidth, geoManager.buttonHeight), clrTransparent);
|
||||
}
|
7
footer.h
7
footer.h
@ -15,16 +15,19 @@ private:
|
||||
int currentGroup;
|
||||
void SetButtonPositions(void);
|
||||
void DrawButton(const char *text, tColor color, tColor borderColor, eOsdElementType buttonType, int num);
|
||||
void ClearButton(int num);
|
||||
public:
|
||||
cFooter(cChannelGroups *channelGroups);
|
||||
virtual ~cFooter(void);
|
||||
void drawRedButton();
|
||||
void drawGreenButton();
|
||||
void drawYellowButton();
|
||||
void drawGreenButton(const char *text);
|
||||
void drawYellowButton();
|
||||
void drawYellowButton(const char *text);
|
||||
void drawBlueButton();
|
||||
void UpdateGroupButtons(const cChannel *channel);
|
||||
void UpdateGroupButtons(const cChannel *channel, bool force = false);
|
||||
void SetDetailedViewMode(void);
|
||||
void LeaveDetailedViewMode(const cChannel *channel);
|
||||
};
|
||||
|
||||
#endif //__TVGUIDE_FOOTER_H
|
@ -20,9 +20,9 @@ bool cGeometryManager::SetGeometry(int osdWidth, int osdHeight, bool force) {
|
||||
this->osdHeight = osdHeight;
|
||||
esyslog("tvguide: Set OSD to %d x %d px", osdWidth, osdHeight);
|
||||
|
||||
statusHeaderHeight = (tvguideConfig.displayStatusHeader)?(tvguideConfig.statusHeaderPercent * osdHeight / 100):0;
|
||||
statusHeaderHeight = (tvguideConfig.displayStatusHeader)?(tvguideConfig.headerHeightPercent * osdHeight / 100):0;
|
||||
tvFrameWidth = statusHeaderHeight * 16 / 9;
|
||||
statusHeaderContentWidth = (tvguideConfig.scaleVideo)?(osdWidth - tvFrameWidth):osdWidth;
|
||||
headerContentWidth = (tvguideConfig.scaleVideo)?(osdWidth - tvFrameWidth):osdWidth;
|
||||
channelGroupsWidth = (tvguideConfig.displayChannelGroups)?(tvguideConfig.channelGroupsPercent * osdWidth / 100):0;
|
||||
channelGroupsHeight = (tvguideConfig.displayChannelGroups)?(tvguideConfig.channelGroupsPercent * osdHeight / 100):0;
|
||||
channelHeaderWidth = tvguideConfig.channelHeaderWidthPercent * osdWidth / 100;
|
||||
@ -63,7 +63,7 @@ bool cGeometryManager::SetGeometry(int osdWidth, int osdHeight, bool force) {
|
||||
buttonWidth = osdWidth / 4 - 2 * buttonBorder;
|
||||
buttonHeight = footerHeight - 3 * buttonBorder;
|
||||
|
||||
epgViewHeaderHeight = tvguideConfig.epgViewHeaderPercent * osdHeight / 100;
|
||||
epgViewHeaderHeight = tvguideConfig.headerHeightPercent * osdHeight / 100;
|
||||
|
||||
borderRecMenus = 10;
|
||||
|
||||
|
@ -12,7 +12,7 @@ public:
|
||||
int osdHeight;
|
||||
int statusHeaderHeight;
|
||||
int tvFrameWidth;
|
||||
int statusHeaderContentWidth;
|
||||
int headerContentWidth;
|
||||
//ChannelGroups
|
||||
int channelGroupsWidth;
|
||||
int channelGroupsHeight;
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 302 KiB |
Binary file not shown.
Before Width: | Height: | Size: 316 KiB |
@ -57,10 +57,10 @@ void cImageCache::CreateOsdIconCache(void) {
|
||||
std::string imgStatusHeaderTVFrame = "osdElements/statusheader_tvframe";
|
||||
success = LoadIcon(imgStatusHeaderContentFull);
|
||||
if (success)
|
||||
InsertIntoOsdElementCache(oeStatusHeaderContentFull, geoManager.statusHeaderContentWidth, geoManager.statusHeaderHeight);
|
||||
InsertIntoOsdElementCache(oeStatusHeaderContentFull, geoManager.headerContentWidth, geoManager.statusHeaderHeight);
|
||||
success = LoadIcon(imgStatusHeaderContentWindowed);
|
||||
if (success)
|
||||
InsertIntoOsdElementCache(oeStatusHeaderContentWindowed, geoManager.statusHeaderContentWidth, geoManager.statusHeaderHeight);
|
||||
InsertIntoOsdElementCache(oeStatusHeaderContentWindowed, geoManager.headerContentWidth, geoManager.statusHeaderHeight);
|
||||
success = LoadIcon(imgStatusHeaderTVFrame);
|
||||
if (success)
|
||||
InsertIntoOsdElementCache(oeStatusHeaderTVFrame, geoManager.tvFrameWidth, geoManager.statusHeaderHeight);
|
||||
@ -118,11 +118,6 @@ void cImageCache::CreateOsdIconCache(void) {
|
||||
if (success)
|
||||
InsertIntoOsdElementCache(oeClock, geoManager.clockWidth, geoManager.clockHeight);
|
||||
|
||||
//Detailed EPG View
|
||||
success = LoadIcon("osdElements/epgview_header");
|
||||
if (success)
|
||||
InsertIntoOsdElementCache(oeEpgHeader, geoManager.osdWidth, geoManager.epgViewHeaderHeight);
|
||||
|
||||
//Channel Jump
|
||||
success = LoadIcon("osdElements/channel_jump");
|
||||
if (success)
|
||||
|
@ -29,7 +29,6 @@ enum eOsdElementType {
|
||||
oeTimeline2,
|
||||
oeDateViewer,
|
||||
oeClock,
|
||||
oeEpgHeader,
|
||||
oeChannelJump,
|
||||
};
|
||||
|
||||
|
14
po/ca_ES.po
14
po/ca_ES.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2014-01-10 11:54+0100\n"
|
||||
"POT-Creation-Date: 2014-01-11 16:02+0100\n"
|
||||
"PO-Revision-Date: 2013-09-21 17:49+0200\n"
|
||||
"Last-Translator: My friend <Sampep> Thanks David <Gabychan> <gbonich@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
@ -603,15 +603,15 @@ msgstr "Alçada cronologia (% alçada OSD)"
|
||||
msgid "Display time in EPG Grids"
|
||||
msgstr "Mostra el temps a l'EPG"
|
||||
|
||||
msgid "Height of Headers (Status Header and EPG View, Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Height of Footer (Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display status header"
|
||||
msgstr "Mostra capçalera d'estat"
|
||||
|
||||
msgid "Height of status header (Perc. of osd height)"
|
||||
msgstr "Alçada capçalera d'estat (% alçada OSD)"
|
||||
|
||||
msgid "Scale video to upper right corner"
|
||||
msgstr "Escala de vídeo a cantonada superior dreta"
|
||||
|
||||
@ -645,9 +645,6 @@ msgstr "Proporció amplada logotip"
|
||||
msgid "Logo height ratio"
|
||||
msgstr "Proporció alçada logotip"
|
||||
|
||||
msgid "Height of Header in Detailed View (Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text Border in Detailed View (pixel)"
|
||||
msgstr ""
|
||||
|
||||
@ -756,5 +753,8 @@ msgstr ""
|
||||
msgid "Recording Menus Icon Cache"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Height of status header (Perc. of osd height)"
|
||||
#~ msgstr "Alçada capçalera d'estat (% alçada OSD)"
|
||||
|
||||
#~ msgid "Configure Search Timer Options for Search String"
|
||||
#~ msgstr "Configura opcions de cerca de temporitzadors amb text"
|
||||
|
13
po/de_DE.po
13
po/de_DE.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2014-01-10 11:54+0100\n"
|
||||
"POT-Creation-Date: 2014-01-11 16:02+0100\n"
|
||||
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
||||
"Last-Translator: Horst\n"
|
||||
"Language-Team: \n"
|
||||
@ -28,7 +28,7 @@ msgid "No EPG Information available"
|
||||
msgstr "Keine EPG Daten verfügbar"
|
||||
|
||||
msgid "Search & Rec"
|
||||
msgstr "Search & Rec"
|
||||
msgstr "Suchen & Aufn."
|
||||
|
||||
msgid "Channels back"
|
||||
msgstr "Kanäle zurück"
|
||||
@ -600,15 +600,15 @@ msgstr "Höhe der Zeitleiste (% der OSD Höhe)"
|
||||
msgid "Display time in EPG Grids"
|
||||
msgstr "Zeit in EPG Grids anzeigen"
|
||||
|
||||
msgid "Height of Headers (Status Header and EPG View, Perc. of osd height)"
|
||||
msgstr "Höhe der Header (Status Header und EPG View, % der OSD Höhe)"
|
||||
|
||||
msgid "Height of Footer (Perc. of osd height)"
|
||||
msgstr "Höhe des Footers (% der OSD Höhe)"
|
||||
|
||||
msgid "Display status header"
|
||||
msgstr "Status Header anzeigen"
|
||||
|
||||
msgid "Height of status header (Perc. of osd height)"
|
||||
msgstr "Höhe des Status Headers (% der OSD Höhe)"
|
||||
|
||||
msgid "Scale video to upper right corner"
|
||||
msgstr "Video in obere rechte Ecke skalieren"
|
||||
|
||||
@ -642,9 +642,6 @@ msgstr "Logo Breitenverhältnis"
|
||||
msgid "Logo height ratio"
|
||||
msgstr "Logo Höhenverhältnis"
|
||||
|
||||
msgid "Height of Header in Detailed View (Perc. of osd height)"
|
||||
msgstr "Höhe des Headers im detailierten EPG View (% der OSD Höhe)"
|
||||
|
||||
msgid "Text Border in Detailed View (pixel)"
|
||||
msgstr "Rand im detailierten EPG View"
|
||||
|
||||
|
14
po/ru_RU.po
14
po/ru_RU.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2014-01-10 11:54+0100\n"
|
||||
"POT-Creation-Date: 2014-01-11 16:02+0100\n"
|
||||
"PO-Revision-Date: 2013-09-25 17:49+0400\n"
|
||||
"Last-Translator: AmiD, ilya\n"
|
||||
"Language-Team: Russia-Cherepovets(wm.amid@gmail.com)\n"
|
||||
@ -600,15 +600,15 @@ msgstr "Высота таймлинии (% от высоты OSD)"
|
||||
msgid "Display time in EPG Grids"
|
||||
msgstr "Показывать время в сетке EPG"
|
||||
|
||||
msgid "Height of Headers (Status Header and EPG View, Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Height of Footer (Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display status header"
|
||||
msgstr "Показывать верхнюю панель"
|
||||
|
||||
msgid "Height of status header (Perc. of osd height)"
|
||||
msgstr "Высота верхней панели (% от высоты OSD)"
|
||||
|
||||
msgid "Scale video to upper right corner"
|
||||
msgstr "Показывать видео в правом верхнем углу"
|
||||
|
||||
@ -642,9 +642,6 @@ msgstr "Ширина логотипов"
|
||||
msgid "Logo height ratio"
|
||||
msgstr "Высота логотипов"
|
||||
|
||||
msgid "Height of Header in Detailed View (Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text Border in Detailed View (pixel)"
|
||||
msgstr ""
|
||||
|
||||
@ -753,5 +750,8 @@ msgstr ""
|
||||
msgid "Recording Menus Icon Cache"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Height of status header (Perc. of osd height)"
|
||||
#~ msgstr "Высота верхней панели (% от высоты OSD)"
|
||||
|
||||
#~ msgid "Configure Search Timer Options for Search String"
|
||||
#~ msgstr "Настроить параметры таймера"
|
||||
|
14
po/sk_SK.po
14
po/sk_SK.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 1.1.0\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2014-01-10 11:54+0100\n"
|
||||
"POT-Creation-Date: 2014-01-11 16:02+0100\n"
|
||||
"PO-Revision-Date: 2013-09-15 00:12+0100\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
@ -600,15 +600,15 @@ msgstr "V
|
||||
msgid "Display time in EPG Grids"
|
||||
msgstr "Zobrazi» èas v EPG mrie¾ke"
|
||||
|
||||
msgid "Height of Headers (Status Header and EPG View, Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Height of Footer (Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display status header"
|
||||
msgstr "Zobrazi» stavovú hlavièku"
|
||||
|
||||
msgid "Height of status header (Perc. of osd height)"
|
||||
msgstr "Vý¹ka stavovej hlavièky (% z OSD vý¹ky)"
|
||||
|
||||
msgid "Scale video to upper right corner"
|
||||
msgstr "©kálovatelné video v pravom hornom rohu"
|
||||
|
||||
@ -642,9 +642,6 @@ msgstr "
|
||||
msgid "Logo height ratio"
|
||||
msgstr "Vý¹ka loga"
|
||||
|
||||
msgid "Height of Header in Detailed View (Perc. of osd height)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text Border in Detailed View (pixel)"
|
||||
msgstr ""
|
||||
|
||||
@ -753,5 +750,8 @@ msgstr ""
|
||||
msgid "Recording Menus Icon Cache"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Height of status header (Perc. of osd height)"
|
||||
#~ msgstr "Vý¹ka stavovej hlavièky (% z OSD vý¹ky)"
|
||||
|
||||
#~ msgid "Configure Search Timer Options for Search String"
|
||||
#~ msgstr "Konfigurova» mo¾nosti plánov pre vyhµadávanie kµúèových slov"
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "recmenumanager.h"
|
||||
|
||||
cRecMenuManager::cRecMenuManager(void) {
|
||||
footer = NULL;
|
||||
active = false;
|
||||
activeMenu = NULL;
|
||||
activeMenuBuffer = NULL;
|
||||
@ -114,14 +115,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
|
||||
if (t) {
|
||||
const cEvent *ev = t->Event();
|
||||
if (ev) {
|
||||
activeMenu->Hide();
|
||||
detailView = new cDetailView(ev);
|
||||
detailView->setContent();
|
||||
detailView->drawHeader();
|
||||
detailView->drawContent();
|
||||
detailView->drawScrollbar();
|
||||
detailView->Start();
|
||||
detailViewActive = true;
|
||||
DisplayDetailedView(ev);
|
||||
}
|
||||
}
|
||||
break; }
|
||||
@ -506,14 +500,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
|
||||
ev = menu->GetEvent();
|
||||
} else break;
|
||||
if (ev) {
|
||||
activeMenu->Hide();
|
||||
detailView = new cDetailView(ev);
|
||||
detailView->setContent();
|
||||
detailView->drawHeader();
|
||||
detailView->drawContent();
|
||||
detailView->drawScrollbar();
|
||||
detailView->Start();
|
||||
detailViewActive = true;
|
||||
DisplayDetailedView(ev);
|
||||
}
|
||||
break;}
|
||||
case rmsSearchRecord: {
|
||||
@ -745,6 +732,18 @@ bool cRecMenuManager::DisplayTimerConflict(int timerID) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void cRecMenuManager::DisplayDetailedView(const cEvent *ev) {
|
||||
activeMenu->Hide();
|
||||
detailView = new cDetailView(ev, footer);
|
||||
footer->SetDetailedViewMode();
|
||||
detailView->setContent();
|
||||
detailView->drawHeader();
|
||||
detailView->drawContent();
|
||||
detailView->drawScrollbar();
|
||||
detailView->Start();
|
||||
detailViewActive = true;
|
||||
}
|
||||
|
||||
eOSState cRecMenuManager::ProcessKey(eKeys Key) {
|
||||
eOSState state = osContinue;
|
||||
eRecMenuState nextState = rmsContinue;
|
||||
|
@ -4,10 +4,12 @@
|
||||
#include "recmenu.h"
|
||||
#include "recmanager.h"
|
||||
#include "services/epgsearch.h"
|
||||
#include "footer.h"
|
||||
|
||||
// --- cRecMenuManager -------------------------------------------------------------
|
||||
class cRecMenuManager {
|
||||
private:
|
||||
cFooter *footer;
|
||||
bool active;
|
||||
cRecMenu *activeMenu;
|
||||
cRecMenu *activeMenuBuffer;
|
||||
@ -22,9 +24,11 @@ private:
|
||||
void DisplaySearchTimerList(void);
|
||||
bool DisplayTimerConflict(cTimer *timer);
|
||||
bool DisplayTimerConflict(int timerID);
|
||||
void DisplayDetailedView(const cEvent *ev);
|
||||
public:
|
||||
cRecMenuManager(void);
|
||||
virtual ~cRecMenuManager(void);
|
||||
void SetFooter(cFooter *footer) { this->footer = footer; };
|
||||
bool isActive(void) { return active; };
|
||||
void Start(const cEvent *event);
|
||||
void Close(void);
|
||||
|
@ -785,7 +785,7 @@ void cRecMenuSearchTimerEdit::InitMenuItems(void) {
|
||||
|
||||
if (advancedOptions) {
|
||||
useDayOfWeekSubMenu.push_back(new cRecMenuItemDayChooser(tr("Select Days"), dayOfWeek, false, &dayOfWeek));
|
||||
avoidRepeatSubMenu.push_back(new cRecMenuItemInt(tr("Number of allowed repeats"), allowedRepeats, 1, 30, false, &allowedRepeats, rmsSearchTimerSave));
|
||||
avoidRepeatSubMenu.push_back(new cRecMenuItemInt(tr("Number of allowed repeats"), allowedRepeats, 0, 30, false, &allowedRepeats, rmsSearchTimerSave));
|
||||
avoidRepeatSubMenu.push_back(new cRecMenuItemBool(tr("Compare Title"), compareTitle, false, false, &compareTitle, rmsSearchTimerSave));
|
||||
avoidRepeatSubMenu.push_back(new cRecMenuItemBool(tr("Compare Subtitle"), compareSubtitle, false, false, &compareSubtitle, rmsSearchTimerSave));
|
||||
avoidRepeatSubMenu.push_back(new cRecMenuItemBool(tr("Compare Description"), compareSummary, false, false, &compareSummary, rmsSearchTimerSave));
|
||||
|
6
setup.c
6
setup.c
@ -63,9 +63,8 @@ void cTvguideSetup::Store(void) {
|
||||
SetupStore("showTimeInGrid", tvguideConfig.showTimeInGrid);
|
||||
SetupStore("displayStatusHeader", tvguideConfig.displayStatusHeader);
|
||||
SetupStore("displayChannelGroups", tvguideConfig.displayChannelGroups);
|
||||
SetupStore("statusHeaderPercent", tvguideConfig.statusHeaderPercent);
|
||||
SetupStore("headerHeightPercent", tvguideConfig.headerHeightPercent);
|
||||
SetupStore("channelGroupsPercent", tvguideConfig.channelGroupsPercent);
|
||||
SetupStore("epgViewHeaderPercent", tvguideConfig.epgViewHeaderPercent);
|
||||
SetupStore("epgViewBorder", tvguideConfig.epgViewBorder);
|
||||
SetupStore("scaleVideo", tvguideConfig.scaleVideo);
|
||||
SetupStore("decorateVideo", tvguideConfig.decorateVideo);
|
||||
@ -244,11 +243,11 @@ void cMenuSetupScreenLayout::Set(void) {
|
||||
Add(new cMenuEditIntItem(*cString::sprintf("%s%s", *indent, tr("Number of Channels to display")), &tmpTvguideConfig->channelRows, 3, 12));
|
||||
Add(new cMenuEditBoolItem(*cString::sprintf("%s%s", *indent, tr("Display time in EPG Grids")), &tmpTvguideConfig->showTimeInGrid));
|
||||
}
|
||||
Add(new cMenuEditIntItem(tr("Height of Headers (Status Header and EPG View, Perc. of osd height)"), &tmpTvguideConfig->headerHeightPercent, 10, 50));
|
||||
Add(new cMenuEditIntItem(tr("Height of Footer (Perc. of osd height)"), &tmpTvguideConfig->footerHeightPercent, 3, 20));
|
||||
|
||||
Add(new cMenuEditBoolItem(tr("Display status header"), &tmpTvguideConfig->displayStatusHeader));
|
||||
if (tmpTvguideConfig->displayStatusHeader) {
|
||||
Add(new cMenuEditIntItem(*cString::sprintf("%s%s", *indent, tr("Height of status header (Perc. of osd height)")), &tmpTvguideConfig->statusHeaderPercent, 5, 50));
|
||||
Add(new cMenuEditBoolItem(*cString::sprintf("%s%s", *indent, tr("Scale video to upper right corner")), &tmpTvguideConfig->scaleVideo));
|
||||
Add(new cMenuEditBoolItem(*cString::sprintf("%s%s", *indent, tr("Rounded corners around video frame")), &tmpTvguideConfig->decorateVideo));
|
||||
}
|
||||
@ -271,7 +270,6 @@ void cMenuSetupScreenLayout::Set(void) {
|
||||
Add(new cMenuEditIntItem(*cString::sprintf("%s%s", *indent, tr("Logo height ratio")), &tmpTvguideConfig->logoHeightRatio, 1, 1000));
|
||||
}
|
||||
|
||||
Add(new cMenuEditIntItem(tr("Height of Header in Detailed View (Perc. of osd height)"), &tmpTvguideConfig->epgViewHeaderPercent, 10, 50));
|
||||
Add(new cMenuEditIntItem(tr("Text Border in Detailed View (pixel)"), &tmpTvguideConfig->epgViewBorder, 0, 300));
|
||||
|
||||
Add(new cMenuEditStraItem(tr("Show EPG Images"), &tmpTvguideConfig->hideEpgImages, 2, hideChannelLogosItems));
|
||||
|
@ -7,7 +7,7 @@ cStatusHeader::cStatusHeader(void) {
|
||||
color = theme.Color(clrStatusHeader);
|
||||
colorBlending = theme.Color(clrStatusHeaderBlending);
|
||||
height = geoManager.statusHeaderHeight;
|
||||
width = geoManager.statusHeaderContentWidth;
|
||||
width = geoManager.headerContentWidth;
|
||||
tvFrameWidth = geoManager.tvFrameWidth;
|
||||
pixmap = osdManager.requestPixmap(1, cRect(0, 0, width, height));
|
||||
pixmapText = osdManager.requestPixmap(2, cRect(0, 0, width, height));
|
||||
@ -35,7 +35,6 @@ void cStatusHeader::Draw(void) {
|
||||
} else {
|
||||
drawBackgroundGraphical(bgStatusHeaderFull);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (tvguideConfig.decorateVideo) {
|
||||
DecorateVideoFrame();
|
||||
|
@ -45,8 +45,6 @@ void cStyledPixmap::drawBackgroundGraphical(eBackgroundType type, bool active) {
|
||||
back = imgCache.GetOsdElement(oeStatusHeaderContentFull);
|
||||
} else if (type == bgClock) {
|
||||
back = imgCache.GetOsdElement(oeClock);
|
||||
} else if (type == bgEpgHeader) {
|
||||
back = imgCache.GetOsdElement(oeEpgHeader);
|
||||
} else if (type == bgButton) {
|
||||
drawBackgroundButton(active);
|
||||
return;
|
||||
|
@ -13,7 +13,6 @@ enum eBackgroundType {
|
||||
bgChannelHeader,
|
||||
bgChannelGroup,
|
||||
bgClock,
|
||||
bgEpgHeader,
|
||||
bgButton,
|
||||
bgRecMenuBack,
|
||||
bgChannelJump,
|
||||
|
@ -101,8 +101,8 @@ void cTvGuideOsd::drawOsd() {
|
||||
timeLine->drawClock();
|
||||
channelGroups = new cChannelGroups();
|
||||
channelGroups->ReadChannelGroups();
|
||||
//channelGroups->DumpGroups();
|
||||
footer = new cFooter(channelGroups);
|
||||
recMenuManager->SetFooter(footer);
|
||||
footer->drawRedButton();
|
||||
if (tvguideConfig.channelJumpMode == eNumJump) {
|
||||
footer->drawGreenButton();
|
||||
@ -538,7 +538,9 @@ eOSState cTvGuideOsd::ChannelSwitch() {
|
||||
void cTvGuideOsd::DetailedEPG() {
|
||||
if (!activeGrid->isDummy()) {
|
||||
detailViewActive = true;
|
||||
detailView = new cDetailView(activeGrid->GetEvent());
|
||||
detailView = new cDetailView(activeGrid->GetEvent(), footer);
|
||||
footer->SetDetailedViewMode();
|
||||
osdManager.flush();
|
||||
detailView->setContent();
|
||||
detailView->drawHeader();
|
||||
detailView->drawContent();
|
||||
|
Loading…
Reference in New Issue
Block a user