Eolite 5.31: (#187)

- fix: editbox edit text
- fix: remove unnecessary editbox form delete popin
- add: "Copy path" menu item
- add: "Search" to a burger menu

Reviewed-on: https://git.kolibrios.org/KolibriOS/kolibrios/pulls/187
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Reviewed-by: rgimad <rgimad@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
This commit is contained in:
leency 2025-03-31 22:40:54 +02:00 committed by Max Logaev
parent 81dafb3025
commit ff625706c0
5 changed files with 43 additions and 55 deletions

View File

@ -1,9 +1,8 @@
//Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2022 //Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2025
//GNU GPL license. //GNU GPL license.
/* /*
BUGS: BUGS:
- F1 in KFM (move Properties to an external app)
- Ctrl+1+2+3+4 in KFM - Ctrl+1+2+3+4 in KFM
- Highlight another commands on Ctrl|Shift in KFM like in Classic KFM - Highlight another commands on Ctrl|Shift in KFM like in Classic KFM
TODO: TODO:
@ -11,9 +10,9 @@ TODO:
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334 http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
*/ */
#define ABOUT_TITLE "EOLITE 5.30" #define ABOUT_TITLE "Eolite 5.31"
#define TITLE_EOLITE "Eolite File Manager 5.30" #define TITLE_EOLITE "Eolite File Manager 5.31"
#define TITLE_KFM "Kolibri File Manager 2.30"; #define TITLE_KFM "Kolibri File Manager 2.31";
#define MEMSIZE 1024 * 250 #define MEMSIZE 1024 * 250
#include "../lib/clipboard.h" #include "../lib/clipboard.h"
@ -444,6 +443,9 @@ void main()
} }
EventDriveClick(key_scancode); EventDriveClick(key_scancode);
break; break;
case SCAN_CODE_KEY_P:
EventCopyItemPath();
break;
case SCAN_CODE_KEY_X: case SCAN_CODE_KEY_X:
CopyFilesListToClipboard(CUT); CopyFilesListToClipboard(CUT);
break; break;
@ -1055,7 +1057,6 @@ void EventHistoryGoForward()
} }
} }
void ShowOpenWithDialog() void ShowOpenWithDialog()
{ {
byte open_param[4097]; byte open_param[4097];
@ -1149,6 +1150,7 @@ void ShowPopinForm(byte _popin_type)
break; break;
case POPIN_DELETE: case POPIN_DELETE:
if (!files.count) return; if (!files.count) return;
popin_string[0] = -1;
if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return; if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return;
popinx = DrawEolitePopup(T_YES, T_NO); popinx = DrawEolitePopup(T_YES, T_NO);
WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE); WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE);
@ -1346,6 +1348,12 @@ void EventOpenSearch()
RunProgram(#program_path, #param); RunProgram(#program_path, #param);
} }
void EventCopyItemPath()
{
Clipboard__CopyText(#file_path);
}
void ProceedMouseGestures() void ProceedMouseGestures()
{ {
char stats; char stats;

View File

@ -4,9 +4,11 @@ char file_actions[]=
"Žâªàëâì |Enter "Žâªàëâì |Enter
Žâªàëâì á ¯®¬®éìî |Ctrl+Ent Žâªàëâì á ¯®¬®éìî |Ctrl+Ent
- -
Š®¯¨à®¢ âì |Ctrl+C Š®¯¨à®¢ âì ¯ãâì |Ctrl+P
ë१ âì |Ctrl+X -
áâ ¢¨âì |Ctrl+V Š®¯¨à®¢ âì|Ctrl+C
ë१ âì|Ctrl+X
áâ ¢¨âì|Ctrl+V
- -
<EFBFBD>¥à¥¨¬¥­®¢ âì |F2 <EFBFBD>¥à¥¨¬¥­®¢ âì |F2
¤ «¨âì |Del ¤ «¨âì |Del
@ -15,8 +17,10 @@ char empty_folder_actions[]=
"‚áâ ¢¨âì |Ctrl+V"; "‚áâ ¢¨âì |Ctrl+V";
char burger_menu_items[] = char burger_menu_items[] =
"<EFBFBD>®¢®¥ ®ª­®|Ctrl+N "<EFBFBD>®¢®¥ ®ª­®|Ctrl+N
-
Žâªàëâì ª®­á®«ì|Ctrl+G Žâªàëâì ª®­á®«ì|Ctrl+G
Ž¡­®¢¨âì ¯ ¯ªã|Ctrl+R <EFBFBD>®¨áª|Ctrl+F
-
<EFBFBD> áâனª¨|F10 <EFBFBD> áâனª¨|F10
Ž ¯à®£à ¬¬¥"; Ž ¯à®£à ¬¬¥";
@ -25,6 +29,8 @@ char file_actions[]=
"Ava |Enter "Ava |Enter
Ava ... |Ctrl+Ent Ava ... |Ctrl+Ent
- -
Copy path |Ctrl+P
-
Kopeeri |Ctrl+C Kopeeri |Ctrl+C
Lõika |Ctrl+X Lõika |Ctrl+X
Aseta |Ctrl+V Aseta |Ctrl+V
@ -36,8 +42,10 @@ char empty_folder_actions[]=
"Aseta |Ctrl+V"; "Aseta |Ctrl+V";
char burger_menu_items[] = char burger_menu_items[] =
"New window|Ctrl+N "New window|Ctrl+N
-
Open console here|Ctrl+G Open console here|Ctrl+G
Värskenda|Ctrl+R Search|Ctrl+F
-
Settings|F10 Settings|F10
About"; About";
@ -46,6 +54,8 @@ char file_actions[]=
"Open |Enter "Open |Enter
Open with... |Ctrl+Ent Open with... |Ctrl+Ent
- -
Copy path |Ctrl+P
-
Copy |Ctrl+C Copy |Ctrl+C
Cut |Ctrl+X Cut |Ctrl+X
Paste |Ctrl+V Paste |Ctrl+V
@ -57,8 +67,10 @@ char empty_folder_actions[]=
"Paste |Ctrl+V"; "Paste |Ctrl+V";
char burger_menu_items[] = char burger_menu_items[] =
"New window|Ctrl+N "New window|Ctrl+N
-
Open console here|Ctrl+G Open console here|Ctrl+G
Refresh folder|Ctrl+R Search|Ctrl+F
-
Settings|F10 Settings|F10
About"; About";
#endif #endif
@ -76,17 +88,18 @@ void EventMenuClick(dword _id)
if (active_menu == MENU_FILE) switch(_id) { if (active_menu == MENU_FILE) switch(_id) {
case 1: EventOpen(0); break; case 1: EventOpen(0); break;
case 2: ShowOpenWithDialog(); break; case 2: ShowOpenWithDialog(); break;
case 3: CopyFilesListToClipboard(COPY); break; case 3: EventCopyItemPath(); break;
case 4: CopyFilesListToClipboard(CUT); break; case 4: CopyFilesListToClipboard(COPY); break;
case 5: EventPaste(path); break; case 5: CopyFilesListToClipboard(CUT); break;
case 6: FnProcess(2); break; case 6: EventPaste(path); break;
case 7: ShowPopinForm(POPIN_DELETE); break; case 7: FnProcess(2); break;
case 8: FnProcess(1); break; case 8: ShowPopinForm(POPIN_DELETE); break;
case 9: FnProcess(1); break;
} }
if (active_menu == MENU_BURGER) switch(_id) { if (active_menu == MENU_BURGER) switch(_id) {
case 1: EventOpenNewEolite(); break; case 1: EventOpenNewEolite(); break;
case 2: EventOpenConsoleHere(); break; case 2: EventOpenConsoleHere(); break;
case 3: EventRefreshDisksAndFolders(); break; case 3: EventOpenSearch(); break;
case 4: FnProcess(10); break; case 4: FnProcess(10); break;
case 5: EventShowAbout(); break; case 5: EventShowAbout(); break;
} }

View File

@ -69,7 +69,7 @@ void settings_dialog()
case evKey: case evKey:
GetKeys(); GetKeys();
if (key_scancode==SCAN_CODE_ESC) ExitSettings(); if (key_scancode==SCAN_CODE_ESC) ExitSettings();
edit_box_key_c stdcall (#path_start_ed,key_ascii << 8); edit_box_key_c stdcall (#path_start_ed,key_editbox);
break; break;
case evReDraw: case evReDraw:

View File

@ -127,8 +127,8 @@ void SearchThread()
case evKey: case evKey:
@GetKeys(); @GetKeys();
edit_box_key_c stdcall (#edit_name); edit_box_key stdcall (#edit_name);
edit_box_key_c stdcall (#edit_path); edit_box_key stdcall (#edit_path);
if (key_scancode == SCAN_CODE_TAB) { if (key_scancode == SCAN_CODE_TAB) {
if (edit_name.flags & ed_focus) { if (edit_name.flags & ed_focus) {
edit_name.flags >< edit_path.flags; edit_name.flags >< edit_path.flags;

View File

@ -6,37 +6,6 @@
#include "../lib/kolibri.h" #include "../lib/kolibri.h"
#endif #endif
#ifdef __COFF__
extern dword edit_box_draw;
extern dword edit_box_key_safe;
extern dword edit_box_mouse;
extern dword edit_box_set_text;
extern dword scrollbar_v_draw;
extern dword scrollbar_v_mouse;
extern dword scrollbar_h_draw;
extern dword scrollbar_h_mouse;
extern dword PathShow_prepare;
extern dword PathShow_draw;
extern dword progressbar_draw;
extern dword progressbar_progress;
extern dword frame_draw;
/*
Legacy support
For new programs need to use edit_box_key_safe (or edit_box_key_c
with a define below)
TODO: change in all cmm programs edit_box_key to edit_box_key_safe (edit_box_key_c)
See examples in eolite and imgedit
This define changed all edit_box_key_c to edit_box_key_safe identifier's
*/
#define edit_box_key_c edit_box_key_safe
#else
#ifndef INCLUDE_DLL_H #ifndef INCLUDE_DLL_H
#include "../lib/dll.h" #include "../lib/dll.h"
#endif #endif
@ -242,5 +211,3 @@ struct frame
frame_draw stdcall (#frame123); frame_draw stdcall (#frame123);
} }
#endif