Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5717 → Rev 5718

/programs/cmm/browser/WebView.c
30,7 → 30,7
char homepage[] = FROM "html\\homepage.htm";
 
#ifdef LANG_RUS
char version[]=" ’¥ªáâ®¢ë© ¡à ã§¥à 1.2";
char version[]=" ’¥ªáâ®¢ë© ¡à ã§¥à 1.21";
?define IMAGES_CACHE_CLEARED "Šíè ª à⨭®ª ®ç¨é¥­"
?define T_LAST_SLIDE "â® ¯®á«¥¤­¨© á« ©¤"
char loading[] = "‡ £à㧪  áâà ­¨æë...<br>";
37,7 → 37,7
char page_not_found[] = FROM "html\page_not_found_ru.htm";
char accept_language[]= "Accept-Language: ru\n";
#else
char version[]=" Text-based Browser 1.2";
char version[]=" Text-based Browser 1.21";
?define IMAGES_CACHE_CLEARED "Images cache cleared"
?define T_LAST_SLIDE "This slide is the last"
char loading[] = "Loading...<br>";
70,9 → 70,27
dword panel_color;
dword border_color;
 
progress_bar wv_progress_bar = {0, 10, 83, 150, 12, 0, 0, 100, 0xeeeEEE, 8072B7EBh, 0x9F9F9F};
progress_bar wv_progress_bar;
byte souce_mode = false;
 
enum {
BACK_BUTTON=1000,
FORWARD_BUTTON,
REFRESH_BUTTON,
GOTOURL_BUTTON,
SEARCHWEB_BUTTON,
SANDWICH_BUTTON
};
 
enum {
ZOOM2x=1100,
VIEW_SOURCE,
EDIT_SOURCE,
VIEW_HISTORY,
FREE_IMG_CACHE,
DOWNLOAD_MANAGER
};
 
#include "..\TWB\TWB.c"
#include "menu_rmb.h"
#include "history.h"
88,7 → 106,6
#define URL_SERVICE_HOME "WebView://home"
#define URL_SERVICE_SOURCE "WebView://source:"
 
enum { BUTTON_BACK=1000, FORWARD, REFRESH, HOME, NEWTAB, GOTOURL, SEARCHWEB, INPUT_CH, INPUT_BT };
 
libimg_image skin;
 
