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.tar.gz rockbox-3ff2565e33aa3b249b561d3b63db1dab8b48f413.zip |
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 0bd073e66d..568e305655 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -748,57 +748,52 @@ void settings_apply_skins(void) | |||
748 | char buf[MAX_PATH]; | 748 | char buf[MAX_PATH]; |
749 | /* re-initialize the skin buffer before we start reloading skins */ | 749 | /* re-initialize the skin buffer before we start reloading skins */ |
750 | skin_buffer_init(); | 750 | skin_buffer_init(); |
751 | int i; | ||
751 | #ifdef HAVE_LCD_BITMAP | 752 | #ifdef HAVE_LCD_BITMAP |
752 | skin_backdrop_init(); | 753 | skin_backdrop_init(); |
753 | skin_font_init(); | 754 | skin_font_init(); |
754 | if ( global_settings.sbs_file[0] && | 755 | FOR_NB_SCREENS(i) |
755 | global_settings.sbs_file[0] != 0xff ) | ||
756 | { | ||
757 | snprintf(buf, sizeof buf, SBS_DIR "/%s.sbs", | ||
758 | global_settings.sbs_file); | ||
759 | sb_skin_data_load(SCREEN_MAIN, buf, true); | ||
760 | } | ||
761 | else | ||
762 | { | 756 | { |
763 | sb_skin_data_load(SCREEN_MAIN, NULL, true); | 757 | const char* setting; |
764 | } | 758 | #ifdef HAVE_REMOTE_LCD |
759 | if (i == SCREEN_REMOTE) | ||
760 | setting = global_settings.rsbs_file; | ||
761 | else | ||
765 | #endif | 762 | #endif |
766 | if ( global_settings.wps_file[0] && | 763 | setting = global_settings.sbs_file; |
767 | global_settings.wps_file[0] != 0xff ) | 764 | if (setting[0] && setting[0] != '-') |
768 | { | 765 | { |
769 | snprintf(buf, sizeof buf, WPS_DIR "/%s.wps", | 766 | snprintf(buf, sizeof buf, SBS_DIR "/%s.%ssbs", setting, |
770 | global_settings.wps_file); | 767 | i == SCREEN_MAIN? "" : "r"); |
771 | wps_data_load(SCREEN_MAIN, buf, true); | 768 | sb_skin_data_load(i, buf, true); |
772 | } | 769 | } |
773 | else | 770 | else |
774 | { | 771 | { |
775 | wps_data_load(SCREEN_MAIN, NULL, true); | 772 | sb_skin_data_load(i, NULL, true); |
776 | } | 773 | } |
777 | #if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1) | ||
778 | if ( global_settings.rsbs_file[0] && | ||
779 | global_settings.rsbs_file[0] != 0xff ) { | ||
780 | snprintf(buf, sizeof buf, SBS_DIR "/%s.rsbs", | ||
781 | global_settings.rsbs_file); | ||
782 | sb_skin_data_load(SCREEN_REMOTE, buf, true); | ||
783 | } | ||
784 | else | ||
785 | { | ||
786 | sb_skin_data_load(SCREEN_REMOTE, NULL, true); | ||
787 | } | ||
788 | if ( global_settings.rwps_file[0]) | ||
789 | { | ||
790 | snprintf(buf, sizeof buf, WPS_DIR "/%s.rwps", | ||
791 | global_settings.rwps_file); | ||
792 | wps_data_load(SCREEN_REMOTE, buf, true); | ||
793 | } | 774 | } |
794 | else | 775 | #endif |
776 | FOR_NB_SCREENS(i) | ||
795 | { | 777 | { |
796 | wps_data_load(SCREEN_REMOTE, NULL, true); | 778 | const char* setting = global_settings.wps_file; |
797 | } | 779 | #ifdef HAVE_REMOTE_LCD |
780 | if (i == SCREEN_REMOTE) | ||
781 | setting = global_settings.rsbs_file; | ||
798 | #endif | 782 | #endif |
783 | if (setting[0] && setting[0] != '-') | ||
784 | { | ||
785 | snprintf(buf, sizeof buf, WPS_DIR "/%s.%swps", setting, | ||
786 | i == SCREEN_MAIN? "" : "r"); | ||
787 | wps_data_load(SCREEN_MAIN, buf, true); | ||
788 | } | ||
789 | else | ||
790 | { | ||
791 | wps_data_load(SCREEN_MAIN, NULL, true); | ||
792 | } | ||
793 | } | ||
794 | |||
799 | viewportmanager_theme_changed(THEME_STATUSBAR); | 795 | viewportmanager_theme_changed(THEME_STATUSBAR); |
800 | #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 | 796 | #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 |
801 | int i; | ||
802 | FOR_NB_SCREENS(i) | 797 | FOR_NB_SCREENS(i) |
803 | screens[i].backdrop_show(sb_get_backdrop(i)); | 798 | screens[i].backdrop_show(sb_get_backdrop(i)); |
804 | #endif | 799 | #endif |