Eolite 1.98: fix message pop-ups position, redraw window while folder deleting

git-svn-id: svn://kolibrios.org@4002 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2013-10-10 07:16:37 +00:00
parent 624a5c206a
commit 64ac6d8bd3
3 changed files with 34 additions and 20 deletions

View File

@ -73,8 +73,8 @@
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
#define TITLE "Eolite File Manager v1.97.7" #define TITLE "Eolite File Manager v1.98"
#define ABOUT_TITLE "Eolite v1.97.7" #define ABOUT_TITLE "Eolite v1.98"
dword col_work = 0xE4DFE1; dword col_work = 0xE4DFE1;
dword col_border = 0x9098B0; //A0A0B8; //0x819FC5; dword col_border = 0x9098B0; //A0A0B8; //0x819FC5;
dword col_padding = 0xC8C9C9; dword col_padding = 0xC8C9C9;
@ -438,6 +438,7 @@ void draw_window()
DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,col_work,"\x19"); DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,col_work,"\x19");
Open_Dir(#path,ONLY_SHOW); Open_Dir(#path,ONLY_SHOW);
if (del_active) Del_Form(); if (del_active) Del_Form();
//if (itdir) ShowMessage(WAIT_DELETING_FOLDER, 0);
if (rename_active) FnProcess(2); if (rename_active) FnProcess(2);
} }
@ -640,24 +641,31 @@ inline Sorting()
void Del_Form() void Del_Form()
{ {
int dform_x = Form.width/2-13; int dform_x=files.w-220/2+files.x;
if (!files.count) return; if (del_active==2)
DrawPopup(dform_x,160,220,80,1,col_work,col_border);
WriteText(-strlen(T_DELETE_FILE)*3+110+dform_x,175,0x80,0,T_DELETE_FILE);
IF (strlen(#file_name)<28)
{ {
WriteText(strlen(#file_name)*3+110+dform_x+2,190,0x80,0,"?"); if (itdir) ShowMessage(WAIT_DELETING_FOLDER, 0);
WriteText(-strlen(#file_name)*3+110+dform_x,190,0x80,0,#file_name);
} }
else else
{ {
WriteText(164+dform_x,190,0x80,0,"...?"); if (!files.count) return;
ESI = 24; DrawPopup(dform_x,160,220,80,1,col_work,col_border);
WriteText(dform_x+20,190,0,0,#file_name); WriteText(-strlen(T_DELETE_FILE)*3+110+dform_x,175,0x80,0,T_DELETE_FILE);
IF (strlen(#file_name)<28)
{
WriteText(strlen(#file_name)*3+110+dform_x+2,190,0x80,0,"?");
WriteText(-strlen(#file_name)*3+110+dform_x,190,0x80,0,#file_name);
}
else
{
WriteText(164+dform_x,190,0x80,0,"...?");
ESI = 24;
WriteText(dform_x+20,190,0,0,#file_name);
}
DrawFlatButton(dform_x+27,208,70,20,301,0xFFB6B5,T_YES);
DrawFlatButton(dform_x+120,208,70,20,302,0xC6DFC6,T_NO);
del_active=1;
} }
DrawFlatButton(dform_x+27,208,70,20,301,0xFFB6B5,T_YES);
DrawFlatButton(dform_x+120,208,70,20,302,0xC6DFC6,T_NO);
del_active=1;
} }
@ -670,10 +678,7 @@ void Del_File2(dword way)
error = GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL); error = GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL);
for (i=0; i<fcount; i++) for (i=0; i<fcount; i++)
{ {
//need redraw window during this process if (CheckEvent()==evReDraw) draw_window();
//like this:
//if CheckEvent()==Redraw DrawWindow();
//i'm too tired to code now...
filename = i*304+dirbuf+72; filename = i*304+dirbuf+72;
strcpy(#del_from, way); strcpy(#del_from, way);
chrcat(#del_from, '/'); chrcat(#del_from, '/');
@ -692,6 +697,7 @@ void Del_File(byte dodel)
{ {
if (dodel==true) if (dodel==true)
{ {
del_active=2;
List_ReDraw(); List_ReDraw();
if (itdir) ShowMessage(WAIT_DELETING_FOLDER, 0); if (itdir) ShowMessage(WAIT_DELETING_FOLDER, 0);
Del_File2(#file_path); Del_File2(#file_path);

View File

@ -7,7 +7,7 @@ dword onTop(dword down,up) {EAX=Form.height-GetSkinHeight()-down-up;}
void ShowMessage(dword message, pause_duration) void ShowMessage(dword message, pause_duration)
{ {
int form_x=Form.width/2-13; int form_x=files.w-220/2+files.x;
int form_y=160; int form_y=160;
DrawPopup(form_x,form_y,220,80,1,col_work,col_border); DrawPopup(form_x,form_y,220,80,1,col_work,col_border);
WriteText(-strlen(message)*3+110+form_x,80/2-4+form_y,0x80,0,message); WriteText(-strlen(message)*3+110+form_x,80/2-4+form_y,0x80,0,message);

View File

@ -1,3 +1,11 @@
10.10.13 -- 1.98
- удаление папок (punk_joker)
- редизайн сообщений
- сокращенное меню для папок
- поддержка дополнительной директории /kolibrios/
- перевод на Эстонский (kaitz)
- обновление окна копирования
31.08.13 -- 1.94 31.08.13 -- 1.94
- исправления багов - исправления багов