summaryrefslogtreecommitdiff
path: root/apps/settings_menu.c
diff options
context:
space:
mode:
authorJörg Hohensohn <hohensoh@rockbox.org>2004-06-23 07:28:35 +0000
committerJörg Hohensohn <hohensoh@rockbox.org>2004-06-23 07:28:35 +0000
commitd79b1f5845ed2aefbdc5dc890e89ec443211b20a (patch)
tree6bd01bca03a3280a4eb881a8ece245db1e5caf82 /apps/settings_menu.c
parentbb187c3a33fc832b151ea0fb164da682f1ff79a3 (diff)
downloadrockbox-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.c14
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)