summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/skin_engine/skin_tokens.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c
index e5a34c4318..165c3b9b43 100644
--- a/apps/gui/skin_engine/skin_tokens.c
+++ b/apps/gui/skin_engine/skin_tokens.c
@@ -344,6 +344,16 @@ const char *get_id3_token(struct wps_token *token, struct mp3entry *id3,
344} 344}
345 345
346#if CONFIG_TUNER 346#if CONFIG_TUNER
347
348/* Formats the frequency (specified in Hz) in MHz, */
349/* with two digits after the decimal point */
350static void format_freq_MHz(int freq, char *buf, int buf_size)
351{
352 freq = freq / 10000;
353 snprintf(buf, buf_size, "%d.%02d", freq/100, freq%100);
354}
355
356
347/* Tokens which are really only used by the radio screen go in here */ 357/* Tokens which are really only used by the radio screen go in here */
348const char *get_radio_token(struct wps_token *token, int preset_offset, 358const char *get_radio_token(struct wps_token *token, int preset_offset,
349 char *buf, int buf_size, int limit, int *intval) 359 char *buf, int buf_size, int limit, int *intval)
@@ -366,20 +376,20 @@ const char *get_radio_token(struct wps_token *token, int preset_offset,
366 return NULL; 376 return NULL;
367 case WPS_TOKEN_TUNER_MINFREQ: /* changes based on "region" */ 377 case WPS_TOKEN_TUNER_MINFREQ: /* changes based on "region" */
368 { 378 {
369 int freq = fm_region_data[global_settings.fm_region].freq_min / 10000; 379 format_freq_MHz(fm_region_data[global_settings.fm_region].freq_min,
370 snprintf(buf, buf_size, "%d.%02d", freq/100, freq%100); 380 buf, buf_size);
371 return buf; 381 return buf;
372 } 382 }
373 case WPS_TOKEN_TUNER_MAXFREQ: /* changes based on "region" */ 383 case WPS_TOKEN_TUNER_MAXFREQ: /* changes based on "region" */
374 { 384 {
375 int freq = fm_region_data[global_settings.fm_region].freq_max / 10000; 385 format_freq_MHz(fm_region_data[global_settings.fm_region].freq_max,
376 snprintf(buf, buf_size, "%d.%02d", freq/100, freq%100); 386 buf, buf_size);
377 return buf; 387 return buf;
378 } 388 }
379 case WPS_TOKEN_TUNER_CURFREQ: 389 case WPS_TOKEN_TUNER_CURFREQ:
380 { 390 {
381 int freq = radio_current_frequency() / 10000; 391 format_freq_MHz(radio_current_frequency(),
382 snprintf(buf, buf_size, "%d.%02d", freq/100, freq%100); 392 buf, buf_size);
383 return buf; 393 return buf;
384 } 394 }
385 case WPS_TOKEN_PRESET_ID: 395 case WPS_TOKEN_PRESET_ID:
@@ -401,8 +411,8 @@ const char *get_radio_token(struct wps_token *token, int preset_offset,
401 } 411 }
402 else 412 else
403 { 413 {
404 int freq = radio_get_preset(preset)->frequency / 10000; 414 format_freq_MHz(radio_get_preset(preset)->frequency,
405 snprintf(buf, buf_size, "%d.%02d", freq/100, freq%100); 415 buf, buf_size);
406 } 416 }
407 return buf; 417 return buf;
408 } 418 }