forked from len0rd/rockbox
Shortcuts & QS: Fix tree sort settings not immediately applied
Change-Id: I51158f786ad7dae46ce6201826cb35958e8014ec
This commit is contained in:
parent
d307568410
commit
96615af033
2 changed files with 13 additions and 29 deletions
|
@ -180,14 +180,10 @@ MAKE_MENU(tagcache_menu, ID2P(LANG_TAGCACHE), 0, Icon_NOICON,
|
||||||
|
|
||||||
/***********************************/
|
/***********************************/
|
||||||
/* FILE VIEW MENU */
|
/* FILE VIEW MENU */
|
||||||
static int fileview_callback(int action,
|
|
||||||
const struct menu_item_ex *this_item,
|
|
||||||
struct gui_synclist *this_list);
|
|
||||||
|
|
||||||
MENUITEM_SETTING(sort_case, &global_settings.sort_case, NULL);
|
MENUITEM_SETTING(sort_case, &global_settings.sort_case, NULL);
|
||||||
MENUITEM_SETTING(sort_dir, &global_settings.sort_dir, fileview_callback);
|
MENUITEM_SETTING(sort_dir, &global_settings.sort_dir, NULL);
|
||||||
MENUITEM_SETTING(sort_file, &global_settings.sort_file, fileview_callback);
|
MENUITEM_SETTING(sort_file, &global_settings.sort_file, NULL);
|
||||||
MENUITEM_SETTING(interpret_numbers, &global_settings.interpret_numbers, fileview_callback);
|
MENUITEM_SETTING(interpret_numbers, &global_settings.interpret_numbers, NULL);
|
||||||
MENUITEM_SETTING(dirfilter, &global_settings.dirfilter, NULL);
|
MENUITEM_SETTING(dirfilter, &global_settings.dirfilter, NULL);
|
||||||
MENUITEM_SETTING(show_filename_ext, &global_settings.show_filename_ext, NULL);
|
MENUITEM_SETTING(show_filename_ext, &global_settings.show_filename_ext, NULL);
|
||||||
MENUITEM_SETTING(browse_current, &global_settings.browse_current, NULL);
|
MENUITEM_SETTING(browse_current, &global_settings.browse_current, NULL);
|
||||||
|
@ -205,25 +201,6 @@ static int clear_start_directory(void)
|
||||||
}
|
}
|
||||||
MENUITEM_FUNCTION(clear_start_directory_item, 0, ID2P(LANG_RESET_START_DIR),
|
MENUITEM_FUNCTION(clear_start_directory_item, 0, ID2P(LANG_RESET_START_DIR),
|
||||||
clear_start_directory, NULL, Icon_file_view_menu);
|
clear_start_directory, NULL, Icon_file_view_menu);
|
||||||
static int fileview_callback(int action,
|
|
||||||
const struct menu_item_ex *this_item,
|
|
||||||
struct gui_synclist *this_list)
|
|
||||||
{
|
|
||||||
(void)this_list;
|
|
||||||
static int oldval;
|
|
||||||
int *variable = this_item->variable;
|
|
||||||
switch (action)
|
|
||||||
{
|
|
||||||
case ACTION_ENTER_MENUITEM: /* on entering an item */
|
|
||||||
oldval = *variable;
|
|
||||||
break;
|
|
||||||
case ACTION_EXIT_MENUITEM: /* on exit */
|
|
||||||
if (*variable != oldval)
|
|
||||||
reload_directory(); /* force reload if this has changed */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int filemenu_callback(int action,
|
static int filemenu_callback(int action,
|
||||||
const struct menu_item_ex *this_item,
|
const struct menu_item_ex *this_item,
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
#include "misc.h" /* current activity */
|
#include "misc.h" /* current activity */
|
||||||
#endif
|
#endif
|
||||||
#include "playlist.h"
|
#include "playlist.h"
|
||||||
|
#include "tree.h"
|
||||||
|
|
||||||
#include "voice_thread.h"
|
#include "voice_thread.h"
|
||||||
|
|
||||||
|
@ -683,6 +684,12 @@ static void repeat_mode_callback(int repeat)
|
||||||
(void)repeat;
|
(void)repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void treesort_callback(int value)
|
||||||
|
{
|
||||||
|
(void) value;
|
||||||
|
reload_directory();
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_QUICKSCREEN
|
#ifdef HAVE_QUICKSCREEN
|
||||||
static void qs_load_from_cfg(void *var, char *value)
|
static void qs_load_from_cfg(void *var, char *value)
|
||||||
{
|
{
|
||||||
|
@ -1399,15 +1406,15 @@ const struct settings_list settings[] = {
|
||||||
/* file sorting */
|
/* file sorting */
|
||||||
OFFON_SETTING(0, sort_case, LANG_SORT_CASE, false, "sort case", NULL),
|
OFFON_SETTING(0, sort_case, LANG_SORT_CASE, false, "sort case", NULL),
|
||||||
CHOICE_SETTING(0, sort_dir, LANG_SORT_DIR, 0 ,
|
CHOICE_SETTING(0, sort_dir, LANG_SORT_DIR, 0 ,
|
||||||
"sort dirs", "alpha,oldest,newest", NULL, 3,
|
"sort dirs", "alpha,oldest,newest", treesort_callback, 3,
|
||||||
ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
|
ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
|
||||||
ID2P(LANG_SORT_DATE_REVERSE)),
|
ID2P(LANG_SORT_DATE_REVERSE)),
|
||||||
CHOICE_SETTING(0, sort_file, LANG_SORT_FILE, 0 ,
|
CHOICE_SETTING(0, sort_file, LANG_SORT_FILE, 0 ,
|
||||||
"sort files", "alpha,oldest,newest,type", NULL, 4,
|
"sort files", "alpha,oldest,newest,type", treesort_callback, 4,
|
||||||
ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
|
ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
|
||||||
ID2P(LANG_SORT_DATE_REVERSE) , ID2P(LANG_SORT_TYPE)),
|
ID2P(LANG_SORT_DATE_REVERSE) , ID2P(LANG_SORT_TYPE)),
|
||||||
CHOICE_SETTING(0, interpret_numbers, LANG_SORT_INTERPRET_NUMBERS, 1,
|
CHOICE_SETTING(0, interpret_numbers, LANG_SORT_INTERPRET_NUMBERS, 1,
|
||||||
"sort interpret number", "digits,numbers",NULL, 2,
|
"sort interpret number", "digits,numbers",treesort_callback, 2,
|
||||||
ID2P(LANG_SORT_INTERPRET_AS_DIGIT),
|
ID2P(LANG_SORT_INTERPRET_AS_DIGIT),
|
||||||
ID2P(LANG_SORT_INTERPRET_AS_NUMBERS)),
|
ID2P(LANG_SORT_INTERPRET_AS_NUMBERS)),
|
||||||
CHOICE_SETTING(0, show_filename_ext, LANG_SHOW_FILENAME_EXT, 3,
|
CHOICE_SETTING(0, show_filename_ext, LANG_SHOW_FILENAME_EXT, 3,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue