Shortcuts Menu Update
Change Browser shortcut to the plugin icon drop back into WPS on opx return allow same action to exit shortcut menu as entered -- might be problematic Change-Id: Id7013a514c8e8862ee1da44b033d10b7519e9127
This commit is contained in:
parent
c9e8d96e77
commit
13178d23b8
3 changed files with 16 additions and 1 deletions
|
@ -431,6 +431,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
|
|||
{
|
||||
global_status.last_screen = GO_TO_SHORTCUTMENU;
|
||||
ret = quick_screen_quick(action);
|
||||
done = true;
|
||||
}
|
||||
else
|
||||
quick_screen_quick(action);
|
||||
|
|
|
@ -738,6 +738,7 @@ void root_menu(void)
|
|||
{
|
||||
int previous_browser = GO_TO_FILEBROWSER;
|
||||
int selected = 0;
|
||||
int shortcut_origin = GO_TO_ROOT;
|
||||
|
||||
push_current_activity(ACTIVITY_MAINMENU);
|
||||
|
||||
|
@ -824,10 +825,12 @@ void root_menu(void)
|
|||
char *key;
|
||||
if (global_status.last_screen == GO_TO_SHORTCUTMENU)
|
||||
{
|
||||
shortcut_origin = last_screen;
|
||||
global_status.last_screen = last_screen;
|
||||
key = ID2P(LANG_SHORTCUTS);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (last_screen)
|
||||
{
|
||||
case GO_TO_ROOT:
|
||||
|
@ -843,6 +846,7 @@ void root_menu(void)
|
|||
key = ID2P(LANG_OPEN_PLUGIN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
open_plugin_get_entry(key, &open_plugin_entry);
|
||||
char *path = open_plugin_entry.path;
|
||||
|
@ -852,6 +856,14 @@ void root_menu(void)
|
|||
|
||||
next_screen = load_plugin_screen(path, param);
|
||||
|
||||
/* shortcuts may take several trips through the GO_TO_PLUGIN case
|
||||
make sure we preserve and restore the origin */
|
||||
if (next_screen == GO_TO_PREVIOUS && shortcut_origin != GO_TO_ROOT)
|
||||
{
|
||||
next_screen = shortcut_origin;
|
||||
shortcut_origin = GO_TO_ROOT;
|
||||
}
|
||||
|
||||
previous_browser = (next_screen != GO_TO_WPS) ? GO_TO_FILEBROWSER : GO_TO_PLUGIN;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -425,6 +425,8 @@ static int shortcut_menu_get_action(int action, struct gui_synclist *lists)
|
|||
(void)lists;
|
||||
if (action == ACTION_STD_OK)
|
||||
return ACTION_STD_CANCEL;
|
||||
else if (action == ACTION_STD_QUICKSCREEN && action != ACTION_STD_CONTEXT)
|
||||
return ACTION_STD_CANCEL;
|
||||
else if (action == ACTION_STD_CONTEXT)
|
||||
{
|
||||
int selection = gui_synclist_get_sel_pos(lists);
|
||||
|
@ -459,7 +461,7 @@ static enum themable_icons shortcut_menu_get_icon(int selected_item, void * data
|
|||
case SHORTCUT_FILE:
|
||||
return filetype_get_icon(filetype_get_attr(sc->u.path));
|
||||
case SHORTCUT_BROWSER:
|
||||
return Icon_Folder;
|
||||
return Icon_Plugin;
|
||||
case SHORTCUT_SETTING:
|
||||
return Icon_Menu_setting;
|
||||
case SHORTCUT_DEBUGITEM:
|
||||
|
|
Loading…
Reference in a new issue