summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-02-17 07:17:06 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-02-17 07:17:06 +0000
commitf7ba156b27e661bf4f6cdba9d961640e6a3e5c1d (patch)
treea2239910be2ebbaceb6e043d9d2842a6e693d8cd
parenteb943e9495809c1ba167d6f070dcfd1e098623d6 (diff)
downloadrockbox-f7ba156b27e661bf4f6cdba9d961640e6a3e5c1d.zip
rockbox-f7ba156b27e661bf4f6cdba9d961640e6a3e5c1d.tar.gz
rockbox-f7ba156b27e661bf4f6cdba9d961640e6a3e5c1d.tar.bz2
rockbox-f7ba156b27e661bf4f6cdba9d961640e6a3e5c1d.tar.xz
change the %St tag so it only shows the filename of file settings, not the full path (i.e cabbiev2 instead of /.rockbox/wps/cabbiev2.wps)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24717 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/skin_engine/skin_tokens.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c
index fa80e86..105a678 100644
--- a/apps/gui/skin_engine/skin_tokens.c
+++ b/apps/gui/skin_engine/skin_tokens.c
@@ -901,10 +901,10 @@ const char *get_token_value(struct gui_wps *gwps,
case WPS_TOKEN_SETTING:
{
+ const struct settings_list *s = settings+token->value.i;
if (intval)
{
/* Handle contionals */
- const struct settings_list *s = settings+token->value.i;
switch (s->flags&F_T_MASK)
{
case F_T_INT:
@@ -930,6 +930,7 @@ const char *get_token_value(struct gui_wps *gwps,
*intval = *(bool*)s->setting?1:2;
break;
case F_T_CHARPTR:
+ case F_T_UCHARPTR:
/* %?St|name|<if non empty string|if empty>
* The string's emptyness discards the setting's
* prefix and suffix */
@@ -941,6 +942,13 @@ const char *get_token_value(struct gui_wps *gwps,
break;
}
}
+ /* Special handlng for filenames because we dont want to show the prefix */
+ if ((s->flags&F_T_MASK) == F_T_UCHARPTR ||
+ (s->flags&F_T_MASK) == F_T_UCHARPTR)
+ {
+ if (s->filename_setting->prefix)
+ return (char*)s->setting;
+ }
cfg_to_string(token->value.i,buf,buf_size);
return buf;
}