summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorMark Arigo <markarigo@gmail.com>2006-07-25 20:49:53 +0000
committerMark Arigo <markarigo@gmail.com>2006-07-25 20:49:53 +0000
commit073d73be51079078e48d51cafe79c3b87cc835ed (patch)
tree2ee5edcc2dd0512ab2e176b986dc717831eb88e8 /apps/plugins
parent85c2bfa3e47975e8f66393e70193090d946533f5 (diff)
downloadrockbox-073d73be51079078e48d51cafe79c3b87cc835ed.zip
rockbox-073d73be51079078e48d51cafe79c3b87cc835ed.tar.gz
rockbox-073d73be51079078e48d51cafe79c3b87cc835ed.tar.bz2
rockbox-073d73be51079078e48d51cafe79c3b87cc835ed.tar.xz
Fixes text viewer column advance when in wide mode using play+left/right button combo (bug #5685)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10327 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/viewer.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index af35638..607d805 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -839,18 +839,16 @@ static void viewer_draw(int col)
if (line_width > col) {
str = oldstr = line_begin;
k = col;
- while (k > 0) {
- str = crop_at_width(str);
- k-=draw_columns;
- }
-
- oldstr=line_begin=str;
-
width = 0;
while( (width<draw_columns) && (oldstr<line_end) )
{
oldstr = get_ucs(oldstr, &ch);
- width += glyph_width(ch);
+ if (k > 0) {
+ k -= glyph_width(ch);
+ line_begin = oldstr;
+ } else {
+ width += glyph_width(ch);
+ }
}
if(prefs.view_mode==WIDE)
@@ -1355,18 +1353,22 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
#ifdef VIEWER_COLUMN_LEFT
case VIEWER_COLUMN_LEFT:
case VIEWER_COLUMN_LEFT | BUTTON_REPEAT:
- /* Scroll left one column */
- col -= glyph_width('o');
- col = col_limit(col);
- viewer_draw(col);
+ if (prefs.view_mode == WIDE) {
+ /* Scroll left one column */
+ col -= glyph_width('o');
+ col = col_limit(col);
+ viewer_draw(col);
+ }
break;
case VIEWER_COLUMN_RIGHT:
case VIEWER_COLUMN_RIGHT | BUTTON_REPEAT:
- /* Scroll right one column */
- col += glyph_width('o');
- col = col_limit(col);
- viewer_draw(col);
+ if (prefs.view_mode == WIDE) {
+ /* Scroll right one column */
+ col += glyph_width('o');
+ col = col_limit(col);
+ viewer_draw(col);
+ }
break;
#endif