Eolite RC2

git-svn-id: svn://kolibrios.org@977 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2008-12-20 06:22:01 +00:00
parent ee45105438
commit f5e0b20ca6
3 changed files with 34 additions and 15 deletions

View File

@ -1,7 +1,6 @@
//Leency & Veliant -=- KolibriOS Team -=- 2008
//строка 258, кейап!
//âîçěîćíî, áŕă â KEdit
//find_symbol надо читать с конца
//DrawBar(sort_num[1],45,6,9,0xE4DFE1);
//Open_Dir нахрен испаганен ифами, сделать дефайлы или ещё что-то, потому что пока это выглядит некрасиво
@ -191,7 +190,7 @@ int pressed_y;
IF (key==027) Del_File(false);
break;
}
IF (edit1.flags<>64) && (key<>13) {EAX=key<<8; edit_box_key stdcall (#edit1); break;}
IF (edit1.flags<>64) && IF (edit1.flags<>0) && (key<>13) {EAX=key<<8; edit_box_key stdcall (#edit1); break;}
IF (edit2.flags<>64) && (key<>13) && (key<>27) {EAX=key<<8; edit_box_key stdcall (#edit2); break;}
switch (key)
{
@ -398,7 +397,7 @@ void List_ReDraw()
void Line_ReDraw(dword color, filenum){
dword y;//ďîëîćĺíčĺ ňĺęńňŕ ďî Y;
dword text_col, y;//ïîëîæåíèå òåêñòà ïî Y;
if (rename_active==1) //всё это полный пипец, и надо вынести в отдельную процедуру
{
rename_active=0;
@ -424,10 +423,13 @@ void Line_ReDraw(dword color, filenum){
//да, я не спорю что изврат, но перерисовка зато маленькая
DrawBar(192,y,3,18,color); DrawBar(195,y,16,2,color);
DrawBar(192+19,y,onLeft(46,192),18,color); DrawBar(195,y+17,16,1,color);
//
off=file_mas[filenum+za_kadrom]*304 + buf+72;
EAX=ESDWORD[off-40];
$shr eax,4
//
EBX=EAX=ESDWORD[off-40];
$shr ebx,2 //ôàéë ñêðûòûé?
$and ebx,1
IF (!EBX) text_col=0; ELSE text_col=0xA6A6B7;
$shr eax,4 //ýòî ïàïêà?
$and eax,1
IF (color==videlenie) isdir=EAX;
if (!EAX)
@ -441,6 +443,8 @@ void Line_ReDraw(dword color, filenum){
copystr(off,#file_name);
copystr(#path,#file_path);
copystr(#file_name,#file_path+strlen(#file_path)); //полный путь к файлу
Preview();
IF (text_col==0xA6A6B7) text_col=0xFFFFFF;
/*IF (show_preview) && (!isdir)
{
GetImage(#file_path);
@ -449,12 +453,11 @@ void Line_ReDraw(dword color, filenum){
IF (pLoadedImage<>0) DrawImage(#CurrentImage, 22*65536+j+skin_width+18);
}*/
}
temp_int = onLeft(215,160)/6;
temp_int = onLeft(215,165)/6;
IF (strlen(off)<temp_int) temp_int = strlen(off); //длинна названия файла
WriteText(215,y+6,0,0,off,temp_int); //čě˙ ôŕéëŕ
WriteText(215,y+6,0,text_col,off,temp_int); //èìÿ ôàéëà
DrawBar(onLeft(168,0),y,1,18,0xE4DFE1); //полоса серая вертикальная 1
DrawBar(onLeft(95,0),y,1,18,0xE4DFE1); //полоса серая вертикальная 2
//Preview();
}
@ -666,7 +669,7 @@ void Preview()
WriteText(30,top_pr+50,0x80,0,"curbtn",0); WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0);
WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0); WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0);
WriteText(30,top_pr+70,0x80,0,#file_path,0);
WriteText(30,top_pr+80,0x80,0,#file_name,0);
WriteText(30,top_pr+80,0x80,0,IntToStr(edit1.flags),0); WriteText(30,top_pr+90,0x80,0,IntToStr(edit2.flags),0);
}
ELSE
{
@ -713,9 +716,19 @@ void Dir_Up()
}
/*inline fastcall void GoBack() //âíà÷àëå óäàëÿåì òåêóùèé ïóòü, à ïîòîì êîïèðóåì òî, ÷òî îñòàëîñü
{
i=strlen(#PathHistory)-1;
PathHistory[i]=0x00;
copystr(#PathHistory+find_symbol(#PathHistory,'/'),#temp); //ïàïêà â êîòîðîé áûëè
HistoryPath(go_back);
SelectFile(#temp);
}*/
inline fastcall void GoBack() //вначале удаляем текущий путь, а потом копируем то, что осталось
{
i=strlen(#PathHistory)-1;
IF (i<7) return;
PathHistory[i]=0x00;
copystr(#PathHistory+find_symbol(#PathHistory,'/'),#temp); //папка в которой были
HistoryPath(go_back);

View File

@ -1,4 +1,4 @@
20.12.08 -- v0.98.3 RC1 -- 14.6 Ęá
20.12.08 -- v0.98.3 RC2 -- 14.6 Кб
- теперь координаты отсчитываются от конца скина;
- устранён вылет программы в случае, если в папке 0 или больше чем 6898 файлов;
- исправлен баг: если в конце списка развернуть окно, выделение "прыгало" вверх;
@ -8,6 +8,10 @@
- исправлены недочёты при переходе в верхнюю папку;
- в историю посещённых папок теперь не может два раза подряд записаться одна и
та же папка;
- исправлен баг из-за которого выделение выделение могло не двигаться клавишами;
- прога не вылетает из-за переполнения в истории посещённых папок, однако один
небольшой косяк там остался;
- тестовое отображение скрытых файлов;
- удалён неиспользуемый код;

View File

@ -41,7 +41,7 @@ void authors()
DefineAndDrawWindow(500,200,181,256,0x34,0x10EFEBEF,0,0,"About Eolite");
DrawBar(0,0,172,50,0x8494C4); //ãîëóáîå ñçàäè
PutPaletteImage(#logo,85,85,48,7,#logo_pal);
WriteText(33,100,0x80,0xBF40BF,"Eolite v0.98.3 RC1",0);
WriteText(33,100,0x80,0xBF40BF,"Eolite v0.98.3 RC2",0);
WriteText(55,120,0x80,0,"Developers:",0);
WriteText(39,130,0x80,0,"Leency & Veliant",0);
WriteText(30,140,0x80,0,"Diamond, Lrz, Nable",0);
@ -55,14 +55,16 @@ void authors()
void HistoryPath(byte action)
{
IF (action==add_new_path)
if (action==add_new_path)
{
IF (strcmp(#PathHistory+find_symbol(#PathHistory,'|'),#path)==0) return;
IF (strlen(#PathHistory)+strlen(#path)>2560) {copystr(#PathHistory+1024,#PathHistory); copystr("/",#PathHistory+strlen(#PathHistory));}//0_o
copystr("|",#PathHistory+strlen(#PathHistory));
copystr(#path,#PathHistory+strlen(#PathHistory));
}
IF (action==go_back)
if (action==go_back)
{
i=strlen(#PathHistory)-1;
WHILE (PathHistory[i]<>'|') { i--; };
IF (i>0) PathHistory[i]=0x00;
WHILE (PathHistory[i]<>'|') { copystr(#PathHistory[i],#path); i--; }