forked from KolibriOS/kolibrios
Eolite 2.62: small optimized
git-svn-id: svn://kolibrios.org@5513 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3d6423b368
commit
f74f8c194a
@ -89,8 +89,8 @@
|
||||
|
||||
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
||||
|
||||
#define TITLE "Eolite File Manager v2.63"
|
||||
#define ABOUT_TITLE "Eolite v2.63"
|
||||
#define TITLE "Eolite File Manager v2.64"
|
||||
#define ABOUT_TITLE "Eolite v2.64"
|
||||
dword col_padding, col_selec, col_lpanel;
|
||||
|
||||
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
||||
@ -131,6 +131,7 @@ dword file_mas[6898];
|
||||
int j, i;
|
||||
int action_buf;
|
||||
int rand_n;
|
||||
int selected_count;
|
||||
|
||||
edit_box edit2 = {250,213,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6};
|
||||
PathShow_data PathShow = {0, 17,250, 6, 250, 0, 0, 0x0, 0xFFFfff, #path, #temp, 0};
|
||||
@ -392,6 +393,7 @@ void main()
|
||||
{
|
||||
selected_offset = file_mas[i]*304 + buf+32 + 7;
|
||||
ESBYTE[selected_offset] = 1;
|
||||
selected_count++;
|
||||
}
|
||||
List_ReDraw();
|
||||
break;
|
||||
@ -402,6 +404,7 @@ void main()
|
||||
selected_offset = file_mas[i]*304 + buf+32 + 7;
|
||||
ESBYTE[selected_offset] = 0;
|
||||
}
|
||||
selected_count = 0;
|
||||
List_ReDraw();
|
||||
break;
|
||||
case ASCII_KEY_ESC:
|
||||
@ -443,7 +446,16 @@ void main()
|
||||
break;
|
||||
case ASCII_KEY_INS:
|
||||
selected_offset = file_mas[files.current+files.first]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset]) ESBYTE[selected_offset]=0; else ESBYTE[selected_offset] = 1;
|
||||
if (ESBYTE[selected_offset])
|
||||
{
|
||||
ESBYTE[selected_offset]=0;
|
||||
selected_count--;
|
||||
}
|
||||
else
|
||||
{
|
||||
ESBYTE[selected_offset] = 1;
|
||||
selected_count++;
|
||||
}
|
||||
List_Current(1);
|
||||
break;
|
||||
case 048...059: //F1-F10
|
||||
@ -831,7 +843,6 @@ void Del_File(byte dodel)
|
||||
byte del_from[4096];
|
||||
dword selected_offset2;
|
||||
int tst, count, i;
|
||||
int cont = 0;
|
||||
|
||||
if (dodel==true)
|
||||
{
|
||||
@ -839,27 +850,21 @@ void Del_File(byte dodel)
|
||||
if (itdir) ShowMessage(WAIT_DELETING_FOLDER, 0);
|
||||
del_error = 0;
|
||||
|
||||
for (i=0; i<files.count; i++)
|
||||
{
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) cont++;
|
||||
}
|
||||
if (!cont)
|
||||
if (selected_count)
|
||||
{
|
||||
Del_File2(#file_path);
|
||||
for (i=0; i<files.count; i++)
|
||||
{
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) {
|
||||
strcpy(#del_from, #path);
|
||||
strcat(#del_from, file_mas[i]*304+buf+72);
|
||||
Del_File2(#del_from);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0; i<files.count; i++)
|
||||
{
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) {
|
||||
strcpy(#del_from, #path);
|
||||
strcat(#del_from, file_mas[i]*304+buf+72);
|
||||
Del_File2(#del_from);
|
||||
}
|
||||
}
|
||||
|
||||
Del_File2(#file_path);
|
||||
}
|
||||
if (del_error) Write_Error(del_error);
|
||||
}
|
||||
@ -938,6 +943,7 @@ void Dir_Up()
|
||||
void Open(byte rez)
|
||||
{
|
||||
byte temp[4096];
|
||||
selected_count = 0;
|
||||
if (rez)
|
||||
{
|
||||
if (!strcmp(#file_name,"..")) return;
|
||||
|
@ -17,45 +17,38 @@ Clipboard clipboard;
|
||||
|
||||
void Copy(dword pcth, char cut)
|
||||
{
|
||||
dword selected_offset2;
|
||||
byte copy_t[4096];
|
||||
int cont = 0;
|
||||
dword buff_data;
|
||||
int ind = 0;
|
||||
dword selected_offset2;
|
||||
byte copy_t[4096];
|
||||
dword buff_data;
|
||||
int ind = 0;
|
||||
|
||||
if (selected_count)
|
||||
{
|
||||
buff_data = malloc(selected_count*4096+10);
|
||||
ESDWORD[buff_data] = selected_count*4096+10;
|
||||
ESDWORD[buff_data+4] = 3;
|
||||
ESINT[buff_data+8] = selected_count;
|
||||
for (i=0; i<files.count; i++)
|
||||
{
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) cont++;
|
||||
}
|
||||
if (!cont)
|
||||
{
|
||||
buff_data = malloc(4106);
|
||||
ESDWORD[buff_data] = 4106;
|
||||
ESDWORD[buff_data+4] = 3;
|
||||
ESINT[buff_data+8] = 1;
|
||||
strlcpy(buff_data+10, #file_path, 4096);;
|
||||
clipboard.SetSlotData(4106, buff_data);
|
||||
}
|
||||
else
|
||||
{
|
||||
buff_data = malloc(cont*4096+10);
|
||||
ESDWORD[buff_data] = cont*4096+10;
|
||||
ESDWORD[buff_data+4] = 3;
|
||||
ESINT[buff_data+8] = cont;
|
||||
for (i=0; i<files.count; i++)
|
||||
{
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) {
|
||||
strcpy(#copy_t, #path);
|
||||
strcat(#copy_t, file_mas[i]*304+buf+72);
|
||||
|
||||
strlcpy(ind*4096+buff_data+10, #copy_t, 4096);;
|
||||
ind++;
|
||||
}
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) {
|
||||
strcpy(#copy_t, #path);
|
||||
strcat(#copy_t, file_mas[i]*304+buf+72);
|
||||
strlcpy(ind*4096+buff_data+10, #copy_t, 4096);;
|
||||
ind++;
|
||||
}
|
||||
clipboard.SetSlotData(cont*4096+10, buff_data);
|
||||
}
|
||||
}
|
||||
clipboard.SetSlotData(selected_count*4096+10, buff_data);
|
||||
}
|
||||
else
|
||||
{
|
||||
buff_data = malloc(4106);
|
||||
ESDWORD[buff_data] = 4106;
|
||||
ESDWORD[buff_data+4] = 3;
|
||||
ESINT[buff_data+8] = 1;
|
||||
strlcpy(buff_data+10, #file_path, 4096);;
|
||||
clipboard.SetSlotData(4106, buff_data);
|
||||
}
|
||||
cut_active = cut;
|
||||
free(buff_data);
|
||||
}
|
||||
|
@ -117,7 +117,6 @@ void properties_dialog()
|
||||
dword file_name_off;
|
||||
dword element_size;
|
||||
dword selected_offset2;
|
||||
int cont = 0;
|
||||
char element_size_label[32];
|
||||
proc_info settings_form;
|
||||
|
||||
@ -126,13 +125,7 @@ void properties_dialog()
|
||||
dir_count = 0;
|
||||
size_dir = 0;
|
||||
|
||||
for (i=0; i<files.count; i++)
|
||||
{
|
||||
selected_offset2 = file_mas[i]*304 + buf+32 + 7;
|
||||
if (ESBYTE[selected_offset2]) cont++;
|
||||
}
|
||||
|
||||
if (cont) GetSizeMoreFiles(#path);
|
||||
if (selected_count) GetSizeMoreFiles(#path);
|
||||
else
|
||||
{
|
||||
GetFileInfo(#file_path, #file_info_general);
|
||||
@ -175,7 +168,7 @@ void properties_dialog()
|
||||
|
||||
WriteText(10, 65, 0x80, 0x000000, PR_T_SIZE);
|
||||
|
||||
if (cont)
|
||||
if (selected_count)
|
||||
{
|
||||
Put_icon('', 18, 20, 0xFFFfff, 0);
|
||||
strcpy(#folder_info, SET_6);
|
||||
|
Loading…
Reference in New Issue
Block a user