diff options
author | Andreas Mair <amair.sob@googlemail.com> | 2010-04-05 12:31:58 +0200 |
---|---|---|
committer | Andreas Mair <amair.sob@googlemail.com> | 2010-04-05 12:31:58 +0200 |
commit | eebfdf1a3d737db58e6d2d3c6945584dd5e5054f (patch) | |
tree | 6a28dcd5ab8c85a14a8957f221d8ef0a5680a7fc | |
parent | 95977e11c0a5c1170351f2fafe400519d7b1086b (diff) | |
download | vdr-plugin-skinenigmang-eebfdf1a3d737db58e6d2d3c6945584dd5e5054f.tar.gz vdr-plugin-skinenigmang-eebfdf1a3d737db58e6d2d3c6945584dd5e5054f.tar.bz2 |
2010-04-05: Version 0.1.1v0.1.1
- Moved "General / Show progressbar" to "Logos & Symbols / Show progressbar in lists".
- Fixed gcc 4.3 compiler warnings.
- Show "Parental Rating" and "Contents" in EPG and recording details (requires at least VDR 1.7.11).
- Show estimated bitrate and recording format (TS/PES) in recording's details.
- Show subtitle tracks in EPG and recording details.
- Changed defaults for setup options.
- Don't define CLEAR_BUG_WORKAROUND by default.
- Added new setup option "Colored status symbols in EPG details".
- Added new theme "bgw" (Submitted by jlacvdr @gmail.com).
- Added new setup option "Round corners".
- Display cut length and size of recordings in recording's details (based on skinelchi-0.2.1).
- Fixed calculation of channel info OSD areas.
- Check for valid OSD width and height and font size and width.
- Added VDR's default fonts to the TrueTypeFont selector.
- Unselectable rows in menu OSD starting with "---" will be formated as headlines if "Show symbols in lists" is set.
- New "elapsed/remaining" option for "Show remaining/elapsed time" setting.
- New "active only" option for "Show status symbols" setting.
- Added setup option for minimal info area width.
- Restructured setup menu.
-rw-r--r-- | HISTORY | 21 | ||||
-rw-r--r-- | Makefile | 16 | ||||
-rw-r--r-- | README | 74 | ||||
-rw-r--r-- | config.c | 13 | ||||
-rw-r--r-- | config.h | 3 | ||||
-rw-r--r-- | enigma.c | 761 | ||||
-rw-r--r-- | font.c | 32 | ||||
-rw-r--r-- | font.h | 4 | ||||
-rw-r--r-- | logo.c | 21 | ||||
-rw-r--r-- | po/ca_ES.po | 76 | ||||
-rw-r--r-- | po/cs_CZ.po | 76 | ||||
-rw-r--r-- | po/da_DK.po | 76 | ||||
-rw-r--r-- | po/de_DE.po | 88 | ||||
-rw-r--r-- | po/el_GR.po | 76 | ||||
-rw-r--r-- | po/es_ES.po | 96 | ||||
-rw-r--r-- | po/et_EE.po | 86 | ||||
-rw-r--r-- | po/fi_FI.po | 96 | ||||
-rw-r--r-- | po/fr_FR.po | 96 | ||||
-rw-r--r-- | po/hr_HR.po | 76 | ||||
-rw-r--r-- | po/hu_HU.po | 76 | ||||
-rw-r--r--[-rwxr-xr-x] | po/it_IT.po | 93 | ||||
-rw-r--r-- | po/nl_NL.po | 96 | ||||
-rw-r--r-- | po/nn_NO.po | 76 | ||||
-rw-r--r-- | po/pl_PL.po | 86 | ||||
-rw-r--r-- | po/pt_PT.po | 76 | ||||
-rw-r--r-- | po/ro_RO.po | 76 | ||||
-rw-r--r-- | po/ru_RU.po | 95 | ||||
-rw-r--r-- | po/sl_SI.po | 76 | ||||
-rw-r--r-- | po/sv_SE.po | 86 | ||||
-rw-r--r-- | po/tr_TR.po | 76 | ||||
-rw-r--r-- | setup.c | 70 | ||||
-rw-r--r-- | setup.h | 5 | ||||
-rw-r--r-- | skinenigmang.c | 8 | ||||
-rw-r--r-- | texteffects.c | 4 | ||||
-rw-r--r-- | themes/EnigmaNG-bgw.theme | 48 |
35 files changed, 2127 insertions, 707 deletions
@@ -1,6 +1,27 @@ VDR Skin 'EnigmaNG' Revision History ------------------------------------------ +2010-04-05: Version 0.1.1 +- Moved "General / Show progressbar" to "Logos & Symbols / Show progressbar in lists". +- Fixed gcc 4.3 compiler warnings. +- Show "Parental Rating" and "Contents" in EPG and recording details (requires at least VDR 1.7.11). +- Show estimated bitrate and recording format (TS/PES) in recording's details. +- Show subtitle tracks in EPG and recording details. +- Changed defaults for setup options. +- Don't define CLEAR_BUG_WORKAROUND by default. +- Added new setup option "Colored status symbols in EPG details". +- Added new theme "bgw" (Submitted by jlacvdr @gmail.com). +- Added new setup option "Round corners". +- Display cut length and size of recordings in recording's details (based on skinelchi-0.2.1). +- Fixed calculation of channel info OSD areas. +- Check for valid OSD width and height and font size and width. +- Added VDR's default fonts to the TrueTypeFont selector. +- Unselectable rows in menu OSD starting with "---" will be formated as headlines if "Show symbols in lists" is set. +- New "elapsed/remaining" option for "Show remaining/elapsed time" setting. +- New "active only" option for "Show status symbols" setting. +- Added setup option for minimal info area width. +- Restructured setup menu. + 2009-04-25: Version 0.1.0 - Fixed: Calculating width of events' start times in channel info OSD (Reported by tomglx @vdr-poprtal.de). - Changed: pause scrolling when text has scrolled all to the left in scroll behaviour "to the left" (Reported by Andreas Brugger). @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile,v 1.31 2009/04/06 09:46:27 amair Exp $ +# $Id: Makefile,v 1.34 2010/03/08 14:31:57 amair Exp $ # This turns usage of logos in the main menu complete. This might also # improve the performance of the menus. EXPERIMENTAL!!! @@ -47,7 +47,7 @@ VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ p ### The C++ compiler and options: CXX ?= g++ -CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual +CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses ### The directory environment: @@ -55,9 +55,11 @@ VDRDIR = ../../.. LIBDIR = ../../lib TMPDIR = /tmp +### Make sure that necessary options are included: + +-include $(VDRDIR)/Make.global + ### Allow user defined options to overwrite defaults: -#TODO -CLEAR_BUG_WORKAROUND = 1 -include $(VDRDIR)/Make.config #CXXFLAGS += -Wall -W -Wconversion -Wshadow -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wwrite-strings @@ -113,6 +115,10 @@ DEFINES += -DHAVE_IMAGEMAGICK endif DEFINES += -DRECORDING_COVER='"Cover-Enigma"' +# This is a simple workaround if one wants to use +# softdevice plugin without a single 8bpp area, +# because this combination shows some false colored +# areas in menu OSD. ifdef CLEAR_BUG_WORKAROUND DEFINES += -DCLEAR_BUG_WORKAROUND endif @@ -168,7 +174,7 @@ $(I18Npot): $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<andreas@vdr-developer.org>' -o $@ $^ %.po: $(I18Npot) - msgmerge -U --no-wrap --no-location --backup=none -q $@ $< + msgmerge -U --no-wrap --no-location --backup=none --no-fuzzy-matching -q $@ $< @touch $@ $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo @@ -121,11 +121,41 @@ Setup Options NOTE: after commit the settings you have to fully close and re-open the OSD to make the change affect. +- Round corners + If enabled some corners in the OSD will be rounded. + +- Full title width + If enabled the titlebar in the channel info will be drawn above the channel + logo. This has no effect if channel logos are disabled. + +- Show VPS + Hide or show VPS information in channel info and event info. + +- Dynamic OSD size + Get OSD size from Avards or VDR >= v1.5.4. + NOTE: This requires EnigmaNG compiled with SKINENIGMA_USE_PLUGIN_AVARDS = 1 + and a running Avards plugin. + ++ Menu OSD - Show info area in main menu This info area is shown in the main menu and it will show the current/next timers and the number of timer conflicts (if SKINENIGMA_USE_PLUGIN_EPGSEACH has been defined). +- Min width of info area + This sets the minimum width the info area will have. + +- Show messages in menu on (Last line/Help buttons/Free last line) + Last line - Messages will hide the last line in the menu OSD. + Help buttons - Messages will hide the help buttons in menu OSD. + Free last line - The same as "Last line" but now the available list items + is reduced by one. + +- Show scrollbar in menu (no/yes/if required) + Disable or enable the scrollbar in the menu OSD. If set to "if required" the + scrollbar will only be visible if scrolling is possible. + ++ EPG & Recording Details OSD - Show auxiliary information (top/bottom) Here you can set where you want to have the auxiliary information when you open an event's or recording's info screen. This information @@ -147,19 +177,14 @@ Setup Options always - This will also use size.vdr if available. Otherwise it will calculate the size itself. -- Full title width - If enabled the titlebar in the channel info will be drawn above the channel - logo. This has no effect if channel logos are disabled. - -- Show remaining/elapsed time (elapsed/remaining/percent) ++ Channel Info OSD +- Show remaining/elapsed time (elapsed/remaining/percent/"elapsed/remaining") Here you can set if you want to read the number of minutes an event is already running (preceded by "+") or the number of minutes an event will run (preceded by "-") or the percent the event has been running in the - channel info. + channel info. "elapsed/remaining" will show both elapsed and remaining number + of minutes. -- Show VPS - Hide or show VPS information in channel info and event info. - - Show signal info If set to yes the signal strength (top) and signal-to-noise ratio (bottom) will be shown at the bottom right side of the channel info OSD. @@ -168,25 +193,6 @@ Setup Options Show used CA system (e.g. Cryptoworks) as text instead of symbol in the channel info OSD. -- Show progressbar - This replaces progressbars shown with pipes (e.g. [|| ]) by a graphical - progressbar. - -- Dynamic OSD size - Get OSD size from Avards or VDR >= v1.5.4. - NOTE: This requires EnigmaNG compiled with SKINENIGMA_USE_PLUGIN_AVARDS = 1 - and a running Avards plugin. - -- Show messages in menu on (Last line/Help buttons/Free last line) - Last line - Messages will hide the last line in the menu OSD. - Help buttons - Messages will hide the help buttons in menu OSD. - Free last line - The same as "Last line" but now the available list items - is reduced by one. - -- Show scrollbar in menu (no/yes/if required) - Disable or enable the scrollbar in the menu OSD. If set to "if required" the - scrollbar will only be visible if scrolling is possible. - * Logos & Symbols @@ -201,14 +207,24 @@ Setup Options - Show symbols in audio If "Show Symbols" is set to "yes" you can enable or disable symbols for each OSD. +- Colored status symbols in EPG details + If enabled the symbols for a running event, an event having a timer and so on will + be drawn colored in the EPG details OSD. + - Show symbols in lists This replaces "T", "t", "V"... in the EPG views symbols. +- Show progressbar in lists + This replaces progressbars shown with pipes (e.g. [|| ]) by a graphical + progressbar. + - Show marker in lists If enabled a small circle is drawn in front of the selected item in lists. -- Show status symbols +- Show status symbols (no/yes/active only) Display the status symbols in channel info and recording's progress info. + "yes" will always show all symbols and "active only" will only show the active + (= hilighted) ones. - Show flags If enabled graphical flags are drawn for the audio channel languages if the @@ -48,17 +48,17 @@ FontConfig allFontConfig[FONT_NUMFONTS] = }; cEnigmaConfig::cEnigmaConfig() : showAuxInfo(1), showLogo(1), showVps(1), showSymbols(1), - showSymbolsMenu(1), showSymbolsReplay(1), showSymbolsMsgs(1), showSymbolsAudio(1), + showSymbolsMenu(0), showSymbolsReplay(1), showSymbolsMsgs(1), showSymbolsAudio(1), showColSymbolsDetails(0), showListSymbols(1), showProgressbar(1), cacheSize(50), - useChannelId(0), showInfo(1), showRemaining(0), showMarker(1), + useChannelId(0), showInfo(1), minInfoWidth(144), showRemaining(0), showMarker(1), singleArea(1), singleArea8Bpp(1), showFlags(1), numReruns(5), useSubtitleRerun(1), showTimerConflicts(1), showRecSize(2), showImages(0), resizeImages(0), showMailIcon(0), imageWidth(120), imageHeight(80), imageExtension(0), fullTitleWidth(0), useTextEffects(0), scrollDelay(50), scrollPause(1500), scrollMode(0), blinkPause(1000), scrollInfo(1), scrollListItem(1), scrollOther(1), scrollTitle(1), - dynOsd(0), statusLineMode(0), showWssSymbols(0), showStatusSymbols(1), showScrollbar(1), - showSignalInfo(1), showCaMode(0) + dynOsd(0), statusLineMode(0), showWssSymbols(0), showStatusSymbols(0), showScrollbar(1), + showSignalInfo(0), showCaMode(0), drawRoundCorners(1) { memset(logoDir, 0, sizeof(logoDir)); memset(strImagesDir, 0, sizeof(strImagesDir)); @@ -191,6 +191,11 @@ void cEnigmaConfig::GetOsdSize(struct EnigmaOsdSize *size) size->h = cOsd::OsdHeight(); } + if (size->w < MINOSDWIDTH) + size->w = MINOSDWIDTH; + if (size->h < MINOSDHEIGHT) + size->h = MINOSDHEIGHT; + debug("cEnigmaConfig::GetOsdSize() x=%d(%d) y=%d(%d) w=%d(%d) h=%d(%d)", size->x, Setup.OSDLeft, size->y, Setup.OSDTop, size->w, Setup.OSDWidth, size->h, Setup.OSDHeight); } // vim:et:sw=2:ts=2: @@ -107,11 +107,13 @@ public: int showSymbolsReplay; int showSymbolsMsgs; int showSymbolsAudio; + int showColSymbolsDetails; int showListSymbols; int showProgressbar; int cacheSize; int useChannelId; int showInfo; + int minInfoWidth; int showRemaining; int showMarker; int singleArea; @@ -144,6 +146,7 @@ public: int showScrollbar; int showSignalInfo; int showCaMode; + int drawRoundCorners; FontInfo allFonts[FONT_NUMFONTS]; }; @@ -287,7 +287,7 @@ private: int xEventNextLeft, xEventNextRight, yEventNextTop, yEventNextBottom; int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom; int xMessageLeft, xMessageRight, yMessageTop, yMessageBottom; - int xFirstSymbol, xDateLeft; + int xFirstSymbol, xDateLeft, xIndent; #ifndef DISABLE_SIGNALINFO int xSignalBarLeft, nStrBarWidth, nSnrBarWidth; int m_Frontend; @@ -321,6 +321,8 @@ cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(bool WithInfo) struct EnigmaOsdSize OsdSize; EnigmaConfig.GetOsdSize(&OsdSize); + xIndent = EnigmaConfig.drawRoundCorners ? Roundness : SmallGap; + pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE); pFontDate = EnigmaConfig.GetFont(FONT_DATE); pFontTitle = EnigmaConfig.GetFont(FONT_CITITLE); @@ -374,12 +376,12 @@ cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(bool WithInfo) xEventNowLeft = (fShowLogo ? xLogoDecoRight + LogoDecoGap2 : xTitleLeft); xEventNowRight = xTitleRight; yEventNowTop = yLogoTop; - yEventNowBottom = yEventNowTop + pFontTitle->Height() + pFontSubtitle->Height(); + yEventNowBottom = yEventNowTop + (LogoSize - SmallGap) / 2; // next event area xEventNextLeft = xEventNowLeft; xEventNextRight = xEventNowRight; yEventNextTop = yEventNowBottom + SmallGap; - yEventNextBottom = yEventNextTop + pFontTitle->Height() + pFontSubtitle->Height(); + yEventNextBottom = yLogoBottom; } else { xEventNowLeft = xEventNextLeft = (fShowLogo ? xLogoDecoRight + LogoDecoGap2 : xTitleLeft); xEventNowRight = xEventNextRight = xTitleRight; @@ -399,7 +401,7 @@ cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(bool WithInfo) // date area cString date = DayDateTime(); int w = pFontDate->Width(date); - xDateLeft = xTitleRight - Roundness - w - SmallGap; + xDateLeft = xTitleRight - xIndent - w - SmallGap; // create osd osd = cOsdProvider::NewOsd(OsdSize.x, OsdSize.y + (Setup.ChannelInfoPos ? 0 : (OsdSize.h - yBottomBottom)) ); @@ -479,14 +481,6 @@ void cSkinEnigmaDisplayChannel::DrawAreas(void) osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1, yTitleDecoBottom - 1, Theme.Color(clrTitleBg)); if (fWithInfo) { - // draw rounded left corner of title bar - osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, - yTitleTop + Roundness - 1, clrTransparent, -2); - } - // draw rounded right corner of title bar - osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, - yTitleTop + Roundness - 1, clrTransparent, -1); - if (fWithInfo) { // draw current event area osd->DrawRectangle(xEventNowLeft, yEventNowTop, xEventNowRight - 1, yEventNowBottom - 1, Theme.Color(clrBackground)); @@ -500,20 +494,27 @@ void cSkinEnigmaDisplayChannel::DrawAreas(void) // draw progress bar area osd->DrawRectangle(xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, Theme.Color(clrBottomBg)); - if (fWithInfo) { - osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, - xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent, - -3); + + if (EnigmaConfig.drawRoundCorners) { + // draw rounded corners + if (fWithInfo) { + osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, + yTitleTop + Roundness - 1, clrTransparent, -2); + osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, + xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent, -3); + } + osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, + yTitleTop + Roundness - 1, clrTransparent, -1); + osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, + xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); } - osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, - xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); } void cSkinEnigmaDisplayChannel::DrawGroupInfo(const cChannel *Channel, int /* Number */) { DrawAreas(); - int xName = (fShowLogo && EnigmaConfig.fullTitleWidth ? xEventNowLeft : xTitleLeft + Roundness + pFontOsdTitle->Width("0000-") + Gap); + int xName = (fShowLogo && EnigmaConfig.fullTitleWidth ? xEventNowLeft : xTitleLeft + xIndent + pFontOsdTitle->Width("0000-") + Gap); idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xName, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, GetChannelName(Channel), Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xDateLeft - SmallGap - xName); } @@ -521,10 +522,10 @@ void cSkinEnigmaDisplayChannel::DrawChannelInfo(const cChannel *Channel, int Num { DrawAreas(); - int xNumber = xTitleLeft + Roundness; + int xNumber = xTitleLeft + xIndent; int xName = xNumber + pFontOsdTitle->Width("0000-") + Gap; if (fShowLogo && EnigmaConfig.fullTitleWidth && fWithInfo) { - xNumber = xTitleLeft + Roundness; + xNumber = xTitleLeft + xIndent; xName = xEventNowLeft; } @@ -544,7 +545,7 @@ void cSkinEnigmaDisplayChannel::DrawSymbols(const cChannel *Channel) { // draw symbols // right edge of logo - int xs = xBottomRight - Roundness; + int xs = xBottomRight - xIndent; // bottom edge of logo int ys = yBottomTop + (yBottomBottom - yBottomTop - SymbolHeight) / 2; @@ -581,21 +582,21 @@ void cSkinEnigmaDisplayChannel::DrawSymbols(const cChannel *Channel) osd->DrawBitmap(xs, ys, bmAudio[AudioMode], Theme.Color(clrBottomBg), Theme.Color(Channel->Apid(1) ? clrSymbolActive : clrSymbolInactive)); - if (Channel->Dpid(0)) { //TODO? option to display inactive symbols + if (Channel->Dpid(0) || EnigmaConfig.showStatusSymbols == 1) { // draw dolby digital symbol xs -= (bmDolbyDigital.Width() + SmallGap); osd->DrawBitmap(xs, ys, bmDolbyDigital, Theme.Color(clrBottomBg), Theme.Color(Channel->Dpid(0) ? clrSymbolActive : clrSymbolInactive)); } - if (Channel->Spid(0)) { //TODO? option to display inactive symbols + if (Channel->Spid(0) || EnigmaConfig.showStatusSymbols == 1) { // draw subtitle symbol xs -= (bmSubtitle.Width() + SmallGap); osd->DrawBitmap(xs, ys, bmSubtitle, Theme.Color(clrBottomBg), Theme.Color(Channel->Spid(0) ? clrSymbolActive : clrSymbolInactive)); } - if (isvps && EnigmaConfig.showVps) { //TODO? option to display inactive symbols + if ((isvps || EnigmaConfig.showStatusSymbols == 1) && EnigmaConfig.showVps) { // draw vps symbol xs -= (bmVPS.Width() + SmallGap); osd->DrawBitmap(xs, ys, bmVPS, @@ -614,11 +615,11 @@ void cSkinEnigmaDisplayChannel::DrawSymbols(const cChannel *Channel) } if (EnigmaConfig.showCaMode == 0) { - if (Channel->Ca()) { //TODO? option to display inactive symbols + if (Channel->Ca() >= 0x0100 || EnigmaConfig.showStatusSymbols == 1) { // draw encryption symbol xs -= (bmEncrypted.Width() + SmallGap); osd->DrawBitmap(xs, ys, bmEncrypted, - Theme.Color(clrBottomBg), Theme.Color(Channel->Ca() ? clrSymbolActive : clrSymbolInactive)); + Theme.Color(clrBottomBg), Theme.Color(Channel->Ca() >= 0x0100 ? clrSymbolActive : clrSymbolInactive)); } } else { const char *strCA = NULL; @@ -654,7 +655,7 @@ void cSkinEnigmaDisplayChannel::DrawSymbols(const cChannel *Channel) } } - xFirstSymbol = DrawStatusSymbols(xBottomLeft + Roundness + MIN_CI_PROGRESS + Gap, xs, yBottomTop, yBottomBottom, Channel) - Gap; + xFirstSymbol = DrawStatusSymbols(xBottomLeft + xIndent + MIN_CI_PROGRESS + Gap, xs, yBottomTop, yBottomBottom, Channel) - Gap; } #ifndef DISABLE_SIGNALINFO @@ -699,7 +700,7 @@ void cSkinEnigmaDisplayChannel::UpdateSignal() { if (snr == 0 && str == 0) return; - xSignalBarLeft = xBottomRight - Roundness - MIN_CI_SIGNALBAR; + xSignalBarLeft = xBottomRight - xIndent - MIN_CI_SIGNALBAR; int bw = MIN_CI_SIGNALBAR; //45; int xSignalBarRight = xSignalBarLeft + bw; @@ -846,7 +847,7 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present, const cEvent *e = Present; // Current event if (e) { char sLen[6]; - char sNow[6]; + char sNow[12]; int total = e->Duration(); snprintf(sLen, sizeof(sLen), "%d'", total / 60); @@ -862,6 +863,9 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present, case 2: snprintf(sNow, sizeof(sNow), "%ld%%", lrint((ceil((float)now) / total * 100.0))); break; + case 3: + snprintf(sNow, sizeof(sNow), "+%d'/-%d'", now / 60, (int)ceil((total - now) / 60.0)); + break; default: error("Invalid value for ShowRemaining: %d", EnigmaConfig.showRemaining); } @@ -910,7 +914,7 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present, lineHeightSubtitle, taRight); } // draw timebar - int xBarLeft = xBottomLeft + Roundness; + int xBarLeft = xBottomLeft + xIndent; int xBarWidth = MIN_CI_PROGRESS; int x = xBarLeft + SmallGap + (int)(ceil((float)(now) / (float)(total) * (float)(xBarWidth - SmallGap - SmallGap))); x = std::min(x, xBarLeft + xBarWidth - SmallGap - 1); @@ -1080,11 +1084,8 @@ private: int xLogoLeft, xLogoRight, yLogoTop, yLogoBottom; int xInfoLeft, xInfoRight, yInfoTop, yInfoBottom; - int lineHeight; - int nMarkerGap; - int xItemLeft; - int xItemRight; - int yItemTop; + int lineHeight, nMarkerGap, xIndent; + int xItemLeft, xItemRight, yItemTop; int nMessagesShown; int nNumImageColors; @@ -1137,6 +1138,7 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void) struct EnigmaOsdSize OsdSize; EnigmaConfig.GetOsdSize(&OsdSize); + xIndent = EnigmaConfig.drawRoundCorners ? Roundness : SmallGap; fSetupAreasDone = false; osd = NULL; SetFonts(); @@ -1177,11 +1179,14 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void) int nMainDateWidth = getDateWidth() + SmallGap + LogoWidth; cString date = DayDateTime(); int nSubDateWidth = pFontDate->Width(date); - RightColWidth = (SmallGap + Gap + std::max(nMainDateWidth, nSubDateWidth) + Gap) & ~0x07; // must be multiple of 8 + RightColWidth = SmallGap + Gap + std::max(nMainDateWidth, nSubDateWidth) + Gap; } else { cString date = DayDateTime(); - RightColWidth = (SmallGap + Gap + std::max(MIN_DATEWIDTH + LogoWidth, pFontDate->Width(date)) + Gap) & ~0x07; // must be multiple of 8 + RightColWidth = SmallGap + Gap + std::max(MIN_DATEWIDTH + LogoWidth, pFontDate->Width(date)) + Gap; } + if (EnigmaConfig.showInfo) + RightColWidth = std::max(EnigmaConfig.minInfoWidth, RightColWidth); + RightColWidth = RightColWidth & ~0x07; // must be multiple of 8 int MessageHeight = 2 * SmallGap + pFontMessage->Height() + 2 * SmallGap; @@ -1245,24 +1250,44 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void) if (SingleArea[0].bpp >=8 && Setup.AntiAlias) nBPP = 8; } else { - debug("cSkinEnigmaDisplayMenu: using multiple areas"); - tArea Areas[] = { {xTitleLeft, yTitleTop, xTitleRight - 1, yTitleDecoBottom - 1, 2}, //title area - {xBodyLeft, yBodyTop, xBodyRight - 1, yInfoTop + pFontDetailsDate->Height() - 1, 2}, //body area (beside date/logo/symbols area) - {xDateLeft, yDateTop, xLogoRight - 1, yInfoTop - 1, 4}, //date/logo area - {xInfoLeft, yInfoTop, xInfoRight - 1, yInfoTop + pFontDetailsDate->Height() - 1, 4}, //area for symbols in event/recording info - {xBodyLeft, yInfoTop + pFontDetailsDate->Height(), xInfoRight - 1, (EnigmaConfig.statusLineMode == 1 ? yBodyBottom : yMessageTop) - 1, 2}, // body/info area (below symbols area) - {xMessageLeft, yMessageTop, xButtonsRight - 1, yButtonsBottom - 1, 4} //buttons/message area - }; + if (fShowLogoDefault || EnigmaConfig.showColSymbolsDetails) { + debug("cSkinEnigmaDisplayMenu: using 6 areas"); + tArea Areas[] = { {xTitleLeft, yTitleTop, xTitleRight - 1, yTitleDecoBottom - 1, 2}, //title area + {xBodyLeft, yBodyTop, xBodyRight - 1, yInfoTop + pFontDetailsDate->Height() - 1, 2}, //body area (beside date/logo/symbols area) + {xDateLeft, yDateTop, xLogoRight - 1, yInfoTop - 1, 4}, //date/logo area + {xInfoLeft, yInfoTop, xInfoRight - 1, yInfoTop + pFontDetailsDate->Height() - 1, 4}, //area for symbols in event/recording info + {xBodyLeft, yInfoTop + pFontDetailsDate->Height(), xInfoRight - 1, (EnigmaConfig.statusLineMode == 1 ? yBodyBottom : yMessageTop) - 1, 2}, // body/info area (below symbols area) + {xMessageLeft, yMessageTop, xButtonsRight - 1, yButtonsBottom - 1, 4} //buttons/message area + }; - eOsdError rc = osd->CanHandleAreas(Areas, sizeof(Areas) / sizeof(tArea)); - if (rc == oeOk) - osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea)); - else { - error("cSkinEnigmaDisplayMenu: CanHandleAreas() [1] returned %d", rc); - delete osd; - osd = NULL; - throw 1; - return; + eOsdError rc = osd->CanHandleAreas(Areas, sizeof(Areas) / sizeof(tArea)); + if (rc == oeOk) + osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea)); + else { + error("cSkinEnigmaDisplayMenu: CanHandleAreas() [1] returned %d", rc); + delete osd; + osd = NULL; + throw 1; + return; + } + } else { + debug("cSkinEnigmaDisplayMenu: using 4 areas"); + tArea Areas[] = { {xTitleLeft, yTitleTop, xTitleRight - 1, yTitleDecoBottom - 1, 2}, //title area + {xBodyLeft, yBodyTop, xInfoRight - 1, (EnigmaConfig.statusLineMode == 1 ? yBodyBottom : yMessageTop) - 1, 2}, // body/info area + {xDateLeft, yDateTop, xLogoRight - 1, yTitleDecoBottom - 1, 4}, //date area + {xMessageLeft, yMessageTop, xButtonsRight - 1, yButtonsBottom - 1, 4} //buttons/message area + }; + + eOsdError rc = osd->CanHandleAreas(Areas, sizeof(Areas) / sizeof(tArea)); + if (rc == oeOk) + osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea)); + else { + error("cSkinEnigmaDisplayMenu: CanHandleAreas() [1] returned %d", rc); + delete osd; + osd = NULL; + throw 1; + return; + } } nNumImageColors = 13; // "16 available colors" - "clrTransparent" - "clrLogoBg" - "clrMenuTxtFg" @@ -1326,6 +1351,7 @@ void cSkinEnigmaDisplayMenu::SetColors(void) bitmap->SetColor(2, Theme.Color(clrMenuItemSelectableFg)); bitmap->SetColor(3, Theme.Color(clrMenuItemNotSelectableFg)); } + bitmap = osd->GetBitmap(2); if (bitmap) { //date/logo area bitmap->Reset(); @@ -1343,23 +1369,29 @@ void cSkinEnigmaDisplayMenu::SetColors(void) bitmap->SetColor(6, Theme.Color(clrMenuTxtFg)); } } - bitmap = osd->GetBitmap(3); - if (bitmap) { //area for symbols in event/recording info - bitmap->Reset(); - bitmap->SetColor(0, Theme.Color(clrBackground)); - bitmap->SetColor(1, Theme.Color(clrAltBackground)); - bitmap->SetColor(2, Theme.Color(clrMenuItemSelectableFg)); - bitmap->SetColor(3, Theme.Color(clrMenuItemNotSelectableFg)); - } - bitmap = osd->GetBitmap(4); - if (bitmap) { //body/info area (below symbols area) - bitmap->Reset(); - bitmap->SetColor(0, Theme.Color(clrBackground)); - bitmap->SetColor(1, Theme.Color(clrAltBackground)); - bitmap->SetColor(2, Theme.Color(clrMenuItemSelectableFg)); - bitmap->SetColor(3, Theme.Color(clrMenuItemNotSelectableFg)); + + if (osd->GetBitmap(4)) { // multiple body areas + bitmap = osd->GetBitmap(3); + if (bitmap) { //area for symbols in event/recording info + bitmap->Reset(); + bitmap->SetColor(0, Theme.Color(clrBackground)); + bitmap->SetColor(1, Theme.Color(clrAltBackground)); + bitmap->SetColor(2, Theme.Color(clrMenuItemSelectableFg)); + bitmap->SetColor(3, Theme.Color(clrMenuItemNotSelectableFg)); + } + bitmap = osd->GetBitmap(4); + if (bitmap) { //body/info area (below symbols area) + bitmap->Reset(); + bitmap->SetColor(0, Theme.Color(clrBackground)); + bitmap->SetColor(1, Theme.Color(clrAltBackground)); + bitmap->SetColor(2, Theme.Color(clrMenuItemSelectableFg)); + bitmap->SetColor(3, Theme.Color(clrMenuItemNotSelectableFg)); + } + bitmap = osd->GetBitmap(5); + } else { // single body area + bitmap = osd->GetBitmap(2); } - bitmap = osd->GetBitmap(5); + if (bitmap) { //buttons/message area bitmap->Reset(); bitmap->SetColor( 0, Theme.Color(clrBackground)); @@ -1405,9 +1437,11 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void) osd->DrawRectangle(xTitleLeft, yTitleTop, xTitleRight - 1, yTitleBottom - 1, Theme.Color(clrTitleBg)); osd->DrawRectangle(xTitleLeft, yTitleBottom, xTitleRight - 1, yTitleDecoTop - 1, clrTransparent); osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1, yTitleDecoBottom - 1, Theme.Color(clrTitleBg)); - // draw rounded left corner of title bar - osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2); - idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + Roundness, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, strTitle, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xTitleLeft - Roundness - 1); + if (EnigmaConfig.drawRoundCorners) { + // draw rounded left corner of title bar + osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2); + } + idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + xIndent, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, strTitle, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xTitleLeft - xIndent - 1); // draw date area if (fShowLogo) { @@ -1465,13 +1499,14 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void) w, pFontInfoWarnHeadline->Height(), taCenter); yWarning += (int)(1.5 * pFontInfoWarnHeadline->Height()); - char *info; - asprintf(&info, "%d %s", serviceData->relevantConflicts, (serviceData->relevantConflicts == 1 ? tr("Timer conflict") : tr("Timer conflicts"))); - osd->DrawText(x, yWarning, info, Theme.Color(clrMenuItemSelectableFg), Theme.Color(clrAltBackground), - pFontInfoWarnText, - w, pFontInfoWarnText->Height(), taCenter); - yWarning += pFontInfoWarnText->Height(); - free(info); + char *info = NULL; + if (-1 != asprintf(&info, "%d %s", serviceData->relevantConflicts, (serviceData->relevantConflicts == 1 ? tr("Timer conflict") : tr("Timer conflicts")))) { + osd->DrawText(x, yWarning, info, Theme.Color(clrMenuItemSelectableFg), Theme.Color(clrAltBackground), + pFontInfoWarnText, + w, pFontInfoWarnText->Height(), taCenter); + yWarning += pFontInfoWarnText->Height(); + free(info); + } } delete serviceData; } @@ -1504,16 +1539,19 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void) pFontInfoTimerText, nBPP, w, h); y += h; char* info = NULL; + int rc = -1; if (timer->isRecording) { - asprintf(&info, "- %s / %s", *TimeString(timer->stopTime), timer->channelName.c_str()); + rc = asprintf(&info, "- %s / %s", *TimeString(timer->stopTime), timer->channelName.c_str()); } else { - asprintf(&info, "%d. %s / %s", timer->startDay, *TimeString(timer->startTime), timer->channelName.c_str()); + rc = asprintf(&info, "%d. %s / %s", timer->startDay, *TimeString(timer->startTime), timer->channelName.c_str()); + } + if (-1 != rc) { + osd->DrawText(x, y, info, Theme.Color(clrMenuItemSelectableFg), Theme.Color(clrAltBackground), pFontInfoTimerText, w, h); + free(info); + y += h; + osd->DrawRectangle(x, y + SmallGap, xInfoRight - Gap - 1, y + SmallGap + 1, Theme.Color(clrMenuItemSelectableFg)); + y += SmallGap + 1 + h / 2; } - osd->DrawText(x, y, info, Theme.Color(clrMenuItemSelectableFg), Theme.Color(clrAltBackground), pFontInfoTimerText, w, h); - free(info); - y += h; - osd->DrawRectangle(x, y + SmallGap, xInfoRight - Gap - 1, y + SmallGap + 1, Theme.Color(clrMenuItemSelectableFg)); - y += SmallGap + 1 + h / 2; } } @@ -1692,14 +1730,15 @@ void cSkinEnigmaDisplayMenu::SetTitle(const char *Title) } char *strTitlePrefix = NULL; - asprintf(&strTitlePrefix, "%s - ", trVDR("VDR")); + if (-1 == asprintf(&strTitlePrefix, "%s - ", trVDR("VDR"))) + return; if ((Title == NULL) || (isMainMenu && strncmp(strTitlePrefix, Title, strlen(strTitlePrefix)) == 0)) { if (fLockNeeded && !fLocked) { fLocked = true; TE_LOCK; } - idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + Roundness, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, strTitle, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xTitleLeft - Roundness - 1); + idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + xIndent, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, strTitle, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xTitleLeft - xIndent - 1); if (fLockNeeded && !fLocked) TE_UNLOCK; } else { bool old_isMainMenu = isMainMenu; @@ -1745,7 +1784,7 @@ void cSkinEnigmaDisplayMenu::SetTitle(const char *Title) fLocked = true; TE_LOCK; } - idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + Roundness, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, strTitle, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xTitleLeft - Roundness - 1); + idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + xIndent, yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2, strTitle, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xTitleLeft - xIndent - 1); if (fLockNeeded && !fLocked) TE_UNLOCK; } } @@ -1776,7 +1815,9 @@ void cSkinEnigmaDisplayMenu::SetButtons(const char *Red, const char *Green, cons yButtonsBottom - yButtonsTop, taCenter); else { osd->DrawRectangle(t0, yButtonsTop, Green ? t1 - 1 : t1, yButtonsBottom - 1, Theme.Color(clrBottomBg)); - osd->DrawEllipse(t0, yButtonsBottom - Roundness, t0 + Roundness - 1, yButtonsBottom - 1, clrTransparent, -3); + if (EnigmaConfig.drawRoundCorners) { + osd->DrawEllipse(t0, yButtonsBottom - Roundness, t0 + Roundness - 1, yButtonsBottom - 1, clrTransparent, -3); + } } if (Green) osd->DrawText(t1, yButtonsTop, Green, Theme.Color(clrButtonGreenFg), @@ -1797,8 +1838,10 @@ void cSkinEnigmaDisplayMenu::SetButtons(const char *Red, const char *Green, cons yButtonsBottom - yButtonsTop, taCenter); else { osd->DrawRectangle(t3, yButtonsTop, xButtonsRight, yButtonsBottom, Theme.Color(clrBottomBg)); - osd->DrawEllipse(xButtonsRight - Roundness, yButtonsBottom - Roundness, - xButtonsRight - 1, yButtonsBottom - 1, clrTransparent, -4); + if (EnigmaConfig.drawRoundCorners) { + osd->DrawEllipse(xButtonsRight - Roundness, yButtonsBottom - Roundness, + xButtonsRight - 1, yButtonsBottom - 1, clrTransparent, -4); + } } if (fLockNeeded && !fLocked) TE_UNLOCK; } @@ -1914,6 +1957,39 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool isCurrent } } + if (!Selectable && EnigmaConfig.showListSymbols && (strncmp(Text, "---", 3) == 0)) { + // headline? + const char *c = Text + 3; + while (*c == '-') + c++; + if (*c == ' ' || *c == '\t') { + // it's a headline + while (*c == ' ' || *c == '\t') // find start of headline text + c++; + + // find end of headline text + char *c2 = (char*)(c + strlen(c) - 1); + while (*c2 == '-') + c2--; + while (*c2 == ' ' || *c2 == '\t') + c2--; + *(c2 + 1) = 0; + + int xt = xItemLeft + Tab(0); + int w = Gap + pFontList->Width(c) + Gap; + int x = std::max(0, (xItemRight - xt - w) / 2); + int y2 = y + lineHeight; + if (nMessagesShown && yMessageTop > y2) + y2 = yMessageTop; + int yBar = y + (y2 - y - SmallGap) / 2; + osd->DrawRectangle(xt, yBar, x - 1, yBar + SmallGap - 1, ColorFg); + osd->DrawText(x, y, c, ColorFg, ColorBg, pFontList, w, y2 - y, taCenter); + osd->DrawRectangle(x + w, yBar, xItemRight - 1, yBar + SmallGap - 1, ColorFg); + + return; // headline displayed -> done + } + } + // this should prevent menu flickering osd->DrawPixel(xItemLeft, y, ColorBg); osd->DrawPixel(xItemRight - 2, y, ColorBg); @@ -1940,7 +2016,7 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool isCurrent int now = 0, total = 0; // check if event info symbol: "tTV*" "R" - if (EnigmaConfig.showListSymbols) { + if (EnigmaConfig.showListSymbols && Selectable) { // check if event info characters if (strlen(s) == 3 && strchr(" tTR", s[0]) && strchr(" V", s[1]) && strchr(" *", s[2])) { @@ -1949,9 +2025,9 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool isCurrent } // check if new recording: "01.01.06*", "10:10*" - if (!iseventinfo && + if ((!iseventinfo && (strlen(s) == 6 && s[5] == '*' && s[2] == ':' && isdigit(*s) - && isdigit(*(s + 1)) && isdigit(*(s + 3)) && isdigit(*(s + 4))) + && isdigit(*(s + 1)) && isdigit(*(s + 3)) && isdigit(*(s + 4)))) || (strlen(s) == 9 && s[8] == '*' && s[5] == '.' && s[2] == '.' && isdigit(*s) && isdigit(*(s + 1)) && isdigit(*(s + 3)) && isdigit(*(s + 4)) && isdigit(*(s + 6)) @@ -2274,14 +2350,14 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event) xs -= TinyGap; } xs -= bmVPS.Width(); - osd->DrawBitmap(xs, y, bmVPS, Theme.Color(clrSymbolVpsActive), Theme.Color(clrSymbolInactive)); + osd->DrawBitmap(xs, y, bmVPS, EnigmaConfig.showColSymbolsDetails ? Theme.Color(clrSymbolVpsActive) : Theme.Color(clrMenuTxtFg), EnigmaConfig.showColSymbolsDetails ? Theme.Color(clrSymbolInactive) : Theme.Color(clrBackground)); xs -= Gap; } // check if event is running if (Event->IsRunning()) { // draw running symbol xs -= (bmRun.Width() + Gap); - osd->DrawBitmap(xs, y, bmRun, Theme.Color(clrSymbolRunActive), Theme.Color(clrBackground)); + osd->DrawBitmap(xs, y, bmRun, EnigmaConfig.showColSymbolsDetails ? Theme.Color(clrSymbolRunActive) : Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground)); xs -= Gap; } // check if event has timer @@ -2289,36 +2365,83 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event) if (Event->IsRunning()) { // draw recording symbol xs -= bmRecording.Width(); - osd->DrawBitmap(xs, y, bmRecording, Theme.Color(clrSymbolRecActive), Theme.Color(clrBackground)); + osd->DrawBitmap(xs, y, bmRecording, EnigmaConfig.showColSymbolsDetails ? Theme.Color(clrSymbolRecActive) : Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground)); } else { // draw timer symbol xs -= bmTimer.Width(); - osd->DrawBitmap(xs, y, bmTimer, Theme.Color(clrSymbolTimerActive), Theme.Color(clrBackground)); + osd->DrawBitmap(xs, y, bmTimer, EnigmaConfig.showColSymbolsDetails ? Theme.Color(clrSymbolTimerActive) : Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground)); } xs -= Gap; } - std::string stringInfo; + std::stringstream sstrInfo; +#if VDRVERSNUM >= 10711 + bool fFirst = true; + for (int i = 0; Event->Contents(i); i++) { + const char *s = Event->ContentToString(Event->Contents(i)); + if (!isempty(s)) { + if (fFirst) { + sstrInfo << tr("Content: "); + } else { + sstrInfo << ", "; + } + sstrInfo << s; + } + } + if (!fFirst) + sstrInfo << std::endl; + + if (Event->ParentalRating()) { + sstrInfo << *Event->GetParentalRatingString() << std::endl; + } +#endif + const cComponents *Components = Event->Components(); if (Components) { - std::stringstream sstrInfo; + //TODO: show flaggs? + std::stringstream infoVideo, infoAudio, infoSubtitle; for (int i = 0; i < Components->NumComponents(); i++) { const tComponent *p = Components->Component(i); - if (p && (p->stream == 2) && p->language) { +// sstrInfo << "* " +// << (int)p->stream << " " << (int)p->type << " (" << (p->language ? p->language : "n/a") << ") (" << (p->description ? p->description : "n/a") << ")\n"; + + if (p->stream == 1) { // video + if (p->description) { + infoVideo << p->description + << " (" << p->language << "), "; + } else { + infoVideo << p->language << ", "; + } + } else if ((p->stream == 2) && p->language) { // audio if (p->description) { - sstrInfo << p->description - << " (" << p->language << "), "; + infoAudio << p->description + << " (" << p->language << "), "; } else { - sstrInfo << p->language << ", "; + infoAudio << p->language << ", "; + } + } else if ((p->stream == 3) && p->language) { // subtitle + if (p->description) { + infoSubtitle << p->description + << " (" << p->language << "), "; +// } else { //TODO: no description = no subtitle? +// infoSubtitle << p->language << ", "; } -// DrawFlag(p); //TODO } } - // strip out the last delimiter - if (!sstrInfo.str().empty()) - stringInfo = tr("Languages"); - stringInfo += ": "; - stringInfo += sstrInfo.str().substr(0, sstrInfo.str().length() - 2); + if (!infoVideo.str().empty()) { + sstrInfo << std::endl << tr("Video") << ": " + << infoVideo.str().substr(0, infoVideo.str().length() - 2); // strip out the last delimiter + } + if (!infoAudio.str().empty()) { + sstrInfo << std::endl << tr("Audio") << ": " + << infoAudio.str().substr(0, infoAudio.str().length() - 2); // strip out the last delimiter + } + if (!infoSubtitle.str().empty()) { + sstrInfo << std::endl << tr("Subtitles") << ": " + << infoSubtitle.str().substr(0, infoSubtitle.str().length() - 2); // strip out the last delimiter + } } + + std::string stringInfo = sstrInfo.str(); int yHeadlineBottom = yDateBottom; int xHeadlineRight = fShowLogo ? xDateLeft : xInfoRight; osd->DrawRectangle(xBodyLeft, yBodyTop, xHeadlineRight - 1, @@ -2417,17 +2540,18 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event) } if (strFirst || strSecond || strSecond) { y = yHeadlineBottom + SmallGap + 2 * pFontDetailsDate->Height(); - char *mytext; - asprintf(&mytext, "%s%s%s%s%s", strFirst ? strFirst : "", + char *mytext = NULL; + if (-1 != asprintf(&mytext, "%s%s%s%s%s", strFirst ? strFirst : "", strSecond ? "\n\n" : "", strSecond ? strSecond : "", - (strFirst || strSecond) && strThird ? "\n\n" : "", strThird ? strThird : ""); - textScroller.Set(osd, xBodyLeft + Gap, y + Gap, - xInfoRight - ListHBorder - SmallGap - SmallGap - SmallGap - ScrollbarWidth + SmallGap - xBodyLeft, - yBodyBottom - Gap - y - Gap, - mytext, pFontDetailsText, - Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground)); - SetTextScrollbar(); - free(mytext); + (strFirst || strSecond) && strThird ? "\n\n" : "", strThird ? strThird : "")) { + textScroller.Set(osd, xBodyLeft + Gap, y + Gap, + xInfoRight - ListHBorder - SmallGap - SmallGap - SmallGap - ScrollbarWidth + SmallGap - xBodyLeft, + yBodyBottom - Gap - y - Gap, + mytext, pFontDetailsText, + Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground)); + SetTextScrollbar(); + free(mytext); + } } #ifndef SKINENIGMA_NO_MENULOGO @@ -2453,8 +2577,7 @@ int cSkinEnigmaDisplayMenu::ReadSizeVdr(const char *strPath) int dirSize = -1; char buffer[20]; char *strFilename = NULL; - asprintf(&strFilename, "%s/size.vdr", strPath); - if (strFilename) { + if (-1 != asprintf(&strFilename, "%s/size.vdr", strPath)) { struct stat st; if (stat(strFilename, &st) == 0) { int fd = open(strFilename, O_RDONLY); @@ -2497,19 +2620,164 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording) sstrDate << *DateString(Recording->start) << " " << *TimeString(Recording->start); + unsigned long long nRecSize = -1; + unsigned long long nFileSize[1000]; + nFileSize[0] = 0; + if (EnigmaConfig.showRecSize == 2) { + int i = 0; + struct stat filebuf; + cString filename; + int rc = 0; + do { +#if VDRVERSNUM >= 10703 + if (Recording->IsPesRecording()) + filename = cString::sprintf("%s/%03d.vdr", Recording->FileName(), ++i); + else + filename = cString::sprintf("%s/%05d.ts", Recording->FileName(), ++i); +#else + filename = cString::sprintf("%s/%03d.vdr", Recording->FileName(), ++i); +#endif + rc = stat(filename, &filebuf); + if (rc == 0) + nFileSize[i] = nFileSize[i-1] + filebuf.st_size; + else + if (ENOENT != errno) { + error("error determining file size of \"%s\" %d (%s)", (const char *)filename, errno, strerror(errno)); + nRecSize = -1; + } + } while (i <= 999 && !rc); + nRecSize = nFileSize[i-1]; + } + + cMarks marks; +#if VDRVERSNUM >= 10703 + bool fHasMarks = marks.Load(Recording->FileName(), Recording->FramesPerSecond(), Recording->IsPesRecording()) && marks.Count(); + cIndexFile *index = new cIndexFile(Recording->FileName(), false, Recording->IsPesRecording()); +#else + bool fHasMarks = marks.Load(Recording->FileName()) && marks.Count(); + cIndexFile *index = new cIndexFile(Recording->FileName(), false); +#endif + + int nCutLength = 0; + long nCutInFrame = 0; + unsigned long long nRecSizeCut = nRecSize < 0 ? -1 : 0; + unsigned long long nCutInOffset = 0; + if (fHasMarks && index) { +#if VDRVERSNUM >= 10703 + uint16_t FileNumber; + off_t FileOffset; +#else + uchar FileNumber; + int FileOffset; +#endif + + bool fCutIn = true; + cMark *mark = marks.First(); + while (mark) { + index->Get(mark->position, &FileNumber, &FileOffset); //TODO: will disc spin up? + if (fCutIn) { + nCutInFrame = mark->position; + fCutIn = false; + if (nRecSize >= 0) + nCutInOffset = nFileSize[FileNumber-1] + FileOffset; + } else { + nCutLength += mark->position - nCutInFrame; + fCutIn = true; + if (nRecSize >= 0) + nRecSizeCut += nFileSize[FileNumber-1] + FileOffset - nCutInOffset; + } + cMark *nextmark = marks.Next(mark); + mark = nextmark; + } + + if (!fCutIn) { + nCutLength += index->Last() - nCutInFrame; + index->Get(index->Last() - 1, &FileNumber, &FileOffset); + if (nRecSize >= 0) + nRecSizeCut += nFileSize[FileNumber-1] + FileOffset - nCutInOffset; + } + } + // draw additional information std::stringstream sstrInfo; - int dirSize = -1; - if (EnigmaConfig.showRecSize > 0) { - if ((dirSize = ReadSizeVdr(Recording->FileName())) < 0 && EnigmaConfig.showRecSize == 2) { - dirSize = DirSizeMB(Recording->FileName()); +#if VDRVERSNUM >= 10711 + bool fFirst = true; + for (int i = 0; Info->GetEvent()->Contents(i); i++) { + const char *s = Info->GetEvent()->ContentToString(Info->GetEvent()->Contents(i)); + if (!isempty(s)) { + if (fFirst) { + fFirst = false; + sstrInfo << tr("Content: "); + } else { + sstrInfo << ", "; + } + sstrInfo << s; } } + if (!fFirst) + sstrInfo << std::endl; + + if (Info->GetEvent()->ParentalRating()) { + sstrInfo << *Info->GetEvent()->GetParentalRatingString() << std::endl; + } +#endif + cChannel *channel = Channels.GetByChannelID(Info->ChannelID()); if (channel) sstrInfo << trVDR("Channel") << ": " << channel->Number() << " - " << channel->Name() << std::endl; - if (dirSize >= 0) - sstrInfo << tr("Size") << ": " << std::setprecision(3) << (dirSize > 1023 ? dirSize / 1024.0 : dirSize) << (dirSize > 1023 ? "GB\n" : "MB\n"); + if (EnigmaConfig.showRecSize > 0) { + if (nRecSize < 0) { + if ((nRecSize = ReadSizeVdr(Recording->FileName())) < 0 && EnigmaConfig.showRecSize == 2) { + nRecSize = DirSizeMB(Recording->FileName()); + } + } + if (nRecSize >= 0) { + cString strRecSize = ""; + if (fHasMarks) { + if (nRecSize > MEGABYTE(1023)) + strRecSize = cString::sprintf("%s: %.2f GB (%s: %.2f GB)", tr("Size"), (float)nRecSize / MEGABYTE(1024), tr("cut"), (float)nRecSizeCut / MEGABYTE(1024)); + else + strRecSize = cString::sprintf("%s: %lld MB (%s: %lld MB)", tr("Size"), nRecSize / MEGABYTE(1), tr("cut"), nRecSizeCut / MEGABYTE(1)); + } else { + if (nRecSize > MEGABYTE(1023)) + strRecSize = cString::sprintf("%s: %.2f GB", tr("Size"), (float)nRecSize / MEGABYTE(1024)); + else + strRecSize = cString::sprintf("%s: %lld MB", tr("Size"), nRecSize / MEGABYTE(1)); + } + + sstrInfo << (const char*)strRecSize << std::endl; + } + } + + if (index) { + int nLastIndex = index->Last(); + if (nLastIndex) { + cString strLength; + if (fHasMarks) { +#if VDRVERSNUM >= 10703 + strLength = cString::sprintf("%s: %s (%s %s)", tr("Length"), *IndexToHMSF(nLastIndex, false, Recording->FramesPerSecond()), tr("cut"), *IndexToHMSF(nCutLength, false, Recording->FramesPerSecond())); +#else + strLength = cString::sprintf("%s: %s (%s %s)", tr("Length"), *IndexToHMSF(nLastIndex), tr("cut"), *IndexToHMSF(nCutLength)); +#endif + } else { +#if VDRVERSNUM >= 10703 + strLength = cString::sprintf("%s: %s", tr("Length"), *IndexToHMSF(nLastIndex, false, Recording->FramesPerSecond())); +#else + strLength = cString::sprintf("%s: %s", tr("Length"), *IndexToHMSF(nLastIndex)); +#endif + } + sstrInfo << (const char*)strLength << std::endl; + +#if VDRVERSNUM >= 10703 + cString strBitrate = cString::sprintf("%s: %s\n%s: %.2f MBit/s (Video+Audio)", tr("Format"), Recording->IsPesRecording() ? "PES" : "TS", tr("Est. bitrate"), (float)nRecSize / nLastIndex * Recording->FramesPerSecond() * 8 / MEGABYTE(1)); +#else + cString strBitrate = cString::sprintf("%s: %.2f MBit/s (Video+Audio)", tr("Est. bitrate"), (float)nRecSize / nLastIndex * FRAMESPERSEC * 8 / MEGABYTE(1)); +#endif + sstrInfo << (const char*)strBitrate << std::endl; + } + } + delete index; + sstrInfo << trVDR("Priority") << ": " << Recording->priority << std::endl << trVDR("Lifetime") << ": " << Recording->lifetime << std::endl; if (Info->Aux()) { @@ -2520,22 +2788,46 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording) const cComponents *Components = Info->Components(); if (Components) { //TODO: show flaggs? - std::stringstream info; + std::stringstream infoVideo, infoAudio, infoSubtitle; for (int i = 0; i < Components->NumComponents(); i++) { const tComponent *p = Components->Component(i); - if ((p->stream == 2) && p->language) { +// sstrInfo << "* " +// << (int)p->stream << " " << (int)p->type << " (" << (p->language ? p->language : "n/a") << ") (" << (p->description ? p->description : "n/a") << ")\n"; + + if (p->stream == 1 && p->language) { // video if (p->description) { - info << p->description - << " (" << p->language << "), "; + infoVideo << p->description + << " (" << p->language << "), "; } else { - info << p->language << ", "; + infoVideo << p->language << ", "; + } + } else if ((p->stream == 2) && p->language) { // audio + if (p->description) { + infoAudio << p->description + << " (" << p->language << "), "; + } else { + infoAudio << p->language << ", "; + } + } else if ((p->stream == 3) && p->language) { // subtitle + if (p->description) { + infoSubtitle << p->description + << " (" << p->language << "), "; +// } else { //TODO: no description = no subtitle? +// infoSubtitle << p->language << ", "; } } } - // strip out the last delimiter - if (!info.str().empty()) { - sstrInfo << tr("Languages") << ": " - << info.str().substr(0, info.str().length() - 2); + if (!infoVideo.str().empty()) { + sstrInfo << std::endl << tr("Video") << ": " + << infoVideo.str().substr(0, infoVideo.str().length() - 2); // strip out the last delimiter + } + if (!infoAudio.str().empty()) { + sstrInfo << std::endl << tr("Audio") << ": " + << infoAudio.str().substr(0, infoAudio.str().length() - 2); // strip out the last delimiter + } + if (!infoSubtitle.str().empty()) { + sstrInfo << std::endl << tr("Subtitles") << ": " + << infoSubtitle.str().substr(0, infoSubtitle.str().length() - 2); // strip out the last delimiter } } @@ -2583,18 +2875,21 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording) const char *strInfo = stringInfo.empty() ? NULL : stringInfo.c_str(); if (strDescr || strInfo) { y = yHeadlineBottom + pFontDetailsDate->Height() + BigGap; - char *mytext; + char *mytext = NULL; + int rc = -1; if (EnigmaConfig.showAuxInfo) - asprintf(&mytext, "%s%s%s", strDescr ? strDescr : "", strInfo && strDescr ? "\n\n" : "", strInfo ? strInfo : ""); + rc = asprintf(&mytext, "%s%s%s", strDescr ? strDescr : "", strInfo && strDescr ? "\n\n" : "", strInfo ? strInfo : ""); else - asprintf(&mytext, "%s%s%s", strInfo ? strInfo : "", strInfo && strDescr ? "\n\n" : "", strDescr ? strDescr : ""); - textScroller.Set(osd, xBodyLeft + Gap, y + Gap, - xInfoRight - ListHBorder - SmallGap - SmallGap - SmallGap - ScrollbarWidth + SmallGap - xBodyLeft, - yBodyBottom - Gap - y - Gap, mytext, pFontDetailsText, - Theme.Color(clrMenuTxtFg), - Theme.Color(clrBackground)); - SetTextScrollbar(); - free(mytext); + rc = asprintf(&mytext, "%s%s%s", strInfo ? strInfo : "", strInfo && strDescr ? "\n\n" : "", strDescr ? strDescr : ""); + if (-1 != rc) { + textScroller.Set(osd, xBodyLeft + Gap, y + Gap, + xInfoRight - ListHBorder - SmallGap - SmallGap - SmallGap - ScrollbarWidth + SmallGap - xBodyLeft, + yBodyBottom - Gap - y - Gap, mytext, pFontDetailsText, + Theme.Color(clrMenuTxtFg), + Theme.Color(clrBackground)); + SetTextScrollbar(); + free(mytext); + } } #ifndef SKINENIGMA_NO_MENULOGO @@ -2738,7 +3033,7 @@ private: int xTimeLeft, xTimeRight, yTimeTop, yTimeBottom; int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom; int xMessageLeft, xMessageRight, yMessageTop, yMessageBottom; - int xFirstSymbol; + int xFirstSymbol, xIndent; char *strLastDate; bool modeonly; @@ -2769,6 +3064,8 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly) struct EnigmaOsdSize OsdSize; EnigmaConfig.GetOsdSize(&OsdSize); + xIndent = EnigmaConfig.drawRoundCorners ? Roundness : SmallGap; + pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE); pFontReplayTimes = EnigmaConfig.GetFont(FONT_REPLAYTIMES); pFontDate = EnigmaConfig.GetFont(FONT_DATE); @@ -2818,7 +3115,7 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly) xMessageRight = xProgressRight; yMessageTop = yLogoTop + (LogoSize - MessageHeight) / 2; yMessageBottom = yMessageTop + MessageHeight; - xFirstSymbol = xBottomRight - Roundness; + xFirstSymbol = xBottomRight - xIndent; // create osd osd = cOsdProvider::NewOsd(OsdSize.x, OsdSize.y + OsdSize.h - yBottomBottom); @@ -2855,10 +3152,6 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly) // draw title area osd->DrawRectangle(xTitleLeft, yTitleTop, xTitleRight - 1, yTitleBottom - 1, Theme.Color(clrTitleBg)); - osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, - yTitleTop + Roundness - 1, clrTransparent, -2); - osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight, - yTitleTop + Roundness, clrTransparent, -1); osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1, yTitleDecoBottom - 1, Theme.Color(clrTitleBg)); // draw logo area @@ -2872,11 +3165,19 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly) // draw bottom area osd->DrawRectangle(xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, Theme.Color(clrBottomBg)); - osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, - xBottomLeft + Roundness - 1, yBottomBottom - 1, - clrTransparent, -3); - osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, - xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); + + if (EnigmaConfig.drawRoundCorners) { + // draw rounded corners + osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, + yTitleTop + Roundness - 1, clrTransparent, -2); + osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight, + yTitleTop + Roundness, clrTransparent, -1); + osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, + xBottomLeft + Roundness - 1, yBottomBottom - 1, + clrTransparent, -3); + osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, + xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); + } xFirstSymbol = DrawStatusSymbols(0, xFirstSymbol, yBottomTop, yBottomBottom) - Gap; } @@ -2903,7 +3204,7 @@ void cSkinEnigmaDisplayReplay::SetTitle(const char *Title) fLocked = true; TE_LOCK; } - idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + Roundness, yTitleTop, Title, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - Roundness - xTitleLeft - Roundness - 1); + idTitle = TE_MARQUEE(osd, idTitle, fScrollTitle, xTitleLeft + xIndent, yTitleTop, Title, Theme.Color(clrTitleFg), Theme.Color(clrTitleBg), pFontOsdTitle, nBPP, xTitleRight - xIndent - xTitleLeft - xIndent - 1); if (fLockNeeded && !fLocked) TE_UNLOCK; } @@ -2925,14 +3226,15 @@ void cSkinEnigmaDisplayReplay::SetMode(bool Play, bool Forward, int Speed) if (fShowSymbol) { char *logo = NULL; - asprintf(&logo, "icons/menu/%s", EnigmaStatus.ReplayModeName()); - if (EnigmaLogoCache.LoadIcon(logo)) { - osd->DrawBitmap(xLogoLeft + (xLogoRight - xLogoLeft - EnigmaLogoCache.Get().Width()) / 2, - yLogoTop + (yLogoBottom - yLogoTop - EnigmaLogoCache.Get().Height()) / 2, - EnigmaLogoCache.Get(), EnigmaLogoCache.Get().Color(1), - clrTransparent, true, true); + if (-1 != asprintf(&logo, "icons/menu/%s", EnigmaStatus.ReplayModeName())) { + if (EnigmaLogoCache.LoadIcon(logo)) { + osd->DrawBitmap(xLogoLeft + (xLogoRight - xLogoLeft - EnigmaLogoCache.Get().Width()) / 2, + yLogoTop + (yLogoBottom - yLogoTop - EnigmaLogoCache.Get().Height()) / 2, + EnigmaLogoCache.Get(), EnigmaLogoCache.Get().Color(1), + clrTransparent, true, true); + } + free(logo); } - free(logo); } if (Speed == -1) @@ -3075,10 +3377,10 @@ void cSkinEnigmaDisplayReplay::Flush(void) if ((strLastDate == NULL) || strcmp(strLastDate, (const char*)date) != 0) { free(strLastDate); strLastDate = strdup((const char*)date); - osd->DrawText(xBottomLeft + Roundness, yBottomTop, date, + osd->DrawText(xBottomLeft + xIndent, yBottomTop, date, Theme.Color(clrTitleFg), Theme.Color(clrBottomBg), pFontDate, - xFirstSymbol - xBottomLeft - Roundness - 1, + xFirstSymbol - xBottomLeft - xIndent - 1, yBottomBottom - yBottomTop - 1, taLeft); } } @@ -3103,6 +3405,7 @@ private: int xLogoLeft, xLogoRight, yLogoTop, yLogoBottom, xLogoDecoLeft, xLogoDecoRight; int xBodyLeft, xBodyRight, yBodyTop, yBodyBottom; int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom; + int xIndent; time_t lastTime; bool fShowSymbol; @@ -3119,6 +3422,8 @@ cSkinEnigmaDisplayVolume::cSkinEnigmaDisplayVolume() struct EnigmaOsdSize OsdSize; EnigmaConfig.GetOsdSize(&OsdSize); + xIndent = EnigmaConfig.drawRoundCorners ? Roundness : SmallGap; + pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE); pFontDate = EnigmaConfig.GetFont(FONT_DATE); @@ -3212,16 +3517,20 @@ cSkinEnigmaDisplayVolume::cSkinEnigmaDisplayVolume() // draw title osd->DrawRectangle(xTitleLeft, yTitleTop, xTitleRight - 1, yTitleBottom - 1, Theme.Color(clrTitleBg)); osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1, yTitleDecoBottom - 1, Theme.Color(clrTitleBg)); - osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, yTitleTop + Roundness - 1, clrTransparent, -1); // draw body area osd->DrawRectangle(xBodyLeft, yBodyTop, xBodyRight - 1, yBodyBottom - 1, Theme.Color(clrBackground)); // draw bottom area osd->DrawRectangle(xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, Theme.Color(clrBottomBg)); - osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); - if (!fShowSymbol) { - osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2); - osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent, -3); + if (EnigmaConfig.drawRoundCorners) { + // draw rounded corners + osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, yTitleTop + Roundness - 1, clrTransparent, -1); + osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); + + if (!fShowSymbol) { + osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2); + osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent, -3); + } } } @@ -3257,11 +3566,11 @@ void cSkinEnigmaDisplayVolume::SetVolume(int CurrentVol, int Total, bool Mute) // current volume int vol = xBodyLeft + Gap + (xBodyRight - Gap - xBodyLeft - Gap) * CurrentVol / Total; // draw titlebar - osd->DrawRectangle(xTitleLeft + (fShowSymbol ? Gap : Roundness), yTitleTop, xTitleRight - Roundness - 1, + osd->DrawRectangle(xTitleLeft + (fShowSymbol ? Gap : xIndent), yTitleTop, xTitleRight - xIndent - 1, yTitleBottom - 1, Theme.Color(clrTitleBg)); - osd->DrawText(xTitleLeft + (fShowSymbol ? Gap : Roundness), yTitleTop, Prompt, + osd->DrawText(xTitleLeft + (fShowSymbol ? Gap : xIndent), yTitleTop, Prompt, Theme.Color(clrTitleFg), clrTransparent, pFontOsdTitle, - xTitleRight - Roundness - xTitleLeft, pFontOsdTitle->Height(), taCenter); + xTitleRight - xIndent - xTitleLeft, pFontOsdTitle->Height(), taCenter); // draw volumebar osd->DrawRectangle(xBodyLeft + Gap, yBodyTop + Gap, xBodyRight - Gap - 1, yBodyBottom - Gap - 1, Theme.Color(clrBackground)); @@ -3287,6 +3596,7 @@ private: int xListLeft, xListRight, yListTop, yListBottom, xItemLeft, xItemRight; int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom; + int xIndent; int lineHeight; int nMarkerGap; int currentIndex; @@ -3308,6 +3618,8 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra struct EnigmaOsdSize OsdSize; EnigmaConfig.GetOsdSize(&OsdSize); + xIndent = EnigmaConfig.drawRoundCorners ? Roundness : SmallGap; + pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE); pFontDate = EnigmaConfig.GetFont(FONT_DATE); pFontListItem = EnigmaConfig.GetFont(FONT_LISTITEM); @@ -3336,7 +3648,7 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra ItemsWidth += (EnigmaConfig.showMarker ? lineHeight : ListHBorder) + ListHBorder; //If OSD title only covers the list then its content must fit too if (!EnigmaConfig.fullTitleWidth) - ItemsWidth = std::max(ItemsWidth, pFontOsdTitle->Width(Title) + 2 * Roundness + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap))); + ItemsWidth = std::max(ItemsWidth, pFontOsdTitle->Width(Title) + 2 * xIndent + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap))); //If the symbol is shown the list's width should be at least as wide as the symbol if (fShowSymbol) ItemsWidth = std::max(ItemsWidth, LogoSize); @@ -3346,7 +3658,7 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra if (fShowSymbol) ItemsWidth += LogoSize + LogoDecoGap + LogoDecoWidth + LogoDecoGap2; //The width must be wide enough for the OSD title - ItemsWidth = std::max(ItemsWidth, pFontOsdTitle->Width(Title) + 2 * Roundness + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap))); + ItemsWidth = std::max(ItemsWidth, pFontOsdTitle->Width(Title) + 2 * xIndent + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap))); } yTitleTop = 0; @@ -3418,17 +3730,11 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra // draw titlebar osd->DrawRectangle(xTitleLeft, yTitleTop, xTitleRight - 1, yTitleBottom - 1, Theme.Color(clrTitleBg)); osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1, yTitleDecoBottom - 1, Theme.Color(clrTitleBg)); - osd->DrawText(xTitleLeft + Roundness, yTitleTop, Title, + osd->DrawText(xTitleLeft + xIndent, yTitleTop, Title, Theme.Color(clrTitleFg), clrTransparent, pFontOsdTitle, - xTitleRight - Roundness - xTitleLeft - Roundness, yTitleBottom - yTitleTop, + xTitleRight - xIndent - xTitleLeft - xIndent, yTitleBottom - yTitleTop, fShowSymbol ? taCenter : taLeft); - // draw rounded left corner of titlebar - osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, - yTitleTop + Roundness - 1, clrTransparent, -2); - // draw rounded right corner of titlebar - osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, - yTitleTop + Roundness - 1, clrTransparent, -1); if (fShowSymbol) { // draw logo area osd->DrawRectangle(xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg)); @@ -3438,10 +3744,19 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra osd->DrawRectangle(xListLeft, yListTop, xListRight - 1, yListBottom - 1, Theme.Color(clrBackground)); // draw bottom osd->DrawRectangle(xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, Theme.Color(clrBottomBg)); - osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, - xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent, -3); - osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, - xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); + + if (EnigmaConfig.drawRoundCorners) { + // draw rounded corners + osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, + yTitleTop + Roundness - 1, clrTransparent, -2); + osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, + yTitleTop + Roundness - 1, clrTransparent, -1); + osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, + xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent, -3); + osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, + xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); + } + // fill up audio tracks for (int i = 0; i < NumTracks; i++) SetItem(Tracks[i], i, false); @@ -3498,7 +3813,7 @@ void cSkinEnigmaDisplayTracks::SetAudioChannel(int AudioChannel) } else { if (!(AudioChannel >= 0 && AudioChannel < MAX_AUDIO_BITMAPS)) AudioChannel = 0; - osd->DrawBitmap(xTitleRight - Roundness - bmAudio[AudioChannel].Width(), + osd->DrawBitmap(xTitleRight - xIndent - bmAudio[AudioChannel].Width(), yTitleTop + (yTitleBottom - yTitleTop - bmAudio[AudioChannel].Height()) / 2, bmAudio[AudioChannel], Theme.Color(clrTitleFg), Theme.Color(clrTitleBg)); @@ -3527,6 +3842,7 @@ private: int xLogoLeft, xLogoRight, yLogoTop, yLogoBottom, xLogoDecoLeft, xLogoDecoRight; int xMessageLeft, xMessageRight, yMessageTop, yMessageBottom; int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom; + int xIndent; bool fShowSymbol; int idMessage; @@ -3547,6 +3863,8 @@ cSkinEnigmaDisplayMessage::cSkinEnigmaDisplayMessage() struct EnigmaOsdSize OsdSize; EnigmaConfig.GetOsdSize(&OsdSize); + xIndent = EnigmaConfig.drawRoundCorners ? Roundness : SmallGap; + const cFont *pFontOsdTitle; const cFont *pFontDate; pFontMessage = EnigmaConfig.GetFont(FONT_MESSAGE); @@ -3661,7 +3979,6 @@ void cSkinEnigmaDisplayMessage::SetMessage(eMessageType Type, const char *Text) // draw title osd->DrawRectangle(xTitleLeft, yTitleTop, xTitleRight - 1, yTitleBottom - 1, Theme.Color(clrTitleBg)); osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1, yTitleDecoBottom - 1, Theme.Color(clrTitleBg)); - osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, yTitleTop + Roundness - 1, clrTransparent, -1); // draw centered message text osd->DrawRectangle(xMessageLeft, yMessageTop, xMessageRight - 1, yMessageBottom - 1, clrTransparent); osd->DrawRectangle(xMessageLeft, yMessageTop, xMessageRight - 1, @@ -3674,14 +3991,19 @@ void cSkinEnigmaDisplayMessage::SetMessage(eMessageType Type, const char *Text) yMessageBottom - 2 * SmallGap - yMessageTop - 2 * SmallGap, taCenter); // draw bottom osd->DrawRectangle(xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, Theme.Color(clrBottomBg)); - osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, - xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); - if (!(fShowSymbol)) { - // draw ellipse if not showing logo - osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2); - osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, - xBottomLeft + Roundness - 1, yBottomBottom - 1, clrTransparent, -3); + if (EnigmaConfig.drawRoundCorners) { + // draw rounded corners + osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1, yTitleTop + Roundness - 1, clrTransparent, -1); + osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness, + xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4); + + if (!(fShowSymbol)) { + // draw rounded corners at the left side if not showing logo + osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2); + osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness, + xBottomLeft + Roundness - 1, yBottomBottom - 1, clrTransparent, -3); + } } if (fLockNeeded && !fLocked) TE_UNLOCK; @@ -3731,24 +4053,25 @@ int cSkinEnigmaBaseOsd::DrawStatusSymbols(int /* x0 */, int xs, int top, int bot AudioMode = 0; char *strFile = NULL; - asprintf(&strFile, "flags/%s%s", Track->language, IS_DOLBY_TRACK(TrackType) ? "DD" : (AudioMode > 0 ? "MONO" : "")); - bool fFlagFound = false; - if (EnigmaConfig.showFlags) { - if (EnigmaLogoCache.LoadSymbol(strFile)) { - xs -= (EnigmaLogoCache.Get().Width() + SmallGap); - osd->DrawBitmap(xs, ys, EnigmaLogoCache.Get()); - fFlagFound = true; + if (-1 != asprintf(&strFile, "flags/%s%s", Track->language, IS_DOLBY_TRACK(TrackType) ? "DD" : (AudioMode > 0 ? "MONO" : ""))) { + bool fFlagFound = false; + if (EnigmaConfig.showFlags) { + if (EnigmaLogoCache.LoadSymbol(strFile)) { + xs -= (EnigmaLogoCache.Get().Width() + SmallGap); + osd->DrawBitmap(xs, ys, EnigmaLogoCache.Get()); + fFlagFound = true; + } } - } - if (!fFlagFound) { - const char *strLang = Track->description ? Track->description : (strFile + strlen("flags/")); //don't show "flags/" in OSD - xs -= (pFontLanguage->Width(strLang) + SmallGap); - osd->DrawText(xs, top + SmallGap , strLang, - Theme.Color(clrSymbolActive), Theme.Color(clrBottomBg), pFontLanguage, - pFontLanguage->Width(strLang), bottom - SmallGap); + if (!fFlagFound) { + const char *strLang = Track->description ? Track->description : (strFile + strlen("flags/")); //don't show "flags/" in OSD + xs -= (pFontLanguage->Width(strLang) + SmallGap); + osd->DrawText(xs, top + SmallGap , strLang, + Theme.Color(clrSymbolActive), Theme.Color(clrBottomBg), pFontLanguage, + pFontLanguage->Width(strLang), bottom - SmallGap); + } + free(strFile); } - free(strFile); } // draw recording symbol @@ -3759,13 +4082,11 @@ int cSkinEnigmaBaseOsd::DrawStatusSymbols(int /* x0 */, int xs, int top, int bot osd->DrawBitmap(xs, ys, bmRecording, Theme.Color(fRecording ? clrSymbolRecordBg : clrBottomBg), Theme.Color(fRecording ? clrSymbolRecord : clrSymbolActive)); - } - /* TODO? else { + } else if (EnigmaConfig.showStatusSymbols == 1) { xs -= (bmRecording.Width() + SmallGap); osd->DrawBitmap(xs, ys, bmRecording, Theme.Color(clrBottomBg), Theme.Color(clrSymbolInactive)); } - */ #ifdef USE_PLUGIN_MAILBOX if (EnigmaConfig.showMailIcon) { @@ -26,20 +26,26 @@ const cFont* cGraphtftFont::GetFont(const char *Filename, int Size, int Width) if (Filename == NULL) return NULL; + if (Size < MINFONTSIZE) + Size = MINFONTSIZE; + if (Width == 0) + Width = 100; + char *cachename = NULL; - asprintf(&cachename, "%s_%d_%d", Filename, Size, Width); - string CacheName = cachename; - free(cachename); - cachename = NULL; - - if (_cache.find(CacheName) != _cache.end()) - return _cache[CacheName]; - - debug("cGraphtftFont::Load() CREATING FONT %s size=%d width=%d", Filename, Size, Width); - cFont *newFont = cFont::CreateFont(Filename, Size, Width > 0 ? (Size * Width / 100) : 0); - if (newFont) { - _cache[CacheName] = newFont; - return newFont; + if (-1 != asprintf(&cachename, "%s_%d_%d", Filename, Size, Width)) { + string CacheName = cachename; + free(cachename); + cachename = NULL; + + if (_cache.find(CacheName) != _cache.end()) + return _cache[CacheName]; + + debug("cGraphtftFont::Load() CREATING FONT %s size=%d width=%d", Filename, Size, Width); + cFont *newFont = cFont::CreateFont(Filename, Size, Width > 0 ? (Size * Width / 100) : 0); + if (newFont) { + _cache[CacheName] = newFont; + return newFont; + } } error("ERROR: EnigmaNG: Couldn't load font %s:%d", Filename, Size); @@ -17,6 +17,10 @@ #include <vdr/font.h> #include <vdr/config.h> +#ifndef MINFONTSIZE +#define MINFONTSIZE 10 +#endif + using std::map; using std::string; @@ -49,9 +49,11 @@ bool cEnigmaLogoCache::DrawEventImage(const cEvent *Event, int x, int y, int w, return false; char *strFilename = NULL; - asprintf(&strFilename, "%s/%d.%s", EnigmaConfig.GetImagesDir(), Event->EventID(), EnigmaConfig.GetImageExtension()); - int rc = DrawImage(strFilename, x, y, w, h, c, bmp); - free (strFilename); + int rc = false; + if (-1 != asprintf(&strFilename, "%s/%d.%s", EnigmaConfig.GetImagesDir(), Event->EventID(), EnigmaConfig.GetImageExtension())) { + rc = DrawImage(strFilename, x, y, w, h, c, bmp); + free (strFilename); + } return rc; } @@ -61,9 +63,11 @@ bool cEnigmaLogoCache::DrawRecordingImage(const cRecording *Recording, int x, in return false; char *strFilename = NULL; - asprintf(&strFilename, "%s/%s.%s", Recording->FileName(), RECORDING_COVER, EnigmaConfig.GetImageExtension()); - int rc = DrawImage(strFilename, x, y, w, h, c, bmp); - free (strFilename); + int rc = false; + if (-1 != asprintf(&strFilename, "%s/%s.%s", Recording->FileName(), RECORDING_COVER, EnigmaConfig.GetImageExtension())) { + rc = DrawImage(strFilename, x, y, w, h, c, bmp); + free (strFilename); + } return rc; } @@ -144,9 +148,8 @@ bool cEnigmaLogoCache::Load(const char *fileNameP, int w, int h, bool fLogNotFou if (fileNameP == NULL) return false; - char *strFilename; - asprintf(&strFilename, "%s/%s.xpm", EnigmaConfig.GetLogoDir(), fileNameP); - if (strFilename == NULL) + char *strFilename = NULL; + if (-1 == asprintf(&strFilename, "%s/%s.xpm", EnigmaConfig.GetLogoDir(), fileNameP)) return false; debug("cPluginSkinEnigma::Load(%s)", strFilename); diff --git a/po/ca_ES.po b/po/ca_ES.po index f4178d8..f879482 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Jordi Vilр <jvila@tinet.org>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -41,7 +41,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -50,6 +59,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -98,6 +119,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -122,40 +146,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -170,6 +206,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -188,9 +227,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -364,6 +409,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "ca_AD" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 746611d..569c546 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Vladimэr Bсrta <vladimir.barta@k2atmitec.cz>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,7 +39,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -362,6 +407,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "cs_CZ" diff --git a/po/da_DK.po b/po/da_DK.po index ea6e390..45fde36 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,7 +39,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -362,6 +407,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "da_DK" diff --git a/po/de_DE.po b/po/de_DE.po index cdbd87e..db45812 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Andreas Mair <andreas _@_ vdr-developer.org>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "TIMER" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Sprachen" +msgid "Content: " +msgstr "Inhalt: " + +msgid "Video" +msgstr "Video" + +msgid "Audio" +msgstr "Audio" + +msgid "Subtitles" +msgstr "Untertitel" msgid "RERUNS OF THIS SHOW" msgstr "WIEDERHOLUNGEN" @@ -48,6 +57,18 @@ msgstr "WIEDERHOLUNGEN" msgid "Size" msgstr "Grіпe" +msgid "cut" +msgstr "geschnitten" + +msgid "Length" +msgstr "Lфnge" + +msgid "Format" +msgstr "Format" + +msgid "Est. bitrate" +msgstr "Geschфtzte Bitrate" + msgid "Auxiliary information" msgstr "Zusatzinformation" @@ -96,6 +117,9 @@ msgstr "restliche" msgid "percent" msgstr "Prozent" +msgid "elapsed/remaining" +msgstr "abgelaufene/restliche" + msgid "never" msgstr "nie" @@ -120,42 +144,54 @@ msgstr "wenn benіtigt" msgid "Try 8bpp single area" msgstr "Einen 8bpp Bereich versuchen" +msgid "Round corners" +msgstr "Ecken abrunden" + +msgid "Full title width" +msgstr "Volle Titelbreite" + +msgid "Show VPS" +msgstr "VPS anzeigen" + +msgid "Dynamic OSD size" +msgstr "Dynamische OSD-Grіпe" + +msgid "Menu OSD" +msgstr "Menќ OSD" + msgid "Show info area in main menu" msgstr "Infobereich im Hauptmenќ" +msgid " Min width of info area" +msgstr " Minimale Infobereich-Breite" + +msgid "Show messages in menu on" +msgstr "Meldungen im Menќ ќber" + +msgid "Show scrollbar in menu" +msgstr "Bildlaufleiste im Menќ anzeigen" + +msgid "EPG & Recording Details OSD" +msgstr "EPG- & Aufnahmen-Details OSD" + msgid "Show auxiliary information" msgstr "Zusatzinfo anzeigen" msgid "Show recording's size" msgstr "Aufnahmengrіпe anzeigen" -msgid "Full title width" -msgstr "Volle Titelbreite" +msgid "Channel Info OSD" +msgstr "Kanalinfo OSD" msgid "Show remaining/elapsed time" msgstr "Zeige abgel./restl. Zeit" -msgid "Show VPS" -msgstr "VPS anzeigen" - msgid "Show signal info" msgstr "Zeige Signal-Informationen" msgid "Show CA system as text" msgstr "CA System als Text anzeigen" -msgid "Show progressbar" -msgstr "Fortschrittbalken anzeigen" - -msgid "Dynamic OSD size" -msgstr "Dynamische OSD-Grіпe" - -msgid "Show messages in menu on" -msgstr "Meldungen im Menќ ќber" - -msgid "Show scrollbar in menu" -msgstr "Bildlaufleiste im Menќ anzeigen" - msgid "pixel algo" msgstr "Pixel-Algorithmus" @@ -168,6 +204,9 @@ msgstr "Zoomen" msgid "only if new mail present" msgstr "nur bei neuer Mail" +msgid "active only" +msgstr "nur aktive" + msgid "Flushing channel logo cache..." msgstr "Logo-Cache wird geleert..." @@ -186,9 +225,15 @@ msgstr " Symbole bei den Meldungen" msgid " Show symbols in audio" msgstr " Symbole bei Audio" +msgid "Colored status symbols in EPG details" +msgstr "Farbige Statussymbole in den EPG-Details" + msgid "Show symbols in lists" msgstr "Symbole in Listen" +msgid "Show progressbar in lists" +msgstr "Fortschrittbalken in Listen anzeigen" + msgid "Show marker in lists" msgstr "Symbol vor Listeneintrфgen" @@ -362,6 +407,3 @@ msgstr "мberwachung" msgid "No timer check" msgstr "Ohne мberwachung" - -#~ msgid "en_US" -#~ msgstr "de_DE" diff --git a/po/el_GR.po b/po/el_GR.po index e9fb559..6ad7b60 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,7 +39,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -362,6 +407,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "el_GR" diff --git a/po/es_ES.po b/po/es_ES.po index def0c7a..1c4468e 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2008-02-19 17:15+0100\n" "Last-Translator: bittor from open7x0.org <bittor7x0 _at_ gmail.com>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "PROGRAMACIONES" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Idiomas" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "REPETICIONES" @@ -48,6 +57,18 @@ msgstr "REPETICIONES" msgid "Size" msgstr "Tamaёo" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Informaciѓn adicional" @@ -96,6 +117,10 @@ msgstr "restante" msgid "percent" msgstr "porcentaje" +#, fuzzy +msgid "elapsed/remaining" +msgstr "restante" + msgid "never" msgstr "nunca" @@ -120,24 +145,50 @@ msgstr "" msgid "Try 8bpp single area" msgstr "Probar un сrea de 8bpp" +msgid "Round corners" +msgstr "" + +msgid "Full title width" +msgstr "Ancho completo para tэtulo" + +msgid "Show VPS" +msgstr "Mostrar VPS" + +msgid "Dynamic OSD size" +msgstr "Tamaёo OSD dinсmico" + +msgid "Menu OSD" +msgstr "" + msgid "Show info area in main menu" msgstr "Mostrar info en menњ principal" +#, fuzzy +msgid " Min width of info area" +msgstr " Scroll para el сrea info" + +msgid "Show messages in menu on" +msgstr "Mostrar mensajes en el menњ" + +#, fuzzy +msgid "Show scrollbar in menu" +msgstr " Mostrar sэmbolos en menњ" + +msgid "EPG & Recording Details OSD" +msgstr "" + msgid "Show auxiliary information" msgstr "Mostrar informaciѓn adicional" msgid "Show recording's size" msgstr "Mostrar tamaёo de grabaciѓn" -msgid "Full title width" -msgstr "Ancho completo para tэtulo" +msgid "Channel Info OSD" +msgstr "" msgid "Show remaining/elapsed time" msgstr "Mostrar tiempo restante/transcurrido" -msgid "Show VPS" -msgstr "Mostrar VPS" - #, fuzzy msgid "Show signal info" msgstr " Mostrar icono correo" @@ -145,19 +196,6 @@ msgstr " Mostrar icono correo" msgid "Show CA system as text" msgstr "" -msgid "Show progressbar" -msgstr "Mostrar barra de progreso" - -msgid "Dynamic OSD size" -msgstr "Tamaёo OSD dinсmico" - -msgid "Show messages in menu on" -msgstr "Mostrar mensajes en el menњ" - -#, fuzzy -msgid "Show scrollbar in menu" -msgstr " Mostrar sэmbolos en menњ" - msgid "pixel algo" msgstr "Algoritmo pэxel" @@ -170,6 +208,9 @@ msgstr "Aumentar imagen" msgid "only if new mail present" msgstr "sѓlo si hay nuevo correo" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Limpiando la cachщ..." @@ -188,9 +229,15 @@ msgstr " Mostrar sэmbolos en mensajes" msgid " Show symbols in audio" msgstr " Mostrar sэmbolos en audio" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "Mostrar sэmbolos en listas" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "Mostrar marcador en listas" @@ -365,5 +412,8 @@ msgstr "Comprobar programaciѓn" msgid "No timer check" msgstr "No comprobar programaciѓn" -#~ msgid "en_US" -#~ msgstr "es_ES" +#~ msgid "Show progressbar" +#~ msgstr "Mostrar barra de progreso" + +#~ msgid "Languages" +#~ msgstr "Idiomas" diff --git a/po/et_EE.po b/po/et_EE.po index ddbe8cd..831dcb1 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Keeled" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Lisainfo" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" -msgstr "Lisainfo nфitamine" +msgid "Full title width" +msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" -msgstr "Edenemisriba nфitamine" +msgid "Show scrollbar in menu" +msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" +msgstr "Lisainfo nфitamine" + +msgid "Show recording's size" msgstr "" -msgid "Show scrollbar in menu" +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Kanalilogo vahemфlu tќhjendamine..." @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -364,5 +409,8 @@ msgstr "" msgid "No timer check" msgstr "" -#~ msgid "en_US" -#~ msgstr "et_EE" +#~ msgid "Show progressbar" +#~ msgstr "Edenemisriba nфitamine" + +#~ msgid "Languages" +#~ msgstr "Keeled" diff --git a/po/fi_FI.po b/po/fi_FI.po index 2aa4031..3bc2b01 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "AJASTIMET" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Kielet" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "TOISTUVAT TAPAHTUMAT" @@ -48,6 +57,18 @@ msgstr "TOISTUVAT TAPAHTUMAT" msgid "Size" msgstr "Koko" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Lisфtiedot" @@ -96,6 +117,10 @@ msgstr "jфljellф oleva" msgid "percent" msgstr "prosentti" +#, fuzzy +msgid "elapsed/remaining" +msgstr "jфljellф oleva" + msgid "never" msgstr "ei koskaan" @@ -120,24 +145,50 @@ msgstr "" msgid "Try 8bpp single area" msgstr "Suosi yhtф 8bpp kuva-aluetta" +msgid "Round corners" +msgstr "" + +msgid "Full title width" +msgstr "Levitф otsikkopalkki" + +msgid "Show VPS" +msgstr "Nфytф VPS-tieto" + +msgid "Dynamic OSD size" +msgstr "Mukauta kuvaruutunфytіn kokoa" + +msgid "Menu OSD" +msgstr "" + msgid "Show info area in main menu" msgstr "Nфytф infoalue pффvalikossa" +#, fuzzy +msgid " Min width of info area" +msgstr " Vieritф infoaluetta" + +msgid "Show messages in menu on" +msgstr "Nфytф viestit valikossa" + +#, fuzzy +msgid "Show scrollbar in menu" +msgstr " Nфytф symbolit valikossa" + +msgid "EPG & Recording Details OSD" +msgstr "" + msgid "Show auxiliary information" msgstr "Nфytф lisфtiedot" msgid "Show recording's size" msgstr "Nфytф tallenteen koko" -msgid "Full title width" -msgstr "Levitф otsikkopalkki" +msgid "Channel Info OSD" +msgstr "" msgid "Show remaining/elapsed time" msgstr "Nфytф tapahtuman aika" -msgid "Show VPS" -msgstr "Nфytф VPS-tieto" - #, fuzzy msgid "Show signal info" msgstr " Nфytф sфhkіpostikuvake" @@ -145,19 +196,6 @@ msgstr " Nфytф sфhkіpostikuvake" msgid "Show CA system as text" msgstr "" -msgid "Show progressbar" -msgstr "Nфytф aikajana" - -msgid "Dynamic OSD size" -msgstr "Mukauta kuvaruutunфytіn kokoa" - -msgid "Show messages in menu on" -msgstr "Nфytф viestit valikossa" - -#, fuzzy -msgid "Show scrollbar in menu" -msgstr " Nфytф symbolit valikossa" - msgid "pixel algo" msgstr "nфytteistys" @@ -170,6 +208,9 @@ msgstr "zoomaus" msgid "only if new mail present" msgstr "jos uutta postia" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Tyhjennetффn vфlimuistia..." @@ -188,9 +229,15 @@ msgstr " Nфytф symbolit viesteissф" msgid " Show symbols in audio" msgstr " Nфytф symbolit ффnivalikossa" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "Nфytф tapahtumien symbolit" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "Nфytф valintasymboli" @@ -365,5 +412,8 @@ msgstr "Ajastimien valvonta" msgid "No timer check" msgstr "Ei valvontaa" -#~ msgid "en_US" -#~ msgstr "fi_FI" +#~ msgid "Show progressbar" +#~ msgstr "Nфytф aikajana" + +#~ msgid "Languages" +#~ msgstr "Kielet" diff --git a/po/fr_FR.po b/po/fr_FR.po index 385f077..6b1c9f8 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Patrice Staudt <patrice.staudt@laposte.net>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "PROGRAMMATION" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Langues" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "REPETITION" @@ -48,6 +57,18 @@ msgstr "REPETITION" msgid "Size" msgstr "Taille" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Information auxiliare" @@ -96,6 +117,10 @@ msgstr "restant" msgid "percent" msgstr "Pourcentage" +#, fuzzy +msgid "elapsed/remaining" +msgstr "restant" + msgid "never" msgstr "jamais" @@ -120,24 +145,50 @@ msgstr "" msgid "Try 8bpp single area" msgstr "Essayer une surface р 8bpp" +msgid "Round corners" +msgstr "" + +msgid "Full title width" +msgstr "Largeur totale pour le titre" + +msgid "Show VPS" +msgstr "Afficher le VPS" + +msgid "Dynamic OSD size" +msgstr "Taille dynamique de OSD" + +msgid "Menu OSD" +msgstr "" + msgid "Show info area in main menu" msgstr "Surface d'infos dans le menu principal" +#, fuzzy +msgid " Min width of info area" +msgstr " Barre de dщfilement dans la surface info" + +msgid "Show messages in menu on" +msgstr "Afficher les messages dans le menu" + +#, fuzzy +msgid "Show scrollbar in menu" +msgstr " dans le menu" + +msgid "EPG & Recording Details OSD" +msgstr "" + msgid "Show auxiliary information" msgstr "Afficher informations auxiliaires" msgid "Show recording's size" msgstr "Afficher la taille des enregistrements" -msgid "Full title width" -msgstr "Largeur totale pour le titre" +msgid "Channel Info OSD" +msgstr "" msgid "Show remaining/elapsed time" msgstr "Afficher le temps щcoulщ/restant" -msgid "Show VPS" -msgstr "Afficher le VPS" - #, fuzzy msgid "Show signal info" msgstr " Afficher l'icєne courriel" @@ -145,19 +196,6 @@ msgstr " Afficher l'icєne courriel" msgid "Show CA system as text" msgstr "" -msgid "Show progressbar" -msgstr "Afficher barre de progression" - -msgid "Dynamic OSD size" -msgstr "Taille dynamique de OSD" - -msgid "Show messages in menu on" -msgstr "Afficher les messages dans le menu" - -#, fuzzy -msgid "Show scrollbar in menu" -msgstr " dans le menu" - msgid "pixel algo" msgstr "Algorithme pixel" @@ -170,6 +208,9 @@ msgstr "Agrandir image" msgid "only if new mail present" msgstr "juste lors d'un courriel" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Suppression du cache..." @@ -188,9 +229,15 @@ msgstr " dans les messages" msgid " Show symbols in audio" msgstr " dans audio" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "Symboles dans les listes" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "Marque devant les listes" @@ -365,5 +412,8 @@ msgstr "Observation de la programmation" msgid "No timer check" msgstr "Sans surveillance" -#~ msgid "en_US" -#~ msgstr "fr_FR" +#~ msgid "Show progressbar" +#~ msgstr "Afficher barre de progression" + +#~ msgid "Languages" +#~ msgstr "Langues" diff --git a/po/hr_HR.po b/po/hr_HR.po index 7621d8d..194c2a6 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -40,7 +40,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -49,6 +58,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -97,6 +118,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -121,40 +145,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -169,6 +205,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -187,9 +226,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -363,6 +408,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "hr_HR" diff --git a/po/hu_HU.po b/po/hu_HU.po index 620ac85..64f5e91 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -40,7 +40,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -49,6 +58,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -97,6 +118,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -121,40 +145,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -169,6 +205,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -187,9 +226,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -363,6 +408,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "hu_HU" diff --git a/po/it_IT.po b/po/it_IT.po index 1a60ac6..8fe64e8 100755..100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2009-04-11 00:00+0100\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -44,8 +44,17 @@ msgstr "TIMER" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Lingue" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "REPLICHE DI QUESTO SPETTACOLO" @@ -53,6 +62,18 @@ msgstr "REPLICHE DI QUESTO SPETTACOLO" msgid "Size" msgstr "Dimensione" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Informazione ausiliare" @@ -101,6 +122,10 @@ msgstr "rimasto" msgid "percent" msgstr "percentuale" +#, fuzzy +msgid "elapsed/remaining" +msgstr "rimasto" + msgid "never" msgstr "mai" @@ -125,42 +150,55 @@ msgstr "se richiesto" msgid "Try 8bpp single area" msgstr "Prova area singola a 8bpp" +msgid "Round corners" +msgstr "" + +msgid "Full title width" +msgstr "Lunghezza titolo completo" + +msgid "Show VPS" +msgstr "Mostra VPS" + +msgid "Dynamic OSD size" +msgstr "Dimensione OSD dinamica" + +msgid "Menu OSD" +msgstr "" + msgid "Show info area in main menu" msgstr "Mostra area info nel menu" +#, fuzzy +msgid " Min width of info area" +msgstr " Scorri info area" + +msgid "Show messages in menu on" +msgstr "Mostra messaggi nel menu" + +msgid "Show scrollbar in menu" +msgstr "Mostra barra scorrimento nel menu" + +msgid "EPG & Recording Details OSD" +msgstr "" + msgid "Show auxiliary information" msgstr "Mostra info ausiliare" msgid "Show recording's size" msgstr "Mostra dimensione reg." -msgid "Full title width" -msgstr "Lunghezza titolo completo" +msgid "Channel Info OSD" +msgstr "" msgid "Show remaining/elapsed time" msgstr "Mostra tempo rim./trasc." -msgid "Show VPS" -msgstr "Mostra VPS" - msgid "Show signal info" msgstr "Mostra info segnale" msgid "Show CA system as text" msgstr "Mostra sistema CA come testo" -msgid "Show progressbar" -msgstr "Mostra barra avanzamento" - -msgid "Dynamic OSD size" -msgstr "Dimensione OSD dinamica" - -msgid "Show messages in menu on" -msgstr "Mostra messaggi nel menu" - -msgid "Show scrollbar in menu" -msgstr "Mostra barra scorrimento nel menu" - msgid "pixel algo" msgstr "algoritmo pixel" @@ -173,6 +211,9 @@ msgstr "ingrandisci immagine" msgid "only if new mail present" msgstr "solo se presenti nuove email" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Pulizia cache loghi canali..." @@ -191,9 +232,15 @@ msgstr " Mostra simboli messaggi" msgid " Show symbols in audio" msgstr " Mostra simboli audio" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "Mostra simboli elenchi" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "Mostra indicatore elenchi" @@ -368,6 +415,8 @@ msgstr "Verifica timer" msgid "No timer check" msgstr "Nessuna verifica timer" -#~ msgid "en_US" -#~ msgstr "it_IT" +#~ msgid "Show progressbar" +#~ msgstr "Mostra barra avanzamento" +#~ msgid "Languages" +#~ msgstr "Lingue" diff --git a/po/nl_NL.po b/po/nl_NL.po index 5f8411a..044193b 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: dorpsgek @vdr-portal.de\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "TIMER" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Talen" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "HERHALINGEN" @@ -48,6 +57,18 @@ msgstr "HERHALINGEN" msgid "Size" msgstr "Grootte" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Hulp informatie" @@ -96,6 +117,10 @@ msgstr "resterend" msgid "percent" msgstr "procent" +#, fuzzy +msgid "elapsed/remaining" +msgstr "resterend" + msgid "never" msgstr "nooit" @@ -120,24 +145,50 @@ msgstr "" msgid "Try 8bpp single area" msgstr "Op 8bpp bereik testen" +msgid "Round corners" +msgstr "" + +msgid "Full title width" +msgstr "Volle titelbreedte" + +msgid "Show VPS" +msgstr "VPS tonen" + +msgid "Dynamic OSD size" +msgstr "Dynamische OSD grootte" + +msgid "Menu OSD" +msgstr "" + msgid "Show info area in main menu" msgstr "Info in hoofdmenu" +#, fuzzy +msgid " Min width of info area" +msgstr " Infobereik scrollen" + +msgid "Show messages in menu on" +msgstr "Toon berichten in menu aan" + +#, fuzzy +msgid "Show scrollbar in menu" +msgstr " Symbolen in menu tonen" + +msgid "EPG & Recording Details OSD" +msgstr "" + msgid "Show auxiliary information" msgstr "Toon hulp informatie" msgid "Show recording's size" msgstr "Opnamegrootte tonen" -msgid "Full title width" -msgstr "Volle titelbreedte" +msgid "Channel Info OSD" +msgstr "" msgid "Show remaining/elapsed time" msgstr "Toon resterend/gedane tijd" -msgid "Show VPS" -msgstr "VPS tonen" - #, fuzzy msgid "Show signal info" msgstr " Mail-ikoon tonen" @@ -145,19 +196,6 @@ msgstr " Mail-ikoon tonen" msgid "Show CA system as text" msgstr "" -msgid "Show progressbar" -msgstr "Progressiebalk tonen" - -msgid "Dynamic OSD size" -msgstr "Dynamische OSD grootte" - -msgid "Show messages in menu on" -msgstr "Toon berichten in menu aan" - -#, fuzzy -msgid "Show scrollbar in menu" -msgstr " Symbolen in menu tonen" - msgid "pixel algo" msgstr "pixelalgoritme" @@ -170,6 +208,9 @@ msgstr "zoomen" msgid "only if new mail present" msgstr "alleen bij nieuwe mail" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Kanaallogo cache legen..." @@ -188,9 +229,15 @@ msgstr " Symbolen bij berichten tonen" msgid " Show symbols in audio" msgstr " Symbolen bij audio tonen" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "Symbolen in lijsten tonen" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "Markering in lijsten tonen" @@ -365,5 +412,8 @@ msgstr "Monitoren" msgid "No timer check" msgstr "Geen controle" -#~ msgid "en_US" -#~ msgstr "nl_NL" +#~ msgid "Show progressbar" +#~ msgstr "Progressiebalk tonen" + +#~ msgid "Languages" +#~ msgstr "Talen" diff --git a/po/nn_NO.po b/po/nn_NO.po index dd07c57..7af0de2 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Truls Slevigen <truls@slevigen.no>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -40,7 +40,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -49,6 +58,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -97,6 +118,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -121,40 +145,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -169,6 +205,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -187,9 +226,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -363,6 +408,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "no_NO" diff --git a/po/pl_PL.po b/po/pl_PL.po index 17609e7..ba25aba 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Michael Rakowski <mrak@gmx.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Jъzyki" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Informacje pomocnicze" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" -msgstr "Pokazuj informacje pomocnicze" +msgid "Full title width" +msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" -msgstr "Pokazuj pasek postъpu" +msgid "Show scrollbar in menu" +msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" +msgstr "Pokazuj informacje pomocnicze" + +msgid "Show recording's size" msgstr "" -msgid "Show scrollbar in menu" +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "OprѓПniam cache logo kanaГu..." @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -364,5 +409,8 @@ msgstr "" msgid "No timer check" msgstr "" -#~ msgid "en_US" -#~ msgstr "pl_PL" +#~ msgid "Show progressbar" +#~ msgstr "Pokazuj pasek postъpu" + +#~ msgid "Languages" +#~ msgstr "Jъzyki" diff --git a/po/pt_PT.po b/po/pt_PT.po index 1324ce1..20f846b 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,7 +39,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -362,6 +407,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "pt_PT" diff --git a/po/ro_RO.po b/po/ro_RO.po index 06b977d..d1f5948 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -40,7 +40,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -49,6 +58,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -97,6 +118,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -121,40 +145,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -169,6 +205,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -187,9 +226,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -363,6 +408,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "ro_RO" diff --git a/po/ru_RU.po b/po/ru_RU.po index 50ba9f6..097b6f9 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: SergArb @vdr-portal.de / neptunvasja @vdr-portal.de\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,8 +39,17 @@ msgstr "ТАЙМЕРЫ" msgid "min" msgstr "мин" -msgid "Languages" -msgstr "Языки" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "ПОВТОРЕНИЯ" @@ -48,6 +57,18 @@ msgstr "ПОВТОРЕНИЯ" msgid "Size" msgstr "Размер" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Расш. информация" @@ -96,6 +117,10 @@ msgstr "остальные" msgid "percent" msgstr "процент" +#, fuzzy +msgid "elapsed/remaining" +msgstr "остальные" + msgid "never" msgstr "никогда" @@ -120,35 +145,25 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" -msgstr "Показывать инф. обласьт в гл. меню" - -msgid "Show auxiliary information" -msgstr "Показывать расш. информацию" - -msgid "Show recording's size" -msgstr "Показывать размеры записей" +msgid "Round corners" +msgstr "" msgid "Full title width" msgstr "Полная ширина заголовка" -msgid "Show remaining/elapsed time" -msgstr "Показывать остав./прошед. время" - msgid "Show VPS" msgstr "Показывать VPS" -#, fuzzy -msgid "Show signal info" -msgstr " Показать значок элект. почты" +msgid "Dynamic OSD size" +msgstr "" -msgid "Show CA system as text" +msgid "Menu OSD" msgstr "" -msgid "Show progressbar" -msgstr "Показывать индикатор продвижения" +msgid "Show info area in main menu" +msgstr "Показывать инф. обласьт в гл. меню" -msgid "Dynamic OSD size" +msgid " Min width of info area" msgstr "" msgid "Show messages in menu on" @@ -158,6 +173,28 @@ msgstr "" msgid "Show scrollbar in menu" msgstr " Показать символы в меню" +msgid "EPG & Recording Details OSD" +msgstr "" + +msgid "Show auxiliary information" +msgstr "Показывать расш. информацию" + +msgid "Show recording's size" +msgstr "Показывать размеры записей" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "Показывать остав./прошед. время" + +#, fuzzy +msgid "Show signal info" +msgstr " Показать значок элект. почты" + +msgid "Show CA system as text" +msgstr "" + msgid "pixel algo" msgstr "алгоритм пикселя" @@ -170,6 +207,9 @@ msgstr "Увеличить" msgid "only if new mail present" msgstr "только при новом сообщении" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Очищаю кеш..." @@ -188,9 +228,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "Показывать символы в списках" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "Показывать метку в списках" @@ -366,5 +412,8 @@ msgstr "Проверка таймеров" msgid "No timer check" msgstr "" -#~ msgid "en_US" -#~ msgstr "ru_RU" +#~ msgid "Show progressbar" +#~ msgstr "Показывать индикатор продвижения" + +#~ msgid "Languages" +#~ msgstr "Языки" diff --git a/po/sl_SI.po b/po/sl_SI.po index c6292f8..f5bdc04 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -40,7 +40,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -49,6 +58,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -97,6 +118,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -121,40 +145,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -169,6 +205,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -187,9 +226,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -363,6 +408,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "sl_SI" diff --git a/po/sv_SE.po b/po/sv_SE.po index d9b4b8b..615cf38 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Tomas Prybil <tomas@prybil.se>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -40,8 +40,17 @@ msgstr "" msgid "min" msgstr "min" -msgid "Languages" -msgstr "Sprхk" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" +msgstr "" msgid "RERUNS OF THIS SHOW" msgstr "" @@ -49,6 +58,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "Extrainformation" @@ -97,6 +118,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -121,40 +145,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" -msgstr "Visa extrainformation" +msgid "Full title width" +msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" -msgstr "Visa framsteg" +msgid "Show scrollbar in menu" +msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" +msgstr "Visa extrainformation" + +msgid "Show recording's size" msgstr "" -msgid "Show scrollbar in menu" +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -169,6 +205,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "Tіmmer cachen..." @@ -187,9 +226,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -365,5 +410,8 @@ msgstr "" msgid "No timer check" msgstr "" -#~ msgid "en_US" -#~ msgstr "sv_SE" +#~ msgid "Show progressbar" +#~ msgstr "Visa framsteg" + +#~ msgid "Languages" +#~ msgstr "Sprхk" diff --git a/po/tr_TR.po b/po/tr_TR.po index 7044782..680b002 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n" -"POT-Creation-Date: 2009-03-30 12:30+0200\n" +"POT-Creation-Date: 2010-04-05 12:31+0200\n" "PO-Revision-Date: 2007-12-18 08:11+0100\n" "Last-Translator: Oktay Yolgeчen <oktay_73@yahoo.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -39,7 +39,16 @@ msgstr "" msgid "min" msgstr "" -msgid "Languages" +msgid "Content: " +msgstr "" + +msgid "Video" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Subtitles" msgstr "" msgid "RERUNS OF THIS SHOW" @@ -48,6 +57,18 @@ msgstr "" msgid "Size" msgstr "" +msgid "cut" +msgstr "" + +msgid "Length" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Est. bitrate" +msgstr "" + msgid "Auxiliary information" msgstr "" @@ -96,6 +117,9 @@ msgstr "" msgid "percent" msgstr "" +msgid "elapsed/remaining" +msgstr "" + msgid "never" msgstr "" @@ -120,40 +144,52 @@ msgstr "" msgid "Try 8bpp single area" msgstr "" -msgid "Show info area in main menu" +msgid "Round corners" msgstr "" -msgid "Show auxiliary information" +msgid "Full title width" msgstr "" -msgid "Show recording's size" +msgid "Show VPS" msgstr "" -msgid "Full title width" +msgid "Dynamic OSD size" msgstr "" -msgid "Show remaining/elapsed time" +msgid "Menu OSD" msgstr "" -msgid "Show VPS" +msgid "Show info area in main menu" msgstr "" -msgid "Show signal info" +msgid " Min width of info area" msgstr "" -msgid "Show CA system as text" +msgid "Show messages in menu on" msgstr "" -msgid "Show progressbar" +msgid "Show scrollbar in menu" msgstr "" -msgid "Dynamic OSD size" +msgid "EPG & Recording Details OSD" msgstr "" -msgid "Show messages in menu on" +msgid "Show auxiliary information" msgstr "" -msgid "Show scrollbar in menu" +msgid "Show recording's size" +msgstr "" + +msgid "Channel Info OSD" +msgstr "" + +msgid "Show remaining/elapsed time" +msgstr "" + +msgid "Show signal info" +msgstr "" + +msgid "Show CA system as text" msgstr "" msgid "pixel algo" @@ -168,6 +204,9 @@ msgstr "" msgid "only if new mail present" msgstr "" +msgid "active only" +msgstr "" + msgid "Flushing channel logo cache..." msgstr "" @@ -186,9 +225,15 @@ msgstr "" msgid " Show symbols in audio" msgstr "" +msgid "Colored status symbols in EPG details" +msgstr "" + msgid "Show symbols in lists" msgstr "" +msgid "Show progressbar in lists" +msgstr "" + msgid "Show marker in lists" msgstr "" @@ -362,6 +407,3 @@ msgstr "" msgid "No timer check" msgstr "" - -#~ msgid "en_US" -#~ msgstr "tr_TR" @@ -42,17 +42,18 @@ cPluginSkinEnigmaSetup::cPluginSkinEnigmaSetup(void) Setup(); } -void cPluginSkinEnigmaSetup::AddCategory(const char *Title) { +void cMenuSetupSubMenu::AddCategory(const char *Title) { char *buffer = NULL; - asprintf(&buffer, "---\t%s ----------------------------------------------------------------------------------", Title ); + if (-1 != asprintf(&buffer, "--- %s ---", Title )) { - cOsdItem *item = new cOsdItem(buffer); - free(buffer); + cOsdItem *item = new cOsdItem(buffer); + free(buffer); - if (item) { - item->SetSelectable(false); - Add(item); + if (item) { + item->SetSelectable(false); + Add(item); + } } } @@ -96,8 +97,10 @@ void cPluginSkinEnigmaSetup::Store(void) SetupStore("ShowSymbolsReplay", EnigmaConfig.showSymbolsReplay); SetupStore("ShowSymbolsMsgs", EnigmaConfig.showSymbolsMsgs); SetupStore("ShowSymbolsAudio", EnigmaConfig.showSymbolsAudio); + SetupStore("ShowColSymbolsDetails", EnigmaConfig.showColSymbolsDetails); SetupStore("ShowLogo", EnigmaConfig.showLogo); SetupStore("ShowInfo", EnigmaConfig.showInfo); + SetupStore("MinInfoWidth", EnigmaConfig.minInfoWidth); SetupStore("ShowVPS", EnigmaConfig.showVps); SetupStore("ShowFlags", EnigmaConfig.showFlags); SetupStore("ShowMarker", EnigmaConfig.showMarker); @@ -130,6 +133,7 @@ void cPluginSkinEnigmaSetup::Store(void) SetupStore("ShowScrollbar", EnigmaConfig.showScrollbar); SetupStore("ShowSignalInfo", EnigmaConfig.showSignalInfo); SetupStore("ShowCaMode", EnigmaConfig.showCaMode); + SetupStore("DrawRoundCorners", EnigmaConfig.drawRoundCorners); char tmp[sizeof(EnigmaConfig.allFonts[0].Name) + 8]; for (int id = 0; id < FONT_NUMFONTS; id++) { @@ -201,6 +205,7 @@ cMenuSetupGeneral::cMenuSetupGeneral(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr showRemainingTexts[0] = tr("elapsed"); showRemainingTexts[1] = tr("remaining"); showRemainingTexts[2] = tr("percent"); + showRemainingTexts[3] = tr("elapsed/remaining"); showRecSizeTexts[0] = tr("never"); showRecSizeTexts[1] = tr("use size.vdr only"); @@ -218,7 +223,26 @@ cMenuSetupGeneral::cMenuSetupGeneral(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr eOSState cMenuSetupGeneral::ProcessKey(eKeys Key) { - return cMenuSetupSubMenu::ProcessKey(Key); + int oldShowInfo = data->showInfo; + + eOSState state = cMenuSetupSubMenu::ProcessKey(Key); + + if (Key != kNone && + ((data->showInfo != oldShowInfo) + )) { + Set(); + } + + if (state == osUnknown) { + switch (Key) { + case kOk: + return osBack; + default: + break; + } + } + + return state; } void cMenuSetupGeneral::Set(void) @@ -227,20 +251,25 @@ void cMenuSetupGeneral::Set(void) Clear(); Add(new cMenuEditBoolItem(tr("Try 8bpp single area"), &data->singleArea8Bpp)); + Add(new cMenuEditBoolItem(tr("Round corners"), &data->drawRoundCorners)); + Add(new cMenuEditBoolItem(tr("Full title width"), &data->fullTitleWidth)); // channel info / replay / tracks + Add(new cMenuEditBoolItem(tr("Show VPS"), &data->showVps)); // channel info / epg details + Add(new cMenuEditBoolItem(tr("Dynamic OSD size"), &data->dynOsd)); + AddCategory(tr("Menu OSD")); Add(new cMenuEditBoolItem(tr("Show info area in main menu"), &data->showInfo)); + if (data->showInfo) + Add(new cMenuEditIntItem(tr(" Min width of info area"), &data->minInfoWidth, 80, Setup.OSDWidth)); + Add(new cMenuEditStraItem(tr("Show messages in menu on"), &data->statusLineMode, 3, statusLineModeTexts)); + Add(new cMenuEditStraItem(tr("Show scrollbar in menu"), &data->showScrollbar, 3, showScrollbarTexts)); + AddCategory(tr("EPG & Recording Details OSD")); Add(new cMenuEditBoolItem(tr("Show auxiliary information"), &data->showAuxInfo, trVDR("top"), trVDR("bottom"))); Add(new cMenuEditStraItem(tr("Show recording's size"), &data->showRecSize, 3, showRecSizeTexts)); - Add(new cMenuEditBoolItem(tr("Full title width"), &data->fullTitleWidth)); - Add(new cMenuEditStraItem(tr("Show remaining/elapsed time"), &data->showRemaining, 3, showRemainingTexts)); - Add(new cMenuEditBoolItem(tr("Show VPS"), &data->showVps)); + AddCategory(tr("Channel Info OSD")); + Add(new cMenuEditStraItem(tr("Show remaining/elapsed time"), &data->showRemaining, 4, showRemainingTexts)); #ifndef DISABLE_SIGNALINFO Add(new cMenuEditBoolItem(tr("Show signal info"), &data->showSignalInfo)); #endif //DISABLE_SIGNALINFO Add(new cMenuEditBoolItem(tr("Show CA system as text"), &data->showCaMode)); - Add(new cMenuEditBoolItem(tr("Show progressbar"), &data->showProgressbar)); - Add(new cMenuEditBoolItem(tr("Dynamic OSD size"), &data->dynOsd)); - Add(new cMenuEditStraItem(tr("Show messages in menu on"), &data->statusLineMode, 3, statusLineModeTexts)); - Add(new cMenuEditStraItem(tr("Show scrollbar in menu"), &data->showScrollbar, 3, showScrollbarTexts)); SetCurrent(Get(currentItem)); Display(); @@ -262,6 +291,10 @@ cMenuSetupLogos::cMenuSetupLogos(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr("Lo showMailIconTexts[2] = tr("always"); #endif + showStatusSymbolsTexts[0] = trVDR("no"); + showStatusSymbolsTexts[1] = trVDR("yes"); + showStatusSymbolsTexts[2] = tr("active only"); + Set(); } @@ -320,9 +353,11 @@ void cMenuSetupLogos::Set(void) Add(new cMenuEditBoolItem(tr(" Show symbols in audio"), &data->showSymbolsAudio)); } + Add(new cMenuEditBoolItem(tr("Colored status symbols in EPG details"), &data->showColSymbolsDetails)); Add(new cMenuEditBoolItem(tr("Show symbols in lists"), &data->showListSymbols)); + Add(new cMenuEditBoolItem(tr("Show progressbar in lists"), &data->showProgressbar)); Add(new cMenuEditBoolItem(tr("Show marker in lists"), &data->showMarker)); - Add(new cMenuEditBoolItem(tr("Show status symbols"), &data->showStatusSymbols)); + Add(new cMenuEditStraItem(tr("Show status symbols"), &data->showStatusSymbols, 3, showStatusSymbolsTexts)); if (data->showStatusSymbols) { Add(new cMenuEditBoolItem(tr(" Show flags"), &data->showFlags)); #ifdef USE_PLUGIN_AVARDS @@ -494,6 +529,9 @@ cMenuSetupFonts::cMenuSetupFonts(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr("Fo cFont::GetAvailableFontNames(&fontMonoNames, true); cFont::GetAvailableFontNames(&fontNames); + fontNames.Insert(strdup(DefaultFontSml)); + fontNames.Insert(strdup(DefaultFontOsd)); + fontMonoNames.Insert(strdup(DefaultFontFix)); Set(); } @@ -14,7 +14,6 @@ private: cEnigmaConfig data; virtual void Setup(void); - void AddCategory(const char *Title); protected: virtual eOSState ProcessKey(eKeys Key); virtual void Store(void); @@ -27,13 +26,14 @@ protected: cEnigmaConfig *data; virtual eOSState ProcessKey(eKeys Key); virtual void Set(void) = 0; + void AddCategory(const char *Title); public: cMenuSetupSubMenu(const char *Title, cEnigmaConfig *Data); }; class cMenuSetupGeneral : public cMenuSetupSubMenu { private: - const char *showRemainingTexts[3]; + const char *showRemainingTexts[4]; const char *showRecSizeTexts[3]; const char *statusLineModeTexts[3]; const char *showScrollbarTexts[3]; @@ -51,6 +51,7 @@ private: #ifdef USE_PLUGIN_MAILBOX const char *showMailIconTexts[3]; #endif + const char *showStatusSymbolsTexts[3]; protected: virtual eOSState ProcessKey(eKeys Key); void Set(void); diff --git a/skinenigmang.c b/skinenigmang.c index c623f5c..3500766 100644 --- a/skinenigmang.c +++ b/skinenigmang.c @@ -20,7 +20,7 @@ #endif -static const char VERSION[] = "0.1.0"; +static const char VERSION[] = "0.1.1"; static const char DESCRIPTION[] = trNOOP("EnigmaNG skin"); class cPluginSkinEnigma : public cPlugin { @@ -127,8 +127,7 @@ bool cPluginSkinEnigma::Start(void) if (!fImagesDirSet) { // set epgimages directory char *dir = NULL; - asprintf(&dir, "%s/epgimages", cPlugin::ConfigDirectory(PLUGIN_NAME_I18N)); - if (dir) { + if (-1 != asprintf(&dir, "%s/epgimages", cPlugin::ConfigDirectory(PLUGIN_NAME_I18N))) { EnigmaConfig.SetImagesDir(dir); fImagesDirSet = true; free(dir); @@ -181,8 +180,10 @@ bool cPluginSkinEnigma::SetupParse(const char *OptionName, const char *Value) else if (!strcasecmp(OptionName, "ShowSymbolsReplay")) EnigmaConfig.showSymbolsReplay = atoi(Value); else if (!strcasecmp(OptionName, "ShowSymbolsMsgs")) EnigmaConfig.showSymbolsMsgs = atoi(Value); else if (!strcasecmp(OptionName, "ShowSymbolsAudio")) EnigmaConfig.showSymbolsAudio = atoi(Value); + else if (!strcasecmp(OptionName, "ShowColSymbolsDetails")) EnigmaConfig.showColSymbolsDetails = atoi(Value); else if (!strcasecmp(OptionName, "ShowLogo")) EnigmaConfig.showLogo = atoi(Value); else if (!strcasecmp(OptionName, "ShowInfo")) EnigmaConfig.showInfo = atoi(Value); + else if (!strcasecmp(OptionName, "MinInfoWidth")) EnigmaConfig.minInfoWidth = atoi(Value); else if (!strcasecmp(OptionName, "ShowMarker")) EnigmaConfig.showMarker = atoi(Value); else if (!strcasecmp(OptionName, "ShowVPS")) EnigmaConfig.showVps = atoi(Value); else if (!strcasecmp(OptionName, "ShowFlags")) EnigmaConfig.showFlags = atoi(Value); @@ -251,6 +252,7 @@ bool cPluginSkinEnigma::SetupParse(const char *OptionName, const char *Value) else if (!strcasecmp(OptionName, "ShowScrollbar")) EnigmaConfig.showScrollbar = atoi(Value); else if (!strcasecmp(OptionName, "ShowSignalInfo")) EnigmaConfig.showSignalInfo = atoi(Value); else if (!strcasecmp(OptionName, "ShowCaMode")) EnigmaConfig.showCaMode = atoi(Value); + else if (!strcasecmp(OptionName, "DrawRoundCorners")) EnigmaConfig.drawRoundCorners = atoi(Value); else return false; return true; diff --git a/texteffects.c b/texteffects.c index 5e10941..5a37492 100644 --- a/texteffects.c +++ b/texteffects.c @@ -31,7 +31,7 @@ cEffect::cEffect(cOsd * osd, int x, int y, int width, int height, int depth /* = cEffect::~cEffect() { - delete(Text); + free(Text); delete(bmp); } @@ -68,7 +68,7 @@ bool cEffectScroll::SetText(const char *text, const cFont *font, int offset /* = return true; if (Text) - delete(Text); + free(Text); Text = strdup(text); int textwidth = font->Width(text); diff --git a/themes/EnigmaNG-bgw.theme b/themes/EnigmaNG-bgw.theme new file mode 100644 index 0000000..d002e4d --- /dev/null +++ b/themes/EnigmaNG-bgw.theme @@ -0,0 +1,48 @@ +Description = bgw +clrBackground = E5DCDCDC +clrAltBackground = E5A9A9A9 +clrTitleBg = E5333333 +clrLogoBg = E5707070 +clrBottomBg = E5333333 +clrBotProgBarBg = FF808080 +clrBotProgBarFg = FFDCDCDC +clrTitleFg = FFDCDCDC +clrTitleShadow = FF000000 +clrMenuTxtFg = FF000000 +clrMenuItemSelectableFg = FF202020 +clrMenuItemNotSelectableFg = E5404040 +clrVolumeBar = FFDCDCDC +clrVolumeBarMute = E5A9A9A9 +clrSymbolActive = FFF0F0F0 +clrSymbolInactive = FF808080 +clrSymbolRecord = FFC40000 +clrSymbolRecordBg = FFFFFFFF +clrSymbolTimerActive = FF0000C4 +clrSymbolVpsActive = FFC4C400 +clrSymbolRecActive = FFC40000 +clrSymbolRunActive = FF00C400 +clrButtonRedFg = FFFFFFFF +clrButtonRedBg = E5C40000 +clrButtonGreenFg = FF000000 +clrButtonGreenBg = E500C400 +clrButtonYellowFg = FF000000 +clrButtonYellowBg = E5C4C400 +clrButtonBlueFg = FFFFFFFF +clrButtonBlueBg = E50000C4 +clrMessageStatusFg = FF000000 +clrMessageStatusBg = E5D7FFD1 +clrMessageInfoFg = FF000000 +clrMessageInfoBg = E5D1DDFF +clrMessageWarningFg = FF000000 +clrMessageWarningBg = E5F9FFD1 +clrMessageErrorFg = FF000000 +clrMessageErrorBg = E5FFD1D1 +clrReplayCurrent = FF1D2F7D +clrReplayTotal = FF1D2F7D +clrReplayModeJump = FF1D2F7D +clrReplayBarAreaBg = E5DEE5FA +clrReplayProgressSeen = FF8EA4E3 +clrReplayProgressRest = E5DEE5FA +clrReplayProgressSelected = FF4158BC +clrReplayProgressMark = FF4158BC +clrReplayProgressCurrent = FFFF0000 |