Eolite 1.64: fixed cut/paste and rename bag (founded by 0CodErr)

git-svn-id: svn://kolibrios.org@3404 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2013-03-23 00:00:11 +00:00
parent c3a49bafc1
commit 16919a6ad9
3 changed files with 28 additions and 26 deletions

View File

@ -25,7 +25,7 @@ int BUTTON_HEIGHT=18;
#define ONLY_OPEN 2 #define ONLY_OPEN 2
//ïåðåìåííûå //ïåðåìåííûå
#define title "Eolite File Manager v1.63" #define title "Eolite File Manager v1.64"
dword col_work = 0xE4DFE1; dword col_work = 0xE4DFE1;
dword col_border = 0x819FC5; dword col_border = 0x819FC5;
dword col_padding = 0xC8C9C9; dword col_padding = 0xC8C9C9;
@ -50,7 +50,7 @@ unsigned char
path[4096], path[4096],
edit_path[4096], edit_path[4096],
file_path[4096], file_path[4096],
file_name[4096], file_name[256],
copy_file[4096], copy_file[4096],
temp[4096]; temp[4096];
int scroll_size; int scroll_size;
@ -695,13 +695,13 @@ void Del_Form()
void Del_File(byte dodel) void Del_File(byte dodel)
{ {
int del_file_rez; int del_rezult;
IF (dodel==true) IF (dodel==true)
{ {
del_file_rez = DeleteFile(#file_path); del_rezult = DeleteFile(#file_path);
IF (del_file_rez<>0) IF (del_rezult<>0)
{ {
Write_Error(del_file_rez); Write_Error(del_rezult);
IF ( isdir) ShowMessage("Error. Folder isn't empty."); IF ( isdir) ShowMessage("Error. Folder isn't empty.");
IF (!isdir) ShowMessage("Error. Filesystem read-only."); IF (!isdir) ShowMessage("Error. Filesystem read-only.");
} }
@ -725,27 +725,26 @@ void Paste()
strcat(#new_copy_path, "new_"); strcat(#new_copy_path, "new_");
strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/')); strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/'));
} }
copy_rezult=CopyFile(#copy_file,#new_copy_path); copy_rezult = CopyFile(#copy_file,#new_copy_path);
IF (copy_rezult<>0) //îøèáêà IF (copy_rezult!=0) //îøèáêà
{ {
Write_Error(copy_rezult); Write_Error(copy_rezult);
DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here."); return;
pause(150);
} }
IF (cut_active) //åñëè ìû âûáðàëè âûðåçàòü IF (cut_active) //åñëè ìû âûáðàëè âûðåçàòü
{ {
strcpy(#file_path, #copy_file); strcpy(#file_path, #copy_file);
Del_File(true); Del_File(true);
copy_file=NULL; copy_file=NULL;
cut_active=false; cut_active=false;
} }
SelectFile(#new_copy_path+strrchr(#new_copy_path,'/')); SelectFile(#new_copy_path+strrchr(#new_copy_path,'/'));
} }
void ReName(byte rename) void ReName(byte rename)
{ {
int del_file_rez; int del_rezult, copy_rezult;
char edit_name[256]; char edit_name[256];
rename_active=0; rename_active=0;
edit2.flags=64; edit2.flags=64;
@ -758,10 +757,10 @@ void ReName(byte rename)
if (strcmp(#file_path,#temp)<>0) && (file_name) if (strcmp(#file_path,#temp)<>0) && (file_name)
IF (isdir) IF (isdir)
{ {
del_file_rez = DeleteFile(#file_path); del_rezult = DeleteFile(#file_path);
IF (del_file_rez<>0) IF (del_rezult!=0)
{ {
Write_Error(del_file_rez); Write_Error(del_rezult);
ShowMessage("Error. Folder isn't empty."); ShowMessage("Error. Folder isn't empty.");
return; return;
} }
@ -770,8 +769,8 @@ void ReName(byte rename)
} }
ELSE ELSE
{ {
CopyFile(#file_path,#temp); copy_rezult = CopyFile(#file_path,#temp);
Del_File(true); if (copy_rezult!=0) Write_Error(copy_rezult); else Del_File(true);
} }
SelectFile(#edit_name); SelectFile(#edit_name);
} }

View File

@ -25,7 +25,7 @@ void about_dialog()
DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite"); DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite");
DrawBar(0,0,172,50,0x8494C4); DrawBar(0,0,172,50,0x8494C4);
PutPaletteImage(#logo,85,85,43,7,8,#logo_pal); PutPaletteImage(#logo,85,85,43,7,8,#logo_pal);
WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.63"); WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.64");
WriteText(55,120,0x80,0,"Developers:"); WriteText(55,120,0x80,0,"Developers:");
WriteText(39,130,0x80,0,"Leency & Veliant"); WriteText(39,130,0x80,0,"Leency & Veliant");
WriteText(45,140,0x80,0,"KolibriOS Team"); WriteText(45,140,0x80,0,"KolibriOS Team");

View File

@ -1,9 +1,12 @@
03.03.13 -- v1.62 03.03.13 -- v1.64
- перенос программы на общую библиотеку (очень хотел s1n). Это даёт доступ - перенос программы на общую библиотеку (очень хотел s1n). Это даёт доступ
к множествам наработок основной ветви; к множествам наработок основной ветви;
- для имен файлов и адресной строки теперь используется PathShow; - для имен файлов и адресной строки теперь используется PathShow;
- определение USB flash дисков; - определение USB flash дисков и SATA дисков через драйвер Serge'a;
- исправление многих ошибок. - после неудачного переименования или вставки файла оригинал не удаляется
(спасибо 0CodErr за найденный баг);
- исправление внешнего вида скроллбара, когда файлов в корне диска нет;
- исправление многих других ошибок.
28.02.13 -- v1.56 28.02.13 -- v1.56
- исправлено падение после запуска переименованого файла; - исправлено падение после запуска переименованого файла;