Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2738 → Rev 2739

/programs/network/htmlv/browser/TWB.h
1,9 → 1,7
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
//ol - öèôåðêè
 
//èç õòòï-ëîàä â ðåàäõòìë
 
 
int downloader_id;
 
dword j,
15,14 → 13,11
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.83";
char version[]=" Text-based Browser 0.9";
 
 
struct TWebBrowser {
int left,
top,
width,
height;
int left, top, width, height;
void DrawScroller();
void ShowPage();
void ParseHTML(dword, dword);
111,20 → 106,12
utf8rutodos(buf);
break;
case BACK:
BrowserHistory.GoBack();
copystr(#URL, #editURL);
za_kadrom = count = 0;
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
ShowPage(#URL);
if (!BrowserHistory.GoBack()) return;
OpenPage();
return;
case FORWARD:
BrowserHistory.GoForward();
 
copystr(#URL, #editURL);
za_kadrom = count = 0;
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
ShowPage(#URL);
if (!BrowserHistory.GoForward()) return;
OpenPage();
return;
case 054: //F5
IF(edit1.flags == 66) break;
156,17 → 143,13
case GOTOURL:
case 0x0D: //enter
copystr(#editURL, #URL);
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
za_kadrom = count = 0;
ShowPage(#URL);
OpenPage();
return;
case 173: //ctrl+enter
case SEARCHWEB:
copystr(#search_path, #URL);
copystr(#editURL, #URL + strlen(#URL));
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
za_kadrom = count = 0;
ShowPage(#URL);
OpenPage();
return;
 
case ID1: //ìîòàåì ââåðõ
201,6 → 184,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); //èãíîðèì :)
238,6 → 231,11
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();
}
275,7 → 273,7
 
if (!filesize)
{
DrawBar(left, top, width+2, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó
DrawBar(left, top, width+4, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó
if (GetProcessSlot(downloader_id)<>0) WriteText(left + 10, top + 18, 0x80, 0, "Loading...", 0);
else
{
410,7 → 408,7
GOTO DEFAULT_MARK; //îáðàáàòûâàåì áóêâó
}
WriteDebug(#tag); //òýã íå íàéäåí - âûâîäèì íà äîñêó îòëàäêè
//WriteDebug(#tag); //òýã íå íàéäåí - âûâîäèì íà äîñêó îòëàäêè
copystr(#tag, #line + strlen(#line)); //âûâîäèì íà ýêðàí íåîáðàáîòàííûé òåã, òàê áðàóçåðû çà÷åì-òî äåëàþò
break;
default:
595,7 → 593,7
/////////////////////////
if (!chTag("font"))
{
IF(stroka < 0) || (stroka - 1 > max_kolvo_strok) return;
IF (stroka - 1 > max_kolvo_strok) return;
COL_MARK:
if (strcmp(#parametr, "color=") == 0) //&& (parametr[1] == '#')
{
766,7 → 764,8
}
 
 
void TextGoDown(int left1, top1, width1) {
void TextGoDown(int left1, top1, width1)
{
stroka++;
IF(blq_text == 1) stolbec = 8;
ELSE stolbec = 0;
776,23 → 775,18
 
 
//ñêðîëë
void TWebBrowser::DrawScroller() {
dword on_y;
DrawBar(left + width - 15, top + 17, 1, height - 34, 0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè
DrawFlatButton(left + width - 15, top + height - 17, 16, 16, ID2, 0xE4DFE1, "\x19");
DrawFlatButton(left + width - 15, top, 16, 16, ID1, 0xE4DFE1, "\x18");
void TWebBrowser::DrawScroller() //íå îïòèìàëüíàÿ îòðèñîâêà, íî çàòî â îäíîì ìåñòå
{
scroll1.max_area = count;
scroll1.cur_area = max_kolvo_strok;
scroll1.position = za_kadrom;
 
IF(count <= max_kolvo_strok) {
DrawBar(left + width - 14, top+17, 16, height - 34, 0xCED0D0);
return;
}
scroll1.all_redraw=1;
scroll1.start_x=Form.width-28; //left + width - 15
scroll1.size_y=WB1.height;
 
scroll_size = height - 16 * max_kolvo_strok / count - 3;
IF(scroll_size < 10) scroll_size = 10;
IF(za_kadrom + max_kolvo_strok >= count) on_y = height - scroll_size + top - 17;
ELSE on_y = height - 32 * za_kadrom / count + top + 16;
DrawFlatButton(left + width - 15, on_y, 16, scroll_size, 0, 0xE4DFE1, ""); //ïîëçóíîê
IF(on_y > top + 17) DrawBar(left + width - 14, top + 17, 16, on_y - top - 17, 0xCED0D0); //ïîëå äî ïîëçóíêà
IF(height - scroll_size + top - 17 > on_y)
DrawBar(left + width - 14, on_y + scroll_size + 1, 16, height - scroll_size - on_y + top - 18, 0xCED0D0); //ïîëå ïîñëå ïîëçóíêà
scrollbar_v_draw(#scroll1);
 
DefineButton(scroll1.start_x+1, scroll1.start_y+1, 16, 16, ID1+BT_HIDE, 0xE4DFE1);
DefineButton(scroll1.start_x+1, scroll1.start_y+scroll1.size_y-18, 16, 16, ID2+BT_HIDE, 0xE4DFE1);
}