summaryrefslogtreecommitdiff
path: root/apps/settings_list.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-03-01 17:55:59 +0000
committerThomas Martitz <kugel@rockbox.org>2009-03-01 17:55:59 +0000
commitd13f1a485f0e35a6fbbd0a664f14acc3798d52a0 (patch)
tree22cacb27b6ab481c0bfc250120dde404320811f2 /apps/settings_list.c
parente6c023cb64dea599bb711b2b4ddb197efdb1d187 (diff)
downloadrockbox-d13f1a485f0e35a6fbbd0a664f14acc3798d52a0.tar.gz
rockbox-d13f1a485f0e35a6fbbd0a664f14acc3798d52a0.zip
Commit FS#8314. This adds strnat[case]cmp written by Martin Pool, which respects numbers within strings, and gives a more intuitive
sorting. This also adds a setting, so that the sorting can be used in the file browser. The implementation is very generic, and can possibly be used in other places. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20155 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings_list.c')
-rw-r--r--apps/settings_list.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 97ca7cdca5..5729cdcf4a 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -783,7 +783,20 @@ const struct settings_list settings[] = {
783 "all,supported,music,playlists", NULL, 4, ID2P(LANG_ALL), 783 "all,supported,music,playlists", NULL, 4, ID2P(LANG_ALL),
784 ID2P(LANG_FILTER_SUPPORTED), ID2P(LANG_FILTER_MUSIC), 784 ID2P(LANG_FILTER_SUPPORTED), ID2P(LANG_FILTER_MUSIC),
785 ID2P(LANG_PLAYLISTS)), 785 ID2P(LANG_PLAYLISTS)),
786 /* file sorting */
786 OFFON_SETTING(0, sort_case, LANG_SORT_CASE, false, "sort case", NULL), 787 OFFON_SETTING(0, sort_case, LANG_SORT_CASE, false, "sort case", NULL),
788 CHOICE_SETTING(0, sort_dir, LANG_SORT_DIR, 0 ,
789 "sort dirs", "alpha,oldest,newest", NULL, 3,
790 ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
791 ID2P(LANG_SORT_DATE_REVERSE)),
792 CHOICE_SETTING(0, sort_file, LANG_SORT_FILE, 0 ,
793 "sort files", "alpha,oldest,newest,type", NULL, 4,
794 ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
795 ID2P(LANG_SORT_DATE_REVERSE) , ID2P(LANG_SORT_TYPE)),
796 CHOICE_SETTING(0, interpret_numbers, LANG_SORT_INTERPRET_NUMBERS, 1,
797 "sort interpret number", "digits,numbers",NULL, 2,
798 ID2P(LANG_SORT_INTERPRET_AS_DIGIT),
799 ID2P(LANG_SORT_INTERPRET_AS_NUMBERS)),
787 CHOICE_SETTING(0, show_filename_ext, LANG_SHOW_FILENAME_EXT, 3, 800 CHOICE_SETTING(0, show_filename_ext, LANG_SHOW_FILENAME_EXT, 3,
788 "show filename exts", "off,on,unknown,view_all", NULL , 4 , 801 "show filename exts", "off,on,unknown,view_all", NULL , 4 ,
789 ID2P(LANG_OFF), ID2P(LANG_ON), ID2P(LANG_UNKNOWN_TYPES), 802 ID2P(LANG_OFF), ID2P(LANG_ON), ID2P(LANG_UNKNOWN_TYPES),
@@ -893,16 +906,6 @@ const struct settings_list settings[] = {
893 OFFON_SETTING(F_TEMPVAR, talk_battery_level, LANG_TALK_BATTERY_LEVEL, false, 906 OFFON_SETTING(F_TEMPVAR, talk_battery_level, LANG_TALK_BATTERY_LEVEL, false,
894 "Announce Battery Level", NULL), 907 "Announce Battery Level", NULL),
895 908
896 /* file sorting */
897 CHOICE_SETTING(0, sort_file, LANG_SORT_FILE, 0 ,
898 "sort files", "alpha,oldest,newest,type", NULL, 4,
899 ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
900 ID2P(LANG_SORT_DATE_REVERSE) , ID2P(LANG_SORT_TYPE)),
901 CHOICE_SETTING(0, sort_dir, LANG_SORT_DIR, 0 ,
902 "sort dirs", "alpha,oldest,newest", NULL, 3,
903 ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
904 ID2P(LANG_SORT_DATE_REVERSE)),
905
906#ifdef HAVE_RECORDING 909#ifdef HAVE_RECORDING
907 /* recording */ 910 /* recording */
908 STRINGCHOICE_SETTING(F_RECSETTING, rec_timesplit, LANG_SPLIT_TIME, 0, 911 STRINGCHOICE_SETTING(F_RECSETTING, rec_timesplit, LANG_SPLIT_TIME, 0,