summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 067cc3eae4..f03c1e888b 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -45,8 +45,9 @@
45#include "icons.h" 45#include "icons.h"
46#include "font.h" 46#include "font.h"
47#endif 47#endif
48
49#include "lang.h" 48#include "lang.h"
49#include "language.h"
50#include "wps-display.h"
50 51
51struct user_settings global_settings; 52struct user_settings global_settings;
52char rockboxdir[] = ROCKBOX_DIR; /* config/font/data file directory */ 53char rockboxdir[] = ROCKBOX_DIR; /* config/font/data file directory */
@@ -112,6 +113,9 @@ modified unless the header & checksum test fails.
112 113
113Rest of config block, only saved to disk: 114Rest of config block, only saved to disk:
114 115
1160xB8 (char[20]) WPS file
1170xCC (char[20]) Lang file
1180xE0 (char[20]) Font file
1150xF4 (int) Playlist first index 1190xF4 (int) Playlist first index
1160xF8 (int) Playlist shuffle seed 1200xF8 (int) Playlist shuffle seed
1170xFC (char[260]) Resume playlist (path/to/dir or path/to/playlist.m3u) 1210xFC (char[260]) Resume playlist (path/to/dir or path/to/playlist.m3u)
@@ -313,6 +317,9 @@ int settings_save( void )
313 317
314 memcpy(&config_block[0x24], &global_settings.total_uptime, 4); 318 memcpy(&config_block[0x24], &global_settings.total_uptime, 4);
315 319
320 strncpy(&config_block[0xb8], global_settings.wps_file, MAX_FILENAME);
321 strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME);
322 strncpy(&config_block[0xe0], global_settings.font_file, MAX_FILENAME);
316 memcpy(&config_block[0xF4], &global_settings.resume_first_index, 4); 323 memcpy(&config_block[0xF4], &global_settings.resume_first_index, 4);
317 memcpy(&config_block[0xF8], &global_settings.resume_seed, 4); 324 memcpy(&config_block[0xF8], &global_settings.resume_seed, 4);
318 325
@@ -345,6 +352,8 @@ int settings_save( void )
345 352
346void settings_apply(void) 353void settings_apply(void)
347{ 354{
355 char buf[64];
356
348 mpeg_sound_set(SOUND_BASS, global_settings.bass); 357 mpeg_sound_set(SOUND_BASS, global_settings.bass);
349 mpeg_sound_set(SOUND_TREBLE, global_settings.treble); 358 mpeg_sound_set(SOUND_TREBLE, global_settings.treble);
350 mpeg_sound_set(SOUND_BALANCE, global_settings.balance); 359 mpeg_sound_set(SOUND_BALANCE, global_settings.balance);
@@ -367,6 +376,24 @@ void settings_apply(void)
367#ifdef HAVE_CHARGE_CTRL 376#ifdef HAVE_CHARGE_CTRL
368 charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI; 377 charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI;
369#endif 378#endif
379
380 if ( global_settings.wps_file[0] ) {
381 snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.wps",
382 global_settings.wps_file);
383 wps_load(buf, false);
384 }
385#ifdef HAVE_LCD_BITMAP
386 if ( global_settings.font_file[0] ) {
387 snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.fnt",
388 global_settings.font_file);
389 font_load(buf);
390 }
391#endif
392 if ( global_settings.lang_file[0] ) {
393 snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.lng",
394 global_settings.lang_file);
395 lang_load(buf);
396 }
370} 397}
371 398
372/* 399/*
@@ -473,6 +500,9 @@ void settings_load(void)
473 memcpy(&global_settings.resume_first_index, &config_block[0xF4], 4); 500 memcpy(&global_settings.resume_first_index, &config_block[0xF4], 4);
474 memcpy(&global_settings.resume_seed, &config_block[0xF8], 4); 501 memcpy(&global_settings.resume_seed, &config_block[0xF8], 4);
475 502
503 strncpy(global_settings.wps_file, &config_block[0xb8], MAX_FILENAME);
504 strncpy(global_settings.lang_file, &config_block[0xcc], MAX_FILENAME);
505 strncpy(global_settings.font_file, &config_block[0xe0], MAX_FILENAME);
476 strncpy(global_settings.resume_file, &config_block[0xFC], MAX_PATH); 506 strncpy(global_settings.resume_file, &config_block[0xFC], MAX_PATH);
477 global_settings.resume_file[MAX_PATH]=0; 507 global_settings.resume_file[MAX_PATH]=0;
478 } 508 }