diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/menus/main_menu.c | 1 | ||||
| -rw-r--r-- | apps/settings.c | 8 | ||||
| -rw-r--r-- | apps/settings.h | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index 7c2e87c..d756d98 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c @@ -68,6 +68,7 @@ static int reset_settings(void) switch(gui_syncyesno_run(&message, &yes_message, &no_message)) { case YESNO_YES: + settings_write_config(CONFIGFILE ".bak", SETTINGS_SAVE_CHANGED); settings_reset(); settings_apply(true); settings_save(); diff --git a/apps/settings.c b/apps/settings.c index d259cec..237ff1c 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -262,7 +262,6 @@ static bool cfg_string_to_int(int setting_id, int* out, char* str) } return false; } -static bool settings_write_config(char* filename, int options); bool settings_load_config(const char* file, bool apply) { @@ -274,8 +273,7 @@ bool settings_load_config(const char* file, bool apply) fd = open(file, O_RDONLY); if (fd < 0) return false; - settings_write_config(ROCKBOX_DIR "oldcfg.cfg", SETTINGS_SAVE_CHANGED); - + while (read_line(fd, line, sizeof line) > 0) { if (!settings_parseline(line, &name, &value)) @@ -452,7 +450,7 @@ static bool is_changed(int setting_id) return true; } -static bool settings_write_config(char* filename, int options) +bool settings_write_config(char* filename, int options) { int i; int fd; @@ -951,7 +949,7 @@ void settings_reset(void) { int i; DEBUGF( "settings_reset()\n" ); - settings_write_config(ROCKBOX_DIR "oldcfg.cfg", SETTINGS_SAVE_CHANGED); + for(i=0; i<nb_settings; i++) { switch (settings[i].flags&F_T_MASK) diff --git a/apps/settings.h b/apps/settings.h index 1a2c2ee..9f7546c 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -200,6 +200,7 @@ bool settings_load_config(const char* file, bool apply); void status_save( void ); int settings_save(void); + /* defines for the options paramater */ enum { SETTINGS_SAVE_CHANGED = 0, @@ -214,6 +215,7 @@ enum { #endif }; bool settings_save_config(int options); +bool settings_write_config(char* filename, int options); void settings_reset(void); void sound_settings_apply(void); |