forked from KolibriOS/kolibrios
Eolite 2.8: check when you rename the presence of the file / folder with the same name
git-svn-id: svn://kolibrios.org@5571 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
f62c4748c7
commit
a503dfc7f3
@ -36,6 +36,7 @@
|
|||||||
?define T_NO "<EFBFBD>¥â"
|
?define T_NO "<EFBFBD>¥â"
|
||||||
?define T_CANCEL "Žâ¬¥ "
|
?define T_CANCEL "Žâ¬¥ "
|
||||||
?define T_CREATE "‘®§¤ âì"
|
?define T_CREATE "‘®§¤ âì"
|
||||||
|
?define T_RENAME "<EFBFBD>¥à¥¨¬¥®¢ âì"
|
||||||
?define FILE_EXISTS "” ©« á â ª¨¬ ¨¬¥¥¬ áãé¥áâ¢ã¥â"
|
?define FILE_EXISTS "” ©« á â ª¨¬ ¨¬¥¥¬ áãé¥áâ¢ã¥â"
|
||||||
?define FOLDER_EXISTS "<EFBFBD> ¯ª á â ª¨¬ ¨¬¥¥¬ áãé¥áâ¢ã¥â"
|
?define FOLDER_EXISTS "<EFBFBD> ¯ª á â ª¨¬ ¨¬¥¥¬ áãé¥áâ¢ã¥â"
|
||||||
?define T_DEL_ERROR_1 "Žè¨¡ª . <20> ¯ª ¥ ¯ãáâ ï."
|
?define T_DEL_ERROR_1 "Žè¨¡ª . <20> ¯ª ¥ ¯ãáâ ï."
|
||||||
@ -62,6 +63,7 @@
|
|||||||
?define T_NO "Ei"
|
?define T_NO "Ei"
|
||||||
?define T_CANCEL "Cancel"
|
?define T_CANCEL "Cancel"
|
||||||
?define T_CREATE "Create"
|
?define T_CREATE "Create"
|
||||||
|
?define T_RENAME "Rename"
|
||||||
?define FILE_EXISTS "The file with the same name exists"
|
?define FILE_EXISTS "The file with the same name exists"
|
||||||
?define FOLDER_EXISTS "A folder with the same name exists"
|
?define FOLDER_EXISTS "A folder with the same name exists"
|
||||||
?define T_DEL_ERROR_1 "Viga. Kataloog ei ole tühi."
|
?define T_DEL_ERROR_1 "Viga. Kataloog ei ole tühi."
|
||||||
@ -88,6 +90,7 @@
|
|||||||
?define T_NO "No"
|
?define T_NO "No"
|
||||||
?define T_CANCEL "Cancel"
|
?define T_CANCEL "Cancel"
|
||||||
?define T_CREATE "Create"
|
?define T_CREATE "Create"
|
||||||
|
?define T_RENAME "Rename"
|
||||||
?define FILE_EXISTS "The file with the same name exists"
|
?define FILE_EXISTS "The file with the same name exists"
|
||||||
?define FOLDER_EXISTS "A folder with the same name exists"
|
?define FOLDER_EXISTS "A folder with the same name exists"
|
||||||
?define T_DEL_ERROR_1 "Error. Folder isn't empty."
|
?define T_DEL_ERROR_1 "Error. Folder isn't empty."
|
||||||
@ -107,8 +110,8 @@
|
|||||||
|
|
||||||
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
||||||
|
|
||||||
#define TITLE "Eolite File Manager v2.78"
|
#define TITLE "Eolite File Manager v2.8"
|
||||||
#define ABOUT_TITLE "Eolite v2.78"
|
#define ABOUT_TITLE "Eolite v2.8"
|
||||||
dword col_padding, col_selec, col_lpanel;
|
dword col_padding, col_selec, col_lpanel;
|
||||||
|
|
||||||
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
||||||
@ -130,7 +133,6 @@ byte
|
|||||||
new_element_name[256],
|
new_element_name[256],
|
||||||
temp[4096];
|
temp[4096];
|
||||||
byte
|
byte
|
||||||
rename_active=0,
|
|
||||||
del_active=0,
|
del_active=0,
|
||||||
new_element_active=0,
|
new_element_active=0,
|
||||||
show_dev_name=1,
|
show_dev_name=1,
|
||||||
@ -209,7 +211,6 @@ void main()
|
|||||||
edit_box_mouse stdcall(#new_file_ed);
|
edit_box_mouse stdcall(#new_file_ed);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (rename_active) { edit_box_mouse stdcall(#edit2); break; }
|
|
||||||
|
|
||||||
m.get();
|
m.get();
|
||||||
|
|
||||||
@ -359,7 +360,6 @@ void main()
|
|||||||
KillProcess(about_window);
|
KillProcess(about_window);
|
||||||
ExitProcess();
|
ExitProcess();
|
||||||
}
|
}
|
||||||
if (rename_active) break;
|
|
||||||
if (del_active)
|
if (del_active)
|
||||||
{
|
{
|
||||||
IF (id==301) || (id==302) Del_File(302-id);
|
IF (id==301) || (id==302) Del_File(302-id);
|
||||||
@ -489,10 +489,9 @@ void main()
|
|||||||
List_ReDraw();
|
List_ReDraw();
|
||||||
break;
|
break;
|
||||||
case ASCII_KEY_ESC:
|
case ASCII_KEY_ESC:
|
||||||
IF (rename_active==1) ReName(false);
|
|
||||||
break;
|
break;
|
||||||
case ASCII_KEY_ENTER:
|
case ASCII_KEY_ENTER:
|
||||||
IF (rename_active==1) {ReName(true); break;}
|
//IF (rename_active==1) {ReName(true); break;}
|
||||||
Open(0);
|
Open(0);
|
||||||
break;
|
break;
|
||||||
case 074: //menu
|
case 074: //menu
|
||||||
@ -629,7 +628,6 @@ void draw_window()
|
|||||||
Open_Dir(#path,ONLY_SHOW);
|
Open_Dir(#path,ONLY_SHOW);
|
||||||
if (del_active) Del_Form();
|
if (del_active) Del_Form();
|
||||||
if (new_element_active) NewElement_Form(new_element_active);
|
if (new_element_active) NewElement_Form(new_element_active);
|
||||||
if (rename_active) FnProcess(2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -957,47 +955,6 @@ void Del_File(byte dodel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ReName(byte rename)
|
|
||||||
{
|
|
||||||
int del_rezult, copy_rezult;
|
|
||||||
char edit_name[256];
|
|
||||||
rename_active=0;
|
|
||||||
edit2.flags=64;
|
|
||||||
if (rename==true)
|
|
||||||
{
|
|
||||||
strcpy(#temp, #path);
|
|
||||||
strcpy(#edit_name, #file_name); //save edit name to select it later
|
|
||||||
strcat(#temp, #file_name);
|
|
||||||
if (strcmpi(#file_path,#temp)!=0) && (file_name)
|
|
||||||
if (itdir)
|
|
||||||
{
|
|
||||||
if (del_rezult = DeleteFile(#file_path))
|
|
||||||
{
|
|
||||||
Write_Error(del_rezult);
|
|
||||||
ShowMessage(T_DEL_ERROR_1, 150);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (CreateDir(#temp)) CreateDir(#file_path);
|
|
||||||
Open_Dir(#path,WITH_REDRAW);
|
|
||||||
SelectFile(#edit_name);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (copy_rezult = CopyFile(#file_path,#temp))
|
|
||||||
{
|
|
||||||
Write_Error(copy_rezult);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Del_File(true);
|
|
||||||
SelectFile(#edit_name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Line_ReDraw(col_selec,files.current);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void SelectFile(dword that_file)
|
void SelectFile(dword that_file)
|
||||||
{
|
{
|
||||||
files.first=files.current=0;
|
files.first=files.current=0;
|
||||||
@ -1069,15 +1026,14 @@ void ShowOpenWithDialog()
|
|||||||
void NewElement(byte newf)
|
void NewElement(byte newf)
|
||||||
{
|
{
|
||||||
BDVK element_info;
|
BDVK element_info;
|
||||||
//char edit_name[256];
|
int del_rezult, copy_rezult;
|
||||||
//strcpy(#edit_name, #file_name);
|
|
||||||
if (newf)
|
if (newf)
|
||||||
{
|
{
|
||||||
strcpy(#temp, #path);
|
strcpy(#temp, #path);
|
||||||
//strcpy(#edit_name, new_file_ed.text);
|
|
||||||
strcat(#temp, new_file_ed.text);
|
strcat(#temp, new_file_ed.text);
|
||||||
if (new_element_active==1)
|
switch(new_element_active)
|
||||||
{
|
{
|
||||||
|
case 1:
|
||||||
GetFileInfo(#temp, #element_info);
|
GetFileInfo(#temp, #element_info);
|
||||||
if (EAX==5)
|
if (EAX==5)
|
||||||
{
|
{
|
||||||
@ -1092,9 +1048,7 @@ void NewElement(byte newf)
|
|||||||
{
|
{
|
||||||
notify(FILE_EXISTS);
|
notify(FILE_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
case 2:
|
||||||
else
|
|
||||||
{
|
|
||||||
GetFileInfo(#temp, #element_info);
|
GetFileInfo(#temp, #element_info);
|
||||||
if (EAX==5)
|
if (EAX==5)
|
||||||
{
|
{
|
||||||
@ -1109,6 +1063,39 @@ void NewElement(byte newf)
|
|||||||
{
|
{
|
||||||
notify(FOLDER_EXISTS);
|
notify(FOLDER_EXISTS);
|
||||||
}
|
}
|
||||||
|
case 3:
|
||||||
|
GetFileInfo(#temp, #element_info);
|
||||||
|
if (EAX==5)
|
||||||
|
{
|
||||||
|
if (itdir)
|
||||||
|
{
|
||||||
|
if (del_rezult = DeleteFile(#file_path))
|
||||||
|
{
|
||||||
|
Write_Error(del_rezult);
|
||||||
|
ShowMessage(T_DEL_ERROR_1, 150);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (CreateDir(#temp)) CreateDir(#file_path);
|
||||||
|
Open_Dir(#path,WITH_REDRAW);
|
||||||
|
SelectFile(new_file_ed.text);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (copy_rezult = CopyFile(#file_path,#temp))
|
||||||
|
{
|
||||||
|
Write_Error(copy_rezult);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Del_File(true);
|
||||||
|
SelectFile(new_file_ed.text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
notify(FILE_EXISTS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
new_element_active = 0;
|
new_element_active = 0;
|
||||||
Open_Dir(#path,WITH_REDRAW);
|
Open_Dir(#path,WITH_REDRAW);
|
||||||
@ -1118,28 +1105,21 @@ void NewElement(byte newf)
|
|||||||
Open_Dir(#path,WITH_REDRAW);
|
Open_Dir(#path,WITH_REDRAW);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NewElement_Form(byte crt)
|
void NewElement_Form(byte crt, dword strng)
|
||||||
{
|
{
|
||||||
int dform_x=files.w-220/2+files.x;
|
int dform_x=files.w-220/2+files.x;
|
||||||
if (!new_element_active)
|
if (!new_element_active)
|
||||||
{
|
{
|
||||||
new_element_active = crt;
|
new_element_active = crt;
|
||||||
if (new_element_active==1)
|
strcpy(#new_element_name, strng);
|
||||||
{
|
new_file_ed.size = new_file_ed.pos = strlen(strng);
|
||||||
strcpy(#new_element_name, T_NEW_FILE);
|
|
||||||
new_file_ed.size = new_file_ed.pos = strlen(T_NEW_FILE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
strcpy(#new_element_name, T_NEW_FOLDER);
|
|
||||||
new_file_ed.size = new_file_ed.pos = strlen(T_NEW_FOLDER);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
DrawPopup(dform_x,160,220,80,1,sc.work,sc.work_graph);
|
DrawPopup(dform_x,160,220,80,1,sc.work,sc.work_graph);
|
||||||
new_file_ed.left = dform_x+27;
|
new_file_ed.left = dform_x+27;
|
||||||
new_file_ed.top = 180;
|
new_file_ed.top = 180;
|
||||||
edit_box_draw stdcall (#new_file_ed);
|
edit_box_draw stdcall (#new_file_ed);
|
||||||
DrawFlatButton(dform_x+27,208,70,20,301,0xFFB6B5,T_CREATE);
|
IF (new_element_active==3) DrawFlatButton(dform_x+22,208,85,20,301,0xFFB6B5,T_RENAME);
|
||||||
|
ELSE DrawFlatButton(dform_x+27,208,70,20,301,0xFFB6B5,T_CREATE);
|
||||||
DrawFlatButton(dform_x+120,208,70,20,302,0xC6DFC6,T_CANCEL);
|
DrawFlatButton(dform_x+120,208,70,20,302,0xC6DFC6,T_CANCEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1161,14 +1141,15 @@ void FnProcess(char N)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!files.count) break;
|
if (!files.count) break;
|
||||||
edit2.flags = 100000000000010b; //set active
|
//edit2.flags = 100000000000010b; //set active
|
||||||
edit2.left = files.x + 21;
|
//edit2.left = files.x + 21;
|
||||||
edit2.width = files.w - 26;
|
//edit2.width = files.w - 26;
|
||||||
edit2.top=files.current*files.line_h+59;
|
//edit2.top=files.current*files.line_h+59;
|
||||||
edit2.size=edit2.pos=strlen(#file_name);
|
//edit2.size=edit2.pos=strlen(#file_name);
|
||||||
edit_box_draw stdcall (#edit2);
|
//edit_box_draw stdcall (#edit2);
|
||||||
DrawBar(edit2.left,files.current*files.line_h+58,edit2.width+1,1,0xFFFFCC); //bg
|
//DrawBar(edit2.left,files.current*files.line_h+58,edit2.width+1,1,0xFFFFCC); //bg
|
||||||
rename_active=1;
|
//rename_active=1;
|
||||||
|
NewElement_Form(3, #file_name);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
IF (!itdir) RunProgram("/sys/tinypad", #file_path);
|
IF (!itdir) RunProgram("/sys/tinypad", #file_path);
|
||||||
@ -1198,7 +1179,7 @@ void FnProcess(char N)
|
|||||||
Write_Error(EAX);
|
Write_Error(EAX);
|
||||||
ShowMessage(NOT_CREATE_FOLDER, 150);
|
ShowMessage(NOT_CREATE_FOLDER, 150);
|
||||||
}*/
|
}*/
|
||||||
NewElement_Form(2);
|
NewElement_Form(2, T_NEW_FOLDER);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
/*strcpy(#temp, #path);
|
/*strcpy(#temp, #path);
|
||||||
@ -1213,7 +1194,7 @@ void FnProcess(char N)
|
|||||||
Write_Error(EAX);
|
Write_Error(EAX);
|
||||||
ShowMessage(NOT_CREATE_FILE, 150);
|
ShowMessage(NOT_CREATE_FILE, 150);
|
||||||
}*/
|
}*/
|
||||||
NewElement_Form(1);
|
NewElement_Form(1, T_NEW_FILE);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
SwitchToAnotherThread();
|
SwitchToAnotherThread();
|
||||||
|
Loading…
Reference in New Issue
Block a user