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;
|
global_status.last_screen = GO_TO_SHORTCUTMENU;
|
||||||
ret = quick_screen_quick(action);
|
ret = quick_screen_quick(action);
|
||||||
|
done = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
quick_screen_quick(action);
|
quick_screen_quick(action);
|
||||||
|
|
|
@ -738,6 +738,7 @@ void root_menu(void)
|
||||||
{
|
{
|
||||||
int previous_browser = GO_TO_FILEBROWSER;
|
int previous_browser = GO_TO_FILEBROWSER;
|
||||||
int selected = 0;
|
int selected = 0;
|
||||||
|
int shortcut_origin = GO_TO_ROOT;
|
||||||
|
|
||||||
push_current_activity(ACTIVITY_MAINMENU);
|
push_current_activity(ACTIVITY_MAINMENU);
|
||||||
|
|
||||||
|
@ -824,10 +825,12 @@ void root_menu(void)
|
||||||
char *key;
|
char *key;
|
||||||
if (global_status.last_screen == GO_TO_SHORTCUTMENU)
|
if (global_status.last_screen == GO_TO_SHORTCUTMENU)
|
||||||
{
|
{
|
||||||
|
shortcut_origin = last_screen;
|
||||||
global_status.last_screen = last_screen;
|
global_status.last_screen = last_screen;
|
||||||
key = ID2P(LANG_SHORTCUTS);
|
key = ID2P(LANG_SHORTCUTS);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
switch (last_screen)
|
switch (last_screen)
|
||||||
{
|
{
|
||||||
case GO_TO_ROOT:
|
case GO_TO_ROOT:
|
||||||
|
@ -843,6 +846,7 @@ void root_menu(void)
|
||||||
key = ID2P(LANG_OPEN_PLUGIN);
|
key = ID2P(LANG_OPEN_PLUGIN);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
open_plugin_get_entry(key, &open_plugin_entry);
|
open_plugin_get_entry(key, &open_plugin_entry);
|
||||||
char *path = open_plugin_entry.path;
|
char *path = open_plugin_entry.path;
|
||||||
|
@ -852,6 +856,14 @@ void root_menu(void)
|
||||||
|
|
||||||
next_screen = load_plugin_screen(path, param);
|
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;
|
previous_browser = (next_screen != GO_TO_WPS) ? GO_TO_FILEBROWSER : GO_TO_PLUGIN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -425,6 +425,8 @@ static int shortcut_menu_get_action(int action, struct gui_synclist *lists)
|
||||||
(void)lists;
|
(void)lists;
|
||||||
if (action == ACTION_STD_OK)
|
if (action == ACTION_STD_OK)
|
||||||
return ACTION_STD_CANCEL;
|
return ACTION_STD_CANCEL;
|
||||||
|
else if (action == ACTION_STD_QUICKSCREEN && action != ACTION_STD_CONTEXT)
|
||||||
|
return ACTION_STD_CANCEL;
|
||||||
else if (action == ACTION_STD_CONTEXT)
|
else if (action == ACTION_STD_CONTEXT)
|
||||||
{
|
{
|
||||||
int selection = gui_synclist_get_sel_pos(lists);
|
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:
|
case SHORTCUT_FILE:
|
||||||
return filetype_get_icon(filetype_get_attr(sc->u.path));
|
return filetype_get_icon(filetype_get_attr(sc->u.path));
|
||||||
case SHORTCUT_BROWSER:
|
case SHORTCUT_BROWSER:
|
||||||
return Icon_Folder;
|
return Icon_Plugin;
|
||||||
case SHORTCUT_SETTING:
|
case SHORTCUT_SETTING:
|
||||||
return Icon_Menu_setting;
|
return Icon_Menu_setting;
|
||||||
case SHORTCUT_DEBUGITEM:
|
case SHORTCUT_DEBUGITEM:
|
||||||
|
|
Loading…
Reference in a new issue