summaryrefslogtreecommitdiff
path: root/utils/themeeditor
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-06-09 16:15:01 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-06-09 16:15:01 +0000
commit9ac4b446106f733dc1c4be69d97acbcc4c44d9ad (patch)
tree8b81c2f4e3d0714fd9ec2f0c4a0b4b116055b244 /utils/themeeditor
parent20b9020adc521aff2650914695c3e2ccd0025188 (diff)
downloadrockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.zip
rockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.tar.gz
rockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.tar.bz2
rockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.tar.xz
SKIN BREAK: %pb, %bl and %pv (bar types) changed so the image is the last param instead of the first. skin updater, skins and manual all updated.
NEW PARSER: add an 'N' param type which will accept any number of strings, will cause very big problems if this isnt the last param for a tag. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26727 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor')
-rw-r--r--utils/themeeditor/skin_parser.c6
-rw-r--r--utils/themeeditor/tag_table.c8
-rw-r--r--utils/themeeditor/tag_table.h1
3 files changed, 9 insertions, 6 deletions
diff --git a/utils/themeeditor/skin_parser.c b/utils/themeeditor/skin_parser.c
index 707fffd..401181c 100644
--- a/utils/themeeditor/skin_parser.c
+++ b/utils/themeeditor/skin_parser.c
@@ -543,7 +543,8 @@ int skin_parse_tag(struct skin_element* element, char** document)
element->params[i].type = NUMERIC;
element->params[i].data.numeric = scan_int(&cursor);
}
- else if(tolower(*tag_args) == 's' || tolower(*tag_args) == 'f')
+ else if(tolower(*tag_args) == 'n' ||
+ tolower(*tag_args) == 's' || tolower(*tag_args) == 'f')
{
/* Scanning a string argument */
element->params[i].type = STRING;
@@ -576,7 +577,8 @@ int skin_parse_tag(struct skin_element* element, char** document)
cursor++;
}
- tag_args++;
+ if (*tag_args != 'N')
+ tag_args++;
/* Checking for the optional bar */
if(*tag_args == '|')
diff --git a/utils/themeeditor/tag_table.c b/utils/themeeditor/tag_table.c
index bf35c9b..d03f244 100644
--- a/utils/themeeditor/tag_table.c
+++ b/utils/themeeditor/tag_table.c
@@ -22,7 +22,7 @@
#include "tag_table.h"
#include <string.h>
-
+#define BAR_PARAMS "*|IIIIN"
/* The tag definition table */
struct tag_info legal_tags[] =
{
@@ -33,7 +33,7 @@ struct tag_info legal_tags[] =
{ SKIN_TOKEN_ALIGN_RIGHT_RTL, "aR", "" },
{ SKIN_TOKEN_ALIGN_LANGDIRECTION, "ax", "" },
- { SKIN_TOKEN_BATTERY_PERCENT, "bl" , "*fIIII" },
+ { SKIN_TOKEN_BATTERY_PERCENT, "bl" , BAR_PARAMS },
{ SKIN_TOKEN_BATTERY_VOLTS, "bv", "" },
{ SKIN_TOKEN_BATTERY_TIME, "bt", "" },
{ SKIN_TOKEN_BATTERY_SLEEPTIME, "bs", "" },
@@ -124,8 +124,8 @@ struct tag_info legal_tags[] =
{ SKIN_TOKEN_PEAKMETER, "pm", "" },
{ SKIN_TOKEN_PLAYER_PROGRESSBAR, "pf", "" },
- { SKIN_TOKEN_PROGRESSBAR, "pb" , "*fIIII" },
- { SKIN_TOKEN_VOLUME, "pv" , "*fIIII" },
+ { SKIN_TOKEN_PROGRESSBAR, "pb" , BAR_PARAMS },
+ { SKIN_TOKEN_VOLUME, "pv" , BAR_PARAMS },
{ SKIN_TOKEN_TRACK_ELAPSED_PERCENT, "px", "" },
{ SKIN_TOKEN_TRACK_TIME_ELAPSED, "pc", "" },
diff --git a/utils/themeeditor/tag_table.h b/utils/themeeditor/tag_table.h
index 760c9f5..ec9a102 100644
--- a/utils/themeeditor/tag_table.h
+++ b/utils/themeeditor/tag_table.h
@@ -263,6 +263,7 @@ enum skin_token_type {
* F - Required file name
* f - Nullable file name
* C - Required skin code
+ * N - any amount of strings.. must be the last param in the list
* Any nullable parameter may be replaced in the WPS file
* with a '-'. To specify that parameters may be left off
* altogether, place a '|' in the parameter string. For