diff options
-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 d20aa3bda0..057191e603 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -478,25 +478,35 @@ static bool sort_case(void) | |||
478 | 478 | ||
479 | static bool sort_file(void) | 479 | static bool sort_file(void) |
480 | { | 480 | { |
481 | int oldval = global_settings.sort_file; | ||
482 | bool ret; | ||
481 | struct opt_items names[] = { | 483 | struct opt_items names[] = { |
482 | { STR(LANG_SORT_ALPHA) }, | 484 | { STR(LANG_SORT_ALPHA) }, |
483 | { STR(LANG_SORT_DATE) }, | 485 | { STR(LANG_SORT_DATE) }, |
484 | { STR(LANG_SORT_DATE_REVERSE) }, | 486 | { STR(LANG_SORT_DATE_REVERSE) }, |
485 | { STR(LANG_SORT_TYPE) } | 487 | { STR(LANG_SORT_TYPE) } |
486 | }; | 488 | }; |
487 | return set_option( str(LANG_SORT_FILE), &global_settings.sort_file, INT, | 489 | ret = set_option( str(LANG_SORT_FILE), &global_settings.sort_file, INT, |
488 | names, 4, NULL ); | 490 | names, 4, NULL ); |
491 | if (global_settings.sort_file != oldval) | ||
492 | reload_directory(); /* force reload if this has changed */ | ||
493 | return ret; | ||
489 | } | 494 | } |
490 | 495 | ||
491 | static bool sort_dir(void) | 496 | static bool sort_dir(void) |
492 | { | 497 | { |
498 | int oldval = global_settings.sort_dir; | ||
499 | bool ret; | ||
493 | struct opt_items names[] = { | 500 | struct opt_items names[] = { |
494 | { STR(LANG_SORT_ALPHA) }, | 501 | { STR(LANG_SORT_ALPHA) }, |
495 | { STR(LANG_SORT_DATE) }, | 502 | { STR(LANG_SORT_DATE) }, |
496 | { STR(LANG_SORT_DATE_REVERSE) } | 503 | { STR(LANG_SORT_DATE_REVERSE) } |
497 | }; | 504 | }; |
498 | return set_option( str(LANG_SORT_DIR), &global_settings.sort_dir, INT, | 505 | ret = set_option( str(LANG_SORT_DIR), &global_settings.sort_dir, INT, |
499 | names, 3, NULL ); | 506 | names, 3, NULL ); |
507 | if (global_settings.sort_dir != oldval) | ||
508 | reload_directory(); /* force reload if this has changed */ | ||
509 | return ret; | ||
500 | } | 510 | } |
501 | 511 | ||
502 | static bool resume(void) | 512 | static bool resume(void) |