summaryrefslogtreecommitdiff
path: root/apps/plugins/text_viewer
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/text_viewer')
-rw-r--r--apps/plugins/text_viewer/text_viewer.c2
-rw-r--r--apps/plugins/text_viewer/tv_action.c4
-rw-r--r--apps/plugins/text_viewer/tv_bookmark.c4
-rw-r--r--apps/plugins/text_viewer/tv_display.c73
-rw-r--r--apps/plugins/text_viewer/tv_menu.c18
-rw-r--r--apps/plugins/text_viewer/tv_preferences.c10
-rw-r--r--apps/plugins/text_viewer/tv_preferences.h3
-rw-r--r--apps/plugins/text_viewer/tv_settings.c4
-rw-r--r--apps/plugins/text_viewer/tv_text_processor.c11
9 files changed, 2 insertions, 127 deletions
diff --git a/apps/plugins/text_viewer/text_viewer.c b/apps/plugins/text_viewer/text_viewer.c
index c8102eb6d2..fea0977c0d 100644
--- a/apps/plugins/text_viewer/text_viewer.c
+++ b/apps/plugins/text_viewer/text_viewer.c
@@ -61,10 +61,8 @@ enum plugin_status plugin_start(const void* file)
61 61
62 atexit(tv_exit); 62 atexit(tv_exit);
63 while (!done) { 63 while (!done) {
64#ifdef HAVE_LCD_BITMAP
65 if (preferences->statusbar) 64 if (preferences->statusbar)
66 rb->send_event(GUI_EVENT_ACTIONUPDATE, NULL); 65 rb->send_event(GUI_EVENT_ACTIONUPDATE, NULL);
67#endif
68 66
69 if (display_update) 67 if (display_update)
70 tv_draw(); 68 tv_draw();
diff --git a/apps/plugins/text_viewer/tv_action.c b/apps/plugins/text_viewer/tv_action.c
index 798871c430..041dee5a50 100644
--- a/apps/plugins/text_viewer/tv_action.c
+++ b/apps/plugins/text_viewer/tv_action.c
@@ -100,9 +100,7 @@ void tv_scroll_up(unsigned mode)
100 (mode == TV_VERTICAL_SCROLL_PREFS && preferences->vertical_scroll_mode == VS_PAGE)) 100 (mode == TV_VERTICAL_SCROLL_PREFS && preferences->vertical_scroll_mode == VS_PAGE))
101 { 101 {
102 offset_page--; 102 offset_page--;
103#ifdef HAVE_LCD_BITMAP
104 offset_line = (preferences->overlap_page_mode)? 1:0; 103 offset_line = (preferences->overlap_page_mode)? 1:0;
105#endif
106 } 104 }
107 tv_move_screen(offset_page, offset_line, SEEK_CUR); 105 tv_move_screen(offset_page, offset_line, SEEK_CUR);
108 scrolled = true; 106 scrolled = true;
@@ -117,9 +115,7 @@ void tv_scroll_down(unsigned mode)
117 (mode == TV_VERTICAL_SCROLL_PREFS && preferences->vertical_scroll_mode == VS_PAGE)) 115 (mode == TV_VERTICAL_SCROLL_PREFS && preferences->vertical_scroll_mode == VS_PAGE))
118 { 116 {
119 offset_page++; 117 offset_page++;
120#ifdef HAVE_LCD_BITMAP
121 offset_line = (preferences->overlap_page_mode)? -1:0; 118 offset_line = (preferences->overlap_page_mode)? -1:0;
122#endif
123 } 119 }
124 tv_move_screen(offset_page, offset_line, SEEK_CUR); 120 tv_move_screen(offset_page, offset_line, SEEK_CUR);
125 scrolled = true; 121 scrolled = true;
diff --git a/apps/plugins/text_viewer/tv_bookmark.c b/apps/plugins/text_viewer/tv_bookmark.c
index 0f5d58b24e..1edad093a9 100644
--- a/apps/plugins/text_viewer/tv_bookmark.c
+++ b/apps/plugins/text_viewer/tv_bookmark.c
@@ -182,11 +182,7 @@ static const char* get_bookmark_name(int selected, void * data,
182 (void)data; 182 (void)data;
183 struct tv_bookmark_info *bookmark = &bookmarks[selected]; 183 struct tv_bookmark_info *bookmark = &bookmarks[selected];
184 rb->snprintf(buffer, buffer_len, 184 rb->snprintf(buffer, buffer_len,
185#ifdef HAVE_LCD_BITMAP
186 "%cPage: %d Line: %d", 185 "%cPage: %d Line: %d",
187#else
188 "%cP:%d L:%d",
189#endif
190 (bookmark->flag & TV_BOOKMARK_SYSTEM)? '*' : ' ', 186 (bookmark->flag & TV_BOOKMARK_SYSTEM)? '*' : ' ',
191 bookmark->pos.page + 1, bookmark->pos.line + 1); 187 bookmark->pos.page + 1, bookmark->pos.line + 1);
192 return buffer; 188 return buffer;
diff --git a/apps/plugins/text_viewer/tv_display.c b/apps/plugins/text_viewer/tv_display.c
index d6175b79cf..9ecfd8d709 100644
--- a/apps/plugins/text_viewer/tv_display.c
+++ b/apps/plugins/text_viewer/tv_display.c
@@ -25,7 +25,6 @@
25/* 25/*
26 * display layout 26 * display layout
27 * 27 *
28 * when is defined HAVE_LCD_BITMAP
29 * +-------------------------+ 28 * +-------------------------+
30 * |statusbar (1) | 29 * |statusbar (1) |
31 * +-------------------------+ 30 * +-------------------------+
@@ -56,14 +55,6 @@
56 * (5) displays when preferences->footer_mode is FT_PAGE. 55 * (5) displays when preferences->footer_mode is FT_PAGE.
57 * (6) displays when rb->global_settings->statusbar == STATUSBAR_BOTTOM. 56 * (6) displays when rb->global_settings->statusbar == STATUSBAR_BOTTOM.
58 * 57 *
59 *
60 * when isn't defined HAVE_LCD_BITMAP
61 * +---+---------------------+
62 * | | |
63 * |(7)| draw area |
64 * | | |
65 * +---+---------------------+
66 * (7) bookmark
67 */ 58 */
68 59
69#define TV_SCROLLBAR_WIDTH rb->global_settings->scrollbar_width 60#define TV_SCROLLBAR_WIDTH rb->global_settings->scrollbar_width
@@ -83,14 +74,10 @@ static bool is_initialized_vp = false;
83static struct screen* display; 74static struct screen* display;
84 75
85/* layout */ 76/* layout */
86#ifdef HAVE_LCD_BITMAP
87static struct tv_rect header; 77static struct tv_rect header;
88static struct tv_rect footer; 78static struct tv_rect footer;
89static struct tv_rect horizontal_scrollbar; 79static struct tv_rect horizontal_scrollbar;
90static struct tv_rect vertical_scrollbar; 80static struct tv_rect vertical_scrollbar;
91#else
92static struct tv_rect bookmark;
93#endif
94 81
95static bool show_horizontal_scrollbar; 82static bool show_horizontal_scrollbar;
96static bool show_vertical_scrollbar; 83static bool show_vertical_scrollbar;
@@ -103,8 +90,6 @@ static int row_height = 1;
103 90
104static int totalsize; 91static int totalsize;
105 92
106#ifdef HAVE_LCD_BITMAP
107
108static void tv_show_header(void) 93static void tv_show_header(void)
109{ 94{
110 if (preferences->header_mode) 95 if (preferences->header_mode)
@@ -156,8 +141,6 @@ static void tv_show_scrollbar(int window, int col, off_t cur_pos, int size)
156 } 141 }
157} 142}
158 143
159#endif
160
161void tv_init_scrollbar(off_t total, bool show_scrollbar) 144void tv_init_scrollbar(off_t total, bool show_scrollbar)
162{ 145{
163 totalsize = total; 146 totalsize = total;
@@ -167,38 +150,23 @@ void tv_init_scrollbar(off_t total, bool show_scrollbar)
167 150
168void tv_show_bookmarks(const int *rows, int count) 151void tv_show_bookmarks(const int *rows, int count)
169{ 152{
170#ifdef HAVE_LCD_BITMAP
171 display->set_viewport(&vp_text); 153 display->set_viewport(&vp_text);
172 display->set_drawmode(DRMODE_COMPLEMENT); 154 display->set_drawmode(DRMODE_COMPLEMENT);
173#endif
174 155
175 while (count--) 156 while (count--)
176 { 157 {
177#ifdef HAVE_LCD_BITMAP
178 display->fillrect(0, rows[count] * row_height, 158 display->fillrect(0, rows[count] * row_height,
179 vp_text.width, row_height); 159 vp_text.width, row_height);
180#else
181 display->putchar(bookmark.x, bookmark.y + rows[count], TV_BOOKMARK_ICON);
182#endif
183 } 160 }
184#ifdef HAVE_LCD_BITMAP
185 display->set_drawmode(DRMODE_SOLID); 161 display->set_drawmode(DRMODE_SOLID);
186 display->set_viewport(&vp_info); 162 display->set_viewport(&vp_info);
187#endif
188} 163}
189 164
190void tv_update_extra(int window, int col, const struct tv_screen_pos *pos, int size) 165void tv_update_extra(int window, int col, const struct tv_screen_pos *pos, int size)
191{ 166{
192#ifdef HAVE_LCD_BITMAP
193 tv_show_scrollbar(window, col, pos->file_pos, size); 167 tv_show_scrollbar(window, col, pos->file_pos, size);
194 tv_show_header(); 168 tv_show_header();
195 tv_show_footer(pos); 169 tv_show_footer(pos);
196#else
197 (void)window;
198 (void)col;
199 (void)pos;
200 (void)size;
201#endif
202} 170}
203 171
204void tv_draw_text(int row, const unsigned char *text, int offset) 172void tv_draw_text(int row, const unsigned char *text, int offset)
@@ -217,11 +185,7 @@ void tv_draw_text(int row, const unsigned char *text, int offset)
217 185
218 display->set_viewport(&vp_text); 186 display->set_viewport(&vp_text);
219 tv_night_mode(); 187 tv_night_mode();
220#ifdef HAVE_LCD_BITMAP
221 display->putsxy(xpos, row * row_height, text); 188 display->putsxy(xpos, row * row_height, text);
222#else
223 display->puts(xpos, row, text);
224#endif
225 display->set_viewport(&vp_info); 189 display->set_viewport(&vp_info);
226} 190}
227 191
@@ -229,9 +193,7 @@ void tv_start_display(void)
229{ 193{
230 display->set_viewport(&vp_info); 194 display->set_viewport(&vp_info);
231 tv_night_mode(); 195 tv_night_mode();
232#ifdef HAVE_LCD_BITMAP
233 display->set_drawmode(DRMODE_SOLID); 196 display->set_drawmode(DRMODE_SOLID);
234#endif
235 197
236#if LCD_DEPTH > 1 198#if LCD_DEPTH > 1
237 rb->lcd_set_backdrop(NULL); 199 rb->lcd_set_backdrop(NULL);
@@ -248,7 +210,6 @@ void tv_end_display(void)
248 210
249void tv_set_layout(bool show_scrollbar) 211void tv_set_layout(bool show_scrollbar)
250{ 212{
251#ifdef HAVE_LCD_BITMAP
252 int scrollbar_width = (show_scrollbar && preferences->vertical_scrollbar)? 213 int scrollbar_width = (show_scrollbar && preferences->vertical_scrollbar)?
253 TV_SCROLLBAR_WIDTH + 1 : 0; 214 TV_SCROLLBAR_WIDTH + 1 : 0;
254 int scrollbar_height = (show_scrollbar && preferences->horizontal_scrollbar)? 215 int scrollbar_height = (show_scrollbar && preferences->horizontal_scrollbar)?
@@ -282,20 +243,6 @@ void tv_set_layout(bool show_scrollbar)
282 vp_text.y += vertical_scrollbar.y; 243 vp_text.y += vertical_scrollbar.y;
283 vp_text.width = horizontal_scrollbar.w; 244 vp_text.width = horizontal_scrollbar.w;
284 vp_text.height = vertical_scrollbar.h; 245 vp_text.height = vertical_scrollbar.h;
285#else
286 (void) show_scrollbar;
287
288 row_height = 1;
289
290 bookmark.x = 0;
291 bookmark.y = 0;
292 bookmark.w = 1;
293 bookmark.h = vp_info.height;
294
295 vp_text = vp_info;
296 vp_text.x += 1;
297 vp_text.width -= 1;
298#endif
299 246
300 display_columns = vp_text.width / col_width; 247 display_columns = vp_text.width / col_width;
301 display_rows = vp_text.height / row_height; 248 display_rows = vp_text.height / row_height;
@@ -310,7 +257,6 @@ void tv_get_drawarea_info(int *width, int *cols, int *rows)
310 257
311static void tv_change_viewport(void) 258static void tv_change_viewport(void)
312{ 259{
313#ifdef HAVE_LCD_BITMAP
314 bool show_statusbar = preferences->statusbar; 260 bool show_statusbar = preferences->statusbar;
315 261
316 if (is_initialized_vp) 262 if (is_initialized_vp)
@@ -321,16 +267,8 @@ static void tv_change_viewport(void)
321 rb->viewportmanager_theme_enable(SCREEN_MAIN, show_statusbar, &vp_info); 267 rb->viewportmanager_theme_enable(SCREEN_MAIN, show_statusbar, &vp_info);
322 vp_info.flags &= ~VP_FLAG_ALIGNMENT_MASK; 268 vp_info.flags &= ~VP_FLAG_ALIGNMENT_MASK;
323 display->set_viewport(&vp_info); 269 display->set_viewport(&vp_info);
324#else
325 if (!is_initialized_vp)
326 {
327 rb->viewport_set_defaults(&vp_info, SCREEN_MAIN);
328 is_initialized_vp = true;
329 }
330#endif
331} 270}
332 271
333#ifdef HAVE_LCD_BITMAP
334static bool tv_set_font(const unsigned char *font) 272static bool tv_set_font(const unsigned char *font)
335{ 273{
336 unsigned char path[MAX_PATH]; 274 unsigned char path[MAX_PATH];
@@ -350,11 +288,9 @@ static bool tv_set_font(const unsigned char *font)
350 vp_text.font = preferences->font_id; 288 vp_text.font = preferences->font_id;
351 return true; 289 return true;
352} 290}
353#endif
354 291
355static int tv_change_preferences(const struct tv_preferences *oldp) 292static int tv_change_preferences(const struct tv_preferences *oldp)
356{ 293{
357#ifdef HAVE_LCD_BITMAP
358 static bool font_changing = false; 294 static bool font_changing = false;
359 const unsigned char *font_str; 295 const unsigned char *font_str;
360 struct tv_preferences new_prefs; 296 struct tv_preferences new_prefs;
@@ -382,9 +318,6 @@ static int tv_change_preferences(const struct tv_preferences *oldp)
382 col_width = 2 * rb->font_get_width(rb->font_get(preferences->font_id), ' '); 318 col_width = 2 * rb->font_get_width(rb->font_get(preferences->font_id), ' ');
383 font_changing = false; 319 font_changing = false;
384 } 320 }
385#else
386 (void)oldp;
387#endif
388 tv_change_viewport(); 321 tv_change_viewport();
389 return TV_CALLBACK_OK; 322 return TV_CALLBACK_OK;
390} 323}
@@ -419,7 +352,6 @@ void tv_night_mode(void)
419 352
420void tv_finalize_display(void) 353void tv_finalize_display(void)
421{ 354{
422#ifdef HAVE_LCD_BITMAP
423 /* restore font */ 355 /* restore font */
424 if (preferences->font_id >= 0 && 356 if (preferences->font_id >= 0 &&
425 (preferences->font_id != rb->global_status->font_id[SCREEN_MAIN])) 357 (preferences->font_id != rb->global_status->font_id[SCREEN_MAIN]))
@@ -430,14 +362,9 @@ void tv_finalize_display(void)
430 /* undo viewport */ 362 /* undo viewport */
431 if (is_initialized_vp) 363 if (is_initialized_vp)
432 rb->viewportmanager_theme_undo(SCREEN_MAIN, false); 364 rb->viewportmanager_theme_undo(SCREEN_MAIN, false);
433#endif
434} 365}
435 366
436bool tv_exist_scrollbar(void) 367bool tv_exist_scrollbar(void)
437{ 368{
438#ifdef HAVE_LCD_BITMAP
439 return true; 369 return true;
440#else
441 return false;
442#endif
443} 370}
diff --git a/apps/plugins/text_viewer/tv_menu.c b/apps/plugins/text_viewer/tv_menu.c
index 01fb052151..53e0adaf67 100644
--- a/apps/plugins/text_viewer/tv_menu.c
+++ b/apps/plugins/text_viewer/tv_menu.c
@@ -34,12 +34,10 @@ static struct tv_preferences new_prefs;
34/* horizontal scroll settings menu */ 34/* horizontal scroll settings menu */
35/* */ 35/* */
36 36
37#ifdef HAVE_LCD_BITMAP
38static bool tv_horizontal_scrollbar_setting(void) 37static bool tv_horizontal_scrollbar_setting(void)
39{ 38{
40 return rb->set_bool("Horizontal Scrollbar", &new_prefs.horizontal_scrollbar); 39 return rb->set_bool("Horizontal Scrollbar", &new_prefs.horizontal_scrollbar);
41} 40}
42#endif
43 41
44static bool tv_horizontal_scroll_mode_setting(void) 42static bool tv_horizontal_scroll_mode_setting(void)
45{ 43{
@@ -52,30 +50,24 @@ static bool tv_horizontal_scroll_mode_setting(void)
52 names, 2, NULL); 50 names, 2, NULL);
53} 51}
54 52
55#ifdef HAVE_LCD_BITMAP
56MENUITEM_FUNCTION(horizontal_scrollbar_item, 0, "Scrollbar", 53MENUITEM_FUNCTION(horizontal_scrollbar_item, 0, "Scrollbar",
57 tv_horizontal_scrollbar_setting, 54 tv_horizontal_scrollbar_setting,
58 NULL, NULL, Icon_NOICON); 55 NULL, NULL, Icon_NOICON);
59#endif
60MENUITEM_FUNCTION(horizontal_scroll_mode_item, 0, "Scroll Mode", 56MENUITEM_FUNCTION(horizontal_scroll_mode_item, 0, "Scroll Mode",
61 tv_horizontal_scroll_mode_setting, NULL, NULL, Icon_NOICON); 57 tv_horizontal_scroll_mode_setting, NULL, NULL, Icon_NOICON);
62 58
63MAKE_MENU(horizontal_scroll_menu, "Horizontal", NULL, Icon_NOICON, 59MAKE_MENU(horizontal_scroll_menu, "Horizontal", NULL, Icon_NOICON,
64#ifdef HAVE_LCD_BITMAP
65 &horizontal_scrollbar_item, 60 &horizontal_scrollbar_item,
66#endif
67 &horizontal_scroll_mode_item); 61 &horizontal_scroll_mode_item);
68 62
69/* */ 63/* */
70/* vertical scroll settings menu */ 64/* vertical scroll settings menu */
71/* */ 65/* */
72 66
73#ifdef HAVE_LCD_BITMAP
74static bool tv_vertical_scrollbar_setting(void) 67static bool tv_vertical_scrollbar_setting(void)
75{ 68{
76 return rb->set_bool("Vertical Scrollbar", &new_prefs.vertical_scrollbar); 69 return rb->set_bool("Vertical Scrollbar", &new_prefs.vertical_scrollbar);
77} 70}
78#endif
79 71
80static bool tv_vertical_scroll_mode_setting(void) 72static bool tv_vertical_scroll_mode_setting(void)
81{ 73{
@@ -110,11 +102,9 @@ static bool tv_narrow_mode_setting(void)
110 names, 2, NULL); 102 names, 2, NULL);
111} 103}
112 104
113#ifdef HAVE_LCD_BITMAP
114MENUITEM_FUNCTION(vertical_scrollbar_item, 0, "Scrollbar", 105MENUITEM_FUNCTION(vertical_scrollbar_item, 0, "Scrollbar",
115 tv_vertical_scrollbar_setting, 106 tv_vertical_scrollbar_setting,
116 NULL, NULL, Icon_NOICON); 107 NULL, NULL, Icon_NOICON);
117#endif
118MENUITEM_FUNCTION(vertical_scroll_mode_item, 0, "Scroll Mode", 108MENUITEM_FUNCTION(vertical_scroll_mode_item, 0, "Scroll Mode",
119 tv_vertical_scroll_mode_setting, NULL, NULL, Icon_NOICON); 109 tv_vertical_scroll_mode_setting, NULL, NULL, Icon_NOICON);
120MENUITEM_FUNCTION(overlap_page_mode_item, 0, "Overlap Pages", tv_overlap_page_mode_setting, 110MENUITEM_FUNCTION(overlap_page_mode_item, 0, "Overlap Pages", tv_overlap_page_mode_setting,
@@ -125,9 +115,7 @@ MENUITEM_FUNCTION(narrow_mode_item, 0, "Left/Right Key (Narrow mode)",
125 tv_narrow_mode_setting, NULL, NULL, Icon_NOICON); 115 tv_narrow_mode_setting, NULL, NULL, Icon_NOICON);
126 116
127MAKE_MENU(vertical_scroll_menu, "Vertical", NULL, Icon_NOICON, 117MAKE_MENU(vertical_scroll_menu, "Vertical", NULL, Icon_NOICON,
128#ifdef HAVE_LCD_BITMAP
129 &vertical_scrollbar_item, 118 &vertical_scrollbar_item,
130#endif
131 &vertical_scroll_mode_item, &overlap_page_mode_item, &autoscroll_speed_item, 119 &vertical_scroll_mode_item, &overlap_page_mode_item, &autoscroll_speed_item,
132 &narrow_mode_item); 120 &narrow_mode_item);
133 121
@@ -198,7 +186,6 @@ static bool tv_alignment_setting(void)
198 names , 2, NULL); 186 names , 2, NULL);
199} 187}
200 188
201#ifdef HAVE_LCD_BITMAP
202static bool tv_header_setting(void) 189static bool tv_header_setting(void)
203{ 190{
204 return rb->set_bool("Show Header", &new_prefs.header_mode); 191 return rb->set_bool("Show Header", &new_prefs.header_mode);
@@ -239,7 +226,6 @@ static bool tv_font_setting(void)
239 226
240 return false; 227 return false;
241} 228}
242#endif
243 229
244static bool tv_indent_spaces_setting(void) 230static bool tv_indent_spaces_setting(void)
245{ 231{
@@ -264,7 +250,6 @@ MENUITEM_FUNCTION(windows_item, 0, "Screens Per Page", tv_windows_setting,
264 NULL, NULL, Icon_NOICON); 250 NULL, NULL, Icon_NOICON);
265MENUITEM_FUNCTION(alignment_item, 0, "Alignment", tv_alignment_setting, 251MENUITEM_FUNCTION(alignment_item, 0, "Alignment", tv_alignment_setting,
266 NULL, NULL, Icon_NOICON); 252 NULL, NULL, Icon_NOICON);
267#ifdef HAVE_LCD_BITMAP
268MENUITEM_FUNCTION(header_item, 0, "Show Header", tv_header_setting, 253MENUITEM_FUNCTION(header_item, 0, "Show Header", tv_header_setting,
269 NULL, NULL, Icon_NOICON); 254 NULL, NULL, Icon_NOICON);
270MENUITEM_FUNCTION(footer_item, 0, "Show Footer", tv_footer_setting, 255MENUITEM_FUNCTION(footer_item, 0, "Show Footer", tv_footer_setting,
@@ -273,7 +258,6 @@ MENUITEM_FUNCTION(statusbar_item, 0, "Show Statusbar", tv_statusbar_setting,
273 NULL, NULL, Icon_NOICON); 258 NULL, NULL, Icon_NOICON);
274MENUITEM_FUNCTION(font_item, 0, "Font", tv_font_setting, 259MENUITEM_FUNCTION(font_item, 0, "Font", tv_font_setting,
275 NULL, NULL, Icon_NOICON); 260 NULL, NULL, Icon_NOICON);
276#endif
277MENUITEM_FUNCTION(indent_spaces_item, 0, "Indent Spaces", tv_indent_spaces_setting, 261MENUITEM_FUNCTION(indent_spaces_item, 0, "Indent Spaces", tv_indent_spaces_setting,
278 NULL, NULL, Icon_NOICON); 262 NULL, NULL, Icon_NOICON);
279#ifdef HAVE_LCD_COLOR 263#ifdef HAVE_LCD_COLOR
@@ -284,9 +268,7 @@ MENUITEM_FUNCTION(night_mode_item, 0, "Night Mode", tv_night_mode_setting,
284MAKE_MENU(option_menu, "Viewer Options", NULL, Icon_NOICON, 268MAKE_MENU(option_menu, "Viewer Options", NULL, Icon_NOICON,
285 &encoding_item, &word_wrap_item, &line_mode_item, &windows_item, 269 &encoding_item, &word_wrap_item, &line_mode_item, &windows_item,
286 &alignment_item, 270 &alignment_item,
287#ifdef HAVE_LCD_BITMAP
288 &header_item, &footer_item, &font_item, &statusbar_item, 271 &header_item, &footer_item, &font_item, &statusbar_item,
289#endif
290 &scroll_menu, &indent_spaces_item 272 &scroll_menu, &indent_spaces_item
291#ifdef HAVE_LCD_COLOR 273#ifdef HAVE_LCD_COLOR
292 , &night_mode_item 274 , &night_mode_item
diff --git a/apps/plugins/text_viewer/tv_preferences.c b/apps/plugins/text_viewer/tv_preferences.c
index 54c21ba04d..fdfe068068 100644
--- a/apps/plugins/text_viewer/tv_preferences.c
+++ b/apps/plugins/text_viewer/tv_preferences.c
@@ -59,12 +59,10 @@ static bool tv_notify_change_preferences(const struct tv_preferences *oldp)
59 (oldp->vertical_scrollbar != preferences->vertical_scrollbar) || 59 (oldp->vertical_scrollbar != preferences->vertical_scrollbar) ||
60 (oldp->encoding != preferences->encoding) || 60 (oldp->encoding != preferences->encoding) ||
61 (oldp->indent_spaces != preferences->indent_spaces) || 61 (oldp->indent_spaces != preferences->indent_spaces) ||
62#ifdef HAVE_LCD_BITMAP
63 (oldp->header_mode != preferences->header_mode) || 62 (oldp->header_mode != preferences->header_mode) ||
64 (oldp->footer_mode != preferences->footer_mode) || 63 (oldp->footer_mode != preferences->footer_mode) ||
65 (oldp->statusbar != preferences->statusbar) || 64 (oldp->statusbar != preferences->statusbar) ||
66 (rb->strcmp(oldp->font_name, preferences->font_name)) || 65 (rb->strcmp(oldp->font_name, preferences->font_name)) ||
67#endif
68 (rb->strcmp(oldp->file_name, preferences->file_name))) 66 (rb->strcmp(oldp->file_name, preferences->file_name)))
69 { 67 {
70 /* callback functions are called as FILO */ 68 /* callback functions are called as FILO */
@@ -110,17 +108,11 @@ void tv_set_default_preferences(struct tv_preferences *p)
110 p->overlap_page_mode = false; 108 p->overlap_page_mode = false;
111 p->horizontal_scrollbar = false; 109 p->horizontal_scrollbar = false;
112 p->vertical_scrollbar = false; 110 p->vertical_scrollbar = false;
113#ifdef HAVE_LCD_BITMAP
114 p->header_mode = true; 111 p->header_mode = true;
115 p->footer_mode = true; 112 p->footer_mode = true;
116 p->statusbar = true; 113 p->statusbar = true;
117 rb->strlcpy(p->font_name, rb->global_settings->font_file, MAX_PATH); 114 rb->strlcpy(p->font_name, rb->global_settings->font_file, MAX_PATH);
118 p->font_id = rb->global_status->font_id[SCREEN_MAIN]; 115 p->font_id = rb->global_status->font_id[SCREEN_MAIN];
119#else
120 p->header_mode = false;
121 p->footer_mode = false;
122 p->statusbar = false;
123#endif
124 p->autoscroll_speed = 10; 116 p->autoscroll_speed = 10;
125 p->night_mode = false; 117 p->night_mode = false;
126 p->narrow_mode = NM_PAGE; 118 p->narrow_mode = NM_PAGE;
@@ -139,7 +131,5 @@ void tv_add_preferences_change_listner(int (*listner)(const struct tv_preference
139void tv_change_fontid(int id) 131void tv_change_fontid(int id)
140{ 132{
141 (void)id; 133 (void)id;
142#ifdef HAVE_LCD_BITMAP
143 prefs.font_id = id; 134 prefs.font_id = id;
144#endif
145} 135}
diff --git a/apps/plugins/text_viewer/tv_preferences.h b/apps/plugins/text_viewer/tv_preferences.h
index 65d9521e15..4f36dc1fb6 100644
--- a/apps/plugins/text_viewer/tv_preferences.h
+++ b/apps/plugins/text_viewer/tv_preferences.h
@@ -95,10 +95,9 @@ struct tv_preferences {
95 95
96 bool night_mode; 96 bool night_mode;
97 97
98#ifdef HAVE_LCD_BITMAP
99 unsigned char font_name[MAX_PATH]; 98 unsigned char font_name[MAX_PATH];
100 int font_id; 99 int font_id;
101#endif 100
102 unsigned char file_name[MAX_PATH]; 101 unsigned char file_name[MAX_PATH];
103}; 102};
104 103
diff --git a/apps/plugins/text_viewer/tv_settings.c b/apps/plugins/text_viewer/tv_settings.c
index dfd47ec7a3..6f4e5f2ff8 100644
--- a/apps/plugins/text_viewer/tv_settings.c
+++ b/apps/plugins/text_viewer/tv_settings.c
@@ -219,11 +219,9 @@ static bool tv_read_preferences(int pfd, int version, struct tv_preferences *pre
219 if (version > 6) 219 if (version > 6)
220 prefs->night_mode = (*p++ != 0); 220 prefs->night_mode = (*p++ != 0);
221 221
222#ifdef HAVE_LCD_BITMAP
223 rb->strlcpy(prefs->font_name, buf + read_size - MAX_PATH, MAX_PATH); 222 rb->strlcpy(prefs->font_name, buf + read_size - MAX_PATH, MAX_PATH);
224 223
225 prefs->font_id = rb->global_status->font_id[SCREEN_MAIN]; 224 prefs->font_id = rb->global_status->font_id[SCREEN_MAIN];
226#endif
227 225
228 return true; 226 return true;
229} 227}
@@ -253,9 +251,7 @@ static void tv_serialize_preferences(unsigned char *buf, const struct tv_prefere
253 *p++ = prefs->statusbar; 251 *p++ = prefs->statusbar;
254 *p++ = prefs->night_mode; 252 *p++ = prefs->night_mode;
255 253
256#ifdef HAVE_LCD_BITMAP
257 rb->strlcpy(buf + 28, prefs->font_name, MAX_PATH); 254 rb->strlcpy(buf + 28, prefs->font_name, MAX_PATH);
258#endif
259} 255}
260 256
261static bool tv_write_preferences(int pfd, const struct tv_preferences *prefs) 257static bool tv_write_preferences(int pfd, const struct tv_preferences *prefs)
diff --git a/apps/plugins/text_viewer/tv_text_processor.c b/apps/plugins/text_viewer/tv_text_processor.c
index fa644d7725..db96d61409 100644
--- a/apps/plugins/text_viewer/tv_text_processor.c
+++ b/apps/plugins/text_viewer/tv_text_processor.c
@@ -33,11 +33,7 @@ enum{
33}; 33};
34 34
35/* the max characters of each blocks */ 35/* the max characters of each blocks */
36#ifdef HAVE_LCD_BITMAP
37#define TV_MAX_CHARS_PER_BLOCK (LCD_WIDTH / 2 + 1) 36#define TV_MAX_CHARS_PER_BLOCK (LCD_WIDTH / 2 + 1)
38#else
39#define TV_MAX_CHARS_PER_BLOCK (LCD_WIDTH + 1)
40#endif
41 37
42#define TV_MAX_BLOCKS 5 38#define TV_MAX_BLOCKS 5
43 39
@@ -90,15 +86,11 @@ static int tv_glyph_width(int ch)
90 if (ch == 0) 86 if (ch == 0)
91 ch = ' '; 87 ch = ' ';
92 88
93#ifdef HAVE_LCD_BITMAP
94 /* the width of the diacritics charcter is 0 */ 89 /* the width of the diacritics charcter is 0 */
95 if (rb->is_diacritic(ch, NULL)) 90 if (rb->is_diacritic(ch, NULL))
96 return 0; 91 return 0;
97 92
98 return rb->font_get_width(rb->font_get(preferences->font_id), ch); 93 return rb->font_get_width(rb->font_get(preferences->font_id), ch);
99#else
100 return 1;
101#endif
102} 94}
103 95
104static unsigned char *tv_get_ucs(const unsigned char *str, unsigned short *ch) 96static unsigned char *tv_get_ucs(const unsigned char *str, unsigned short *ch)
@@ -138,7 +130,6 @@ static unsigned char *tv_get_ucs(const unsigned char *str, unsigned short *ch)
138 if (preferences->encoding == UTF_8) 130 if (preferences->encoding == UTF_8)
139 return (unsigned char*)rb->utf8decode(str, ch); 131 return (unsigned char*)rb->utf8decode(str, ch);
140 132
141#ifdef HAVE_LCD_BITMAP
142 if ((*str >= 0x80) && 133 if ((*str >= 0x80) &&
143 ((preferences->encoding > SJIS) || 134 ((preferences->encoding > SJIS) ||
144 (preferences->encoding == SJIS && (*str <= 0xa0 || *str >= 0xe0)))) 135 (preferences->encoding == SJIS && (*str <= 0xa0 || *str >= 0xe0))))
@@ -151,7 +142,7 @@ static unsigned char *tv_get_ucs(const unsigned char *str, unsigned short *ch)
151 } 142 }
152 count = 2; 143 count = 2;
153 } 144 }
154#endif 145
155 rb->iso_decode(str, utf8_tmp, preferences->encoding, count); 146 rb->iso_decode(str, utf8_tmp, preferences->encoding, count);
156 rb->utf8decode(utf8_tmp, ch); 147 rb->utf8decode(utf8_tmp, ch);
157 return (unsigned char *)str + count; 148 return (unsigned char *)str + count;