diff --git a/programs/cmm/TWB/TWB.c b/programs/cmm/TWB/TWB.c index 7f8232f542..adb8ab62eb 100644 --- a/programs/cmm/TWB/TWB.c +++ b/programs/cmm/TWB/TWB.c @@ -38,9 +38,9 @@ byte t_html, t_body; -dword bufpointer; -dword o_bufpointer; -dword bufsize; +dword bufpointer=0; +dword o_bufpointer=0; +dword bufsize=0; dword text_colors[300]; dword text_color_index; @@ -152,8 +152,8 @@ void TWebBrowser::Prepare(){ case 0x0a: if (style.pre) { - chrcat(#line, ' '); - Perenos(); + DrawStyle(); + NewLine(); break; } case '\9': @@ -370,7 +370,7 @@ void TWebBrowser::SetStyle() { if (opened) { WB1.DrawBuf.zoom=2; - WB1.list.SetFont(8, 14, 10111001b); + WB1.list.font_type |= 10111001b; if (isattr("align=")) && (isval("center")) style.align = ALIGN_CENTER; if (isattr("align=")) && (isval("right")) style.align = ALIGN_RIGHT; if (stroka>1) NewLine(); @@ -378,7 +378,7 @@ void TWebBrowser::SetStyle() { else { WB1.DrawBuf.zoom=1; - WB1.list.SetFont(8, 14, 10111000b); + WB1.list.font_type = 10111000b; style.align = ALIGN_LEFT; } return; diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index cc71271884..2a36c57abf 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -25,14 +25,14 @@ char homepage[] = FROM "html\\homepage.htm"; #ifdef LANG_RUS - char version[]=" Текстовый браузер 1.38"; + char version[]=" Текстовый браузер 1.39"; ?define IMAGES_CACHE_CLEARED "Кэш картинок очищен" ?define T_LAST_SLIDE "Это последний слайд" char loading[] = "Загрузка страницы...
"; char page_not_found[] = FROM "html\page_not_found_ru.htm"; char accept_language[]= "Accept-Language: ru\n"; #else - char version[]=" Text-based Browser 1.38"; + char version[]=" Text-based Browser 1.39"; ?define IMAGES_CACHE_CLEARED "Images cache cleared" ?define T_LAST_SLIDE "This slide is the last" char loading[] = "Loading...
"; @@ -281,7 +281,7 @@ void Draw_Window() void Scan(dword id__) { action_buf=0; - if (WB1.list.ProcessKey(key_scancode)) WB1.DrawPage(); + if (WB1.list.ProcessKey(id__)) WB1.DrawPage(); else switch (id__) { case SCAN_CODE_BS: diff --git a/programs/cmm/lib/list_box.h b/programs/cmm/lib/list_box.h index eee1b42ee4..dd36d1efd6 100644 --- a/programs/cmm/lib/list_box.h +++ b/programs/cmm/lib/list_box.h @@ -11,7 +11,7 @@ struct llist { int x, y, w, h, line_h, text_y; int count, visible, first, current, column_max; //visible = row_max - dword font_w, font_h, font_type; + byte font_w, font_h, font_type; byte wheel_size; byte active; byte no_selection; @@ -126,7 +126,14 @@ int llist::ProcessKey(dword key) int llist::KeyDown() { - if (current-first+1= count) return 0; + first++; + return 1; + } + + if (current-first+1= count) return 0; current++; @@ -147,7 +154,14 @@ int llist::KeyDown() int llist::KeyUp() { - if (current > first) && (!no_selection) + if (no_selection) + { + if (first == 0) return 0; + first--; + return 1; + } + + if (current > first) { current--; }