hardware_support.htm: update; webview: bugfixes

git-svn-id: svn://kolibrios.org@7936 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2020-05-17 11:35:02 +00:00
parent 43c32e08ff
commit 6c633e78a7
4 changed files with 54 additions and 41 deletions

View File

@ -61,6 +61,7 @@ USB 3.0 (XHCI) не поддерживается.
<b>Драйвер Поддерживаемые сетевые карты</b>
3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980)
ar81xx Atheros 8161/8162/8171/8172
dec21x4x* Accton en1207B-TX, DEC 21140,.., VirtualPC
forcedeth* nVidia nForce chipset integrated ethernet
i8255x Intel eepro/100 (i8255x, i82562, i82801,..), QEMU

View File

@ -24,6 +24,7 @@ struct LinksArray {
unsigned int unic_count;
unsigned int active;
bool HoverAndProceed();
bool Click();
void AddLink();
void AddText();
dword GetURL();
@ -81,6 +82,36 @@ void LinksArray::DrawUnderline(dword und_id, list_first, list_y, color)
PathShow_data status_text = {0, 17,250, 6, 250};
bool LinksArray::Click(dword list_first)
{
if (mouse.lkm) && (mouse.down) {
DrawRectangle(links[active].x, -list_first + links[active].y,
links[active].w, links[active].h, 0);
return false;
}
if (mouse.mkm) && (mouse.up) {
if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
open_new_window = true;
EventClickLink(PageLinks.GetURL(PageLinks.active));
open_new_window = false;
} else {
open_new_tab = true;
EventClickLink(PageLinks.GetURL(PageLinks.active));
open_new_tab = false;
}
return false;
}
if (mouse.lkm) && (mouse.up) {
CursorPointer.Restore();
EventClickLink(PageLinks.GetURL(PageLinks.active));
return false;
}
if (mouse.pkm) && (mouse.up) {
EventShowLinkMenu();
return false;
}
}
bool LinksArray::HoverAndProceed(dword mx, my, list_y, list_first)
{
int i;
@ -91,46 +122,22 @@ bool LinksArray::HoverAndProceed(dword mx, my, list_y, list_first)
&& (mx<links[i].x+links[i].w) && (my<links[i].y+links[i].h)
&& (my>list_y+list_first)
{
if (mouse.lkm) && (mouse.down) {
DrawRectangle(links[active].x, -list_first + links[active].y,
links[active].w, links[active].h, 0);
return false;
}
if (mouse.mkm) && (mouse.up) {
if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
open_new_window = true;
EventClickLink(PageLinks.GetURL(PageLinks.active));
open_new_window = false;
} else {
open_new_tab = true;
EventClickLink(PageLinks.GetURL(PageLinks.active));
open_new_tab = false;
if (active!=i) {
CursorPointer.Load(#CursorFile);
CursorPointer.Set();
if (links[active].underline) {
DrawUnderline(active, list_first, list_y, link_color_default);
}
return false;
}
if (mouse.lkm) && (mouse.up) {
CursorPointer.Restore();
EventClickLink(PageLinks.GetURL(PageLinks.active));
return false;
}
if (mouse.pkm) && (mouse.up) {
EventShowLinkMenu();
return false;
}
if (active==i) return false;
CursorPointer.Load(#CursorFile);
CursorPointer.Set();
if (links[active].underline) {
DrawUnderline(active, list_first, list_y, link_color_default);
}
if (links[i].underline) {
DrawUnderline(i, list_first, list_y, page_bg);
}
if (links[i].underline) {
DrawUnderline(i, list_first, list_y, page_bg);
active = i;
DrawStatusBar(links[active].link);
}
active = i;
DrawStatusBar(links[active].link);
Click(list_first);
return true;
}
}

View File

@ -131,6 +131,8 @@ void HandleParam()
} else if (!strncmp(#param, "-source ", 8)) {
source_mode = true;
history.add(#param + 8);
} else if (!strncmp(#param, "-new ", 5)) {
history.add(#param + 5);
} else {
if (GetProcessesCount("WEBVIEW") == 1) {
history.add(#param);
@ -163,8 +165,8 @@ void main()
case evMouse:
edit_box_mouse stdcall (#address_box);
mouse.get();
if (PageLinks.HoverAndProceed(mouse.x, WB1.list.first + mouse.y, WB1.list.y, WB1.list.first))
&& (mouse.pkm) && (mouse.up) {
PageLinks.HoverAndProceed(mouse.x, WB1.list.first + mouse.y, WB1.list.y, WB1.list.first);
if (PageLinks.active == -1) && (mouse.pkm) && (mouse.up) {
if (WB1.list.MouseOver(mouse.x, mouse.y)) EventShowPageMenu();
break;
}
@ -628,11 +630,14 @@ void OpenPage(dword _open_URL)
void EventClickLink(dword _click_URL)
{
char new_url[URL_SIZE+1];
char new_url_full[URL_SIZE+1];
if (open_new_window) {
strcpy(#new_url, _click_URL);
strncpy(#new_url, _click_URL, sizeof(new_url));
GetAbsoluteURL(#new_url, history.current());
RunProgram(#program_path, #new_url);
strcpy(#new_url_full, "-new ");
strncat(#new_url_full, #new_url, sizeof(new_url_full));
RunProgram(#program_path, #new_url_full);
return;
}

View File

@ -1,4 +1,4 @@
char version[]="WebView 2.5b";
char version[]="WebView 2.5c";
#ifdef LANG_RUS
char page_not_found[] = FROM "html\\page_not_found_ru.htm""\0";