diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index 2d5c14a44..9186b8cb6 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -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. /* BUGS: -- F1 in KFM (move Properties to an external app) - Ctrl+1+2+3+4 in KFM - Highlight another commands on Ctrl|Shift in KFM like in Classic KFM TODO: @@ -11,9 +10,9 @@ TODO: http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334 */ -#define ABOUT_TITLE "EOLITE 5.30" -#define TITLE_EOLITE "Eolite File Manager 5.30" -#define TITLE_KFM "Kolibri File Manager 2.30"; +#define ABOUT_TITLE "Eolite 5.31" +#define TITLE_EOLITE "Eolite File Manager 5.31" +#define TITLE_KFM "Kolibri File Manager 2.31"; #define MEMSIZE 1024 * 250 #include "../lib/clipboard.h" @@ -444,6 +443,9 @@ void main() } EventDriveClick(key_scancode); break; + case SCAN_CODE_KEY_P: + EventCopyItemPath(); + break; case SCAN_CODE_KEY_X: CopyFilesListToClipboard(CUT); break; @@ -1055,7 +1057,6 @@ void EventHistoryGoForward() } } - void ShowOpenWithDialog() { byte open_param[4097]; @@ -1149,6 +1150,7 @@ void ShowPopinForm(byte _popin_type) break; case POPIN_DELETE: if (!files.count) return; + popin_string[0] = -1; if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return; popinx = DrawEolitePopup(T_YES, T_NO); WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE); @@ -1346,6 +1348,12 @@ void EventOpenSearch() RunProgram(#program_path, #param); } + +void EventCopyItemPath() +{ + Clipboard__CopyText(#file_path); +} + void ProceedMouseGestures() { char stats; diff --git a/programs/cmm/eolite/include/menu.h b/programs/cmm/eolite/include/menu.h index 33ed3abfa..17bae380b 100644 --- a/programs/cmm/eolite/include/menu.h +++ b/programs/cmm/eolite/include/menu.h @@ -4,9 +4,11 @@ char file_actions[]= "Открыть |Enter Открыть с помощью |Ctrl+Ent - -Копировать |Ctrl+C -Вырезать |Ctrl+X -Вставить |Ctrl+V +Копировать путь |Ctrl+P +- +Копировать|Ctrl+C +Вырезать|Ctrl+X +Вставить|Ctrl+V - Переименовать |F2 Удалить |Del @@ -15,8 +17,10 @@ char empty_folder_actions[]= "Вставить |Ctrl+V"; char burger_menu_items[] = "Новое окно|Ctrl+N +- Открыть консоль|Ctrl+G -Обновить папку|Ctrl+R +Поиск|Ctrl+F +- Настройки|F10 О программе"; @@ -25,6 +29,8 @@ char file_actions[]= "Ava |Enter Ava ... |Ctrl+Ent - +Copy path |Ctrl+P +- Kopeeri |Ctrl+C Lїika |Ctrl+X Aseta |Ctrl+V @@ -36,8 +42,10 @@ char empty_folder_actions[]= "Aseta |Ctrl+V"; char burger_menu_items[] = "New window|Ctrl+N +- Open console here|Ctrl+G -Vфrskenda|Ctrl+R +Search|Ctrl+F +- Settings|F10 About"; @@ -46,6 +54,8 @@ char file_actions[]= "Open |Enter Open with... |Ctrl+Ent - +Copy path |Ctrl+P +- Copy |Ctrl+C Cut |Ctrl+X Paste |Ctrl+V @@ -57,8 +67,10 @@ char empty_folder_actions[]= "Paste |Ctrl+V"; char burger_menu_items[] = "New window|Ctrl+N +- Open console here|Ctrl+G -Refresh folder|Ctrl+R +Search|Ctrl+F +- Settings|F10 About"; #endif @@ -76,17 +88,18 @@ void EventMenuClick(dword _id) if (active_menu == MENU_FILE) switch(_id) { case 1: EventOpen(0); break; case 2: ShowOpenWithDialog(); break; - case 3: CopyFilesListToClipboard(COPY); break; - case 4: CopyFilesListToClipboard(CUT); break; - case 5: EventPaste(path); break; - case 6: FnProcess(2); break; - case 7: ShowPopinForm(POPIN_DELETE); break; - case 8: FnProcess(1); break; + case 3: EventCopyItemPath(); break; + case 4: CopyFilesListToClipboard(COPY); break; + case 5: CopyFilesListToClipboard(CUT); break; + case 6: EventPaste(path); break; + case 7: FnProcess(2); break; + case 8: ShowPopinForm(POPIN_DELETE); break; + case 9: FnProcess(1); break; } if (active_menu == MENU_BURGER) switch(_id) { case 1: EventOpenNewEolite(); break; case 2: EventOpenConsoleHere(); break; - case 3: EventRefreshDisksAndFolders(); break; + case 3: EventOpenSearch(); break; case 4: FnProcess(10); break; case 5: EventShowAbout(); break; } diff --git a/programs/cmm/eolite/include/settings.h b/programs/cmm/eolite/include/settings.h index bac389c15..e825b88e5 100644 --- a/programs/cmm/eolite/include/settings.h +++ b/programs/cmm/eolite/include/settings.h @@ -69,7 +69,7 @@ void settings_dialog() case evKey: GetKeys(); 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; case evReDraw: diff --git a/programs/cmm/eolite/search.c b/programs/cmm/eolite/search.c index 7eff05739..b989845c9 100644 --- a/programs/cmm/eolite/search.c +++ b/programs/cmm/eolite/search.c @@ -127,8 +127,8 @@ void SearchThread() case evKey: @GetKeys(); - edit_box_key_c stdcall (#edit_name); - edit_box_key_c stdcall (#edit_path); + edit_box_key stdcall (#edit_name); + edit_box_key stdcall (#edit_path); if (key_scancode == SCAN_CODE_TAB) { if (edit_name.flags & ed_focus) { edit_name.flags >< edit_path.flags; diff --git a/programs/cmm/lib/obj/box_lib.h b/programs/cmm/lib/obj/box_lib.h index 58863581f..6edf6885a 100644 --- a/programs/cmm/lib/obj/box_lib.h +++ b/programs/cmm/lib/obj/box_lib.h @@ -6,37 +6,6 @@ #include "../lib/kolibri.h" #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 #include "../lib/dll.h" #endif @@ -242,5 +211,3 @@ struct frame frame_draw stdcall (#frame123); } - -#endif \ No newline at end of file