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> <b>Драйвер Поддерживаемые сетевые карты</b>
3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980) 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 dec21x4x* Accton en1207B-TX, DEC 21140,.., VirtualPC
forcedeth* nVidia nForce chipset integrated ethernet forcedeth* nVidia nForce chipset integrated ethernet
i8255x Intel eepro/100 (i8255x, i82562, i82801,..), QEMU i8255x Intel eepro/100 (i8255x, i82562, i82801,..), QEMU

View File

@ -24,6 +24,7 @@ struct LinksArray {
unsigned int unic_count; unsigned int unic_count;
unsigned int active; unsigned int active;
bool HoverAndProceed(); bool HoverAndProceed();
bool Click();
void AddLink(); void AddLink();
void AddText(); void AddText();
dword GetURL(); 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}; 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) bool LinksArray::HoverAndProceed(dword mx, my, list_y, list_first)
{ {
int i; 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) && (mx<links[i].x+links[i].w) && (my<links[i].y+links[i].h)
&& (my>list_y+list_first) && (my>list_y+list_first)
{ {
if (mouse.lkm) && (mouse.down) { if (active!=i) {
DrawRectangle(links[active].x, -list_first + links[active].y, CursorPointer.Load(#CursorFile);
links[active].w, links[active].h, 0); CursorPointer.Set();
return false;
} if (links[active].underline) {
if (mouse.mkm) && (mouse.up) { DrawUnderline(active, list_first, list_y, link_color_default);
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;
}
if (active==i) return false;
CursorPointer.Load(#CursorFile);
CursorPointer.Set();
if (links[active].underline) { if (links[i].underline) {
DrawUnderline(active, list_first, list_y, link_color_default); DrawUnderline(i, list_first, list_y, page_bg);
} }
if (links[i].underline) { active = i;
DrawUnderline(i, list_first, list_y, page_bg); DrawStatusBar(links[active].link);
} }
Click(list_first);
active = i;
DrawStatusBar(links[active].link);
return true; return true;
} }
} }

View File

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

View File

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