diff options
| author | Jörg Hohensohn <hohensoh@rockbox.org> | 2004-06-23 07:28:35 +0000 |
|---|---|---|
| committer | Jörg Hohensohn <hohensoh@rockbox.org> | 2004-06-23 07:28:35 +0000 |
| commit | d79b1f5845ed2aefbdc5dc890e89ec443211b20a (patch) | |
| tree | 6bd01bca03a3280a4eb881a8ece245db1e5caf82 /apps/settings_menu.c | |
| parent | bb187c3a33fc832b151ea0fb164da682f1ff79a3 (diff) | |
| download | rockbox-d79b1f5845ed2aefbdc5dc890e89ec443211b20a.zip rockbox-d79b1f5845ed2aefbdc5dc890e89ec443211b20a.tar.gz rockbox-d79b1f5845ed2aefbdc5dc890e89ec443211b20a.tar.bz2 rockbox-d79b1f5845ed2aefbdc5dc890e89ec443211b20a.tar.xz | |
reload directory if sort options were changed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4799 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings_menu.c')
| -rw-r--r-- | apps/settings_menu.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index d20aa3b..057191e 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c @@ -478,25 +478,35 @@ static bool sort_case(void) static bool sort_file(void) { + int oldval = global_settings.sort_file; + bool ret; struct opt_items names[] = { { STR(LANG_SORT_ALPHA) }, { STR(LANG_SORT_DATE) }, { STR(LANG_SORT_DATE_REVERSE) }, { STR(LANG_SORT_TYPE) } }; - return set_option( str(LANG_SORT_FILE), &global_settings.sort_file, INT, + ret = set_option( str(LANG_SORT_FILE), &global_settings.sort_file, INT, names, 4, NULL ); + if (global_settings.sort_file != oldval) + reload_directory(); /* force reload if this has changed */ + return ret; } static bool sort_dir(void) { + int oldval = global_settings.sort_dir; + bool ret; struct opt_items names[] = { { STR(LANG_SORT_ALPHA) }, { STR(LANG_SORT_DATE) }, { STR(LANG_SORT_DATE_REVERSE) } }; - return set_option( str(LANG_SORT_DIR), &global_settings.sort_dir, INT, + ret = set_option( str(LANG_SORT_DIR), &global_settings.sort_dir, INT, names, 3, NULL ); + if (global_settings.sort_dir != oldval) + reload_directory(); /* force reload if this has changed */ + return ret; } static bool resume(void) |