diff options
-rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 37 | ||||
-rw-r--r-- | lib/skin_parser/tag_table.c | 9 | ||||
-rw-r--r-- | lib/skin_parser/tag_table.h | 10 | ||||
-rw-r--r-- | manual/appendix/wps_tags.tex | 18 |
4 files changed, 74 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index 42c56f7203..ba9396ae74 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c | |||
@@ -66,6 +66,7 @@ | |||
66 | #include "fixedpoint.h" | 66 | #include "fixedpoint.h" |
67 | #endif | 67 | #endif |
68 | #include "list.h" | 68 | #include "list.h" |
69 | #include "option_select.h" | ||
69 | #include "wps.h" | 70 | #include "wps.h" |
70 | 71 | ||
71 | #define NOINLINE __attribute__ ((noinline)) | 72 | #define NOINLINE __attribute__ ((noinline)) |
@@ -658,6 +659,23 @@ static const char* NOINLINE get_lif_token_value(struct gui_wps *gwps, | |||
658 | return NULL; | 659 | return NULL; |
659 | } | 660 | } |
660 | 661 | ||
662 | #ifdef HAVE_QUICKSCREEN | ||
663 | static const char* get_qs_token_value(enum quickscreen_item item, bool data_token, | ||
664 | char *buf, int buf_size) | ||
665 | { | ||
666 | const struct settings_list *qs_setting = global_settings.qs_items[item]; | ||
667 | |||
668 | if (qs_setting == NULL) | ||
669 | return "ERR"; | ||
670 | |||
671 | if (data_token) | ||
672 | return option_get_valuestring(qs_setting, buf, buf_size, | ||
673 | option_value_as_int(qs_setting)); | ||
674 | |||
675 | return P2STR(ID2P(qs_setting->lang_id)); | ||
676 | } | ||
677 | #endif | ||
678 | |||
661 | /* Return the tags value as text. buf should be used as temp storage if needed. | 679 | /* Return the tags value as text. buf should be used as temp storage if needed. |
662 | 680 | ||
663 | intval is used with conditionals/enums: when this function is called, | 681 | intval is used with conditionals/enums: when this function is called, |
@@ -1374,6 +1392,25 @@ const char *get_token_value(struct gui_wps *gwps, | |||
1374 | return NULL; | 1392 | return NULL; |
1375 | #endif | 1393 | #endif |
1376 | 1394 | ||
1395 | #ifdef HAVE_QUICKSCREEN | ||
1396 | case SKIN_TOKEN_TOP_QUICKSETTING_NAME: | ||
1397 | return get_qs_token_value(QUICKSCREEN_TOP, false, buf, buf_size); | ||
1398 | case SKIN_TOKEN_TOP_QUICKSETTING_VALUE: | ||
1399 | return get_qs_token_value(QUICKSCREEN_TOP, true, buf, buf_size); | ||
1400 | case SKIN_TOKEN_RIGHT_QUICKSETTING_NAME: | ||
1401 | return get_qs_token_value(QUICKSCREEN_RIGHT, false, buf, buf_size); | ||
1402 | case SKIN_TOKEN_RIGHT_QUICKSETTING_VALUE: | ||
1403 | return get_qs_token_value(QUICKSCREEN_RIGHT, true, buf, buf_size); | ||
1404 | case SKIN_TOKEN_BOTTOM_QUICKSETTING_NAME: | ||
1405 | return get_qs_token_value(QUICKSCREEN_BOTTOM, false, buf, buf_size); | ||
1406 | case SKIN_TOKEN_BOTTOM_QUICKSETTING_VALUE: | ||
1407 | return get_qs_token_value(QUICKSCREEN_BOTTOM, true, buf, buf_size); | ||
1408 | case SKIN_TOKEN_LEFT_QUICKSETTING_NAME: | ||
1409 | return get_qs_token_value(QUICKSCREEN_LEFT, false, buf, buf_size); | ||
1410 | case SKIN_TOKEN_LEFT_QUICKSETTING_VALUE: | ||
1411 | return get_qs_token_value(QUICKSCREEN_LEFT, true, buf, buf_size); | ||
1412 | #endif | ||
1413 | |||
1377 | case SKIN_TOKEN_SETTING: | 1414 | case SKIN_TOKEN_SETTING: |
1378 | { | 1415 | { |
1379 | const struct settings_list *s = token->value.xdata; | 1416 | const struct settings_list *s = token->value.xdata; |
diff --git a/lib/skin_parser/tag_table.c b/lib/skin_parser/tag_table.c index d2aded1b12..d9d3cebaca 100644 --- a/lib/skin_parser/tag_table.c +++ b/lib/skin_parser/tag_table.c | |||
@@ -210,6 +210,15 @@ static const struct tag_info legal_tags[] = | |||
210 | { SKIN_TOKEN_VIEWPORT_CONDITIONAL, "Vl" , "S[IP][IP][ip][ip]i", 0 }, | 210 | { SKIN_TOKEN_VIEWPORT_CONDITIONAL, "Vl" , "S[IP][IP][ip][ip]i", 0 }, |
211 | { SKIN_TOKEN_UIVIEWPORT_LOAD, "Vi" , "s[IP][IP][ip][ip]i", 0 }, | 211 | { SKIN_TOKEN_UIVIEWPORT_LOAD, "Vi" , "s[IP][IP][ip][ip]i", 0 }, |
212 | { SKIN_TOKEN_VIEWPORT_LOAD, "V" , "[IP][IP][ip][ip]i", 0 }, | 212 | { SKIN_TOKEN_VIEWPORT_LOAD, "V" , "[IP][IP][ip][ip]i", 0 }, |
213 | |||
214 | { SKIN_TOKEN_TOP_QUICKSETTING_NAME, "QT" , "", SKIN_REFRESH_DYNAMIC }, | ||
215 | { SKIN_TOKEN_TOP_QUICKSETTING_VALUE, "Qt" , "", SKIN_REFRESH_DYNAMIC }, | ||
216 | { SKIN_TOKEN_RIGHT_QUICKSETTING_NAME, "QR" , "", SKIN_REFRESH_DYNAMIC }, | ||
217 | { SKIN_TOKEN_RIGHT_QUICKSETTING_VALUE, "Qr" , "", SKIN_REFRESH_DYNAMIC }, | ||
218 | { SKIN_TOKEN_BOTTOM_QUICKSETTING_NAME, "QB" , "", SKIN_REFRESH_DYNAMIC }, | ||
219 | { SKIN_TOKEN_BOTTOM_QUICKSETTING_VALUE, "Qb" , "", SKIN_REFRESH_DYNAMIC }, | ||
220 | { SKIN_TOKEN_LEFT_QUICKSETTING_NAME, "QL" , "", SKIN_REFRESH_DYNAMIC }, | ||
221 | { SKIN_TOKEN_LEFT_QUICKSETTING_VALUE, "Ql" , "", SKIN_REFRESH_DYNAMIC }, | ||
213 | 222 | ||
214 | { SKIN_TOKEN_IMAGE_BACKDROP, "X" , "f", SKIN_REFRESH_STATIC|NOBREAK }, | 223 | { SKIN_TOKEN_IMAGE_BACKDROP, "X" , "f", SKIN_REFRESH_STATIC|NOBREAK }, |
215 | /* This uses the bar tag params also but the first item can be a string | 224 | /* This uses the bar tag params also but the first item can be a string |
diff --git a/lib/skin_parser/tag_table.h b/lib/skin_parser/tag_table.h index 54ba23ce6e..6807be3f0e 100644 --- a/lib/skin_parser/tag_table.h +++ b/lib/skin_parser/tag_table.h | |||
@@ -245,6 +245,16 @@ enum skin_token_type { | |||
245 | SKIN_TOKEN_MAIN_HOLD, | 245 | SKIN_TOKEN_MAIN_HOLD, |
246 | SKIN_TOKEN_REMOTE_HOLD, | 246 | SKIN_TOKEN_REMOTE_HOLD, |
247 | 247 | ||
248 | /* Quickscreen */ | ||
249 | SKIN_TOKEN_TOP_QUICKSETTING_NAME, | ||
250 | SKIN_TOKEN_TOP_QUICKSETTING_VALUE, | ||
251 | SKIN_TOKEN_RIGHT_QUICKSETTING_NAME, | ||
252 | SKIN_TOKEN_RIGHT_QUICKSETTING_VALUE, | ||
253 | SKIN_TOKEN_BOTTOM_QUICKSETTING_NAME, | ||
254 | SKIN_TOKEN_BOTTOM_QUICKSETTING_VALUE, | ||
255 | SKIN_TOKEN_LEFT_QUICKSETTING_NAME, | ||
256 | SKIN_TOKEN_LEFT_QUICKSETTING_VALUE, | ||
257 | |||
248 | /* Setting option */ | 258 | /* Setting option */ |
249 | SKIN_TOKEN_SETTING, | 259 | SKIN_TOKEN_SETTING, |
250 | SKIN_TOKEN_SETTINGBAR, | 260 | SKIN_TOKEN_SETTINGBAR, |
diff --git a/manual/appendix/wps_tags.tex b/manual/appendix/wps_tags.tex index ecdae6c0b9..567edd3c11 100644 --- a/manual/appendix/wps_tags.tex +++ b/manual/appendix/wps_tags.tex | |||
@@ -354,6 +354,24 @@ Examples: | |||
354 | \item As a conditional: \config{\%?St(eq enabled)<Eq is enabled|Eq is disabled>} | 354 | \item As a conditional: \config{\%?St(eq enabled)<Eq is enabled|Eq is disabled>} |
355 | \end{enumerate} | 355 | \end{enumerate} |
356 | 356 | ||
357 | \opt{quickscreen}{ | ||
358 | \subsection{Displaying Quickscreen settings} | ||
359 | |||
360 | If your player has a quickscreen, the preset settings can be displayed using the following. | ||
361 | |||
362 | \begin{tagmap} | ||
363 | \config{\%QT} & Display the name of the top quickscreen setting.\\ | ||
364 | \config{\%Qt} & Display the value of the top quickscreen setting.\\ | ||
365 | \config{\%QR} & Display the name of the right quickscreen setting.\\ | ||
366 | \config{\%Qr} & Display the value of the right quickscreen setting.\\ | ||
367 | \config{\%QB} & Display the name of the bottom quickscreen setting.\\ | ||
368 | \config{\%Qb} & Display the value of the bottom quickscreen setting.\\ | ||
369 | \config{\%QL} & Display the name of the left quickscreen setting.\\ | ||
370 | \config{\%Ql} & Display the value of the left quickscreen setting.\\ | ||
371 | \end{tagmap} | ||
372 | |||
373 | \note{If a preset does not match a legal setting, or has no setting applied, all tags will display "ERR".} | ||
374 | } | ||
357 | 375 | ||
358 | \section{\label{ref:wps_images}Images} | 376 | \section{\label{ref:wps_images}Images} |
359 | \begin{tagmap} | 377 | \begin{tagmap} |