diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2008-06-23 06:04:17 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2008-06-23 06:04:17 +0000 |
commit | 5a169bb71707dae31a886e1b932341b70eacf2df (patch) | |
tree | e6823f6addf964c292383182e1cbb077328c770d /apps/settings.c | |
parent | 66530722928b5e3c9870feb121c261e138807492 (diff) | |
download | rockbox-5a169bb71707dae31a886e1b932341b70eacf2df.tar.gz rockbox-5a169bb71707dae31a886e1b932341b70eacf2df.zip |
commit FS#9027 - conditional viewports
** BREAKS CURRENT WPS's **
* %P has been removed, merged with the new %pb
* %pb is now %pb or %pb|bitmap|x|y|width|height| (any of those params can be - to use sane defaults... check wiki/task for more explaination)
* New %Vl and %Vd tags which are used to setup and display conditionaly displayed viewports (%Vl|<id>|<usual %V params>| to set up, then %Vd<id> to enable the viewport
* bumps the max allowed viewport count to 24
* you can setup 3 different progressbars in a WPS... max of one per viewport though
http://www.rockbox.org/tracker/task/9027?getfile=16785 is a simple perl script to convert old %P/%pb to the new %pb syntax
I'll commit changes to the cabbie wps soon which shows how to use %Vl/%Vd properly...
Reminder: %m will be removed soonish also so when fixing your WPS's remember to use conditional viewports to replace %m
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17759 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.c')
-rw-r--r-- | apps/settings.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/apps/settings.c b/apps/settings.c index 340adba5b8..8834c9d9bf 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -791,6 +791,25 @@ void settings_apply(bool read_disk) | |||
791 | 791 | ||
792 | if (read_disk) | 792 | if (read_disk) |
793 | { | 793 | { |
794 | |||
795 | #ifdef HAVE_LCD_BITMAP | ||
796 | /* fonts need to be loaded before the WPS */ | ||
797 | if ( global_settings.font_file[0]) { | ||
798 | snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", | ||
799 | global_settings.font_file); | ||
800 | font_load(buf); | ||
801 | } | ||
802 | else | ||
803 | font_reset(); | ||
804 | |||
805 | if ( global_settings.kbd_file[0]) { | ||
806 | snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.kbd", | ||
807 | global_settings.kbd_file); | ||
808 | load_kbd(buf); | ||
809 | } | ||
810 | else | ||
811 | load_kbd(NULL); | ||
812 | #endif | ||
794 | #if LCD_DEPTH > 1 | 813 | #if LCD_DEPTH > 1 |
795 | unload_wps_backdrop(); | 814 | unload_wps_backdrop(); |
796 | #endif | 815 | #endif |
@@ -838,24 +857,6 @@ void settings_apply(bool read_disk) | |||
838 | gui_wps[1].data->remote_wps = true; | 857 | gui_wps[1].data->remote_wps = true; |
839 | } | 858 | } |
840 | #endif | 859 | #endif |
841 | |||
842 | #ifdef HAVE_LCD_BITMAP | ||
843 | if ( global_settings.font_file[0]) { | ||
844 | snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", | ||
845 | global_settings.font_file); | ||
846 | font_load(buf); | ||
847 | } | ||
848 | else | ||
849 | font_reset(); | ||
850 | |||
851 | if ( global_settings.kbd_file[0]) { | ||
852 | snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.kbd", | ||
853 | global_settings.kbd_file); | ||
854 | load_kbd(buf); | ||
855 | } | ||
856 | else | ||
857 | load_kbd(NULL); | ||
858 | #endif | ||
859 | if ( global_settings.lang_file[0]) { | 860 | if ( global_settings.lang_file[0]) { |
860 | snprintf(buf, sizeof buf, LANG_DIR "/%s.lng", | 861 | snprintf(buf, sizeof buf, LANG_DIR "/%s.lng", |
861 | global_settings.lang_file); | 862 | global_settings.lang_file); |