summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 6622e1c4c2..2bccefa7a1 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -72,6 +72,7 @@
72#include "list.h" 72#include "list.h"
73#include "splash.h" 73#include "splash.h"
74#include "quickscreen.h" 74#include "quickscreen.h"
75#include "shortcuts.h"
75#include "appevents.h" 76#include "appevents.h"
76 77
77#include "root_menu.h" 78#include "root_menu.h"
@@ -751,19 +752,28 @@ static int dirbrowse(void)
751 break; 752 break;
752#ifdef HAVE_QUICKSCREEN 753#ifdef HAVE_QUICKSCREEN
753 case ACTION_STD_QUICKSCREEN: 754 case ACTION_STD_QUICKSCREEN:
754 if (global_settings.shortcuts_replaces_qs) 755 {
755 { 756 bool enter_shortcuts_menu = global_settings.shortcuts_replaces_qs;
756 if (*tc.dirfilter < NUM_FILTER_MODES) 757 if (enter_shortcuts_menu && *tc.dirfilter >= NUM_FILTER_MODES)
757 {
758 global_status.last_screen = GO_TO_SHORTCUTMENU;
759 return quick_screen_quick(button);
760 }
761 break; 758 break;
759 else if (!enter_shortcuts_menu)
760 {
761 int ret = quick_screen_quick(button);
762 if (ret == QUICKSCREEN_IN_USB)
763 reload_dir = true;
764 else if (ret == QUICKSCREEN_GOTO_SHORTCUTS_MENU)
765 enter_shortcuts_menu = true;
762 } 766 }
763 else if (quick_screen_quick(button)) 767
764 reload_dir = true; 768 if (enter_shortcuts_menu && *tc.dirfilter < NUM_FILTER_MODES)
769 {
770 global_status.last_screen = GO_TO_SHORTCUTMENU;
771 return do_shortcut_menu(NULL);
772 }
773
765 restore = true; 774 restore = true;
766 break; 775 break;
776 }
767#endif 777#endif
768 778
769#ifdef HAVE_HOTKEY 779#ifdef HAVE_HOTKEY