diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2010-02-21 20:34:32 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2010-02-21 20:34:32 +0000 |
| commit | 3ff2565e33aa3b249b561d3b63db1dab8b48f413 (patch) | |
| tree | e038ae391fedd43313d9d8905cfe71ff0d4bcbbe /apps | |
| parent | ec0ca10ddf58604d8ce2a5f73cedabbaa8965a75 (diff) | |
| download | rockbox-3ff2565e33aa3b249b561d3b63db1dab8b48f413.zip rockbox-3ff2565e33aa3b249b561d3b63db1dab8b48f413.tar.gz rockbox-3ff2565e33aa3b249b561d3b63db1dab8b48f413.tar.bz2 rockbox-3ff2565e33aa3b249b561d3b63db1dab8b48f413.tar.xz | |
Shorten settings_skins_apply() and correct some checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24817 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/settings.c | 77 |
1 files changed, 36 insertions, 41 deletions
diff --git a/apps/settings.c b/apps/settings.c index 0bd073e..568e305 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -748,57 +748,52 @@ void settings_apply_skins(void) char buf[MAX_PATH]; /* re-initialize the skin buffer before we start reloading skins */ skin_buffer_init(); + int i; #ifdef HAVE_LCD_BITMAP skin_backdrop_init(); skin_font_init(); - if ( global_settings.sbs_file[0] && - global_settings.sbs_file[0] != 0xff ) - { - snprintf(buf, sizeof buf, SBS_DIR "/%s.sbs", - global_settings.sbs_file); - sb_skin_data_load(SCREEN_MAIN, buf, true); - } - else + FOR_NB_SCREENS(i) { - sb_skin_data_load(SCREEN_MAIN, NULL, true); - } + const char* setting; +#ifdef HAVE_REMOTE_LCD + if (i == SCREEN_REMOTE) + setting = global_settings.rsbs_file; + else #endif - if ( global_settings.wps_file[0] && - global_settings.wps_file[0] != 0xff ) - { - snprintf(buf, sizeof buf, WPS_DIR "/%s.wps", - global_settings.wps_file); - wps_data_load(SCREEN_MAIN, buf, true); - } - else - { - wps_data_load(SCREEN_MAIN, NULL, true); - } -#if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1) - if ( global_settings.rsbs_file[0] && - global_settings.rsbs_file[0] != 0xff ) { - snprintf(buf, sizeof buf, SBS_DIR "/%s.rsbs", - global_settings.rsbs_file); - sb_skin_data_load(SCREEN_REMOTE, buf, true); - } - else - { - sb_skin_data_load(SCREEN_REMOTE, NULL, true); - } - if ( global_settings.rwps_file[0]) - { - snprintf(buf, sizeof buf, WPS_DIR "/%s.rwps", - global_settings.rwps_file); - wps_data_load(SCREEN_REMOTE, buf, true); + setting = global_settings.sbs_file; + if (setting[0] && setting[0] != '-') + { + snprintf(buf, sizeof buf, SBS_DIR "/%s.%ssbs", setting, + i == SCREEN_MAIN? "" : "r"); + sb_skin_data_load(i, buf, true); + } + else + { + sb_skin_data_load(i, NULL, true); + } } - else +#endif + FOR_NB_SCREENS(i) { - wps_data_load(SCREEN_REMOTE, NULL, true); - } + const char* setting = global_settings.wps_file; +#ifdef HAVE_REMOTE_LCD + if (i == SCREEN_REMOTE) + setting = global_settings.rsbs_file; #endif + if (setting[0] && setting[0] != '-') + { + snprintf(buf, sizeof buf, WPS_DIR "/%s.%swps", setting, + i == SCREEN_MAIN? "" : "r"); + wps_data_load(SCREEN_MAIN, buf, true); + } + else + { + wps_data_load(SCREEN_MAIN, NULL, true); + } + } + viewportmanager_theme_changed(THEME_STATUSBAR); #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 - int i; FOR_NB_SCREENS(i) screens[i].backdrop_show(sb_get_backdrop(i)); #endif |