summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorYoshihisa Uchida <uchida@rockbox.org>2010-06-10 10:57:05 +0000
committerYoshihisa Uchida <uchida@rockbox.org>2010-06-10 10:57:05 +0000
commitac25812e55b99f762a414046307cacecf55109d6 (patch)
tree280733895e06d27bef048b8f4914b24cc01422cb /apps
parentc3a698e46ac47d5d9529ae7cd0030d70cdc6dad4 (diff)
downloadrockbox-ac25812e55b99f762a414046307cacecf55109d6.tar.gz
rockbox-ac25812e55b99f762a414046307cacecf55109d6.zip
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
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/text_viewer/tv_action.c13
-rw-r--r--apps/plugins/text_viewer/tv_menu.c1
-rw-r--r--apps/plugins/text_viewer/tv_menu.h2
3 files changed, 12 insertions, 4 deletions
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