summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--config.c6
-rw-r--r--config.h3
-rw-r--r--detailview.c41
-rw-r--r--detailview.h7
-rw-r--r--footer.c25
-rw-r--r--footer.h7
-rw-r--r--geometrymanager.c6
-rw-r--r--geometrymanager.h2
-rw-r--r--icons/darkredNG/osdElements/epgview_header.pngbin308748 -> 0 bytes
-rw-r--r--icons/default/osdElements/epgview_header.pngbin323520 -> 0 bytes
-rw-r--r--imagecache.c9
-rw-r--r--imagecache.h1
-rw-r--r--po/ca_ES.po14
-rwxr-xr-xpo/de_DE.po13
-rw-r--r--po/ru_RU.po14
-rw-r--r--po/sk_SK.po14
-rw-r--r--recmenumanager.c33
-rw-r--r--recmenumanager.h4
-rw-r--r--recmenus.c2
-rw-r--r--setup.c6
-rw-r--r--statusheader.c3
-rw-r--r--styledpixmap.c2
-rw-r--r--styledpixmap.h1
-rw-r--r--tvguideosd.c6
25 files changed, 118 insertions, 103 deletions
diff --git a/HISTORY b/HISTORY
index 0a4da2c..adaf768 100644
--- a/HISTORY
+++ b/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
diff --git a/config.c b/config.c
index b3a95f7..885693e 100644
--- a/config.c
+++ b/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);
diff --git a/config.h b/config.h
index 689384a..07427d6 100644
--- a/config.h
+++ b/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;
diff --git a/detailview.c b/detailview.c
index dc726f0..a497e6a 100644
--- a/detailview.c
+++ b/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;
diff --git a/detailview.h b/detailview.h
index 0693cca..c7a6c50 100644
--- a/detailview.h
+++ b/detailview.h
@@ -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();
diff --git a/footer.c b/footer.c
index 348da30..aa4b12e 100644
--- a/footer.c
+++ b/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;
@@ -125,4 +141,9 @@ void cFooter::DrawButton(const char *text, tColor color, tColor borderColor, eOs
int textWidth = fontManager.FontButton->Width(text);
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);
} \ No newline at end of file
diff --git a/footer.h b/footer.h
index 51fc096..56aef7f 100644
--- a/footer.h
+++ b/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 \ No newline at end of file
diff --git a/geometrymanager.c b/geometrymanager.c
index 9c9e2b8..94d47b7 100644
--- a/geometrymanager.c
+++ b/geometrymanager.c
@@ -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;
diff --git a/geometrymanager.h b/geometrymanager.h
index a5738c0..ecd31b9 100644
--- a/geometrymanager.h
+++ b/geometrymanager.h
@@ -12,7 +12,7 @@ public:
int osdHeight;
int statusHeaderHeight;
int tvFrameWidth;
- int statusHeaderContentWidth;
+ int headerContentWidth;
//ChannelGroups
int channelGroupsWidth;
int channelGroupsHeight;
diff --git a/icons/darkredNG/osdElements/epgview_header.png b/icons/darkredNG/osdElements/epgview_header.png
deleted file mode 100644
index c42dad8..0000000
--- a/icons/darkredNG/osdElements/epgview_header.png
+++ /dev/null
Binary files differ
diff --git a/icons/default/osdElements/epgview_header.png b/icons/default/osdElements/epgview_header.png
deleted file mode 100644
index b754eb0..0000000
--- a/icons/default/osdElements/epgview_header.png
+++ /dev/null
Binary files differ
diff --git a/imagecache.c b/imagecache.c
index 90af108..93baa9d 100644
--- a/imagecache.c
+++ b/imagecache.c
@@ -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)
diff --git a/imagecache.h b/imagecache.h
index f8aeac5..365e910 100644
--- a/imagecache.h
+++ b/imagecache.h
@@ -29,7 +29,6 @@ enum eOsdElementType {
oeTimeline2,
oeDateViewer,
oeClock,
- oeEpgHeader,
oeChannelJump,
};
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 0d195dd..cc466cc 100644
--- a/po/ca_ES.po
+++ b/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"
diff --git a/po/de_DE.po b/po/de_DE.po
index 574a111..053f965 100755
--- a/po/de_DE.po
+++ b/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"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 3c3ce31..a03543b 100644
--- a/po/ru_RU.po
+++ b/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 "Настроить параметры таймера"
diff --git a/po/sk_SK.po b/po/sk_SK.po
index 8b0d56d..95a3015 100644
--- a/po/sk_SK.po
+++ b/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 "Vka asovej osi (% z OSD vky)"
msgid "Display time in EPG Grids"
msgstr "Zobrazi as v EPG mrieke"
+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 hlaviku"
-msgid "Height of status header (Perc. of osd height)"
-msgstr "Vka stavovej hlaviky (% z OSD vky)"
-
msgid "Scale video to upper right corner"
msgstr "klovateln video v pravom hornom rohu"
@@ -642,9 +642,6 @@ msgstr "rka loga"
msgid "Logo height ratio"
msgstr "Vka 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 "Vka stavovej hlaviky (% z OSD vky)"
+
#~ msgid "Configure Search Timer Options for Search String"
#~ msgstr "Konfigurova monosti plnov pre vyhadvanie kovch slov"
diff --git a/recmenumanager.c b/recmenumanager.c
index 8206164..c702184 100644
--- a/recmenumanager.c
+++ b/recmenumanager.c
@@ -5,6 +5,7 @@
#include "recmenumanager.h"
cRecMenuManager::cRecMenuManager(void) {
+ footer = NULL;
active = false;
activeMenu = NULL;
activeMenuBuffer = NULL;
@@ -114,17 +115,10 @@ 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;}
+ break; }
case rmsDeleteTimerConflictMenu: {
//caller: cRecMenuTimerConflict
//delete timer out of current timer conflict
@@ -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;
diff --git a/recmenumanager.h b/recmenumanager.h
index cc000d1..d40a0fe 100644
--- a/recmenumanager.h
+++ b/recmenumanager.h
@@ -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);
diff --git a/recmenus.c b/recmenus.c
index f5b1041..71e70ce 100644
--- a/recmenus.c
+++ b/recmenus.c
@@ -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));
diff --git a/setup.c b/setup.c
index 77320c7..c31c849 100644
--- a/setup.c
+++ b/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));
diff --git a/statusheader.c b/statusheader.c
index 7632d79..3b04919 100644
--- a/statusheader.c
+++ b/statusheader.c
@@ -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();
diff --git a/styledpixmap.c b/styledpixmap.c
index 20945f1..73c9256 100644
--- a/styledpixmap.c
+++ b/styledpixmap.c
@@ -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;
diff --git a/styledpixmap.h b/styledpixmap.h
index dbcc293..82af25c 100644
--- a/styledpixmap.h
+++ b/styledpixmap.h
@@ -13,7 +13,6 @@ enum eBackgroundType {
bgChannelHeader,
bgChannelGroup,
bgClock,
- bgEpgHeader,
bgButton,
bgRecMenuBack,
bgChannelJump,
diff --git a/tvguideosd.c b/tvguideosd.c
index f1ab5b0..77d2477 100644
--- a/tvguideosd.c
+++ b/tvguideosd.c
@@ -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();