From 073d73be51079078e48d51cafe79c3b87cc835ed Mon Sep 17 00:00:00 2001 From: Mark Arigo Date: Tue, 25 Jul 2006 20:49:53 +0000 Subject: 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 --- apps/plugins/viewer.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'apps') diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c index af35638bfc..607d805693 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 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 -- cgit v1.2.3