diff options
Diffstat (limited to 'apps/gui/skin_engine/skin_tokens.c')
-rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 26 |
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 */ | ||
350 | static 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 */ |
348 | const char *get_radio_token(struct wps_token *token, int preset_offset, | 358 | const 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 | } |