there is no need to load the filename settings unless reading from a .cfg, so stop them being read every time settings_apply() is called
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16535 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
012833ce15
commit
e1ba7f76ef
6 changed files with 79 additions and 75 deletions
|
@ -293,7 +293,7 @@ static void init(void)
|
||||||
settings_reset();
|
settings_reset();
|
||||||
settings_load(SETTINGS_ALL);
|
settings_load(SETTINGS_ALL);
|
||||||
gui_sync_wps_init();
|
gui_sync_wps_init();
|
||||||
settings_apply();
|
settings_apply(true);
|
||||||
init_dircache(true);
|
init_dircache(true);
|
||||||
init_dircache(false);
|
init_dircache(false);
|
||||||
#ifdef HAVE_TAGCACHE
|
#ifdef HAVE_TAGCACHE
|
||||||
|
@ -519,7 +519,7 @@ static void init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
gui_sync_wps_init();
|
gui_sync_wps_init();
|
||||||
settings_apply();
|
settings_apply(true);
|
||||||
init_dircache(false);
|
init_dircache(false);
|
||||||
#ifdef HAVE_TAGCACHE
|
#ifdef HAVE_TAGCACHE
|
||||||
init_tagcache();
|
init_tagcache();
|
||||||
|
|
|
@ -304,7 +304,7 @@ int statusbar_callback(int action,const struct menu_item_ex *this_item)
|
||||||
{
|
{
|
||||||
case ACTION_EXIT_MENUITEM:
|
case ACTION_EXIT_MENUITEM:
|
||||||
/* this should be changed so only the viewports are reloaded */
|
/* this should be changed so only the viewports are reloaded */
|
||||||
settings_apply();
|
settings_apply(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return action;
|
return action;
|
||||||
|
|
|
@ -69,7 +69,7 @@ static int reset_settings(void)
|
||||||
{
|
{
|
||||||
case YESNO_YES:
|
case YESNO_YES:
|
||||||
settings_reset();
|
settings_reset();
|
||||||
settings_apply();
|
settings_apply(true);
|
||||||
settings_save();
|
settings_save();
|
||||||
break;
|
break;
|
||||||
case YESNO_NO:
|
case YESNO_NO:
|
||||||
|
|
|
@ -86,7 +86,7 @@ static int set_color_func(void* color)
|
||||||
res = (int)set_color(&screens[SCREEN_MAIN],str(colors[c].lang_id),
|
res = (int)set_color(&screens[SCREEN_MAIN],str(colors[c].lang_id),
|
||||||
colors[c].setting,*colors[c].setting);
|
colors[c].setting,*colors[c].setting);
|
||||||
settings_save();
|
settings_save();
|
||||||
settings_apply();
|
settings_apply(false);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ static int reset_color(void)
|
||||||
global_settings.lst_color = LCD_DEFAULT_FG;
|
global_settings.lst_color = LCD_DEFAULT_FG;
|
||||||
|
|
||||||
settings_save();
|
settings_save();
|
||||||
settings_apply();
|
settings_apply(false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
MENUITEM_FUNCTION(set_bg_col, MENU_FUNC_USEPARAM, ID2P(LANG_BACKGROUND_COLOR),
|
MENUITEM_FUNCTION(set_bg_col, MENU_FUNC_USEPARAM, ID2P(LANG_BACKGROUND_COLOR),
|
||||||
|
|
140
apps/settings.c
140
apps/settings.c
|
@ -355,7 +355,7 @@ bool settings_load_config(const char* file, bool apply)
|
||||||
close(fd);
|
close(fd);
|
||||||
settings_save();
|
settings_save();
|
||||||
if (apply)
|
if (apply)
|
||||||
settings_apply();
|
settings_apply(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -732,7 +732,7 @@ void sound_settings_apply(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void settings_apply(void)
|
void settings_apply(bool read_disk)
|
||||||
{
|
{
|
||||||
char buf[64];
|
char buf[64];
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
|
@ -812,41 +812,88 @@ void settings_apply(void)
|
||||||
global_settings.peak_meter_clip_hold);
|
global_settings.peak_meter_clip_hold);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (read_disk)
|
||||||
|
{
|
||||||
#if LCD_DEPTH > 1
|
#if LCD_DEPTH > 1
|
||||||
unload_wps_backdrop();
|
unload_wps_backdrop();
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
|
#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
|
||||||
unload_remote_wps_backdrop();
|
unload_remote_wps_backdrop();
|
||||||
#endif
|
#endif
|
||||||
if ( global_settings.wps_file[0] &&
|
if ( global_settings.wps_file[0] &&
|
||||||
global_settings.wps_file[0] != 0xff ) {
|
global_settings.wps_file[0] != 0xff ) {
|
||||||
snprintf(buf, sizeof buf, WPS_DIR "/%s.wps",
|
snprintf(buf, sizeof buf, WPS_DIR "/%s.wps",
|
||||||
global_settings.wps_file);
|
global_settings.wps_file);
|
||||||
wps_data_load(gui_wps[0].data, buf, true);
|
wps_data_load(gui_wps[0].data, buf, true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wps_data_init(gui_wps[0].data);
|
wps_data_init(gui_wps[0].data);
|
||||||
#ifdef HAVE_REMOTE_LCD
|
#ifdef HAVE_REMOTE_LCD
|
||||||
gui_wps[0].data->remote_wps = false;
|
gui_wps[0].data->remote_wps = false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if LCD_DEPTH > 1
|
#if LCD_DEPTH > 1
|
||||||
if ( global_settings.backdrop_file[0] &&
|
if ( global_settings.backdrop_file[0] &&
|
||||||
global_settings.backdrop_file[0] != 0xff ) {
|
global_settings.backdrop_file[0] != 0xff ) {
|
||||||
snprintf(buf, sizeof buf, BACKDROP_DIR "/%s.bmp",
|
snprintf(buf, sizeof buf, BACKDROP_DIR "/%s.bmp",
|
||||||
global_settings.backdrop_file);
|
global_settings.backdrop_file);
|
||||||
load_main_backdrop(buf);
|
load_main_backdrop(buf);
|
||||||
} else {
|
} else {
|
||||||
unload_main_backdrop();
|
unload_main_backdrop();
|
||||||
}
|
}
|
||||||
show_main_backdrop();
|
show_main_backdrop();
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
|
#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
|
||||||
show_remote_main_backdrop();
|
show_remote_main_backdrop();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1)
|
||||||
|
if ( global_settings.rwps_file[0]) {
|
||||||
|
snprintf(buf, sizeof buf, WPS_DIR "/%s.rwps",
|
||||||
|
global_settings.rwps_file);
|
||||||
|
wps_data_load(gui_wps[1].data, buf, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wps_data_init(gui_wps[1].data);
|
||||||
|
gui_wps[1].data->remote_wps = true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
if ( global_settings.font_file[0]) {
|
||||||
|
snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
|
||||||
|
global_settings.font_file);
|
||||||
|
font_load(buf);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
font_reset();
|
||||||
|
|
||||||
|
if ( global_settings.kbd_file[0]) {
|
||||||
|
snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.kbd",
|
||||||
|
global_settings.kbd_file);
|
||||||
|
load_kbd(buf);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
load_kbd(NULL);
|
||||||
|
|
||||||
|
if ( global_settings.lang_file[0]) {
|
||||||
|
snprintf(buf, sizeof buf, LANG_DIR "/%s.lng",
|
||||||
|
global_settings.lang_file);
|
||||||
|
lang_load(buf);
|
||||||
|
talk_init(); /* use voice of same language */
|
||||||
|
}
|
||||||
|
/* load the icon set */
|
||||||
|
icons_init();
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_COLOR
|
||||||
|
if (global_settings.colors_file[0])
|
||||||
|
read_color_theme_file();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_LCD_COLOR
|
#ifdef HAVE_LCD_COLOR
|
||||||
screens[SCREEN_MAIN].set_foreground(global_settings.fg_color);
|
screens[SCREEN_MAIN].set_foreground(global_settings.fg_color);
|
||||||
screens[SCREEN_MAIN].set_background(global_settings.bg_color);
|
screens[SCREEN_MAIN].set_background(global_settings.bg_color);
|
||||||
|
@ -855,36 +902,6 @@ void settings_apply(void)
|
||||||
screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color);
|
screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1)
|
|
||||||
if ( global_settings.rwps_file[0]) {
|
|
||||||
snprintf(buf, sizeof buf, WPS_DIR "/%s.rwps",
|
|
||||||
global_settings.rwps_file);
|
|
||||||
wps_data_load(gui_wps[1].data, buf, true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wps_data_init(gui_wps[1].data);
|
|
||||||
gui_wps[1].data->remote_wps = true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
if ( global_settings.font_file[0]) {
|
|
||||||
snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
|
|
||||||
global_settings.font_file);
|
|
||||||
font_load(buf);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
font_reset();
|
|
||||||
|
|
||||||
if ( global_settings.kbd_file[0]) {
|
|
||||||
snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.kbd",
|
|
||||||
global_settings.kbd_file);
|
|
||||||
load_kbd(buf);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
load_kbd(NULL);
|
|
||||||
|
|
||||||
lcd_scroll_step(global_settings.scroll_step);
|
lcd_scroll_step(global_settings.scroll_step);
|
||||||
gui_list_screen_scroll_step(global_settings.screen_scroll_step);
|
gui_list_screen_scroll_step(global_settings.screen_scroll_step);
|
||||||
gui_list_screen_scroll_out_of_view(global_settings.offset_out_of_view);
|
gui_list_screen_scroll_out_of_view(global_settings.offset_out_of_view);
|
||||||
|
@ -895,12 +912,6 @@ void settings_apply(void)
|
||||||
lcd_bidir_scroll(global_settings.bidir_limit);
|
lcd_bidir_scroll(global_settings.bidir_limit);
|
||||||
lcd_scroll_delay(global_settings.scroll_delay);
|
lcd_scroll_delay(global_settings.scroll_delay);
|
||||||
|
|
||||||
if ( global_settings.lang_file[0]) {
|
|
||||||
snprintf(buf, sizeof buf, LANG_DIR "/%s.lng",
|
|
||||||
global_settings.lang_file);
|
|
||||||
lang_load(buf);
|
|
||||||
talk_init(); /* use voice of same language */
|
|
||||||
}
|
|
||||||
|
|
||||||
set_codepage(global_settings.default_codepage);
|
set_codepage(global_settings.default_codepage);
|
||||||
|
|
||||||
|
@ -943,13 +954,6 @@ void settings_apply(void)
|
||||||
/* This should stay last */
|
/* This should stay last */
|
||||||
#if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC
|
#if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC
|
||||||
enc_global_settings_apply();
|
enc_global_settings_apply();
|
||||||
#endif
|
|
||||||
/* load the icon set */
|
|
||||||
icons_init();
|
|
||||||
|
|
||||||
#ifdef HAVE_LCD_COLOR
|
|
||||||
if (global_settings.colors_file[0])
|
|
||||||
read_color_theme_file();
|
|
||||||
#endif
|
#endif
|
||||||
list_init_viewports();
|
list_init_viewports();
|
||||||
}
|
}
|
||||||
|
|
|
@ -217,7 +217,7 @@ bool settings_save_config(int options);
|
||||||
|
|
||||||
void settings_reset(void);
|
void settings_reset(void);
|
||||||
void sound_settings_apply(void);
|
void sound_settings_apply(void);
|
||||||
void settings_apply(void);
|
void settings_apply(bool read_disk);
|
||||||
void settings_apply_pm_range(void);
|
void settings_apply_pm_range(void);
|
||||||
void settings_display(void);
|
void settings_display(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue