From ac25812e55b99f762a414046307cacecf55109d6 Mon Sep 17 00:00:00 2001 From: Yoshihisa Uchida Date: Thu, 10 Jun 2010 10:57:05 +0000 Subject: fix the problem that does not jump to selected the bookmark. (FS#11386) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26738 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/text_viewer/tv_action.c | 13 +++++++++---- apps/plugins/text_viewer/tv_menu.c | 1 + apps/plugins/text_viewer/tv_menu.h | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/plugins/text_viewer/tv_action.c b/apps/plugins/text_viewer/tv_action.c index 1f2ad78666..53a29ef021 100644 --- a/apps/plugins/text_viewer/tv_action.c +++ b/apps/plugins/text_viewer/tv_action.c @@ -173,11 +173,16 @@ enum tv_menu_result tv_menu(void) res = tv_display_menu(); - tv_convert_fpos(cur_file_pos, &cur_pos); - if (prefs->vertical_scroll_mode == PAGE) - cur_pos.line = 0; + if (res == TV_MENU_RESULT_EXIT_MENU) + { + tv_convert_fpos(cur_file_pos, &cur_pos); + if (prefs->vertical_scroll_mode == PAGE) + cur_pos.line = 0; - tv_move_screen(cur_pos.page, cur_pos.line, SEEK_SET); + tv_move_screen(cur_pos.page, cur_pos.line, SEEK_SET); + } + else if (res == TV_MENU_RESULT_MOVE_PAGE) + res = TV_MENU_RESULT_EXIT_MENU; return res; } diff --git a/apps/plugins/text_viewer/tv_menu.c b/apps/plugins/text_viewer/tv_menu.c index c40d6e67a6..f94022f3e3 100644 --- a/apps/plugins/text_viewer/tv_menu.c +++ b/apps/plugins/text_viewer/tv_menu.c @@ -375,6 +375,7 @@ enum tv_menu_result tv_display_menu(void) break; case 3: /* select bookmark */ tv_select_bookmark(); + result = TV_MENU_RESULT_MOVE_PAGE; break; case 4: /* change global settings */ if (!tv_load_global_settings(&new_prefs)) diff --git a/apps/plugins/text_viewer/tv_menu.h b/apps/plugins/text_viewer/tv_menu.h index 35886d3c10..9f28723b87 100644 --- a/apps/plugins/text_viewer/tv_menu.h +++ b/apps/plugins/text_viewer/tv_menu.h @@ -24,6 +24,7 @@ #define PLUGIN_TEXT_VIEWER_MENU_H enum tv_menu_result { + TV_MENU_RESULT_MOVE_PAGE, TV_MENU_RESULT_EXIT_MENU, TV_MENU_RESULT_EXIT_PLUGIN, TV_MENU_RESULT_ATTACHED_USB, @@ -34,6 +35,7 @@ enum tv_menu_result { * * return * the following value returns + * TV_MENU_RESULT_MOVE_PAGE change reading page * TV_MENU_RESULT_EXIT_MENU menu exit and continue this plugin * TV_MENU_RESULT_EXIT_PLUGIN request to exit this plugin * TV_MENU_RESULT_ATTACHED_USB connect USB cable -- cgit v1.2.3