diff options
author | Thomas Martitz <kugel@rockbox.org> | 2009-03-01 17:55:59 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2009-03-01 17:55:59 +0000 |
commit | d13f1a485f0e35a6fbbd0a664f14acc3798d52a0 (patch) | |
tree | 22cacb27b6ab481c0bfc250120dde404320811f2 /apps/settings_list.c | |
parent | e6c023cb64dea599bb711b2b4ddb197efdb1d187 (diff) | |
download | rockbox-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.c | 23 |
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, |