summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-07-04 01:39:57 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-07-04 01:39:57 +0000
commit32ff4e93bdc15a21faf23e46bd2e0eb659bf8f31 (patch)
tree3e24bc8a53032bece6aa428c71796ca26ee27379 /lib
parentd4e7ab7a93a268a9fbb1255b7ca3a39a09c090e2 (diff)
downloadrockbox-32ff4e93bdc15a21faf23e46bd2e0eb659bf8f31.tar.gz
rockbox-32ff4e93bdc15a21faf23e46bd2e0eb659bf8f31.zip
Theme Editor: Implemented a flags column in the tag table, removed the \n flag at the end of the param list and replaced it with a NOBREAK flag to prevent the renderer from inserting a line break at the end of the line. Modified the theme editor's renderer to accomodate this flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27268 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'lib')
-rw-r--r--lib/skin_parser/skin_parser.c34
-rw-r--r--lib/skin_parser/tag_table.c312
-rw-r--r--lib/skin_parser/tag_table.h5
3 files changed, 163 insertions, 188 deletions
diff --git a/lib/skin_parser/skin_parser.c b/lib/skin_parser/skin_parser.c
index 3e7f96af82..7a30e93fb5 100644
--- a/lib/skin_parser/skin_parser.c
+++ b/lib/skin_parser/skin_parser.c
@@ -459,21 +459,9 @@ static int skin_parse_tag(struct skin_element* element, char** document)
459 return 1; 459 return 1;
460 } 460 }
461 461
462 /* Eating a newline if necessary */
463 if(tag_args[0] == '\n')
464 {
465 while (*cursor && *cursor != '\n')
466 cursor++;
467 if (*cursor)
468 cursor++;
469 skin_line++;
470 *document = cursor;
471 return 1;
472 }
473 462
474 /* Checking the number of arguments and allocating args */ 463 /* Checking the number of arguments and allocating args */
475 if(*cursor != ARGLISTOPENSYM && tag_args[0] != '|' 464 if(*cursor != ARGLISTOPENSYM && tag_args[0] != '|')
476 && tag_args[0] != '\n')
477 { 465 {
478 skin_error(ARGLIST_EXPECTED); 466 skin_error(ARGLIST_EXPECTED);
479 return 0; 467 return 0;
@@ -521,7 +509,7 @@ static int skin_parse_tag(struct skin_element* element, char** document)
521 for(i = 0; i < num_args; i++) 509 for(i = 0; i < num_args; i++)
522 { 510 {
523 /* Making sure we haven't run out of arguments */ 511 /* Making sure we haven't run out of arguments */
524 if(*tag_args == '\0' || *tag_args == '\n') 512 if(*tag_args == '\0')
525 { 513 {
526 skin_error(TOO_MANY_ARGS); 514 skin_error(TOO_MANY_ARGS);
527 return 0; 515 return 0;
@@ -620,27 +608,11 @@ static int skin_parse_tag(struct skin_element* element, char** document)
620 } 608 }
621 609
622 /* Checking for a premature end */ 610 /* Checking for a premature end */
623 if(*tag_args != '\0' && *tag_args != '\n' && !optional) 611 if(*tag_args != '\0' && !optional)
624 { 612 {
625 skin_error(INSUFFICIENT_ARGS); 613 skin_error(INSUFFICIENT_ARGS);
626 return 0; 614 return 0;
627 } 615 }
628
629 if(*tag_args == '\n')
630 {
631 while (*cursor && *cursor != '\n')
632 cursor++;
633 if (*cursor)
634 cursor++;
635 skin_line++;
636 }
637
638 if((strcmp(tag->name, "Vf") == 0 || strcmp(tag->name, "Vb") == 0)
639 && *cursor == '\n' && skin_line == viewport_line)
640 {
641 cursor++;
642 skin_line++;
643 }
644 616
645 *document = cursor; 617 *document = cursor;
646 618
diff --git a/lib/skin_parser/tag_table.c b/lib/skin_parser/tag_table.c
index 0cd4b63fd8..870a810e9d 100644
--- a/lib/skin_parser/tag_table.c
+++ b/lib/skin_parser/tag_table.c
@@ -26,191 +26,191 @@
26/* The tag definition table */ 26/* The tag definition table */
27struct tag_info legal_tags[] = 27struct tag_info legal_tags[] =
28{ 28{
29 { SKIN_TOKEN_ALIGN_CENTER, "ac", "" }, 29 { SKIN_TOKEN_ALIGN_CENTER, "ac", "", 0 },
30 { SKIN_TOKEN_ALIGN_LEFT, "al", "" }, 30 { SKIN_TOKEN_ALIGN_LEFT, "al", "", 0 },
31 { SKIN_TOKEN_ALIGN_LEFT_RTL, "aL", "" }, 31 { SKIN_TOKEN_ALIGN_LEFT_RTL, "aL", "", 0 },
32 { SKIN_TOKEN_ALIGN_RIGHT, "ar", "" }, 32 { SKIN_TOKEN_ALIGN_RIGHT, "ar", "", 0 },
33 { SKIN_TOKEN_ALIGN_RIGHT_RTL, "aR", "" }, 33 { SKIN_TOKEN_ALIGN_RIGHT_RTL, "aR", "", 0 },
34 { SKIN_TOKEN_ALIGN_LANGDIRECTION, "ax", "" }, 34 { SKIN_TOKEN_ALIGN_LANGDIRECTION, "ax", "", 0 },
35 35
36 { SKIN_TOKEN_BATTERY_PERCENT, "bl" , BAR_PARAMS }, 36 { SKIN_TOKEN_BATTERY_PERCENT, "bl" , BAR_PARAMS, 0 },
37 { SKIN_TOKEN_BATTERY_VOLTS, "bv", "" }, 37 { SKIN_TOKEN_BATTERY_VOLTS, "bv", "", 0 },
38 { SKIN_TOKEN_BATTERY_TIME, "bt", "" }, 38 { SKIN_TOKEN_BATTERY_TIME, "bt", "", 0 },
39 { SKIN_TOKEN_BATTERY_SLEEPTIME, "bs", "" }, 39 { SKIN_TOKEN_BATTERY_SLEEPTIME, "bs", "", 0 },
40 { SKIN_TOKEN_BATTERY_CHARGING, "bc", "" }, 40 { SKIN_TOKEN_BATTERY_CHARGING, "bc", "", 0 },
41 { SKIN_TOKEN_BATTERY_CHARGER_CONNECTED, "bp", "" }, 41 { SKIN_TOKEN_BATTERY_CHARGER_CONNECTED, "bp", "", 0 },
42 { SKIN_TOKEN_USB_POWERED, "bu", "" }, 42 { SKIN_TOKEN_USB_POWERED, "bu", "", 0 },
43 43
44 44
45 { SKIN_TOKEN_RTC_PRESENT, "cc", "" }, 45 { SKIN_TOKEN_RTC_PRESENT, "cc", "", 0 },
46 { SKIN_TOKEN_RTC_DAY_OF_MONTH, "cd", "" }, 46 { SKIN_TOKEN_RTC_DAY_OF_MONTH, "cd", "", 0 },
47 { SKIN_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED, "ce", "" }, 47 { SKIN_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED, "ce", "", 0 },
48 { SKIN_TOKEN_RTC_12HOUR_CFG, "cf", "" }, 48 { SKIN_TOKEN_RTC_12HOUR_CFG, "cf", "", 0 },
49 { SKIN_TOKEN_RTC_HOUR_24_ZERO_PADDED, "cH", "" }, 49 { SKIN_TOKEN_RTC_HOUR_24_ZERO_PADDED, "cH", "", 0 },
50 { SKIN_TOKEN_RTC_HOUR_24, "ck", "" }, 50 { SKIN_TOKEN_RTC_HOUR_24, "ck", "", 0 },
51 { SKIN_TOKEN_RTC_HOUR_12_ZERO_PADDED, "cI", "" }, 51 { SKIN_TOKEN_RTC_HOUR_12_ZERO_PADDED, "cI", "", 0 },
52 { SKIN_TOKEN_RTC_HOUR_12, "cl", "" }, 52 { SKIN_TOKEN_RTC_HOUR_12, "cl", "", 0 },
53 { SKIN_TOKEN_RTC_MONTH, "cm", "" }, 53 { SKIN_TOKEN_RTC_MONTH, "cm", "", 0 },
54 { SKIN_TOKEN_RTC_MINUTE, "cM", "" }, 54 { SKIN_TOKEN_RTC_MINUTE, "cM", "", 0 },
55 { SKIN_TOKEN_RTC_SECOND, "cS", "" }, 55 { SKIN_TOKEN_RTC_SECOND, "cS", "", 0 },
56 { SKIN_TOKEN_RTC_YEAR_2_DIGITS, "cy", "" }, 56 { SKIN_TOKEN_RTC_YEAR_2_DIGITS, "cy", "", 0 },
57 { SKIN_TOKEN_RTC_YEAR_4_DIGITS, "cY", "" }, 57 { SKIN_TOKEN_RTC_YEAR_4_DIGITS, "cY", "", 0 },
58 { SKIN_TOKEN_RTC_AM_PM_UPPER, "cP", "" }, 58 { SKIN_TOKEN_RTC_AM_PM_UPPER, "cP", "", 0 },
59 { SKIN_TOKEN_RTC_AM_PM_LOWER, "cp", "" }, 59 { SKIN_TOKEN_RTC_AM_PM_LOWER, "cp", "", 0 },
60 { SKIN_TOKEN_RTC_WEEKDAY_NAME, "ca", "" }, 60 { SKIN_TOKEN_RTC_WEEKDAY_NAME, "ca", "", 0 },
61 { SKIN_TOKEN_RTC_MONTH_NAME, "cb", "" }, 61 { SKIN_TOKEN_RTC_MONTH_NAME, "cb", "", 0 },
62 { SKIN_TOKEN_RTC_DAY_OF_WEEK_START_MON, "cu", "" }, 62 { SKIN_TOKEN_RTC_DAY_OF_WEEK_START_MON, "cu", "", 0 },
63 { SKIN_TOKEN_RTC_DAY_OF_WEEK_START_SUN, "cw", "" }, 63 { SKIN_TOKEN_RTC_DAY_OF_WEEK_START_SUN, "cw", "", 0 },
64 64
65 { SKIN_TOKEN_FILE_BITRATE, "fb", "" }, 65 { SKIN_TOKEN_FILE_BITRATE, "fb", "", 0 },
66 { SKIN_TOKEN_FILE_CODEC, "fc", "" }, 66 { SKIN_TOKEN_FILE_CODEC, "fc", "", 0 },
67 { SKIN_TOKEN_FILE_FREQUENCY, "ff", "" }, 67 { SKIN_TOKEN_FILE_FREQUENCY, "ff", "", 0 },
68 { SKIN_TOKEN_FILE_FREQUENCY_KHZ, "fk", "" }, 68 { SKIN_TOKEN_FILE_FREQUENCY_KHZ, "fk", "", 0 },
69 { SKIN_TOKEN_FILE_NAME_WITH_EXTENSION, "fm", "" }, 69 { SKIN_TOKEN_FILE_NAME_WITH_EXTENSION, "fm", "", 0 },
70 { SKIN_TOKEN_FILE_NAME, "fn", "" }, 70 { SKIN_TOKEN_FILE_NAME, "fn", "", 0 },
71 { SKIN_TOKEN_FILE_PATH, "fp", "" }, 71 { SKIN_TOKEN_FILE_PATH, "fp", "", 0 },
72 { SKIN_TOKEN_FILE_SIZE, "fs", "" }, 72 { SKIN_TOKEN_FILE_SIZE, "fs", "", 0 },
73 { SKIN_TOKEN_FILE_VBR, "fv", "" }, 73 { SKIN_TOKEN_FILE_VBR, "fv", "", 0 },
74 { SKIN_TOKEN_FILE_DIRECTORY, "d" , "I" }, 74 { SKIN_TOKEN_FILE_DIRECTORY, "d" , "I", 0 },
75 75
76 { SKIN_TOKEN_FILE_BITRATE, "Fb", "" }, 76 { SKIN_TOKEN_FILE_BITRATE, "Fb", "", 0 },
77 { SKIN_TOKEN_FILE_CODEC, "Fc", "" }, 77 { SKIN_TOKEN_FILE_CODEC, "Fc", "", 0 },
78 { SKIN_TOKEN_FILE_FREQUENCY, "Ff", "" }, 78 { SKIN_TOKEN_FILE_FREQUENCY, "Ff", "", 0 },
79 { SKIN_TOKEN_FILE_FREQUENCY_KHZ, "Fk", "" }, 79 { SKIN_TOKEN_FILE_FREQUENCY_KHZ, "Fk", "", 0 },
80 { SKIN_TOKEN_FILE_NAME_WITH_EXTENSION, "Fm", "" }, 80 { SKIN_TOKEN_FILE_NAME_WITH_EXTENSION, "Fm", "", 0 },
81 { SKIN_TOKEN_FILE_NAME, "Fn", "" }, 81 { SKIN_TOKEN_FILE_NAME, "Fn", "", 0 },
82 { SKIN_TOKEN_FILE_PATH, "Fp", "" }, 82 { SKIN_TOKEN_FILE_PATH, "Fp", "", 0 },
83 { SKIN_TOKEN_FILE_SIZE, "Fs", "" }, 83 { SKIN_TOKEN_FILE_SIZE, "Fs", "", 0 },
84 { SKIN_TOKEN_FILE_VBR, "Fv", "" }, 84 { SKIN_TOKEN_FILE_VBR, "Fv", "", 0 },
85 { SKIN_TOKEN_FILE_DIRECTORY, "D" , "I" }, 85 { SKIN_TOKEN_FILE_DIRECTORY, "D" , "I", 0 },
86 86
87 87
88 { SKIN_TOKEN_METADATA_ARTIST, "ia", "" }, 88 { SKIN_TOKEN_METADATA_ARTIST, "ia", "", 0 },
89 { SKIN_TOKEN_METADATA_COMPOSER, "ic", "" }, 89 { SKIN_TOKEN_METADATA_COMPOSER, "ic", "", 0 },
90 { SKIN_TOKEN_METADATA_ALBUM, "id", "" }, 90 { SKIN_TOKEN_METADATA_ALBUM, "id", "", 0 },
91 { SKIN_TOKEN_METADATA_ALBUM_ARTIST, "iA", "" }, 91 { SKIN_TOKEN_METADATA_ALBUM_ARTIST, "iA", "", 0 },
92 { SKIN_TOKEN_METADATA_GROUPING, "iG", "" }, 92 { SKIN_TOKEN_METADATA_GROUPING, "iG", "", 0 },
93 { SKIN_TOKEN_METADATA_GENRE, "ig", "" }, 93 { SKIN_TOKEN_METADATA_GENRE, "ig", "", 0 },
94 { SKIN_TOKEN_METADATA_DISC_NUMBER, "ik", "" }, 94 { SKIN_TOKEN_METADATA_DISC_NUMBER, "ik", "", 0 },
95 { SKIN_TOKEN_METADATA_TRACK_NUMBER, "in", "" }, 95 { SKIN_TOKEN_METADATA_TRACK_NUMBER, "in", "", 0 },
96 { SKIN_TOKEN_METADATA_TRACK_TITLE, "it", "" }, 96 { SKIN_TOKEN_METADATA_TRACK_TITLE, "it", "", 0 },
97 { SKIN_TOKEN_METADATA_VERSION, "iv", "" }, 97 { SKIN_TOKEN_METADATA_VERSION, "iv", "", 0 },
98 { SKIN_TOKEN_METADATA_YEAR, "iy", "" }, 98 { SKIN_TOKEN_METADATA_YEAR, "iy", "", 0 },
99 { SKIN_TOKEN_METADATA_COMMENT, "iC", "" }, 99 { SKIN_TOKEN_METADATA_COMMENT, "iC", "", 0 },
100 100
101 { SKIN_TOKEN_METADATA_ARTIST, "Ia", "" }, 101 { SKIN_TOKEN_METADATA_ARTIST, "Ia", "", 0 },
102 { SKIN_TOKEN_METADATA_COMPOSER, "Ic", "" }, 102 { SKIN_TOKEN_METADATA_COMPOSER, "Ic", "", 0 },
103 { SKIN_TOKEN_METADATA_ALBUM, "Id", "" }, 103 { SKIN_TOKEN_METADATA_ALBUM, "Id", "", 0 },
104 { SKIN_TOKEN_METADATA_ALBUM_ARTIST, "IA", "" }, 104 { SKIN_TOKEN_METADATA_ALBUM_ARTIST, "IA", "", 0 },
105 { SKIN_TOKEN_METADATA_GROUPING, "IG", "" }, 105 { SKIN_TOKEN_METADATA_GROUPING, "IG", "", 0 },
106 { SKIN_TOKEN_METADATA_GENRE, "Ig", "" }, 106 { SKIN_TOKEN_METADATA_GENRE, "Ig", "", 0 },
107 { SKIN_TOKEN_METADATA_DISC_NUMBER, "Ik", "" }, 107 { SKIN_TOKEN_METADATA_DISC_NUMBER, "Ik", "", 0 },
108 { SKIN_TOKEN_METADATA_TRACK_NUMBER, "In", "" }, 108 { SKIN_TOKEN_METADATA_TRACK_NUMBER, "In", "", 0 },
109 { SKIN_TOKEN_METADATA_TRACK_TITLE, "It", "" }, 109 { SKIN_TOKEN_METADATA_TRACK_TITLE, "It", "", 0 },
110 { SKIN_TOKEN_METADATA_VERSION, "Iv", "" }, 110 { SKIN_TOKEN_METADATA_VERSION, "Iv", "", 0 },
111 { SKIN_TOKEN_METADATA_YEAR, "Iy", "" }, 111 { SKIN_TOKEN_METADATA_YEAR, "Iy", "", 0 },
112 { SKIN_TOKEN_METADATA_COMMENT, "IC", "" }, 112 { SKIN_TOKEN_METADATA_COMMENT, "IC", "", 0 },
113 113
114 { SKIN_TOKEN_SOUND_PITCH, "Sp", "" }, 114 { SKIN_TOKEN_SOUND_PITCH, "Sp", "", 0 },
115 { SKIN_TOKEN_SOUND_SPEED, "Ss", "" }, 115 { SKIN_TOKEN_SOUND_SPEED, "Ss", "", 0 },
116 116
117 { SKIN_TOKEN_VLED_HDD, "lh", "" }, 117 { SKIN_TOKEN_VLED_HDD, "lh", "", 0 },
118 118
119 { SKIN_TOKEN_MAIN_HOLD, "mh", "" }, 119 { SKIN_TOKEN_MAIN_HOLD, "mh", "", 0 },
120 { SKIN_TOKEN_REMOTE_HOLD, "mr", "" }, 120 { SKIN_TOKEN_REMOTE_HOLD, "mr", "", 0 },
121 { SKIN_TOKEN_REPEAT_MODE, "mm", "" }, 121 { SKIN_TOKEN_REPEAT_MODE, "mm", "", 0 },
122 { SKIN_TOKEN_PLAYBACK_STATUS, "mp", "" }, 122 { SKIN_TOKEN_PLAYBACK_STATUS, "mp", "", 0 },
123 { SKIN_TOKEN_BUTTON_VOLUME, "mv", "|S" }, 123 { SKIN_TOKEN_BUTTON_VOLUME, "mv", "|S", 0 },
124 124
125 { SKIN_TOKEN_PEAKMETER, "pm", "" }, 125 { SKIN_TOKEN_PEAKMETER, "pm", "", 0 },
126 { SKIN_TOKEN_PLAYER_PROGRESSBAR, "pf", "" }, 126 { SKIN_TOKEN_PLAYER_PROGRESSBAR, "pf", "", 0 },
127 { SKIN_TOKEN_PROGRESSBAR, "pb" , "*|iiiis" }, 127 { SKIN_TOKEN_PROGRESSBAR, "pb" , "*|iiiis", 0 },
128 { SKIN_TOKEN_VOLUME, "pv" , BAR_PARAMS }, 128 { SKIN_TOKEN_VOLUME, "pv" , BAR_PARAMS, 0 },
129 129
130 { SKIN_TOKEN_TRACK_ELAPSED_PERCENT, "px", "" }, 130 { SKIN_TOKEN_TRACK_ELAPSED_PERCENT, "px", "", 0 },
131 { SKIN_TOKEN_TRACK_TIME_ELAPSED, "pc", "" }, 131 { SKIN_TOKEN_TRACK_TIME_ELAPSED, "pc", "", 0 },
132 { SKIN_TOKEN_TRACK_TIME_REMAINING, "pr", "" }, 132 { SKIN_TOKEN_TRACK_TIME_REMAINING, "pr", "", 0 },
133 { SKIN_TOKEN_TRACK_LENGTH, "pt", "" }, 133 { SKIN_TOKEN_TRACK_LENGTH, "pt", "", 0 },
134 { SKIN_TOKEN_TRACK_STARTING, "pS" , "|S"}, 134 { SKIN_TOKEN_TRACK_STARTING, "pS" , "|S", 0 },
135 { SKIN_TOKEN_TRACK_ENDING, "pE" , "|S"}, 135 { SKIN_TOKEN_TRACK_ENDING, "pE" , "|S", 0 },
136 { SKIN_TOKEN_PLAYLIST_POSITION, "pp", "" }, 136 { SKIN_TOKEN_PLAYLIST_POSITION, "pp", "", 0 },
137 { SKIN_TOKEN_PLAYLIST_ENTRIES, "pe", "" }, 137 { SKIN_TOKEN_PLAYLIST_ENTRIES, "pe", "", 0 },
138 { SKIN_TOKEN_PLAYLIST_NAME, "pn", "" }, 138 { SKIN_TOKEN_PLAYLIST_NAME, "pn", "", 0 },
139 { SKIN_TOKEN_PLAYLIST_SHUFFLE, "ps", "" }, 139 { SKIN_TOKEN_PLAYLIST_SHUFFLE, "ps", "", 0 },
140 140
141 { SKIN_TOKEN_DATABASE_PLAYCOUNT, "rp", "" }, 141 { SKIN_TOKEN_DATABASE_PLAYCOUNT, "rp", "", 0 },
142 { SKIN_TOKEN_DATABASE_RATING, "rr", "" }, 142 { SKIN_TOKEN_DATABASE_RATING, "rr", "", 0 },
143 { SKIN_TOKEN_DATABASE_AUTOSCORE, "ra", "" }, 143 { SKIN_TOKEN_DATABASE_AUTOSCORE, "ra", "", 0 },
144 144
145 { SKIN_TOKEN_REPLAYGAIN, "rg", "" }, 145 { SKIN_TOKEN_REPLAYGAIN, "rg", "", 0 },
146 { SKIN_TOKEN_CROSSFADE, "xf", "" }, 146 { SKIN_TOKEN_CROSSFADE, "xf", "", 0 },
147 147
148 { SKIN_TOKEN_HAVE_TUNER, "tp", "" }, 148 { SKIN_TOKEN_HAVE_TUNER, "tp", "", 0 },
149 { SKIN_TOKEN_TUNER_TUNED, "tt", "" }, 149 { SKIN_TOKEN_TUNER_TUNED, "tt", "", 0 },
150 { SKIN_TOKEN_TUNER_SCANMODE, "tm", "" }, 150 { SKIN_TOKEN_TUNER_SCANMODE, "tm", "", 0 },
151 { SKIN_TOKEN_TUNER_STEREO, "ts", "" }, 151 { SKIN_TOKEN_TUNER_STEREO, "ts", "", 0 },
152 { SKIN_TOKEN_TUNER_MINFREQ, "ta", "" }, 152 { SKIN_TOKEN_TUNER_MINFREQ, "ta", "", 0 },
153 { SKIN_TOKEN_TUNER_MAXFREQ, "tb", "" }, 153 { SKIN_TOKEN_TUNER_MAXFREQ, "tb", "", 0 },
154 { SKIN_TOKEN_TUNER_CURFREQ, "tf", "" }, 154 { SKIN_TOKEN_TUNER_CURFREQ, "tf", "", 0 },
155 { SKIN_TOKEN_PRESET_ID, "Ti", "" }, 155 { SKIN_TOKEN_PRESET_ID, "Ti", "", 0 },
156 { SKIN_TOKEN_PRESET_NAME, "Tn", "" }, 156 { SKIN_TOKEN_PRESET_NAME, "Tn", "", 0 },
157 { SKIN_TOKEN_PRESET_FREQ, "Tf", "" }, 157 { SKIN_TOKEN_PRESET_FREQ, "Tf", "", 0 },
158 { SKIN_TOKEN_PRESET_COUNT, "Tc", "" }, 158 { SKIN_TOKEN_PRESET_COUNT, "Tc", "", 0 },
159 { SKIN_TOKEN_HAVE_RDS, "tx", "" }, 159 { SKIN_TOKEN_HAVE_RDS, "tx", "", 0 },
160 { SKIN_TOKEN_RDS_NAME, "ty", "" }, 160 { SKIN_TOKEN_RDS_NAME, "ty", "", 0 },
161 { SKIN_TOKEN_RDS_TEXT, "tz", "" }, 161 { SKIN_TOKEN_RDS_TEXT, "tz", "", 0 },
162 162
163 { SKIN_TOKEN_SUBLINE_SCROLL, "s", "" }, 163 { SKIN_TOKEN_SUBLINE_SCROLL, "s", "", 0 },
164 { SKIN_TOKEN_SUBLINE_TIMEOUT, "t" , "S" }, 164 { SKIN_TOKEN_SUBLINE_TIMEOUT, "t" , "S", 0 },
165 165
166 { SKIN_TOKEN_ENABLE_THEME, "we", "\n" }, 166 { SKIN_TOKEN_ENABLE_THEME, "we", "", NOBREAK },
167 { SKIN_TOKEN_DISABLE_THEME, "wd", "\n" }, 167 { SKIN_TOKEN_DISABLE_THEME, "wd", "", NOBREAK },
168 { SKIN_TOKEN_DRAW_INBUILTBAR, "wi", "\n" }, 168 { SKIN_TOKEN_DRAW_INBUILTBAR, "wi", "", NOBREAK },
169 169
170 { SKIN_TOKEN_IMAGE_PRELOAD, "xl", "SFII|I\n" }, 170 { SKIN_TOKEN_IMAGE_PRELOAD, "xl", "SFII|I", NOBREAK },
171 { SKIN_TOKEN_IMAGE_PRELOAD_DISPLAY, "xd", "S" }, 171 { SKIN_TOKEN_IMAGE_PRELOAD_DISPLAY, "xd", "S", 0 },
172 { SKIN_TOKEN_IMAGE_PRELOAD, "x", "SFII\n" }, 172 { SKIN_TOKEN_IMAGE_PRELOAD, "x", "SFII", NOBREAK },
173 173
174 { SKIN_TOKEN_LOAD_FONT, "Fl" , "IF\n"}, 174 { SKIN_TOKEN_LOAD_FONT, "Fl" , "IF", NOBREAK },
175 { SKIN_TOKEN_ALBUMART_LOAD, "Cl" , "IIII|ss\n"}, 175 { SKIN_TOKEN_ALBUMART_LOAD, "Cl" , "IIII|ss", NOBREAK },
176 { SKIN_TOKEN_ALBUMART_DISPLAY, "Cd" , ""}, 176 { SKIN_TOKEN_ALBUMART_DISPLAY, "Cd" , "", 0 },
177 { SKIN_TOKEN_ALBUMART_FOUND, "C" , ""}, 177 { SKIN_TOKEN_ALBUMART_FOUND, "C" , "", 0 },
178 178
179 { SKIN_TOKEN_VIEWPORT_ENABLE, "Vd" , "S"}, 179 { SKIN_TOKEN_VIEWPORT_ENABLE, "Vd" , "S", 0 },
180 { SKIN_TOKEN_UIVIEWPORT_ENABLE, "VI" , "S"}, 180 { SKIN_TOKEN_UIVIEWPORT_ENABLE, "VI" , "S", 0 },
181 181
182 { SKIN_TOKEN_VIEWPORT_CUSTOMLIST, "Vp" , "ICC\n"}, 182 { SKIN_TOKEN_VIEWPORT_CUSTOMLIST, "Vp" , "ICC", NOBREAK },
183 { SKIN_TOKEN_LIST_TITLE_TEXT, "Lt" , ""}, 183 { SKIN_TOKEN_LIST_TITLE_TEXT, "Lt" , "", 0 },
184 { SKIN_TOKEN_LIST_TITLE_ICON, "Li" , ""}, 184 { SKIN_TOKEN_LIST_TITLE_ICON, "Li" , "", 0 },
185 185
186 { SKIN_TOKEN_VIEWPORT_FGCOLOUR, "Vf" , "S"}, 186 { SKIN_TOKEN_VIEWPORT_FGCOLOUR, "Vf" , "S", NOBREAK },
187 { SKIN_TOKEN_VIEWPORT_BGCOLOUR, "Vb" , "S"}, 187 { SKIN_TOKEN_VIEWPORT_BGCOLOUR, "Vb" , "S", NOBREAK },
188 188
189 { SKIN_TOKEN_VIEWPORT_CONDITIONAL, "Vl" , "SIIiii"}, 189 { SKIN_TOKEN_VIEWPORT_CONDITIONAL, "Vl" , "SIIiii", 0 },
190 { SKIN_TOKEN_UIVIEWPORT_LOAD, "Vi" , "sIIiii"}, 190 { SKIN_TOKEN_UIVIEWPORT_LOAD, "Vi" , "sIIiii", 0 },
191 { SKIN_TOKEN_VIEWPORT_LOAD, "V" , "IIiii"}, 191 { SKIN_TOKEN_VIEWPORT_LOAD, "V" , "IIiii", 0 },
192 192
193 { SKIN_TOKEN_IMAGE_BACKDROP, "X" , "f\n"}, 193 { SKIN_TOKEN_IMAGE_BACKDROP, "X" , "f", NOBREAK },
194 194
195 { SKIN_TOKEN_SETTING, "St" , "S"}, 195 { SKIN_TOKEN_SETTING, "St" , "S", 0 },
196 { SKIN_TOKEN_TRANSLATEDSTRING, "Sx" , "S"}, 196 { SKIN_TOKEN_TRANSLATEDSTRING, "Sx" , "S", 0 },
197 { SKIN_TOKEN_LANG_IS_RTL, "Sr" , ""}, 197 { SKIN_TOKEN_LANG_IS_RTL, "Sr" , "", 0 },
198 198
199 { SKIN_TOKEN_LASTTOUCH, "Tl" , "|S"}, 199 { SKIN_TOKEN_LASTTOUCH, "Tl" , "|S", 0 },
200 { SKIN_TOKEN_CURRENT_SCREEN, "cs", "" }, 200 { SKIN_TOKEN_CURRENT_SCREEN, "cs", "", 0 },
201 { SKIN_TOKEN_TOUCHREGION, "T" , "IIiiS\n"}, 201 { SKIN_TOKEN_TOUCHREGION, "T" , "IIiiS", NOBREAK },
202 202
203 { SKIN_TOKEN_HAVE_RECORDING, "Rp" , ""}, 203 { SKIN_TOKEN_HAVE_RECORDING, "Rp" , "", 0 },
204 { SKIN_TOKEN_IS_RECORDING, "Rr" , ""}, 204 { SKIN_TOKEN_IS_RECORDING, "Rr" , "", 0 },
205 { SKIN_TOKEN_REC_FREQ, "Rf" , ""}, 205 { SKIN_TOKEN_REC_FREQ, "Rf" , "", 0 },
206 { SKIN_TOKEN_REC_ENCODER, "Re" , ""}, 206 { SKIN_TOKEN_REC_ENCODER, "Re" , "", 0 },
207 { SKIN_TOKEN_REC_BITRATE, "Rb" , ""}, 207 { SKIN_TOKEN_REC_BITRATE, "Rb" , "", 0 },
208 { SKIN_TOKEN_REC_MONO, "Rm" , ""}, 208 { SKIN_TOKEN_REC_MONO, "Rm" , "", 0 },
209 { SKIN_TOKEN_REC_SECONDS, "Rs" , ""}, 209 { SKIN_TOKEN_REC_SECONDS, "Rs" , "", 0 },
210 { SKIN_TOKEN_REC_MINUTES, "Rn" , ""}, 210 { SKIN_TOKEN_REC_MINUTES, "Rn" , "", 0 },
211 { SKIN_TOKEN_REC_HOURS, "Rh" , ""}, 211 { SKIN_TOKEN_REC_HOURS, "Rh" , "", 0 },
212 212
213 { SKIN_TOKEN_UNKNOWN, "" , ""} 213 { SKIN_TOKEN_UNKNOWN, "" , "", 0 }
214 /* Keep this here to mark the end of the table */ 214 /* Keep this here to mark the end of the table */
215}; 215};
216 216
diff --git a/lib/skin_parser/tag_table.h b/lib/skin_parser/tag_table.h
index 4035789c82..149f148cca 100644
--- a/lib/skin_parser/tag_table.h
+++ b/lib/skin_parser/tag_table.h
@@ -27,6 +27,9 @@ extern "C"
27{ 27{
28#endif 28#endif
29 29
30 /* Flag to tell the renderer not to insert a line break */
31#define NOBREAK 0x1
32
30 33
31enum skin_token_type { 34enum skin_token_type {
32 35
@@ -271,7 +274,7 @@ struct tag_info
271 enum skin_token_type type; 274 enum skin_token_type type;
272 char* name; 275 char* name;
273 char* params; 276 char* params;
274 277 int flags;
275}; 278};
276 279
277/* 280/*