Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5710 → Rev 5711

/programs/cmm/browser/WebView.c
88,7 → 88,7
#define URL_SERVICE_HOME "WebView://home"
#define URL_SERVICE_SOURCE "WebView://source:"
 
enum { BACK=300, FORWARD, REFRESH, HOME, NEWTAB, GOTOURL, SEARCHWEB, INPUT_CH, INPUT_BT, BTN_UP, BTN_DOWN };
enum { BUTTON_BACK=1000, FORWARD, REFRESH, HOME, NEWTAB, GOTOURL, SEARCHWEB, INPUT_CH, INPUT_BT };
 
libimg_image skin;
 
119,7 → 119,7
 
void main()
{
unsigned long key, btn;
dword btn;
int half_scroll_size;
int scroll_used=0, show_menu;
133,6 → 133,7
SetSkinColors();
WB1.DrawBuf.zoom = 1;
WB1.list.SetFont(6, 9, 10001000b);
Form.width=WIN_W;
Form.height=WIN_H;
SetElementSizes();
188,19 → 189,24
if (btn!=WB1.list.first) WB1.Parse();
}
break;
 
case evButton:
btn=GetButtonID();
if (btn==1) ExitProcess();
Scan(btn);
break;
 
case evKey:
key = GetKey();
GetKeys();
if (address_box.flags & 0b10)
{
if (key==ASCII_KEY_ENTER) Scan(key); else
if (key!=0x0d) && (key!=183) && (key!=184) {EAX=key<<8; edit_box_key stdcall(#address_box);}
if (key_ascii == ASCII_KEY_ENTER) Scan(key_scancode); else
if (key_ascii != 0x0d) && (key_ascii != 183) && (key_ascii != 184) {EAX = key_ascii << 8; edit_box_key stdcall(#address_box);}
}
else Scan(key);
else
{
Scan(key_scancode);
}
break;
 
case evReDraw:
285,8 → 291,7
address_box.top = TOOLBAR_H-TAB_H/2-7+TAB_H;
address_box.width = Form.cwidth - address_box.left - 25 - 22;
WB1.list.SetSizes(0, TOOLBAR_H, Form.width - 10 - scroll_wv.size_x / WB1.DrawBuf.zoom,
Form.cheight - TOOLBAR_H - STATUSBAR_H, 11*WB1.DrawBuf.zoom);
WB1.list.SetFont(6, 9, 0x88);
Form.cheight - TOOLBAR_H - STATUSBAR_H, WB1.list.font_h + WB1.DrawBuf.zoom + WB1.DrawBuf.zoom * WB1.DrawBuf.zoom);
WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w;
WB1.list.visible = WB1.list.h - 5 / WB1.list.line_h;
WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, WB1.list.line_h);
314,8 → 319,8
DrawRectangle(address_box.left-1, address_box.top-1, address_box.width+2, 16,address_box.color);
DrawRectangle(address_box.left-2, address_box.top-2, address_box.width+4, 18,border_color);
// < / >
DefineButton(address_box.left-49, address_box.top-1, 23, skin.h-2, 300+BT_HIDE, 0);
DefineButton(address_box.left-25, address_box.top-1, 23, skin.h-2, 301+BT_HIDE, 0);
DefineButton(address_box.left-49, address_box.top-1, 23, skin.h-2, BUTTON_BACK+BT_HIDE, 0);
DefineButton(address_box.left-25, address_box.top-1, 23, skin.h-2, FORWARD+BT_HIDE, 0);
img_draw stdcall(skin.image, address_box.left-50, address_box.top-2, 48, skin.h, 3, 0);
// refrash
DefineButton(address_box.left+address_box.width+1, address_box.top-2, 16, skin.h-1, REFRESH+BT_HIDE+BT_NOFRAME, 0);
334,16 → 339,71
}
 
 
void Scan(int id)
void Scan(dword id__)
{
action_buf=0;
if (id >= 400)
if (id__ >= 400)
{
ProcessLinks(id);
ProcessLinks(id__);
return;
}
switch (id)
switch (id__)
{
case SCAN_CODE_BS:
case BUTTON_BACK:
if (!BrowserHistory.GoBack()) return;
OpenPage();
return;
 
case FORWARD:
if (!BrowserHistory.GoForward()) return;
OpenPage();
return;
 
case SCAN_CODE_HOME:
case SCAN_CODE_END:
case SCAN_CODE_PGUP:
case SCAN_CODE_PGDN:
if (WB1.list.ProcessKey(key_scancode)) WB1.Parse();
return;
 
case SCAN_CODE_UP:
if (WB1.list.first <= 0) return;
WB1.list.first--;
WB1.Parse();
return;
 
case SCAN_CODE_DOWN:
if (WB1.list.visible + WB1.list.first >= WB1.list.count) return;
WB1.list.first++;
WB1.Parse();
return;
 
case 44: //Z-key down
if (WB1.DrawBuf.zoom==2)
{
WB1.DrawBuf.zoom=1;
WB1.list.SetFont(6, 9, 10001000b);
}
else
{
WB1.DrawBuf.zoom=2;
WB1.list.SetFont(6, 9, 10001001b);
}
Draw_Window();
return;
 
case GOTOURL:
case SCAN_CODE_ENTER: //enter
if (!editURL[0]) return;
if (strncmp(#editURL,"http:",5)) && (editURL[0]!='/') && (strncmp(#editURL,"WebView:",9)) strncpy(#URL,"http://",7);
else
URL[0] = 0;
strcat(#URL, #editURL);
OpenPage();
return;
 
/*
case 011: //Ctrk+K
BufEncode(CH_KOI8);
WB1.Parse();
375,15 → 435,7
CreateThread(#Downloader,#downloader_stak+4092);
}
return;
case ASCII_KEY_BS:
case BACK:
if (!BrowserHistory.GoBack()) return;
OpenPage();
return;
case FORWARD:
if (!BrowserHistory.GoForward()) return;
OpenPage();
return;
 
case 052: //F3
WB1.list.first = 0;
ShowSource();
407,64 → 459,17
}
else OpenPage();
return;
case 014:
case 020:
case NEWTAB:
MoveSize(190,80,OLD,OLD);
RunProgram(#program_path, #URL);
return;
case GOTOURL:
case 0x0D: //enter
if (!editURL[0]) return;
if (strncmp(#editURL,"http:",5)) && (editURL[0]!='/') && (strncmp(#editURL,"WebView:",9)) strncpy(#URL,"http://",7);
else
URL[0] = 0;
strcat(#URL, #editURL);
OpenPage();
return;
 
case SEARCHWEB:
sprintf(#URL,"%s%s",#search_path,#editURL);
OpenPage();
return;
 
case 183: //PgDown
if (WB1.list.count < WB1.list.visible) return;
IF(WB1.list.first == WB1.list.count - WB1.list.visible) return;
WB1.list.first += WB1.list.visible + 2;
IF(WB1.list.visible + WB1.list.first > WB1.list.count) WB1.list.first = WB1.list.count - WB1.list.visible;
WB1.Parse();
return;
 
case 184: //PgUp
if (WB1.list.count < WB1.list.visible) return;
IF(WB1.list.first == 0) return;
WB1.list.first -= WB1.list.visible - 2;
IF(WB1.list.first < 0) WB1.list.first = 0;
WB1.Parse();
return;
 
case 178:
case BTN_UP:
if (WB1.list.first <= 0) return;
WB1.list.first--;
WB1.Parse();
return;
 
case 177:
case BTN_DOWN:
if (WB1.list.visible + WB1.list.first >= WB1.list.count) return;
WB1.list.first++;
WB1.Parse();
return;
 
case 180: //home
if (WB1.list.KeyHome()) WB1.Parse();
return;
 
case 181: //end
if (WB1.list.count < WB1.list.visible) return;
if (WB1.list.KeyEnd()) WB1.Parse();
return;
case 312:
SwitchToAnotherThread();
mouse.y = TOOLBAR_H-6;
471,9 → 476,7
mouse.x = Form.cwidth - 167;
CreateThread(#menu_rmb,#stak+4092);
return;
case 122:
if (WB1.DrawBuf.zoom==1) WB1.DrawBuf.zoom=2; else WB1.DrawBuf.zoom=1;
Draw_Window();
*/
}
}