diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2008-11-03 10:43:37 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2008-11-03 10:43:37 +0000 |
| commit | 5395957549c9b04fefa87a0aedb6bc15bf360739 (patch) | |
| tree | f80721fe66ef078c92a1b0180c4d108c505c5289 /apps/settings_list.c | |
| parent | ee0111a53986ab309e3ae1a819d55318a950e99a (diff) | |
| download | rockbox-5395957549c9b04fefa87a0aedb6bc15bf360739.zip rockbox-5395957549c9b04fefa87a0aedb6bc15bf360739.tar.gz rockbox-5395957549c9b04fefa87a0aedb6bc15bf360739.tar.bz2 rockbox-5395957549c9b04fefa87a0aedb6bc15bf360739.tar.xz | |
Add a setting type which is completly user-defined. This setting type cannot be used by the regular menu macros (e.g MENUITEM_SETTING() macro) so if you are goign to use this type remember to implement the setting screen seperately (using option_select() if you can)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18983 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings_list.c')
| -rw-r--r-- | apps/settings_list.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/settings_list.c b/apps/settings_list.c index 3eeeffd..99a4601 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -165,6 +165,14 @@ {cb, formatter, get_talk_id, unit, count, \ (const int[]){__VA_ARGS__}}}}} +#define CUSTOM_SETTING(flags, var, lang_id, default, name, \ + load_from_cfg, write_to_cfg, \ + is_change, set_default) \ + {flags|F_CUSTOM_SETTING|F_T_CUSTOM|F_BANFROMQS, \ + &global_settings.var, lang_id, \ + {.custom = (void*)default}, name, NULL, \ + {.custom_setting = (struct custom_setting[]){ \ + {load_from_cfg, write_to_cfg, is_change, set_default}}}} /* some sets of values which are used more than once, to save memory */ static const char off_on[] = "off,on"; static const char off_on_ask[] = "off,on,ask"; |