/programs/network/htmlv/browser/HTMLv.c-- |
---|
24,7 → 24,7 |
int max_kolvo_strok, //lines_visible |
max_kolvo_stolbcov, |
count, //lines_all |
za_kadrom, //lines_first |
za_kadrom, |
mouse_dd; |
edit_box edit1= {250,207,16,0xffffff,0x94AECE,0xffffff,0xffffff,0,248,#editURL,#mouse_dd,2,19,19}; |
31,15 → 31,14 |
scroll_bar scroll1 = { 18,200,398, 44,18,0,115,15,0,0xeeeeee,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}; //details in scroll_lib.h-- |
proc_info Form; |
dword stak[100]; //ìåíþ ÏÊÌ |
mouse m; |
#include "TWB.h" |
#include "include\menu_rmb.h" |
void main() |
{ |
mouse m; |
int btn; |
byte key; |
int scroll_size; |
52,14 → 51,17 |
if (param) copystr(#param,#URL); |
else copystr("/sys/index.htm",#URL); |
copystr(#URL,#editURL); |
OpenPage(); |
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); |
//Draw_Window(); //shis is right |
//WB1.ShowPage(#URL); //shis is right |
SetEventMask(0x27); |
loop() |
{ |
WaitEventTimeout(2); |
WaitEventTimeout(1); |
switch(EAX & 0xFF) |
{ |
CASE evMouse: |
72,17 → 74,8 |
WB1.ParseHTML(buf, filesize); |
//break; |
};*/ |
btn=GetSlot(Form.ID); |
IF (btn<>ActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì |
m.get(); |
if (m.pkm) && (m.y>WB1.top) && (m.y<Form.height) && (filesize) |
{ |
CreateThread(#menu_rmb,#stak); |
break; |
} |
IF (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì |
{ |
IF (za_kadrom==0) break; |
127,12 → 120,12 |
{ |
WB1.Scan(btn); |
} |
break; |
BREAK; |
case evKey: |
key = GetKey(); |
WB1.Scan(key); |
IF (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà |
break; |
BREAK; |
case evReDraw: |
Draw_Window(); |
break; |
141,10 → 134,7 |
{ |
if (GetProcessSlot(downloader_id)<>0) break; |
downloader_id=0; |
ReadHtml(); |
if (filesize) wintodos(buf); |
Draw_Window(); |
//WB1.ShowPage(#URL); |
} |
} |
} |
178,13 → 168,14 |
DrawRegion(206,15,onLeft(59,205),16,0xE4ECF3); |
edit1.width=Form.width-266; |
//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà //shis is right |
WB1.top=44; |
WB1.width=Form.width-13; |
WB1.height=onTop(43,5); |
max_kolvo_stolbcov = WB1.width - 30 / 6; |
max_kolvo_strok = WB1.height - 3 / 10 - 2; |
WB1.ShowPage(#URL); |
WB1.ShowPage(#URL); |
//WB1.ParseHTML(buf, filesize); //shis is right |
} |
int onLeft(dword right,left) {return Form.width-right-left;} |
/programs/network/htmlv/browser/TWB.h |
---|
1,4 → 1,7 |
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè |
//ol - öèôåðêè |
int downloader_id; |
dword j, |
8,8 → 11,9 |
int i; |
char download_path[]="/rd/1/.download"; |
//char search_path[]="http://nova.rambler.ru/search?words="; |
char search_path[]="http://nigma.ru/index.php?s="; |
char version[]=" Text-based Browser 0.92"; |
char version[]=" Text-based Browser 0.9b"; |
struct TWebBrowser { |
52,15 → 56,20 |
if (id > 399) |
{ |
GetURLfromPageLinks(id); |
//ýòó âñþ õðåíü íóæíî â GetNewUrl() ïåðåìåñòèòü |
if (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî... |
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî... |
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; |
} |
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, íî ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ |
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü) //ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ |
GetNewUrl(); |
107,7 → 116,9 |
Draw_Window(); |
return; |
} |
OpenPage(); //îò ñåðäöà îòðûâàþ, çäåñü íóæíî za_kadrom ñòàðîå |
copystr(#URL, #editURL); |
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); |
ShowPage(#URL); |
return; |
case 014: //Ctrl+N íîâîå îêíî |
case 020: //Ctrl+T íîâàÿ âêëàäêà |
166,8 → 177,16 |
ParseHTML(buf, filesize); |
} |
void OpenPage() |
{ |
if (GetProcessSlot(downloader_id)<>0) PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal); |
KillProcess(downloader_id); |
copystr(#URL, #editURL); |
za_kadrom = count = 0; |
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); |
WB1.ShowPage(#URL); |
} |
void GetNewUrl(){ |
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); //èãíîðèì :) |
197,7 → 216,24 |
} |
void HttpLoad() |
{ |
//count = 0; ÿ äóìàþ åìó ìåñòî çäåñü |
copystr(#version, #header); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
DeleteFile(#download_path); |
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]=''; |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
//ýòî ãåíèàëüíî è ýòî ïèçäåö!!! |
Pause(60); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
// |
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable."); |
Draw_Window(); |
} |
void ReadHtml() |
{ |
if (!strcmp(get_URL_part(5),"http:"))) |
206,8 → 242,7 |
file_size stdcall (#URL); |
filesize = EBX; |
if (!filesize) return; |
if (!filesize) /*{Pause(200); ReadHtml();}*/ return; |
mem_Free(buf); |
buf = mem_Alloc(filesize); |
if (!strcmp(get_URL_part(5),"http:"))) |
217,44 → 252,18 |
} |
void OpenPage() |
{ |
if (GetProcessSlot(downloader_id)<>0) PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal); |
KillProcess(downloader_id); |
copystr(#URL, #editURL); |
BrowserHistory.AddUrl(); |
za_kadrom = count = 0; |
if (!strcmp(get_URL_part(5),"http:"))) |
{ |
copystr(#version, #header); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
DeleteFile(#download_path); |
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]=''; |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
//ýòî ãåíèàëüíî è ýòî ïèçäåö!!! |
Pause(60); |
if (GetProcessSlot(downloader_id)<>0) |
{ |
WriteDebug("Browser Hack v2.0: Killing downloader and trying to run it one more!"); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
} |
// |
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable."); |
Draw_Window(); |
return; |
} |
ReadHtml(); |
if (filesize) wintodos(buf); |
WB1.ShowPage(#URL); |
} |
void TWebBrowser::ShowPage(dword adress) |
{ |
void TWebBrowser::ShowPage(dword adress) { |
max_kolvo_stolbcov = width - 30 / 6; |
max_kolvo_strok = height - 3 / 10 - 2; |
edit1.size = edit1.pos = strlen(#editURL); |
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà |
BrowserHistory.AddUrl(); |
//LETS_LOAD |
ReadHtml(); |
if (!filesize) |
{ |
DrawBar(left, top, width+4, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó |
268,6 → 277,7 |
return; |
} |
wintodos(buf); |
ParseHTML(buf, filesize); |
IF (!strcmp(#version, #header)) DrawTitle(#header); |
} |
/programs/network/htmlv/browser/History.txt |
---|
1,9 → 1,3 |
13.06.12 -- v0.92 |
- áàçîâîå ìåíþ ÏÊÌ; |
- óáðàíà ïîñòîÿííàÿ çàãðóçêà ñòðàíèöû ïðè ïåðåðèñîâêå îêíà; |
- êîñòûëè âåðñèè 2.0 äëÿ ðàáîòû ñ downloader'îì; |
- ðàçäåëåíèå êîäà çàãðóçêè è îòîáðàæåíèÿ ñòðàíèöû: ÷àñòü 1. |
04.06.12 -- v0.90 |
- íîâûé ñêðîëëáàð èç box_lib (ñïàñèáî lev); |
- íîðìàëüíàÿ çàãðóçêà ñòðàíèö áåç ñêèäûâàíèÿ ôîêóñà ñ îêíà; |
/programs/network/htmlv/browser/include/menu_rmb.h |
---|
File deleted |
\ No newline at end of file |
/programs/network/htmlv/browser/include/acid_0.1.htm |
---|
58,7 → 58,6 |
<p><a href='index.htm'>Íà ãëàâíóþ ñòðàíèöó index.htm</a></p> |
<p><a href="index.htm#home" id="#end">index.htm#home</a></p> |
<p><a href="#home">#home</a></p> |
<p><a href="background.gif">Ôîíîâàÿ êàðòèíêà</a></p> |
</body> |
/programs/network/htmlv/browser/include/unicode_tags.h |
---|
18,7 → 18,6 |
char *unicode_tags[]={ |
"nbsp", " ", |
"#38", " ", |
"#160", " ", |
"copy", "(c)", |
"#169", "(c)", |
60,9 → 59,7 |
"#8221", "\"", |
"laquo", "<<", |
"#171", "<<", |
"raquo", ">>", |
"#187", ">>", |
"uarr", "\24", |
"darr", "\25", |
/programs/network/htmlv/browser/compile.bat |
---|
2,5 → 2,4 |
del HTMLv |
rename HTMLv.com HTMLv |
rem ..\C--\kpack HTMLv |
del warning.txt |
pause |
/programs/network/htmlv/browser/ReadMe.txt |
---|
0,0 → 1,28 |
==Î ïðîãðàììå HTMLv== |
HTMLv - ýòî òåêñòîâûé áðàóçåð, à òàê æå ïðîñìîòðîâùèê âåá-ñòðàíèö. Ïîêà ÷òî |
ïîääåðæèâàåò òîëüêî ôîðìàòèðîâàíèå òåêñòà ñ íåêîòîðûìè âëîæåíûìè ïàðàìåòðàìè. |
Ïðîãðàììà íàïèñàíà íà ÿçûêå C--.  í¸ì ìîæíî ïèñàòü ïðîãðàììû, êàê íà Ñè, òàê è íà àñìå, ïðèòîì èõ òàì óäîáíî ñîâìåùàòü. |
Îáñóæäåíèå ïðîãðàììû çäåñü: |
http://board.kolibrios.org/viewtopic.php?f=9&t=1075 |
==Óñòàíîâêà== |
Ñàìà ïðîãðàììà ìîæåò áûòü çàïóùåíà îòêóäà óãîäíî. Äëÿ ðàáîòû ñ Èíòåðíåòîì íåîáõîäèì downloader. |
==Èíòåðíåò== |
Åñëè âàøà ñåòåâàÿ êàðòà íå ïîääåðæèâàåòñÿ Êîëèáðè íàòèâíî - íå áåäà: |
îíà ïîääåðæèâàåòñÿ â Qemu è VirtualBox. |
==Ïðîáëåìû== |
Îòïèñûâàéòåñü â òåìå, åñëè ÷òî-òî íå òàê. Ññûëêà âûøå. |
==Àâòîðû== |
Leency - ðàçðàáîòêà, äèçàéí. |
Asper - êîä ðàáîòû ñ áèáëèîòåêàìè Êîëèáðè, ïîääåðæêà èçîáðàæåíèé, UTF-8. |
Veliant - àâòîð ïðîãðàììû-ïðåäøåñòâåííèêà, ïîìîùü, ñîâåòû. |
Barsuk - ïðîãðàììà downloader, êîä ðàáîòû ñ íåé. |
Lrz - êîìïîíåíò EditBox. |
Nable - îïòèìèçàöèè. |
lev - îïòèìèçàöèè, íåêîòîðûå äîðàáîòêè. |