mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
				synced 2023-10-05 13:01:48 +00:00 
			
		
		
		
	restructured detailöed EPG View that tv frame and status buttons are displayed
This commit is contained in:
		
							
								
								
									
										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; | ||||
| @@ -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);  | ||||
| } | ||||
							
								
								
									
										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<7A> <20>as v EPG mrie<69>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<7A> stavov<6F> hlavi<76>ku" | ||||
|  | ||||
| msgid "Height of status header (Perc. of osd height)" | ||||
| msgstr "V<><56>ka stavovej hlavi<76>ky (% z OSD v<><76>ky)" | ||||
|  | ||||
| msgid "Scale video to upper right corner" | ||||
| msgstr "<22>k<EFBFBD>lovateln<6C> video v pravom hornom rohu" | ||||
|  | ||||
| @@ -642,9 +642,6 @@ msgstr " | ||||
| msgid "Logo height ratio" | ||||
| msgstr "V<><56>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<><56>ka stavovej hlavi<76>ky (% z OSD v<><76>ky)" | ||||
|  | ||||
| #~ msgid "Configure Search Timer Options for Search String" | ||||
| #~ msgstr "Konfigurova<76> mo<6D>nosti pl<70>nov pre vyh<79>ad<61>vanie k<><6B><EFBFBD>ov<6F>ch slov" | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user