diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index f7ca90132e..0611bb6c48 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -8,6 +8,7 @@ //libraries #define MEMSIZE 0xD0000 #include "..\lib\kolibri.h" +#include "..\lib\clipboard.h" #include "..\lib\strings.h" #include "..\lib\mem.h" #include "..\lib\dll.h" @@ -79,8 +80,8 @@ enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir -#define TITLE "Eolite File Manager v2.15.3" -#define ABOUT_TITLE "Eolite v2.15.3" +#define TITLE "Eolite File Manager v2.16" +#define ABOUT_TITLE "Eolite v2.16" dword col_padding, col_selec, col_lpanel; int toolbar_buttons_x[7]={9,46,85,134,167,203}; diff --git a/programs/cmm/eolite/include/copy.h b/programs/cmm/eolite/include/copy.h index c051b791fc..348f525609 100644 --- a/programs/cmm/eolite/include/copy.h +++ b/programs/cmm/eolite/include/copy.h @@ -3,6 +3,18 @@ byte copy_from[4096], copy_to[4096], cut_active=0; enum {NOCUT, CUT, COPY_PASTE_END}; + +struct buffer_data +{ + dword size; + dword type; + dword encoding; + byte buffer_data[4096]; +}; + +buffer_data buf_data; +Clipboard clipboard; + #define WIN_W 300 #define WIN_H 50 @@ -10,6 +22,11 @@ enum {NOCUT, CUT, COPY_PASTE_END}; void Copy(dword pcth, char cut) { strcpy(#copy_from, pcth); + buf_data.size = sizeof(buffer_data); + buf_data.type = 0; + buf_data.encoding = 866; + strcpy(#buf_data.buffer_data, pcth); + clipboard.SetSlotData(sizeof(buffer_data), #buf_data); cut_active = cut; } @@ -30,6 +47,8 @@ void Paste() { char copy_rezult; + strcpy(#copy_from, clipboard.GetSlotData(clipboard.GetSlotCount()-1)+12); + if (!copy_from) ExitProcess(); strcpy(#copy_to, #path); strcat(#copy_to, #copy_from+strrchr(#copy_from,'/'));