diff options
author | Marianne Arnold <pixelma@rockbox.org> | 2009-05-16 11:22:41 +0000 |
---|---|---|
committer | Marianne Arnold <pixelma@rockbox.org> | 2009-05-16 11:22:41 +0000 |
commit | e435e4d976757f8436484a5b4d158ab7545fcdb6 (patch) | |
tree | ee7b7599dba7994968c9c2812c78c036cb4335f9 | |
parent | 1af18d52af70a638cda8f12702b6e48fdec2e1da (diff) |
New 'clock present' WPS tag: The tag checks for the presence of the clock hardware and can be used unconditionally (returning a 'c') or in a conditional. You can specify what to display if a target has the clock (the true case) and an alternative for targets without. This can be useful for e.g. the greyscale 160x128 WPSs or the Archos ones which work on players with and without the hardware. - Add the new tag to the WPS tag description in the manual. Change the headline to the less technical 'Time and Date' as per the discussion in IRC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20961 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/gui/gwps-common.c | 8 | ||||
-rw-r--r-- | apps/gui/gwps.h | 2 | ||||
-rw-r--r-- | apps/gui/wps_parser.c | 1 | ||||
-rw-r--r-- | manual/appendix/wps_tags.tex | 23 |
4 files changed, 30 insertions, 4 deletions
diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index 1fef9e02cb..9a69c74bf3 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -1037,6 +1037,14 @@ static const char *get_token_value(struct gui_wps *gwps, *intval = global_settings.repeat_mode + 1; snprintf(buf, buf_size, "%d", global_settings.repeat_mode); return buf; + + case WPS_TOKEN_RTC_PRESENT: +#if CONFIG_RTC + return "c"; +#else + return NULL; +#endif + #if CONFIG_RTC case WPS_TOKEN_RTC_12HOUR_CFG: if (intval) diff --git a/apps/gui/gwps.h b/apps/gui/gwps.h index 935e015c93..f3562214a0 100644 --- a/apps/gui/gwps.h +++ b/apps/gui/gwps.h @@ -173,6 +173,8 @@ enum wps_token_type { /* Time */ + WPS_TOKEN_RTC_PRESENT, + /* The begin/end values allow us to know if a token is an RTC one. New RTC tokens should be added between the markers. */ diff --git a/apps/gui/wps_parser.c b/apps/gui/wps_parser.c index 70e13e78a7..7211e6c86a 100644 --- a/apps/gui/wps_parser.c +++ b/apps/gui/wps_parser.c @@ -193,6 +193,7 @@ static const struct wps_tag all_tags[] = { { WPS_TOKEN_BATTERY_CHARGER_CONNECTED,"bp", WPS_REFRESH_DYNAMIC, NULL }, #endif + { WPS_TOKEN_RTC_PRESENT , "cc", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_RTC_DAY_OF_MONTH, "cd", WPS_RTC_REFRESH, NULL }, { WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED,"ce", WPS_RTC_REFRESH, NULL }, { WPS_TOKEN_RTC_12HOUR_CFG, "cf", WPS_RTC_REFRESH, NULL }, diff --git a/manual/appendix/wps_tags.tex b/manual/appendix/wps_tags.tex index 3e8846d71c..a7c1822c50 100644 --- a/manual/appendix/wps_tags.tex +++ b/manual/appendix/wps_tags.tex @@ -355,10 +355,11 @@ Allows grouping of several items (sublines) onto one line, with the display cycling round the defined sublines. See \reference{ref:AlternatingSublines} for details. -\opt{rtc}{ - \section{Real Time Clock} + +\section{Time and Date} \begin{table} \begin{tagmap}{}{} + \opt{rtc}{ \config{\%cd} & Day of month\\ \config{\%ce} & Zero padded day of month\\ \config{\%cH} & Zero padded hour from 00 to 23 (24 hour format)\\ @@ -368,7 +369,7 @@ display cycling round the defined sublines. See \config{\%cm} & Month\\ \config{\%cM} & Minutes\\ \config{\%cS} & Seconds\\ - \config{\%cy} & 2-digit year\\ + \config{\%cy} & 2-digit year\\ \config{\%cY} & 4-digit year\\ \config{\%cP} & Capital AM/PM\\ \config{\%cp} & Lowercase am/pm\\ @@ -376,9 +377,23 @@ display cycling round the defined sublines. See \config{\%cb} & Month name\\ \config{\%cu} & Day of week from 1 to 7, 1 is Monday\\ \config{\%cw} & Day of week from 0 to 6, 0 is Sunday\\ + } + \config{\%cc} & Check for presence of the clock hardware\\ \end{tagmap} \end{table} -} +The \%cc tag returns ``c'' if the necessary hardware is present and can also be +used as a conditional. This can be very useful for designing a WPS that works on +multiple targets, some with and some without a clock. By using this tag as a +conditional it is possible to display current date and time on those targets that +support this +\opt{rtc}{ (like the \playertype)}, +or alternate information on those that do not +\nopt{rtc}{ (like the \playertype)}% +. + +Example: +\config{\%?cc{\textless}\%cH:\%cM{\textbar}No clock detected{\textgreater}} + \section{Other Tags} \begin{table} |