Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5717 → Rev 5718

/programs/cmm/TWB/TWB.c
64,6 → 64,7
if (!header)
{
ChangeCharset("UTF-8", "CP866", #line);
strcpy(#header, #line);
strcat(#header, " -");
strcat(#header, #version);
585,8 → 586,11
{
strcpy(bufpointer, o_bufpointer);
}
//bufpointer = ChangeCharset(charsets[set_new_encoding], "CP866", bufpointer);
if (set_new_encoding == CH_CP1251)
{
bufpointer = ChangeCharset("CP1251", "UTF-8", bufpointer);
}
}
 
 
void TWebBrowser::DrawScroller()
/programs/cmm/TWB/acid_0.1.htm
1,14 → 1,14
<!--doctype html public "-//w3c//dtd html 4.0 transitional//ru"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Òåñò Acid 0.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Тест Acid 0.1</title>
</head>
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
<h1 align=center>Ýòî òåñòîâàÿ ñòðàíèöà äëÿ ïðîâåðêè WebViewer</h1>
<h1 align=center>Это тестовая страница для проверки WebViewer</h1>
<br />
<p>WebViewer ÿâëÿåòñÿ òåêñòîâûì áðàóçåðîì è ïîääåðæèâàåò âñå ïîïóëÿðíûå êîäèðîâêè (cp1251, koi-8, cp866, unicode)
è íåêîòîðûå òåãè. Ïîääåðæêà òàáëèèö (&lt;table&gt;), CSS, Javascript'a è Êîíòàêòèêà ïîêà íå ðåàëèçîâàíà :)
<p>WebViewer является текстовым браузером и поддерживает все популярные кодировки (cp1251, koi-8, cp866, unicode)
и некоторые теги. Поддержка таблииц (&lt;table&gt;), CSS, Javascript'a и Контактика пока не реализована :)
</p>
<br />
 
34,33 → 34,33
<br>
 
<p>
Íåáîëüøîé ñïèñîê:<ol>
<li><q>Ýòîò òåêñò â êàâû÷êàõ</q></li>
<li><u>Ýòî ïîä÷åðêíóòûé òåêñò</u></li>
<li><s>Ýòî ïåðå÷åðêíóòûé òåêñò</s></li>
<li><i>Ýòî íàêëîííûé òåêñò</i></li>
<li><strong>Ýòî òåêñò ñ óñèëåííûì âûäåëåíèåì</strong></li>
<li><b><u><s><font color="#777444">Ìíîãî òåãîâ</font></s></u></b></ol>
Небольшой список:<ol>
<li><q>Этот текст в кавычках</q></li>
<li><u>Это подчеркнутый текст</u></li>
<li><s>Это перечеркнутый текст</s></li>
<li><i>Это наклонный текст</i></li>
<li><strong>Это текст с усиленным выделением</strong></li>
<li><b><u><s><font color="#777444">Много тегов</font></s></u></b></ol>
</p>
<br>
 
<pre>
"Îñåíü óæå ïðèøëà!"-
Øåïíóë ìíå íà óõî âåòåð,
Ïîäêðàâøèñü ê ïîäóøêå ìîåé.
"Осень уже пришла!"-
Шепнул мне на ухо ветер,
Подкравшись к подушке моей.
 
Áàñå
Басе
</pre>
<!-- êîììåíòàðèé: ýòîãî òåêñòà çäåñü <íåò> -->
<!-- комментарий: этого текста здесь <нет> -->
 
<br>
 
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Îòêðûòü</a><br>
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br>
 
<br>
<br>
<a href='./index.htm'>./index.htm</a><br>
<a href='/sys/index.htm'>Íåçàêðûòûé òåã à - index.htm<br>
<a href='/sys/index.htm'>Незакрытый тег а - index.htm<br>
<a href="/sys/kernel.mnt">kernel.mnt</a><br>
<a href="#2.1.4">#2.1.4</a><br>
<a href="http://bash.im">http://bash.im</a><br>
68,20 → 68,20
<br>
<br>
 
 ýòîì òåêñòå åñòü ïåðåõîä íà ñëåäóþùóþ ñòðîêó, íî áðàóçåð
åãî äîëæåí ïðîèãíîðèðîâàòü. Åùå ìíîãî ïðîáåëîâ. À òóò åñòü
òàáû. Êîå-êàêèå ñèìâîëû: &quot; &amp; &lt; &gt; &#149;
&nbsp; &copy; &reg; &bdquo; &ldquo; &#151; ¯æà÷îê ³íøîãî áîêó ð. ªâôðàò ç'¿â ´ðóíò òà ºâðåéñüêèé ´åðáàëàéô.
В этом тексте есть переход на следующую строку, но браузер
его должен проигнорировать. Еще много пробелов. А тут есть
табы. Кое-какие символы: &quot; &amp; &lt; &gt; &#149;
&nbsp; &copy; &reg; &bdquo; &ldquo; &#151; Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
<condition show_if=1>
<p>61055,&nbsp; &#1075;.
&#1061;&#1072;&#1088;&#1100;&#1082;&#1086;&#1074;, &#1091;&#1083;.&nbsp; &#1050;&#1088;&#1072;&#1089;&#1085;&#1086;&#1079;&#1085;&#1072;&#1084;&#1077;&#1085;&#1085;&#1072;&#1103;, 16</SPAN>,&nbsp; &#1088;&#1072;&#1076;&#1080;&#1086;&#1092;&#1080;&#1079;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1081;
&#1082;&#1086;&#1088;&#1087;&#1091;&#1089; &#1085;&#1072; &#1090;&#1077;&#1088;&#1088;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080; &#1053;&#1058;&#1059; «&#1061;&#1055;&#1048;»
&#1082;&#1086;&#1088;&#1087;&#1091;&#1089; &#1085;&#1072; &#1090;&#1077;&#1088;&#1088;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080; &#1053;&#1058;&#1059; «&#1061;&#1055;&#1048;»
</p>
</condition>
 
<hr color="#758999">
<center>Zhitomyr 2008-2014</center>
<center>Zhitomyr 2008-2015</center>
 
 
</body>
/programs/cmm/TWB/img_cache.h
9,7 → 9,7
struct ImageCache {
int pics_count;
void Free();
int GetImageNumber();
int GetImage();
void Images();
};
 
22,7 → 22,7
}
}
 
int ImageCache::GetImageNumber(dword i_path)
int ImageCache::GetImage(dword i_path)
{
int i;
for (i=0; i<=pics_count; i++) if (!strcmp(#pics[i].path, i_path)) return i; //image exists
43,10 → 43,15
do{
if (!strcmp(#parametr,"src=")) //íàäî îáúåäèíèòü ñ GetNewUrl()
{
if (http_transfer<>0) strcpy(#img_path, #history_list[BrowserHistory.current-1].Item); else
if (http_transfer!=0)
strcpy(#img_path, #history_list[BrowserHistory.current-1].Item);
else
{
//if (strcmp(#options))
strcpy(#img_path, #options);
}
PageLinks.GetAbsoluteURL(#img_path);
cur_pic = GetImageNumber(#img_path);
cur_pic = GetImage(#img_path);
}
if (!strcmp(#parametr,"alt="))
{
67,17 → 72,17
imgh = DSWORD[pics[cur_pic].image+8];
if (imgw > width1) imgw = width1;
if (stroka==0) DrawBar(WB1.list.x, WB1.list.y, WB1.list.w-15, 5, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
if (stroka==0) DrawBar(WB1.list.x, WB1.list.y, WB1.list.w-15, 5, bg_color); //fill first line
stroka += imgh / WB1.list.line_h;
if (imgh % WB1.list.line_h) stroka++;
if (top1+imgh<WB1.list.y) || (top1>WB1.list.y+WB1.list.h-10) return; //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
if (top1<WB1.list.y) //åñëè ÷àñòü èçîáðàæåíèÿ ñâåðõó
if (top1+imgh<WB1.list.y) || (top1>WB1.list.y+WB1.list.h-10) return; //if all image is out of visible area
if (top1<WB1.list.y) //if image partly visible (at the top)
{
img_lines_first=WB1.list.y-top1;
imgh=imgh-img_lines_first;
top1=WB1.list.y;
}
if (top1>WB1.list.y+WB1.list.h-imgh-5) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó
if (top1>WB1.list.y+WB1.list.h-imgh-5) //if image partly visible (at the bottom)
{
imgh=WB1.list.y+WB1.list.h-top1-5;
}
87,7 → 92,7
img_draw stdcall (pics[cur_pic].image, left1-5, top1, imgw, imgh,0,img_lines_first);
DrawBar(left1+imgw - 5, top1, WB1.list.w-imgw, imgh, bg_color);
DrawBar(WB1.list.x, top1+imgh, WB1.list.w, -imgh % WB1.list.line_h + WB1.list.line_h, bg_color);
IF (link)
if (link)
{
UnsafeDefineButton(left1 - 5, top1, imgw, imgh-1, PageLinks.count + 400 + BT_HIDE, 0xB5BFC9);
PageLinks.AddText(0, imgw, imgh-1, NOLINE);
/programs/cmm/TWB/links.h
24,7 → 24,8
dword GetURL();
void Clear();
void GetAbsoluteURL();
};
int UrlAbsolute();
} PageLinks;
 
void LinksArray::AddLink(dword new_link, int link_x, link_y)
{
98,18 → 99,33
}
}
 
char *ABSOLUTE_LINKS[]={ "http:", "mailto:", "ftp:", "/sys/",
"/kolibrios/", "/rd/", "/bd", "/hd", "/cd", "/tmp", "/usbhd", "WebView:", 0};
void LinksArray::GetAbsoluteURL(dword in_URL){
int i, len;
int LinksArray::UrlAbsolute(dword in_URL)
{
if(!strncmp(in_URL,"http:",5)) return 1;
if(!strncmp(in_URL,"https:",6)) return 1;
if(!strncmp(in_URL,"mailto:",7)) return 1;
if(!strncmp(in_URL,"ftp:",4)) return 1;
if(!strncmp(in_URL,"WebView:",8)) return 1;
if(!strncmp(in_URL,"/sys/",5)) return 1;
if(!strncmp(in_URL,"/hd/",4)) return 1;
if(!strncmp(in_URL,"/fd/",4)) return 1;
if(!strncmp(in_URL,"/rd/",4)) return 1;
if(!strncmp(in_URL,"/tmp/",5)) return 1;
if(!strncmp(in_URL,"/cd/",4)) return 1;
if(!strncmp(in_URL,"/bd/",4)) return 1;
if(!strncmp(in_URL,"/usbhd/",7)) return 1;
if(!strncmp(in_URL,"/kolibrios/",11)) return 1;
return 0;
}
 
void LinksArray::GetAbsoluteURL(dword in_URL)
{
int i;
dword orig_URL = in_URL;
char newurl[sizeof(URL)];
for (i=0; ABSOLUTE_LINKS[i]; i++)
{
len=strlen(ABSOLUTE_LINKS[i]);
if (!strcmpn(in_URL, ABSOLUTE_LINKS[i], len)) return;
}
if (UrlAbsolute(in_URL)) return;
IF (!strcmpn(in_URL,"./", 2)) in_URL+=2;
strcpy(#newurl, BrowserHistory.CurrentUrl());
 
141,5 → 157,3
}
 
 
 
LinksArray PageLinks;
/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)
/programs/cmm/browser/menu_rmb.h
1,24 → 1,20
//Leency - 2012-2013
 
char *ITEMS_LIST[]={
"WIN Ctrl+E",05,
"DOS Ctrl+D",04,
"KOI Ctrl+K",11,
"UTF Ctrl+U",21,
#ifdef LANG_RUS
"Zoom 2x Z",122,
"®á¬®âà¥âì ¨á室­¨ª F3",52,
"¥¤ ªâ¨à®¢ âì ¨á室­¨ª F4",53,
"Žç¨áâ¨âì ªíè ª à⨭®ª" ,02,
"ˆáâ®à¨ï" ,03,
"Œ¥­¥¤¦¥à § £à㧮ª" ,06,
"Zoom 2x",
"®á¬®âà¥âì ¨á室­¨ª",
"¥¤ ªâ¨à®¢ âì ¨á室­¨ª",
"ˆáâ®à¨ï",
"Žç¨áâ¨âì ªíè ª à⨭®ª",
"Œ¥­¥¤¦¥à § £à㧮ª",
#else
"Zoom 2x Z",122,
"View source F3",52,
"Edit source F4",53,
"Free image cache" ,09,
"History" ,03,
"Download Manager" ,06,
"Zoom 2x",
"View source",
"Edit source",
"History",
"Free image cache",
"Download Manager",
#endif
0};
 
29,8 → 25,8
proc_info MenuForm;
int key;
 
menu.first = menu.current = 0;
while (ITEMS_LIST[menu.count*2]) menu.count++;
menu.ClearList();
while (ITEMS_LIST[menu.count]) menu.count++;
menu.SetSizes(2,2,177,menu.count*19,19);
SetEventMask(100111b);
 
43,18 → 39,14
 
mouse.get();
if (menu.ProcessMouse(mouse.x, mouse.y)) DrawMenuList();
if (mouse.lkm)&&(mouse.up) { action_buf = ITEMS_LIST[menu.current*2+1]; ExitProcess(); }
if (mouse.lkm)&&(mouse.up) ItemClick();
break;
case evKey:
key = GetKey();
if (key==27) ExitProcess();
if (key==13) ItemClick();
if (menu.ProcessKey(key)) DrawMenuList();
if (key==13)
{
action_buf = ITEMS_LIST[menu.current*2+1];
ExitProcess();
}
break;
case evReDraw:
76,14 → 68,15
else
{
DrawBar(menu.x, N*menu.line_h+menu.y, menu.w-3, menu.line_h, col_bg);
WriteText(19,N*menu.line_h+9,0x80,0xf2f2f2,ITEMS_LIST[N*2]);
WriteText(19,N*menu.line_h+9,0x80,0xf2f2f2,ITEMS_LIST[N]);
}
WriteText(18,N*menu.line_h+8,0x80,0x000000,ITEMS_LIST[N*2]);
WriteText(18,N*menu.line_h+8,0x80,0x000000,ITEMS_LIST[N]);
}
if (cur_encoding!=CH_NULL)
WriteText(5, cur_encoding*menu.line_h+7, 0x80, 0x777777, "\x10"); //show current encoding
else
WriteText(5, CH_CP866*menu.line_h+7, 0x80, 0x777777, "\x10"); //show current encoding
if (WB1.DrawBuf.zoom == 2) DrawBar(6, 8, 6, 6, 0x777777);
}
 
if (WB1.DrawBuf.zoom == 2) DrawBar(6, 4*menu.line_h+8, 6, 6, 0x777777);
}
void ItemClick()
{
action_buf = ZOOM2x + menu.current;
ExitProcess();
}
/programs/cmm/browser/wv_skin.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/cmm/lib/io.h
233,6 → 233,7
{
pos++;
if(!strncmp(pos,"sys/",4)) return PATH;
if(!strncmp(pos,"kolibrios/",10)) return PATH;
if(!strncmp(pos,"hd/",3)) return PATH;
if(!strncmp(pos,"fd/",3)) return PATH;
if(!strncmp(pos,"rd/",3)) return PATH;