HTMLv 0.78

git-svn-id: svn://kolibrios.org@2433 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2012-03-07 22:51:05 +00:00
parent 040b9afa64
commit af9f746fc1
4 changed files with 31 additions and 10 deletions

View File

@ -1,5 +1,5 @@
//HTML Viewer in C-- //HTML Viewer in C--
//Copyright 2007-20012 by Veliant & Leency //Copyright 2007-2012 by Veliant & Leency
//Asper, Lrz, Nable, lev. //Asper, Lrz, Nable, lev.
#include "..\lib\kolibri.h--" #include "..\lib\kolibri.h--"
@ -56,6 +56,8 @@ void main()
copystr(#URL,#editURL); copystr(#URL,#editURL);
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
//Draw_Window(); //shis is right
//WB1.ShowPage(#URL); //shis is right
SetEventMask(0x27); SetEventMask(0x27);
loop() loop()
@ -144,10 +146,13 @@ void Draw_Window()
DrawRegion_3D(205,14,onLeft(58,205),18,0x94AECE,0x94AECE); //îáîäîê ïîëîñû àäðåñà DrawRegion_3D(205,14,onLeft(58,205),18,0x94AECE,0x94AECE); //îáîäîê ïîëîñû àäðåñà
DrawRegion_3D(206,15,onLeft(59,205),16,0xE4ECF3,0xE4ECF3); DrawRegion_3D(206,15,onLeft(59,205),16,0xE4ECF3,0xE4ECF3);
edit1.width=Form.width-266; edit1.width=Form.width-266;
//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà //shis is right
WB1.top=44; WB1.top=44;
WB1.width=Form.width-11; WB1.width=Form.width-11;
WB1.height=onTop(43,5); WB1.height=onTop(43,5);
WB1.ShowPage(#URL); WB1.ShowPage(#URL);
//WB1.ParseHTML(buf, filesize); //shis is right
} }
int onLeft(dword right,left) {return Form.width-right-left;} int onLeft(dword right,left) {return Form.width-right-left;}

View File

@ -2,6 +2,10 @@
- поддержка <body> "bgcolor=" и "text="; - поддержка <body> "bgcolor=" и "text=";
- обработка перехода вверх "../"; - обработка перехода вверх "../";
- jpg, gif, png открываются через kiv. - jpg, gif, png открываются через kiv.
- теперь изображения легко могут быть ссылками;
- 2 небольших фикса для изображений, кнопки BackSpace;
- чуток улучшена обработка урлов, содержащих #.
29.02.12 -- v0.76 -- 11.3 29.02.12 -- v0.76 -- 11.3

View File

@ -1,11 +1,9 @@
//Web-component, Leency & Veliant 2007-20012
//lev
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè //èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
//ol - öèôåðêè //ol - öèôåðêè
//èç õòòï-ëîàä â ðåàäõòìë //èç õòòï-ëîàä â ðåàäõòìë
int downloader_id; int downloader_id;
dword j, dword j,
@ -17,7 +15,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.77"; char version[]=" Text-based Browser 0.78";
struct TWebBrowser { struct TWebBrowser {
@ -66,11 +64,18 @@ void TWebBrowser::Scan(dword id) {
//ýòó âñþ õðåíü íóæíî â GetNewUrl() ïåðåìåñòèòü //ýòó âñþ õðåíü íóæíî â GetNewUrl() ïåðåìåñòèòü
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî... IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
copystr(#editURL, #URL); copystr(BrowserHistory.CurrentUrl(), #editURL);
copystr(#URL, #editURL + strlen(#editURL));
//edit1.size = edit1.pos = strlen(#editURL);
//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
copystr(BrowserHistory.CurrentUrl(), #URL);
ShowPage(#URL);
return; return;
} }
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü) URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü) //ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ
GetNewUrl(); GetNewUrl();
@ -78,7 +83,7 @@ void TWebBrowser::Scan(dword id) {
if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg")) if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg"))
{ {
RunProgram("/sys/media/kiv", #URL); RunProgram("/sys/media/kiv", #URL);
copystr(#editURL, #URL); copystr(BrowserHistory.CurrentUrl(), #URL);
return; return;
} }
@ -183,7 +188,7 @@ void TWebBrowser::Scan(dword id) {
} }
void GetNewUrl(){ void GetNewUrl(){
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); //èãíîðèì :)
if (URL[0] <> '/') if (URL[0] <> '/')
&& (strcmp(get_URL_part(5),"http:")<>0) && (strcmp(get_URL_part(5),"mailt")<>0) && (strcmp(get_URL_part(5),"ftp:/")<>0) && (strcmp(get_URL_part(5),"http:")<>0) && (strcmp(get_URL_part(5),"mailt")<>0) && (strcmp(get_URL_part(5),"ftp:/")<>0)
@ -681,7 +686,7 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
{ {
img_za_kadrom=WB1.top-top1; img_za_kadrom=WB1.top-top1;
h=h-img_za_kadrom; h=h-img_za_kadrom;
top1=WB1.top-5; top1=WB1.top;
} }
if (top1>WB1.top+WB1.height-h-10) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó IF (stroka - 2 < max_kolvo_strok) if (top1>WB1.top+WB1.height-h-10) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó IF (stroka - 2 < max_kolvo_strok)
@ -693,6 +698,11 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
img_draw stdcall (image,left1-5,top1+10,w, h,0,img_za_kadrom); img_draw stdcall (image,left1-5,top1+10,w, h,0,img_za_kadrom);
DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color); DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color);
IF (link)
{
DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9);
}
} }
/*else /*else
{ {

View File

@ -14,7 +14,9 @@ void UrlsHistory::GoBack()
UrlHistory[j] = 0x00; UrlHistory[j] = 0x00;
j = find_symbol(#UrlHistory, '|'); //предыдущая страница -> она нам и нужна j = find_symbol(#UrlHistory, '|'); //предыдущая страница -> она нам и нужна
copystr(#UrlHistory + j, #URL); copystr(#UrlHistory + j, #URL);
copystr(#URL, #editURL); copystr(#URL, #editURL);
za_kadrom = count = 0;
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
WB1.ShowPage(#URL); WB1.ShowPage(#URL);
} }