diff options
author | Andreas Mair <amair.sob@googlemail.com> | 2007-03-06 09:26:11 +0100 |
---|---|---|
committer | Andreas Mair <amair.sob@googlemail.com> | 2007-03-06 09:26:11 +0100 |
commit | de39678a54ab87364a3c8c5e3b058d313451db5b (patch) | |
tree | 46ea3b911b6fb0982d910e5bcd398d373f86a887 /tools.c | |
parent | b1fa489fdbd06712add00390966defbe9a96232a (diff) | |
download | vdr-plugin-skinenigmang-0.0.3.tar.gz vdr-plugin-skinenigmang-0.0.3.tar.bz2 |
2007-03-06: Version 0.0.3v0.0.3
- New command line option "-l" to set the logo path.
- Added support for epgsearch's timer check auxiliary info in a recording's info.
- Reorganized setup menu.
- Don't use small font in a recording's replay info.
- Show channel name and number in recording's info.
- Don't use small font for description in event and recording info.
- Added setup options for epgsearch features.
- Use location set at "Channel info position" to display channel info.
- Fixed transparent group titles in menus. (Reported by several users)
- New (temporary) compile time option SKINENIGMA_FULL_CHANNELINFO_TITLE.
- Fixed duration and elapsed/remaining time displaying in channel info.
- Enhanced setup option "Show remaining/elapsed time".
- Enhanced setup option "Show Symbols".
- Changed alignment in bottom line of channel info.
- New setup option to hide language flags; shows language name in channel info. (Suggested by balta @vdr-portal.de)
- Redraw date in main menu and channel info only if time changed. (Based on suggestion by Hanspeter)
- Changed detection for main menu; it now must start with "VDR - ". (Based on patch by triple955 @vdr-portal.de)
- Fixed problems with floating text. (Patch by triple955 @vdr-portal.de)
- Localized full weekday name.
- Added new setup option for 8bpp or 4bpp single area.
- Added Russian translation (Submitted by SergArb @vdr-portal.de).
- Log "LOGO NOT FOUND" errors to syslog (Requested by Der_Pit).
- Changed a false 4bpp area to 2bpp.
- Corrected brackets (Reported by Sebastian Werner).
- Many other fixes and graphical changes.
Diffstat (limited to 'tools.c')
-rw-r--r-- | tools.c | 70 |
1 files changed, 57 insertions, 13 deletions
@@ -14,17 +14,22 @@ #include <stdlib.h> #include <string.h> #include "common.h" +#include "i18n.h" #include "tools.h" using namespace std; -#define AUX_HEADER_EPGSEARCH "EPGSearch: " -#define AUX_TAGS_EPGSEARCH_START "<epgsearch>" -#define AUX_TAGS_EPGSEARCH_ITEM1_START "<Channel>" -#define AUX_TAGS_EPGSEARCH_ITEM1_END "</Channel>" -#define AUX_TAGS_EPGSEARCH_ITEM2_START "<Search timer>" -#define AUX_TAGS_EPGSEARCH_ITEM2_END "</Search timer>" -#define AUX_TAGS_EPGSEARCH_END "</epgsearch>" +#define AUX_HEADER_EPGSEARCH "EPGSearch: " +#define AUX_TAGS_EPGSEARCH_START "<epgsearch>" +#define AUX_TAGS_EPGSEARCH_ITEM_1A_START "<Channel>" +#define AUX_TAGS_EPGSEARCH_ITEM_1A_END "</Channel>" +#define AUX_TAGS_EPGSEARCH_ITEM_2A_START "<Search timer>" +#define AUX_TAGS_EPGSEARCH_ITEM_2A_END "</Search timer>" +#define AUX_TAGS_EPGSEARCH_ITEM_1B_START "<update>" +#define AUX_TAGS_EPGSEARCH_ITEM_1B_END "</update>" +#define AUX_TAGS_EPGSEARCH_ITEM_2B_START "<eventid>" +#define AUX_TAGS_EPGSEARCH_ITEM_2B_END "</eventid>" +#define AUX_TAGS_EPGSEARCH_END "</epgsearch>" #define AUX_HEADER_VDRADMIN "VDRAdmin-AM: " #define AUX_TAGS_VDRADMIN_START "<vdradmin-am>" @@ -51,11 +56,11 @@ const char *parseaux(const char *aux) sstrReturn << AUX_HEADER_EPGSEARCH; // parse first item char *tmp; - if ((tmp = strcasestr(start, AUX_TAGS_EPGSEARCH_ITEM1_START)) != NULL) { + if ((tmp = strcasestr(start, AUX_TAGS_EPGSEARCH_ITEM_1A_START)) != NULL) { if (tmp < end) { - tmp += strlen(AUX_TAGS_EPGSEARCH_ITEM1_START); + tmp += strlen(AUX_TAGS_EPGSEARCH_ITEM_1A_START); char *tmp2; - if ((tmp2 = strcasestr(tmp, AUX_TAGS_EPGSEARCH_ITEM1_END)) != NULL) { + if ((tmp2 = strcasestr(tmp, AUX_TAGS_EPGSEARCH_ITEM_1A_END)) != NULL) { // add channel sstrReturn << string(tmp, tmp2 - tmp); founditem = true; @@ -65,11 +70,11 @@ const char *parseaux(const char *aux) } } // parse second item - if ((tmp = strcasestr(start, "<Search timer>")) != NULL) { + if ((tmp = strcasestr(start, AUX_TAGS_EPGSEARCH_ITEM_2A_START)) != NULL) { if (tmp < end) { - tmp += strlen(AUX_TAGS_EPGSEARCH_ITEM2_START); + tmp += strlen(AUX_TAGS_EPGSEARCH_ITEM_2A_START); char *tmp2; - if ((tmp2 = strcasestr(tmp, AUX_TAGS_EPGSEARCH_ITEM2_END)) != NULL) { + if ((tmp2 = strcasestr(tmp, AUX_TAGS_EPGSEARCH_ITEM_2A_END)) != NULL) { // add separator if (founditem) { sstrReturn << ", "; @@ -82,6 +87,45 @@ const char *parseaux(const char *aux) } } } + // timer check? + if ((tmp = strcasestr(start, AUX_TAGS_EPGSEARCH_ITEM_1B_START)) != NULL) { + if (tmp < end) { + tmp += strlen(AUX_TAGS_EPGSEARCH_ITEM_1B_START); + char *tmp2; + if ((tmp2 = strcasestr(tmp, AUX_TAGS_EPGSEARCH_ITEM_1B_END)) != NULL) { + if (string(tmp, tmp2 - tmp) != "0") { + // add separator + if (founditem) { + sstrReturn << ", "; + } + founditem = true; + // add search item + sstrReturn << tr("Timer check"); + + // parse second item + if ((tmp = strcasestr(start, AUX_TAGS_EPGSEARCH_ITEM_2B_START)) != NULL) { + if (tmp < end) { + tmp += strlen(AUX_TAGS_EPGSEARCH_ITEM_2B_START); + char *tmp2; + if ((tmp2 = strcasestr(tmp, AUX_TAGS_EPGSEARCH_ITEM_2B_END)) != NULL) { + // add separator + if (founditem) { + sstrReturn << ", "; + } + // add search item + sstrReturn << "eventid=" << string(tmp, tmp2 - tmp); + } + } + } + } else { + founditem = false; + } + } else { + founditem = false; + } + } + } + // use old syntax if (!founditem) { start += strlen(AUX_HEADER_EPGSEARCH); |