forked from KolibriOS/kolibrios
HTMLv 0.76 - bugfix realise.
git-svn-id: svn://kolibrios.org@2418 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
c8d984dbb7
commit
eb66075c13
@ -1,5 +1,9 @@
|
|||||||
xx.xx.12 -- v0.7x -- 11.x
|
29.02.12 -- v0.76 -- 11.x
|
||||||
- исправлена работа кнопки "Назад".
|
- исправлена работа кнопки "Назад";
|
||||||
|
- в историю посещённых страниц не может быть добавлено 2 одинаковых адреса подряд;
|
||||||
|
- исправлено исчезание заголовка страниц;
|
||||||
|
- исчезала кнопка вверх в прокрутке - исправлено;
|
||||||
|
- некоторые другие исправления.
|
||||||
|
|
||||||
|
|
||||||
27.02.12 -- v0.75 -- 11.? Ęá
|
27.02.12 -- v0.75 -- 11.? Ęá
|
||||||
|
@ -19,7 +19,7 @@ dword j,
|
|||||||
char download_path[]="/rd/1/.download";
|
char download_path[]="/rd/1/.download";
|
||||||
//char search_path[]="http://nova.rambler.ru/search?words=";
|
//char search_path[]="http://nova.rambler.ru/search?words=";
|
||||||
char search_path[]="http://nigma.ru/index.php?s=";
|
char search_path[]="http://nigma.ru/index.php?s=";
|
||||||
char version[]=" Text-based Browser 0.75";
|
char version[]=" Text-based Browser 0.76";
|
||||||
|
|
||||||
|
|
||||||
struct TWebBrowser {
|
struct TWebBrowser {
|
||||||
@ -76,14 +76,13 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
GetNewUrl();
|
GetNewUrl();
|
||||||
|
|
||||||
BrowserHistory.AddUrl();
|
BrowserHistory.AddUrl();
|
||||||
|
|
||||||
|
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
||||||
//Lee 21.02 }
|
//Lee 21.02 }
|
||||||
|
|
||||||
copystr(#URL, #editURL);
|
copystr(#URL, #editURL);
|
||||||
//ShowPage(#URL);
|
za_kadrom = count = 0;
|
||||||
Draw_Window();
|
ShowPage(#URL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,6 +133,7 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
case 0x0D: //enter
|
case 0x0D: //enter
|
||||||
copystr(#editURL, #URL);
|
copystr(#editURL, #URL);
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
||||||
|
za_kadrom = count = 0;
|
||||||
ShowPage(#URL);
|
ShowPage(#URL);
|
||||||
return;
|
return;
|
||||||
case 173: //ctrl+enter
|
case 173: //ctrl+enter
|
||||||
@ -141,6 +141,7 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
copystr(#search_path, #URL);
|
copystr(#search_path, #URL);
|
||||||
copystr(#editURL, #URL + strlen(#URL));
|
copystr(#editURL, #URL + strlen(#URL));
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
||||||
|
za_kadrom = count = 0;
|
||||||
ShowPage(#URL);
|
ShowPage(#URL);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -201,9 +202,8 @@ void GetNewUrl(){
|
|||||||
|
|
||||||
|
|
||||||
void HttpLoad()
|
void HttpLoad()
|
||||||
{
|
{
|
||||||
za_kadrom = 0;
|
//count = 0; ÿ äóìàþ åìó ìåñòî çäåñü
|
||||||
|
|
||||||
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
||||||
DeleteFile(#download_path);
|
DeleteFile(#download_path);
|
||||||
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
|
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
|
||||||
@ -235,7 +235,6 @@ void ReadHtml()
|
|||||||
void TWebBrowser::ShowPage(dword adress) {
|
void TWebBrowser::ShowPage(dword adress) {
|
||||||
max_kolvo_stolbcov = width - 30 / 6;
|
max_kolvo_stolbcov = width - 30 / 6;
|
||||||
max_kolvo_strok = height - 3 / 10 - 2;
|
max_kolvo_strok = height - 3 / 10 - 2;
|
||||||
copystr(#version, #header);
|
|
||||||
edit1.size = edit1.pos = strlen(#editURL);
|
edit1.size = edit1.pos = strlen(#editURL);
|
||||||
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
||||||
|
|
||||||
@ -276,6 +275,7 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
|
|||||||
blink = 400;
|
blink = 400;
|
||||||
line = '';
|
line = '';
|
||||||
copystr("|", #page_links);
|
copystr("|", #page_links);
|
||||||
|
copystr(#version, #header);
|
||||||
IF(!strcmp(#URL + strlen(#URL) - 4, ".txt")) pre_text = 1; //çà÷¸òíîå îòîáðàæåíèå òåêñòà
|
IF(!strcmp(#URL + strlen(#URL) - 4, ".txt")) pre_text = 1; //çà÷¸òíîå îòîáðàæåíèå òåêñòà
|
||||||
//IF(!strcmp(#URL + strlen(#URL) - 4, ".rtf")) pre_text = 1;
|
//IF(!strcmp(#URL + strlen(#URL) - 4, ".rtf")) pre_text = 1;
|
||||||
IF(!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
|
IF(!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
|
||||||
@ -327,9 +327,7 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
|
|||||||
}
|
}
|
||||||
lowcase(#tag);
|
lowcase(#tag);
|
||||||
lowcase(#tagparam);
|
lowcase(#tagparam);
|
||||||
//WriteDebug(#tagparam);
|
|
||||||
//WriteDebug(#tag); Pause(50);
|
|
||||||
//
|
|
||||||
IF (tag[strlen(#tag)-1]=='/') tag[strlen(#tag)-1]=''; //íåáîëüøîé ôèêñ äëÿ ðàáîòû ñ XHTML-òåãàìè òèïà br/
|
IF (tag[strlen(#tag)-1]=='/') tag[strlen(#tag)-1]=''; //íåáîëüøîé ôèêñ äëÿ ðàáîòû ñ XHTML-òåãàìè òèïà br/
|
||||||
IF(strlen(#tagparam) > 0) && (strlen(#tagparam) < 4000) GetNextParam();
|
IF(strlen(#tagparam) > 0) && (strlen(#tagparam) < 4000) GetNextParam();
|
||||||
WhatTextStyle(left + 5, stroka * 10 + top + 5, width - 20); //îáðàáîòêà òåãîâ
|
WhatTextStyle(left + 5, stroka * 10 + top + 5, width - 20); //îáðàáîòêà òåãîâ
|
||||||
@ -350,35 +348,6 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
|
|||||||
bukva=Hex2Symb(#temp);
|
bukva=Hex2Symb(#temp);
|
||||||
IF (bukva) goto DEFAULT_MARK;
|
IF (bukva) goto DEFAULT_MARK;
|
||||||
break;
|
break;
|
||||||
/*case '\\': //ïîääåðæêà rtf
|
|
||||||
IF(strcmp(#URL + strlen(#URL) - 4, ".rtf")<>0) goto DEFAULT_MARK;
|
|
||||||
|
|
||||||
bword++;
|
|
||||||
IF (ESBYTE[bword] =='\'')
|
|
||||||
{
|
|
||||||
bword++;
|
|
||||||
bukva=ESBYTE[bword];
|
|
||||||
copystr(#bukva, #temp);
|
|
||||||
|
|
||||||
bword++;
|
|
||||||
bukva=ESBYTE[bword];
|
|
||||||
copystr(#bukva, #temp + strlen(#temp));
|
|
||||||
|
|
||||||
bukva=Hex2Symb(#temp);
|
|
||||||
IF (bukva) goto DEFAULT_MARK;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
FOR (j=0; (ESBYTE[bword] <>'\\') && (buf + fsize < bword); j++; bword++;)
|
|
||||||
{
|
|
||||||
bukva = ESBYTE[bword];
|
|
||||||
copystr(#bukva, #tag + strlen(#tag));
|
|
||||||
}
|
|
||||||
IF ((!strcmp(#tag, "par\0x0a")) || (!strcmp(#tag, "par\0x0b"))) stroka++;
|
|
||||||
tag='';
|
|
||||||
bword--;
|
|
||||||
}
|
|
||||||
break;*/
|
|
||||||
|
|
||||||
case '&': //îáðàáîòêà òåãîâ òèïà
|
case '&': //îáðàáîòêà òåãîâ òèïà
|
||||||
IF(ignor_text) break;
|
IF(ignor_text) break;
|
||||||
@ -501,18 +470,19 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
IF(!chTag("script")) || (!chTag("style")) ignor_text = rez;
|
IF(!chTag("script")) || (!chTag("style")) ignor_text = rez;
|
||||||
IF (ignor_text == 1) return;
|
|
||||||
//
|
|
||||||
|
|
||||||
if(!chTag("title")) && (!rez) && (stroka == 0)
|
if(!chTag("title")) && (!rez)
|
||||||
{
|
{
|
||||||
copystr(#line, #header);
|
copystr(#line, #header);
|
||||||
copystr(" -", #header + strlen(#header));
|
copystr(" -", #header + strlen(#header));
|
||||||
copystr(#version, #header + strlen(#header));
|
copystr(#version, #header + strlen(#header));
|
||||||
DrawTitle(#header);
|
if (stroka==0) DrawTitle(#header);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IF (ignor_text == 1) return;
|
||||||
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
IF(!chTag("q")) copystr("\"", #line + strlen(#line));
|
IF(!chTag("q")) copystr("\"", #line + strlen(#line));
|
||||||
|
|
||||||
@ -759,7 +729,7 @@ void TWebBrowser::DrawScroller() {
|
|||||||
DrawFlatButton(left + width - 15, top, 16, 16, ID1, 0xE4DFE1, "\x18");
|
DrawFlatButton(left + width - 15, top, 16, 16, ID1, 0xE4DFE1, "\x18");
|
||||||
|
|
||||||
IF(count <= max_kolvo_strok) {
|
IF(count <= max_kolvo_strok) {
|
||||||
DrawBar(left + width - 14, top, 16, height - 17, 0xCED0D0);
|
DrawBar(left + width - 14, top+17, 16, height - 34, 0xCED0D0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,8 @@ void UrlsHistory::GoBack()
|
|||||||
|
|
||||||
void UrlsHistory::AddUrl()
|
void UrlsHistory::AddUrl()
|
||||||
{
|
{
|
||||||
|
if (strcmp(BrowserHistory.CurrentUrl(), #URL)==0) return; //åñëè íîâûé àäðåññ = òåêóùåìó
|
||||||
|
|
||||||
IF (strlen(#UrlHistory)>6000) copystr(#UrlHistory+5000,#UrlHistory);
|
IF (strlen(#UrlHistory)>6000) copystr(#UrlHistory+5000,#UrlHistory);
|
||||||
copystr("|", #UrlHistory + strlen(#UrlHistory));
|
copystr("|", #UrlHistory + strlen(#UrlHistory));
|
||||||
copystr(#URL, #UrlHistory + strlen(#UrlHistory));
|
copystr(#URL, #UrlHistory + strlen(#UrlHistory));
|
||||||
|
Loading…
Reference in New Issue
Block a user