From c987c0d2d5947599b0069fac4317b53e05eaa505 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Wed, 16 Dec 2020 10:23:59 +0000 Subject: [PATCH] WebView: fix issues with anchors Eolite: use Shift+Enter to open all selected files git-svn-id: svn://kolibrios.org@8417 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/browser/WebView.c | 4 +- programs/cmm/eolite/Eolite.c | 44 +++++++++++++++------- programs/cmm/eolite/include/menu.h | 4 +- programs/cmm/eolite/include/translations.h | 2 + 4 files changed, 37 insertions(+), 17 deletions(-) diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 7528c8caff..f9847e235c 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -41,7 +41,7 @@ // DATA // // // //===================================================// -char version[]="WebView 3.03"; +char version[]="WebView 3.04"; #define DEFAULT_URL URL_SERVICE_HOMEPAGE @@ -599,6 +599,7 @@ bool EventClickAnchor() if (anchors.get_pos_by_name(aURL+1)!=-1) { WB1.list.first = anchors.get_pos_by_name(aURL+1); + WB1.list.CheckDoesValuesOkey(); strcpy(#editURL, history.current()); strcat(#editURL, aURL); DrawOmnibox(); @@ -842,6 +843,7 @@ void DrawStatusBar(dword _msg) { dword status_y = Form.cheight - STATUSBAR_H + 4; dword status_w = Form.cwidth - 90; + if (Form.status_window>2) return; DrawBar(0,Form.cheight - STATUSBAR_H+1, Form.cwidth,STATUSBAR_H-1, sc.work); if (_msg) { ESI = math.min(status_w/6, strlen(_msg)); diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index 8c3fc94e1f..23fff67499 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -3,15 +3,15 @@ // 70.5 - get volume info and label -#define TITLE "Eolite File Manager 4.48" -#define ABOUT_TITLE "EOLITE 4.48" +#define TITLE "Eolite File Manager 4.49" +#define ABOUT_TITLE "EOLITE 4.49" #ifndef AUTOBUILD #include "lang.h--" #endif //libraries -#define MEMSIZE 1024 * 720 +#define MEMSIZE 1024 * 250 #include "../lib/clipboard.h" #include "../lib/strings.h" #include "../lib/mem.h" @@ -266,7 +266,7 @@ void main() DrawStatusBar(); List_ReDraw(); } else { - if (mouse.y - files.y / files.item_h + files.first == files.cur_y) Open(0); + if (mouse.y - files.y / files.item_h + files.first == files.cur_y) EventOpen(0); } } //file menu @@ -342,7 +342,7 @@ void main() break; //Button pressed----------------------------------------------------------------------------- case evButton: - id = @GetButtonID(); + id = GetButtonID(); if (new_element_active) || (del_active) { if (POPUP_BTN1==id) && (del_active) EventDelete(); @@ -424,6 +424,12 @@ void main() } if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) { + + if (key_scancode == SCAN_CODE_ENTER) { + EventOpenSelected(); + break; + } + old_cur_y = files.cur_y; files.ProcessKey(key_scancode); EventChooseFilesRange(old_cur_y, files.cur_y); @@ -478,7 +484,7 @@ void main() break; case SCAN_CODE_ENTER: if (!itdir) ShowOpenWithDialog(); - else Open(1); + else EventOpen(1); break; case SCAN_CODE_KEY_A: EventChooseAllFiles(true); @@ -497,7 +503,7 @@ void main() Dir_Up(); break; case SCAN_CODE_ENTER: - Open(0); + EventOpen(0); break; case SCAN_CODE_TAB: if (!two_panels.checked) break; @@ -960,15 +966,25 @@ void Dir_Up() SelectFileByName(#old_folder_name); } -void Open(byte rez) +void EventOpenSelected() { - byte temp[4096]; - selected_count = 0; - if (rez) + int i; + dword file_off; + for (i=0; i