109,11 → 126,9
void DrawProgress()
{
unsigned long btn;
//progressbar_draw stdcall(#wv_progress_bar);
wv_progress_bar.width = wv_progress_bar.left = 0;
if (http_transfer == 0) return;
if (wv_progress_bar.max) btn = address_box.width*wv_progress_bar.value/wv_progress_bar.max; else btn = 30;
DrawBar(address_box.left-1, address_box.top+14, btn, 2, wv_progress_bar.progress_color);
DrawBar(address_box.left-1, address_box.top+15, btn, 2, wv_progress_bar.progress_color);
}
 
 
129,6 → 144,7
load_dll(libimg, #libimg_init,1);
load_dll(libHTTP, #http_lib_init,1);
load_dll(iconv_lib, #iconv_open,0);
//load_dll(kmenu, #akmenu_init,0);
Libimg_LoadImage(#skin, abspath("wv_skin.png"));
SetSkinColors();
159,7 → 175,6
{
if (mouse.pkm) && (mouse.up)
{
SwitchToAnotherThread();
CreateThread(#menu_rmb,#stak+4092);
break;
}
267,6 → 282,7
PageLinks.GetAbsoluteURL(#URL);
BrowserHistory.current--;
strcpy(#editURL, #URL);
DrawEditBox();
OpenPage();
}
else
313,26 → 329,26
else DrawBar(0,0, Form.cwidth,1, col_bg);
// }
DrawBar(0,TAB_H+1, Form.cwidth,TOOLBAR_H-TAB_H-3, panel_color);
DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xe9e9e9);
DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3);
DrawBar(0,TOOLBAR_H-1, Form.cwidth,1, border_color);
SetElementSizes();
DrawRectangle(address_box.left-2, address_box.top-3, address_box.width+4, 20,border_color);
DrawRectangle(address_box.left-1, address_box.top-2, address_box.width+2, 18,address_box.color);
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, 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);
DefineButton(address_box.left-49, address_box.top-2, 23, skin.h-2, BACK_BUTTON+BT_HIDE, 0);
DefineButton(address_box.left-25, address_box.top-2, 23, skin.h-2, FORWARD_BUTTON+BT_HIDE, 0);
img_draw stdcall(skin.image, address_box.left-50, address_box.top-3, 48, skin.h, 3, 0);
// refresh_BUTTON
DefineButton(address_box.left+address_box.width+1, address_box.top-3, 16, skin.h-1, REFRESH_BUTTON+BT_HIDE+BT_NOFRAME, 0);
if (http_transfer > 0) img_off = 131; else img_off = 52;
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-2, 17, skin.h, img_off, 0);
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-3, 17, skin.h, img_off, 0);
// config
DefineButton(Form.cwidth-23, address_box.top-2, 17, skin.h-1, 312+BT_HIDE, 0);
img_draw stdcall(skin.image, Form.cwidth-22, address_box.top-2, 16, skin.h, 85, 0);
DefineButton(Form.cwidth-24, address_box.top-3, 19, skin.h-1, SANDWICH_BUTTON+BT_HIDE, 0);
img_draw stdcall(skin.image, Form.cwidth-22, address_box.top-3, 16, skin.h, 85, 0);
//status bar
DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, col_bg);
DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, border_color);
wv_progress_bar.top = Form.cheight - STATUSBAR_H + 4;
ShowPage();
DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col);
DrawProgress();
342,7 → 358,7
void Scan(dword id__)
{
action_buf=0;
if (id__ >= 400)
if (id__ >= 400) && (id__ < 1000)
{
ProcessLinks(id__);
return;
350,12 → 366,12
switch (id__)
{
case SCAN_CODE_BS:
case BUTTON_BACK:
case BACK_BUTTON:
if (!BrowserHistory.GoBack()) return;
OpenPage();
return;
 
case FORWARD:
case FORWARD_BUTTON:
if (!BrowserHistory.GoForward()) return;
OpenPage();
return;
379,21 → 395,7
WB1.Parse();
return;
 
case 44: //Z-key down
if (WB1.DrawBuf.zoom==2)
{
WB1.DrawBuf.zoom=1;
WB1.list.SetFont(8, 14, 10111000b);
}
else
{
WB1.DrawBuf.zoom=2;
WB1.list.SetFont(8, 14, 10111001b);
}
Draw_Window();
return;
 
case GOTOURL:
case GOTOURL_BUTTON:
case SCAN_CODE_ENTER: //enter
if (!editURL[0]) return;
if (strncmp(#editURL,"http:",5)) && (editURL[0]!='/') && (strncmp(#editURL,"WebView:",9)) strncpy(#URL,"http://",7);
403,7 → 405,9
OpenPage();
return;
 
case REFRESH:
case 063: //F5
IF(address_box.flags & 0b10) return;
case REFRESH_BUTTON:
if (http_transfer > 0)
{
StopLoading();
412,55 → 416,59
else OpenPage();
return;
 
/*
case 011: //Ctrk+K
BufEncode(CH_KOI8);
WB1.Parse();
case SANDWICH_BUTTON:
mouse.y = TOOLBAR_H-6;
mouse.x = Form.cwidth - 167;
CreateThread(#menu_rmb,#stak+4092);
return;
case 021: //Ctrl+U
BufEncode(CH_UTF8);
WB1.Parse();
 
case ZOOM2x:
if (WB1.DrawBuf.zoom==2)
{
WB1.DrawBuf.zoom=1;
WB1.list.SetFont(8, 14, 10111000b);
}
else
{
WB1.DrawBuf.zoom=2;
WB1.list.SetFont(8, 14, 10111001b);
}
Draw_Window();
return;
case 004: //Ctrl+D
BufEncode(CH_CP866);
 
case VIEW_SOURCE:
WB1.list.first = 0;
ShowSource();
WB1.Parse();
break;
 
case EDIT_SOURCE:
if (!strncmp(#URL,"http:",5))
{
WriteFile(bufsize, bufpointer, "/tmp0/1/WebView_tmp.htm");
if (!EAX) RunProgram("/rd/1/tinypad", "/tmp0/1/WebView_tmp.htm");
}
else RunProgram("/rd/1/tinypad", #URL);
return;
case 005: //Win encoding
BufEncode(CH_CP1251);
WB1.Parse();
return;
case 009: //free img cache
 
case FREE_IMG_CACHE:
ImgCache.Free();
notify(IMAGES_CACHE_CLEARED);
WB1.Parse();
return;
case 003: //history
 
case VIEW_HISTORY:
strcpy(#URL, URL_SERVICE_HISTORY);
OpenPage();
return;
case 006: //download manager
 
case DOWNLOAD_MANAGER:
if (!downloader_opened) {
strncpy(#DL_URL, "http://",7);
CreateThread(#Downloader,#downloader_stak+4092);
}
return;
 
case 052: //F3
WB1.list.first = 0;
ShowSource();
WB1.Parse();
break;
case 053: //F4
if (!strncmp(#URL,"http:",5))
{
WriteFile(bufsize, bufpointer, "/tmp0/1/WebView_tmp.htm");
if (!EAX) RunProgram("/rd/1/tinypad", "/tmp0/1/WebView_tmp.htm");
}
else RunProgram("/rd/1/tinypad", #URL);
return;
case 054: //F5
IF(address_box.flags & 0b10) return;
 
/*
case 020:
case NEWTAB:
MoveSize(190,80,OLD,OLD);
467,17 → 475,10
RunProgram(#program_path, #URL);
return;
 
case SEARCHWEB:
case SEARCHWEB_BUTTON:
sprintf(#URL,"%s%s",#search_path,#editURL);
OpenPage();
return;
 
case 312:
SwitchToAnotherThread();
mouse.y = TOOLBAR_H-6;
mouse.x = Form.cwidth - 167;
CreateThread(#menu_rmb,#stak+4092);
return;
*/
}
}
564,7 → 565,7
bufpointer = free(bufpointer);
}
wv_progress_bar.value = 0;
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-2, 17, skin.h, 52, 0);
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-3, 17, skin.h, 52, 0);
}
 
void SetPageDefaults()
594,7 → 595,7
}
if (!strncmp(#URL,"http:",5))
{
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-2, 17, skin.h, 131, 0);
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-3, 17, skin.h, 131, 0);
http_get stdcall (#URL, 0, 0, #accept_language);
http_transfer = EAX;
if (!http_transfer)