Eolite 1.41: visual fix and undo deleting close window button

git-svn-id: svn://kolibrios.org@3052 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2012-11-17 11:23:04 +00:00
parent dafa1f1f2e
commit b23bcb33f0
4 changed files with 42 additions and 42 deletions

View File

@ -20,19 +20,19 @@ int BUTTON_HEIGHT=18;
#define ONLY_OPEN 2 #define ONLY_OPEN 2
//ïåðåìåííûå //ïåðåìåííûå
#define title "Eolite File Manager v1.4" #define title "Eolite File Manager v1.41"
dword selection_col = 0x94AECE; dword selection_col = 0x94AECE;
dword lpanel_col = 0x00699C; dword lpanel_col = 0x00699C;
/* /*
int f_visible, int
f_count, f_count,
f_first, f_first,
f_current; f_current;
*/ */
int but_num, int f_visible,
count, count,
za_kadrom, za_kadrom,
curbtn; curbtn;
@ -42,15 +42,16 @@ byte cut_active,
rename_active, rename_active,
del_active; del_active;
byte show_actions=1, byte show_actions=1,
show_dev_name=1, show_dev_name=1,
sort_num=2, sort_num=2,
isdir; isdir;
char path[4096], unsigned char
edit_path[4096], path[4096],
file_path[4096], edit_path[4096],
file_name[4096], file_path[4096],
copy_file[4096], file_name[4096],
temp[4096]; copy_file[4096],
temp[4096];
int scroll_size; int scroll_size;
@ -79,7 +80,7 @@ dword buf, off; //
#include "include\sorting.h" #include "include\sorting.h"
#include "include\icons_f.h" #include "include\icons_f.h"
#include "include\ini.h" #include "include\ini.h"
#include "include\devices.h" #include "include\left_panel.h"
#include "include\history.h" #include "include\history.h"
void main() void main()
@ -132,7 +133,7 @@ void main()
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y<onTop(22,0)+16) if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y<onTop(22,0)+16)
{ {
IF (m.lkm==1) DrawRegion_3D(onLeft(26,0),onTop(21,0),14,14,0xC7C7C7,0xFFFFFF); IF (m.lkm==1) DrawRegion_3D(onLeft(26,0),onTop(21,0),14,14,0xC7C7C7,0xFFFFFF);
while (m.lkm==1) && (za_kadrom<count-but_num) while (m.lkm==1) && (za_kadrom<count-f_visible)
{ {
Pause(10); Pause(10);
za_kadrom++; za_kadrom++;
@ -146,18 +147,18 @@ void main()
IF (m.vert==65535) && (za_kadrom>0) IF (m.vert==65535) && (za_kadrom>0)
{ {
if (za_kadrom>0) za_kadrom--; if (za_kadrom>0) za_kadrom--;
if (curbtn<but_num-1) curbtn++; if (curbtn<f_visible-1) curbtn++;
List_ReDraw(); List_ReDraw();
if (za_kadrom>0) za_kadrom--; if (za_kadrom>0) za_kadrom--;
if (curbtn<but_num-1) curbtn++; if (curbtn<f_visible-1) curbtn++;
List_ReDraw(); List_ReDraw();
} }
IF (m.vert==1) && (za_kadrom<count-but_num) IF (m.vert==1) && (za_kadrom<count-f_visible)
{ {
if (za_kadrom<count-but_num) za_kadrom++; if (za_kadrom<count-f_visible) za_kadrom++;
if (curbtn>0) curbtn--; if (curbtn>0) curbtn--;
List_ReDraw(); List_ReDraw();
if (za_kadrom<count-but_num) za_kadrom++; if (za_kadrom<count-f_visible) za_kadrom++;
if (curbtn>0) curbtn--; if (curbtn>0) curbtn--;
List_ReDraw(); List_ReDraw();
} }
@ -172,7 +173,7 @@ void main()
j= scroll_size/2; j= scroll_size/2;
za_kadrom = m.y -j -57 * count; za_kadrom = m.y -j -57 * count;
za_kadrom /= onTop(22,57); za_kadrom /= onTop(22,57);
IF (but_num+za_kadrom>count) za_kadrom=count-but_num; IF (f_visible+za_kadrom>count) za_kadrom=count-f_visible;
IF (id<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü IF (id<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
} }
break; break;
@ -360,15 +361,15 @@ void main()
List_ReDraw(); List_ReDraw();
break; break;
case 181: //end case 181: //end
za_kadrom=count-but_num; za_kadrom=count-f_visible;
curbtn=but_num-1; curbtn=f_visible-1;
List_ReDraw(); List_ReDraw();
break; break;
case 183: //Page Down case 183: //Page Down
FileList_ReDraw(but_num-1); FileList_ReDraw(f_visible-1);
break; break;
case 184: //Page Up case 184: //Page Up
FileList_ReDraw(-but_num+1); FileList_ReDraw(-f_visible+1);
break; break;
case 051: //Íàæàòà F2 case 051: //Íàæàòà F2
REN_MARK: REN_MARK:
@ -486,8 +487,8 @@ void FileList_ReDraw(int curbtn_)
} }
else //âíèç else //âíèç
{ {
IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return; IF (za_kadrom==count-f_visible) && (curbtn==f_visible-1) return;
IF (but_num-curbtn>curbtn_) IF (f_visible-curbtn>curbtn_)
{ {
Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
curbtn+=curbtn_; curbtn+=curbtn_;
@ -498,18 +499,18 @@ void FileList_ReDraw(int curbtn_)
{ {
IF(za_kadrom+curbtn+curbtn_>=count) IF(za_kadrom+curbtn+curbtn_>=count)
{ {
za_kadrom=count-but_num; za_kadrom=count-f_visible;
curbtn=curbtn_-za_kadrom+curbtn; curbtn=curbtn_-za_kadrom+curbtn;
} }
ELSE ELSE
{ {
za_kadrom+=curbtn_+curbtn-but_num+1; za_kadrom+=curbtn_+curbtn-f_visible+1;
curbtn=but_num-1; curbtn=f_visible-1;
} }
IF (curbtn<0) || (curbtn>but_num) IF (curbtn<0) || (curbtn>f_visible)
{ {
curbtn=but_num-1; curbtn=f_visible-1;
} }
List_ReDraw(); List_ReDraw();
} }
@ -521,11 +522,11 @@ void FileList_ReDraw(int curbtn_)
void List_ReDraw() void List_ReDraw()
{ {
int paint_x=but_num*BUTTON_HEIGHT+57; int paint_x=f_visible*BUTTON_HEIGHT+57;
IF (count-za_kadrom<but_num) || (curbtn>but_num-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ğàçâåğí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè IF (count-za_kadrom<f_visible) || (curbtn>f_visible-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè
{ za_kadrom=count-but_num; curbtn=but_num-1; } //ıòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäğîì { za_kadrom=count-f_visible; curbtn=f_visible-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì
FOR (j=0; j<but_num; j++) IF (curbtn<>j) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(selection_col, curbtn); FOR (j=0; j<f_visible; j++) IF (curbtn<>j) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(selection_col, curbtn);
DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà
DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
@ -612,9 +613,9 @@ void Open_Dir(dword temp_, redraw){
KEdit(); KEdit();
HistoryPath(ADD_NEW_PATH); HistoryPath(ADD_NEW_PATH);
IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} //ôèëüòðóåì ýëåìåíò "." IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} //ôèëüòðóåì ýëåìåíò "."
FOR (j=0;j<but_num;j++) DeleteButton(201+j); //óäàëÿåì ñòàğûå FOR (j=0;j<f_visible;j++) DeleteButton(201+j); //óäàëÿåì ñòàðûå
but_num=onTop(6,57)/BUTTON_HEIGHT; f_visible=onTop(6,57)/BUTTON_HEIGHT;
IF (count<but_num) but_num=count; IF (count<f_visible) f_visible=count;
//ñòðåëî÷êà ñîðòèðîâêè //ñòðåëî÷êà ñîðòèðîâêè
IF (sort_num==1) WriteText(Form.width+60/2,45,0x80,0x4E78AC,"\x19",0); IF (sort_num==1) WriteText(Form.width+60/2,45,0x80,0x4E78AC,"\x19",0);
IF (sort_num==2) WriteText(Form.width-115,45,0x80,0x4E78AC,"\x19",0); IF (sort_num==2) WriteText(Form.width-115,45,0x80,0x4E78AC,"\x19",0);
@ -622,7 +623,7 @@ void Open_Dir(dword temp_, redraw){
IF (redraw<>ONLY_SHOW) Sorting(); //äëÿ áîëüøèõ ïàïîê ïðè ðåïåèíòå îêíà IF (redraw<>ONLY_SHOW) Sorting(); //äëÿ áîëüøèõ ïàïîê ïðè ðåïåèíòå îêíà
IF (redraw<>ONLY_OPEN) List_ReDraw(); IF (redraw<>ONLY_OPEN) List_ReDraw();
} }
IF (count==-1) && (redraw<>ONLY_OPEN) {but_num=count=0; List_ReDraw();} IF (count==-1) && (redraw<>ONLY_OPEN) {f_visible=count=0; List_ReDraw();}
} }

View File

@ -38,7 +38,7 @@ void about_dialog()
DefineAndDrawWindow(600,150,181,256,0x34,0x10EFEBEF,"About Eolite"); DefineAndDrawWindow(600,150,181,256,0x34,0x10EFEBEF,"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(49,100,0x90,0xBF40BF,"Eolite v1.4",0); WriteText(46,100,0x90,0xBF40BF,"Eolite v1.41",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);

View File

@ -51,7 +51,7 @@ void DrawSystemDiscs()
char disc_name[100]; char disc_name[100];
int i, dev_icon; int i, dev_icon;
for (i=0; i<20; i++) DeleteButton(i); for (i=0; i<20; i++) DeleteButton(100+i);
//ñïèñîê äèñêîâ //ñïèñîê äèñêîâ
Tip(56, "Devices", 78, "="); Tip(56, "Devices", 78, "=");
for (i=0;i<disc_num;i++) for (i=0;i<disc_num;i++)
@ -144,7 +144,6 @@ void LeftPanelBackground()
{ {
DrawBar(2,start_y,190,onTop(start_y,6+268),lpanel_col); DrawBar(2,start_y,190,onTop(start_y,6+268),lpanel_col);
PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), #blue_hl_pal); PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), #blue_hl_pal);
if (onTop(268,6)>300) PutPaletteImage(#blue_hl, 190, 87, 2, start_y+100, #blue_hl_pal);
} }
} }

View File

@ -29,9 +29,9 @@ inline fastcall void TVScroll() { //
dword on_y; dword on_y;
if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,0xE4DFE1,""); return;} if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,0xE4DFE1,""); return;}
on_y = za_kadrom * onTop(22,57) / count +57; on_y = za_kadrom * onTop(22,57) / count +57;
scroll_size=onTop(22,57) * but_num - but_num / count; scroll_size=onTop(22,57) * f_visible - f_visible / count;
if (scroll_size<20) scroll_size = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà if (scroll_size<20) scroll_size = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà
if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+but_num>=count) on_y=onTop(23+scroll_size,0); //äëÿ áîëüøîãî ñïèñêà if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //äëÿ áîëüøîãî ñïèñêà
DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,0xE4DFE1,"");//ïîëçóíîê DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,0xE4DFE1,"");//ïîëçóíîê
DrawBar(onLeft(26,0),57,15,on_y-57,0xCED0D0);//ïîëå äî ïîëçóíêà DrawBar(onLeft(26,0),57,15,on_y-57,0xCED0D0);//ïîëå äî ïîëçóíêà
DrawBar(onLeft(26,0),on_y+scroll_size+1,15,onTop(22,57)-scroll_size-on_y+56,0xCED0D0); //ïîëå ïîñëå ïîëçóíêà DrawBar(onLeft(26,0),on_y+scroll_size+1,15,onTop(22,57)-scroll_size-on_y+56,0xCED0D0); //ïîëå ïîñëå ïîëçóíêà