forked from KolibriOS/kolibrios
Eolite 1.55: sorting bug fixed, fixed rename/delete file in folder, where are no files exists.
git-svn-id: svn://kolibrios.org@3157 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
8e9d5576fd
commit
61664a951d
@ -20,7 +20,7 @@ int BUTTON_HEIGHT=18;
|
|||||||
#define ONLY_OPEN 2
|
#define ONLY_OPEN 2
|
||||||
|
|
||||||
//ïåðåìåííûå
|
//ïåðåìåííûå
|
||||||
#define title "Eolite File Manager v1.5"
|
#define title "Eolite File Manager v1.55"
|
||||||
dword col_work = 0xE4DFE1;
|
dword col_work = 0xE4DFE1;
|
||||||
dword col_border = 0x819FC5;
|
dword col_border = 0x819FC5;
|
||||||
dword col_padding = 0xC8C9C9;
|
dword col_padding = 0xC8C9C9;
|
||||||
@ -376,6 +376,7 @@ void main()
|
|||||||
break;
|
break;
|
||||||
case 051: //Íàæàòà F2
|
case 051: //Íàæàòà F2
|
||||||
REN_MARK:
|
REN_MARK:
|
||||||
|
if (!count) break;
|
||||||
DeleteButton(curbtn+201); //ýòî ÷òîá ìîæíî áûëî âûäåëÿòü ìûøüþ
|
DeleteButton(curbtn+201); //ýòî ÷òîá ìîæíî áûëî âûäåëÿòü ìûøüþ
|
||||||
edit2.flags=66; //äåëàåì êîìïîíåíò àêòèâíûì
|
edit2.flags=66; //äåëàåì êîìïîíåíò àêòèâíûì
|
||||||
edit2.width=onLeft(24,217);
|
edit2.width=onLeft(24,217);
|
||||||
@ -633,7 +634,8 @@ void Open_Dir(dword temp_, redraw){
|
|||||||
inline Sorting()
|
inline Sorting()
|
||||||
{
|
{
|
||||||
dword k=0, l=1;
|
dword k=0, l=1;
|
||||||
if (!strcmp(#path,"/")) || (count>3000) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/"
|
int i;
|
||||||
|
if (!strcmp(#path,"/")) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/"
|
||||||
{
|
{
|
||||||
FOR(k=1;k<count;k++;) file_mas[k]=k;
|
FOR(k=1;k<count;k++;) file_mas[k]=k;
|
||||||
return;
|
return;
|
||||||
@ -655,7 +657,7 @@ inline Sorting()
|
|||||||
//Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû
|
//Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû
|
||||||
Sort_by_Name(0,k-1);
|
Sort_by_Name(0,k-1);
|
||||||
IF (sort_num==1) Sort_by_Name(k,count-1);
|
IF (sort_num==1) Sort_by_Name(k,count-1);
|
||||||
IF (sort_num==2) if (count<2000) Sort_by_Type(k,count-1); else Sort_by_Name(k,count-1); //êîñòûëè...
|
IF (sort_num==2) Sort_by_Type(k,count-1);
|
||||||
IF (sort_num==3) Sort_by_Size(k,count-1);
|
IF (sort_num==3) Sort_by_Size(k,count-1);
|
||||||
//åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà
|
//åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà
|
||||||
IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]><file_mas[0];
|
IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]><file_mas[0];
|
||||||
@ -666,6 +668,7 @@ void Del_Form()
|
|||||||
{
|
{
|
||||||
int dform_x=Form.width/2-13;
|
int dform_x=Form.width/2-13;
|
||||||
//òèïà îêíî
|
//òèïà îêíî
|
||||||
|
if (!count) return;
|
||||||
FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé
|
FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé
|
||||||
DrawFlatButton(dform_x,160,200,80,0,col_work, ""); //ôîðìà
|
DrawFlatButton(dform_x,160,200,80,0,col_work, ""); //ôîðìà
|
||||||
WriteText(dform_x+19,175,0x80,0,"Do you really want to delete",0);
|
WriteText(dform_x+19,175,0x80,0,"Do you really want to delete",0);
|
||||||
|
@ -36,7 +36,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,#logo_pal);
|
PutPaletteImage(#logo,85,85,43,7,#logo_pal);
|
||||||
WriteText(46,100,0x90,0xBF40BF,"Eolite v1.51",0);
|
WriteText(46,100,0x90,0xBF40BF,"Eolite v1.55",0);
|
||||||
$add ebx, 1<<16
|
$add ebx, 1<<16
|
||||||
$int 0x40
|
$int 0x40
|
||||||
WriteText(55,120,0x80,0,"Developers:",0);
|
WriteText(55,120,0x80,0,"Developers:",0);
|
||||||
|
@ -21,33 +21,30 @@ void Sort_by_Name(int a, b) //
|
|||||||
Sort_by_Name(isn, b);
|
Sort_by_Name(isn, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Sort_by_Type(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
|
|
||||||
{
|
|
||||||
int jst, ist=a;
|
|
||||||
int n;
|
|
||||||
unsigned char filename1[256], filename2[256];
|
|
||||||
unsigned char ext1[256], ext2[256];
|
|
||||||
|
|
||||||
|
void Sort_by_Type(int a, b) // äëÿ ïåğâîãî âûçîâà: a = 0, b = <ıëåìåíòîâ â ìàññèâå> - 1
|
||||||
|
{
|
||||||
|
dword filename1, filename2, ext1, ext2;
|
||||||
|
int n, isn = a;
|
||||||
IF (a >= b) return;
|
IF (a >= b) return;
|
||||||
for (jst = a; jst <= b; jst++)
|
for (j = a; j <= b; j++)
|
||||||
{
|
{
|
||||||
ext1[0]=ext2[0]=filename1[0]=filename2[0]=NULL;
|
filename1 = file_mas[j]*304 + buf+72;
|
||||||
copystr(file_mas[jst]*304 + buf+72, #filename1);
|
filename2 = file_mas[b]*304 + buf+72;
|
||||||
copystr(file_mas[b]*304 + buf+72, #filename2);
|
|
||||||
n=strlen(#filename1)-1;
|
|
||||||
WHILE (filename1[n]<>'.') && (n>0) n--;
|
|
||||||
IF (n) copystr(#filename1+n+1, #ext1);
|
|
||||||
n=strlen(#filename2)-1;
|
|
||||||
WHILE (filename2[n]<>'.') && (n>0) n--;
|
|
||||||
IF (n) copystr(#filename2+n+1, #ext2);
|
|
||||||
|
|
||||||
n=strcmp(#ext1, #ext2);
|
n=strlen(filename1)-1;
|
||||||
IF (n<0) { file_mas[ist] >< file_mas[jst]; ist++;}
|
WHILE (n>0) && (ESBYTE[filename1+n]<>'.') n--;
|
||||||
IF (n==0) && (strcmp(#filename1, #filename2)<=0) { file_mas[ist] >< file_mas[jst]; ist++;}
|
IF (n) ext1 = filename1+n+1; else ext1=0;
|
||||||
|
n=strlen(filename2)-1;
|
||||||
|
WHILE (n>0) && (ESBYTE[filename2+n]<>'.') n--;
|
||||||
|
IF (n) ext2 = filename2+n+1; else ext2=0;
|
||||||
|
|
||||||
|
n=strcmp(ext1, ext2);
|
||||||
|
IF (n<0) { file_mas[isn] >< file_mas[j]; isn++;}
|
||||||
|
IF (n==0) && (strcmp(filename1, filename2)<=0) { file_mas[isn] >< file_mas[j]; isn++;}
|
||||||
}
|
}
|
||||||
Sort_by_Type(a, ist-2);
|
Sort_by_Type(a, isn-2);
|
||||||
Sort_by_Type(ist, b);
|
Sort_by_Type(isn, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
10.01.13 -- v1.55
|
||||||
|
- исправлен эпичный баг с сортировкой;
|
||||||
|
- испрвлены баги при попытке переименования или удаления файла в папке,
|
||||||
|
где их нет.
|
||||||
|
|
||||||
|
17.12.12 -- v1.5
|
||||||
|
Обновлён GUI: кнопки на тулбаре стали чище, остальные обзавелись градиентами.
|
||||||
|
|
||||||
16.11.12 -- v1.43
|
16.11.12 -- v1.43
|
||||||
- при минимальном размере окна учитывается количество дисков в системе;
|
- при минимальном размере окна учитывается количество дисков в системе;
|
||||||
- добавлен фон на левую панель;
|
- добавлен фон на левую панель;
|
||||||
|
Loading…
Reference in New Issue
Block a user