From e1de18a8fac611ad78ac724f3c83f974fda9e184 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sat, 31 Aug 2013 18:33:48 +0000 Subject: [PATCH] Eolite 1.94: can't copy folder - fixed git-svn-id: svn://kolibrios.org@3877 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/eolite/Eolite.c | 7 ++++--- programs/cmm/eolite/compile_en.bat | 4 +++- programs/cmm/eolite/compile_ru.bat | 4 +++- programs/cmm/eolite/include/file_menu.h | 2 +- programs/cmm/eolite/include/left_panel.h | 4 ++-- programs/cmm/eolite/txt/History.txt | 3 +++ programs/cmm/installer/installation.c | 2 +- programs/cmm/lib/copyf.h | 4 ++++ programs/cmm/lib/file_system.h | 3 ++- programs/cmm/lib/kolibri.h | 14 ++++++++++++++ 10 files changed, 37 insertions(+), 10 deletions(-) diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index bc02a82fe1..d547899d23 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -54,8 +54,8 @@ enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir -#define TITLE "Eolite File Manager v1.93" -#define ABOUT_TITLE "Eolite v1.93" +#define TITLE "Eolite File Manager v1.94" +#define ABOUT_TITLE "Eolite v1.94" dword col_work = 0xE4DFE1; dword col_border = 0x9098B0; //A0A0B8; //0x819FC5; dword col_padding = 0xC8C9C9; @@ -129,6 +129,7 @@ void main() IF (id!=GetActiveProcess()) || (Form.status_window>2) break; IF (rename_active) { edit_box_mouse stdcall(#edit2); break; } + if (isdir(#file_path)) debug("dir"); else debug("file"); m.get(); if (m.x > files.x) && (m.x < files.x + files.w) && (m.y > files.y) && (m.y < files.y+files.h) && (!can_select) @@ -690,7 +691,7 @@ void ReName(byte rename) ELSE CreateDir(#temp); Open_Dir(#path,WITH_REDRAW); } - ELSE + else { copy_rezult = CopyFile(#file_path,#temp); if (copy_rezult!=0) Write_Error(copy_rezult); else Del_File(true); diff --git a/programs/cmm/eolite/compile_en.bat b/programs/cmm/eolite/compile_en.bat index 6428e391fa..da0de719f2 100644 --- a/programs/cmm/eolite/compile_en.bat +++ b/programs/cmm/eolite/compile_en.bat @@ -1,8 +1,10 @@ -@del lang.h +@del lang.h-- @echo #define LANG_ENG 1 >lang.h-- @del Eolite +cls ..\C--\c-- Eolite.c @rename Eolite.com Eolite @del warning.txt +@del lang.h-- @pause \ No newline at end of file diff --git a/programs/cmm/eolite/compile_ru.bat b/programs/cmm/eolite/compile_ru.bat index f0ab38ad73..2c4cb887f8 100644 --- a/programs/cmm/eolite/compile_ru.bat +++ b/programs/cmm/eolite/compile_ru.bat @@ -1,8 +1,10 @@ -@del lang.h +@del lang.h-- @echo #define LANG_RUS 1 >lang.h-- @del Eolite +cls ..\C--\c-- Eolite.c @rename Eolite.com Eolite @del warning.txt +@del lang.h-- @pause \ No newline at end of file diff --git a/programs/cmm/eolite/include/file_menu.h b/programs/cmm/eolite/include/file_menu.h index 7a4f549afa..da12766fd7 100644 --- a/programs/cmm/eolite/include/file_menu.h +++ b/programs/cmm/eolite/include/file_menu.h @@ -5,7 +5,7 @@ char *captions[] = { "ЋвЄалвм", "Enter", "ЋвЄалвм б Ї®¬®ймо...", "CrlEnt", "ЋвЄалвм Є Є ⥪бв", "F3", - "ЋвЄалвм ў HEX", "F4", + "ЋвЄалвм Є Є HEX", "F4", // "Љ®ЇЁа®ў вм", "Crl+C", "‚л१ вм", "Crl+X", diff --git a/programs/cmm/eolite/include/left_panel.h b/programs/cmm/eolite/include/left_panel.h index 8a7057b14f..dc8a1e4936 100644 --- a/programs/cmm/eolite/include/left_panel.h +++ b/programs/cmm/eolite/include/left_panel.h @@ -148,7 +148,7 @@ void LeftPanelBgDraw() int start_y = actions_y+156; DrawBar(2,41,190,15,col_lpanel); //синий прямоугольник - над девайсами DrawBar(17,actions_y+75,160,15,col_lpanel); //синий прямоугольник - под девайсами - PutShadow(17,actions_y+75,160,1,1,4); + PutShadow(17,actions_y+75,160,1,1,3); PutShadow(18,actions_y+75+1,158,1,1,1); DrawBar(2,56,15,actions_y+103,col_lpanel); //синий прямоугольник - слева DrawBar(177,56,15,actions_y+103,col_lpanel); //синий прямоугольник - справа @@ -159,7 +159,7 @@ void LeftPanelBgDraw() DrawBar(2,start_y,190,onTop(start_y,6+268),col_lpanel); PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), 8, #blue_hl_pal); } - PutShadow(17,start_y,160,1,1,4); + PutShadow(17,start_y,160,1,1,3); PutShadow(18,start_y+1,158,1,1,1); } diff --git a/programs/cmm/eolite/txt/History.txt b/programs/cmm/eolite/txt/History.txt index bbd4f5a4e6..f4a3cdf152 100644 --- a/programs/cmm/eolite/txt/History.txt +++ b/programs/cmm/eolite/txt/History.txt @@ -1,3 +1,6 @@ +31.08.13 -- 1.94 +- исправления багов + 04.08.13 -- 1.92 - появилась руссифицированная версия - раскоментирован пункт "Обновить" в контекстном меню diff --git a/programs/cmm/installer/installation.c b/programs/cmm/installer/installation.c index 1b87181567..c52569c3fc 100644 --- a/programs/cmm/installer/installation.c +++ b/programs/cmm/installer/installation.c @@ -49,7 +49,7 @@ void Install() for (i=2; i<256; i++;) { GetProcessInfo(#Process, i); - if (i==Form.ID) || (strchr(#Process.name, '/')) || (strchr(#Process.name, 'Z')) continue; + if (i==Form.ID) || (strcmp(#Process.name, "OS")==0) continue; KillProcess(i); } //RunProgram("/sys/develop/board", NULL); //temp============ diff --git a/programs/cmm/lib/copyf.h b/programs/cmm/lib/copyf.h index 9bcbcf1844..a2b2e3cf5f 100644 --- a/programs/cmm/lib/copyf.h +++ b/programs/cmm/lib/copyf.h @@ -26,12 +26,16 @@ BDVK CopyFile_atr; dword error, cbuf; if (error = GetFileInfo(copy_from3, #CopyFile_atr)) + { debug("Error: CopyFile->GetFileInfo"); + } else { cbuf = malloc(CopyFile_atr.sizelo); if (error = ReadFile(0, CopyFile_atr.sizelo, cbuf, copy_from3)) + { debug("Error: CopyFile->ReadFile"); + } else { if (error = WriteFile(CopyFile_atr.sizelo, cbuf, copy_in3)) debug("Error: CopyFile->WriteFile"); diff --git a/programs/cmm/lib/file_system.h b/programs/cmm/lib/file_system.h index 14a9b1ce40..9f1e00640a 100644 --- a/programs/cmm/lib/file_system.h +++ b/programs/cmm/lib/file_system.h @@ -167,8 +167,9 @@ char isdir(dword fpath) { BDVK fpath_atr; GetFileInfo(fpath, #fpath_atr); - if ( $test fpath_atr.attr, 4 ) return 1; else return 0; + if (TestBit( fpath_atr.attr, 4)) return 1; else return 0; } + :int GetFile(dword buf, filesize, read_path) { BDVK ReadFile_atr; diff --git a/programs/cmm/lib/kolibri.h b/programs/cmm/lib/kolibri.h index 767e2fea6e..c731bdac3e 100644 --- a/programs/cmm/lib/kolibri.h +++ b/programs/cmm/lib/kolibri.h @@ -152,6 +152,20 @@ inline fastcall word GetButtonID() //---------------------------------------- +/* ecx = point to structure + sysdir_name rb 64 + sysdir_path rb 64 +Пример: +dir_name1 db 'addappl',0 +dir_path1 db 'HD0/1',0 +*/ +inline fastcall int SetAddApplDir( ECX) +{ + EAX = 30; + EBX = 3; + $int 0x40 +} + inline fastcall dword GetFreeRAM() { $mov eax, 18