@@ -1,10 +1,10 @@
//Leency & Veliant -=- KolibriOS Team -=- 2012
//Leency & Veliant -=- KolibriOS Team -=- 2012
//GNU GPL licence.
//GNU GPL licence.
#include "lib\kolibri.h-- "
#include "lib\kolibri.h"
#include "lib\memory.h-- "
#include "lib\memory.h"
#include "lib\edit_box_lib.h-- "
#include "lib\edit_box_lib.h"
#include "lib\file_system.h--"
#include "lib\file_system.h"
#include "imgs\toolbar.txt"
#include "imgs\toolbar.txt"
#include "imgs\left_p.txt"
#include "imgs\left_p.txt"
@@ -16,9 +16,8 @@ int BUTTON_HEIGHT=18;
#define ONLY_OPEN 2
#define ONLY_OPEN 2
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
#define title "Eolite File Manager v1.0 "
#define title "Eolite File Manager v1.1 "
#define videlenie 0x94AECE //0xFEA4B7,0x8BCDFF,0xB8C9B8} ; //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
dword videlenie= 0x94AECE; //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
byte toolbar_buttons_x[6]={9,46,85,134,167,203};
//
//
int but_num,
int but_num,
count,
count,
@@ -31,7 +30,7 @@ byte cut_active,
byte show_actions=1,
byte show_actions=1,
sort_num=2,
sort_num=2,
isdir;
isdir;
char path[4096]="/rd/1/" ,
char path[4096],
edit_path[4096],
edit_path[4096],
file_path[4096],
file_path[4096],
file_name[4096],
file_name[4096],
@@ -39,76 +38,47 @@ char path[4096]="/rd/1/",
temp[4096];
temp[4096];
byte PathHistory[4096];
byte PathHistory[4096];
int toolbar_buttons_x[6]={9,46,85,134,167,203};
dword file_mas[6898];
dword file_mas[6898];
int j, i, mouse_dd;
int j, i, mouse_dd;
dword stak[100]; //<2F> <> <EFBFBD> <EFBFBD> About
dword stak[100]; //<2F> <> <EFBFBD> <EFBFBD> About
edit_box edit1= {250,247,13,0xffffff,videlenie ,0xD3DDEB,0xffffff,0,248,#edit_path,#mouse_dd,64,6,6};
edit_box edit1= {250,247,13,0xffffff,0x94AECE ,0xD3DDEB,0xffffff,0,248,#edit_path,#mouse_dd,64,6,6};
edit_box edit2= {250,213,80,0xFFFFCC,videlenie ,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6};
edit_box edit2= {250,213,80,0xFFFFCC,0x94AECE ,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6};
proc_info Form;
proc_info Form;
dword buf, off; //<2F> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
dword buf, off; //<2F> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
dword devbuf, dev_num;
#include "include\about_dialog.h-- "
#include "include\about_dialog.h"
#include "include\some_code.h-- "
#include "include\some_code.h"
#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"
void Devices()
{
byte dev_icon;
dword drive_name[30];
char dev_name[4];
DrawBar(2,41,190,15,0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(2,56,15,onTop(21,41),0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(177,56,15,onTop(21,41),0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
Tip(56, "Goto:", 0, "");
for (i=0;i<dev_num;i++)
{
DrawBar(17,i*16+74,160,17,0xFFFFFF); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
copystr("Unknown drive",#drive_name); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
dev_icon=3; //<2F> <> -<2D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
copystr(i*304+ devbuf+72, #dev_name);
IF (dev_name[0]=='r') { dev_icon=0; copystr("RAM-disk /rd/1",#drive_name); }
IF (dev_name[0]=='c') { dev_icon=1; copystr("CD-drive /",#drive_name); }
IF (dev_name[0]=='f') { dev_icon=2; copystr("Floppy disk /",#drive_name); }
IF (dev_name[0]=='h') copystr("Hard disk drive /",#drive_name);
IF (dev_name[0]=='b') copystr("SATA disk drive /",#drive_name);
//
IF (dev_icon<>0) copystr(#dev_name,#drive_name+strlen(#drive_name));
copystr("/",#drive_name+strlen(#drive_name));
//
WriteText(45,i*16+79,0x80,0,#drive_name,0);
PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76);
}
}
void main()
void main()
word key, id;
word key, id;
mouse m;
mouse m;
int pressed_y;
int pressed_y;
{
{
GetIni(1);
//
//
load_editbox_lib();
load_editbox_lib();
devbuf= malloc(3112); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> -<2D> <> <20> <> 10 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
GetSystemDiscs();
ReadDir(10, devbuf, "/" );
GetIni(1 );
dev_num=EBX;
//
edit1.shift_color=videlenie;
//curbtn=za_kadrom=0 ;
edit2.shift_color=videlenie ;
HistoryPath(add_new_path);
HistoryPath(add_new_path);
IF (param[0]<>'') //<2F> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
IF (param[0]<>'') //<2F> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
{
copystr(#param, #path);
copystr(#param, #path);
IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> , + "/"
IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> , + "/"
}
}
else copystr("/rd/1/", #path);
Open_Dir(#path,ONLY_OPEN);
Open_Dir(#path,ONLY_OPEN);
loop()
loop()
{
{
@@ -167,7 +137,8 @@ int pressed_y;
IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
id=za_kadrom; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
id=za_kadrom; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
j= scroll_size/2;
j= scroll_size/2;
za_kadrom = m.y -j -57 * count; za_kadrom /= onTop(22,57);
za_kadrom = m.y -j -57 * count;
za_kadrom /= onTop(22,57);
IF (but_num+za_kadrom>count) za_kadrom=count-but_num;
IF (but_num+za_kadrom>count) za_kadrom=count-but_num;
IF (id<>za_kadrom) List_ReDraw(); //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
IF (id<>za_kadrom) List_ReDraw(); //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
m.get();
m.get();
@@ -229,22 +200,21 @@ int pressed_y;
break;
break;
case 100...120:
case 100...120:
DEVICE_MARK:
DEVICE_MARK:
copystr(id-100*304+ devbuf+72, # path);
// copystr(#disk_list[id-100].Item, #file_ path);
IF (path[0]=='r') copystr("/rd/1",#file_path) ;
//GOTO OPEN_DEV ;
ELSE {
copystr(#disk_list[id-100].Item, #path);
copystr("/", #file_path) ;
za_kadrom=curbtn=0 ;
copystr(#path, #file_path+strlen(#file_ path) );
Open_Dir(# path,1 );
}
break;
GOTO OPEN_DEV;
default:
default:
if (id<200) break; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if (id<200) break; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;}
IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;}
else OPEN_MARK:
else OPEN_MARK:
if (!isdir) GetIni(0); ELSE
if (!isdir) GetIni(0); else
IF (strcmp(#file_name,"..")==0) Dir_Up(); ELSE
if (strcmp(#file_name,"..")==0) Dir_Up(); else
{ OPEN_DEV:
{ OPEN_DEV:
copystr(#file_path, #path);
copystr(#file_path, #path);
copystr("/", #path+strlen(#path));
IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //<2F> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> , + "/"
za_kadrom=curbtn=0;
za_kadrom=curbtn=0;
Open_Dir(#path,1);
Open_Dir(#path,1);
}
}
@@ -275,7 +245,7 @@ int pressed_y;
{
{
case 209...217:
case 209...217:
id=key-110;
id=key-110;
IF (id-100>=dev _num) break;
IF (id-100>=disc _num) break;
GOTO DEVICE_MARK;
GOTO DEVICE_MARK;
case 8: //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
case 8: //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
GoBack();
GoBack();
@@ -375,7 +345,7 @@ int pressed_y;
inline fastcall void draw_window()
inline fastcall void draw_window()
{
{
DefineAndDrawWindow(98,90,582,482,0x73,0x10E4DFE1,0,0,title);
DefineAndDrawWindow(98,90,582,482,0x73,0x10E4DFE1,0,0,title);
Form.GetInfo(#Form, SelfInfo);
Form.GetInfo(#Form, SelfInfo);
IF (Form.status_window==4) return; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
IF (Form.status_window==4) return; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
@@ -396,8 +366,8 @@ inline fastcall void draw_window()
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawRegion_3D(1,40,Form.width-12,onTop(46,0),0x94AECE,0x94AECE); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawRegion_3D(1,40,Form.width-12,onTop(46,0),0x94AECE,0x94AECE); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawRegion_3D(0,39,Form.width-10,onTop(44,0),0xE4DFE1,0xE4DFE1); //<2F> <> <EFBFBD>
DrawRegion_3D(0,39,Form.width-10,onTop(44,0),0xE4DFE1,0xE4DFE1); //<2F> <> <EFBFBD>
Devices(); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
DrawSystemDiscs();
Actions(); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
Actions();
//SortButtons
//SortButtons
DrawFlatButton(192,40,onLeft(192,168),16,31,0xE4DFE1,"File");
DrawFlatButton(192,40,onLeft(192,168),16,31,0xE4DFE1,"File");
DrawFlatButton(onLeft(168,0),40,73,16,32,0xE4DFE1,"Type");
DrawFlatButton(onLeft(168,0),40,73,16,32,0xE4DFE1,"Type");
@@ -408,6 +378,7 @@ inline fastcall void draw_window()
DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18"); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18"); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
if (del_active==1) Del_Form();
}
}
@@ -453,13 +424,6 @@ void FileList_ReDraw(int curbtn_)
}
}
else //<2F> <> <EFBFBD> <EFBFBD>
else //<2F> <> <EFBFBD> <EFBFBD>
{
{
/*if (count-za_kadrom-but_num==1) //<2F> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
za_kadrom=count-but_num;
curbtn=but_num-1;
List_ReDraw();
}*/
IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return;
IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return;
IF (but_num-curbtn>curbtn_)
IF (but_num-curbtn>curbtn_)
{
{
@@ -470,7 +434,6 @@ void FileList_ReDraw(int curbtn_)
}
}
else
else
{
{
//IF(za_kadrom+but_num+curbtn_>=count) //<2F> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD>
IF(za_kadrom+curbtn+curbtn_>=count)
IF(za_kadrom+curbtn+curbtn_>=count)
{
{
za_kadrom=count-but_num;
za_kadrom=count-but_num;
@@ -513,7 +476,7 @@ void List_ReDraw()
//puticon+icon_fairing!!!
//puticon+icon_fairing!!!
void Line_ReDraw(dword color, filenum){
void Line_ReDraw(dword color, filenum){
dword text_col=0, temp_int,
dword text_col=0, temp_int,
/*
/* //<2F> <> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
dword text_col=0, temp_int, x,
dword text_col=0, temp_int, x,
max_x=onLeft(28,192)/BUTTON_HEIGHT,
max_x=onLeft(28,192)/BUTTON_HEIGHT,
y=filenum/max_x*BUTTON_HEIGHT+57; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Y
y=filenum/max_x*BUTTON_HEIGHT+57; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Y
@@ -525,26 +488,27 @@ void Line_ReDraw(dword color, filenum){
IF (rename_active==1) ReName(false);
IF (rename_active==1) ReName(false);
//<2F> <> , <20> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
//<2F> <> , <20> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(192,y,3,BUTTON_HEIGHT,color); DrawBar(195,y,16,2,color);
DrawBar(192,y,3,BUTTON_HEIGHT,color);
DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color);
DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color);
if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color);
if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color);
if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color);
//
//
off=file_mas[filenum+za_kadrom]*304 + buf+72;
off=file_mas[filenum+za_kadrom]*304 + buf+72;
if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7;
if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7;
if (!TestBit(ESDWORD[off-40],4))
if (!TestBit(ESDWORD[off-40],4))
{
{
copystr(off,#temp);
copystr(off,#temp);
temp_int = Put_icon(#temp+find_symbol(#temp,'.'), BUTTON_HEIGHT-14 /2+y);
temp_int = Put_icon(#temp+find_symbol(#temp,'.'), BUTTON_HEIGHT/2-7 +y);
WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size
WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size
}
}
ELSE
ELSE
IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2 );
IF (!strcmp("..",off)) temp_int=Put_icon("..", BUTTON_HEIGHT/2-7+y );
ELSE
ELSE
temp_int=Put_icon("<DIR>", y+2 );
temp_int=Put_icon("<DIR>", BUTTON_HEIGHT/2-7+y );
if (color==videlenie)
if (color==videlenie)
{
{
isdir=TestBit(ESDWORD[off-40], 4);
isdir=TestBit(ESDWORD[off-40], 4);
IconFairing(temp_int, y+2 ); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
IconFairing(temp_int, BUTTON_HEIGHT/2-7+y ); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
copystr(off,#file_name);
copystr(off,#file_name);
copystr(#path,#file_path);
copystr(#path,#file_path);
copystr(#file_name,#file_path+strlen(#file_path)); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
copystr(#file_name,#file_path+strlen(#file_path)); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
@@ -607,12 +571,24 @@ void Open_Dir(dword temp_, redraw){
inline Sorting()
inline Sorting()
{
{
dword k=0, l=1;
dword k=0, l=1;
IF (!strcmp(#path,"/")) {FOR(k=1;k<count;k++;)file_mas[k]=k; return;} //<2F> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> "/"
if (!strcmp(#path,"/")) //<2F> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> "/"
{
FOR(k=1;k<count;k++;) file_mas[k]=k;
return;
}
FOR (j=count-1, off=count-1*304+buf+32; j>=0; j--, off-=304;) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
FOR (j=count-1, off=count-1*304+buf+32; j>=0; j--, off-=304;) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{
{
ChangeCase(off+40);
ChangeCase(off+40);
IF (TestBit(ESDWORD[off],4)) {file_mas[k]=j; k++;}
if (TestBit(ESDWORD[off],4)) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ?
ELSE {file_mas[count-l]=j; l++;}
{
file_mas[k]=j;
k++;
}
else
{
file_mas[count-l]=j;
l++;
}
}
}
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
Sort_by_Name(0,k-1);
Sort_by_Name(0,k-1);
@@ -747,15 +723,16 @@ void ReName(byte rename)
void Actions()
void Actions()
{
{
int actions_y=dev _num*16;
int actions_y=disc _num*16;
DrawBar(17,actions_y+75,160,15,0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(17,actions_y+75,160,15,0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(17,show_actions*51+actions_y+108,160,onTop(show_actions*51+actions_y+108,6),0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
if (show_actions==1)
if (show_actions==1)
{
{
Tip(actions_y+90, "Actions", 77, "\x19");
Tip(actions_y+90, "Actions", 77, "\x19"); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(17,actions_y+108,160,51,0xFFFFFF); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
DrawBar(17,actions_y+108,160,51,0xFFFFFF); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD>
PutImage(#factions,16,44,21,actions_y+113); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
PutImage(#factions,16,44,21,actions_y+113); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
//rename file
//rename file
DefineButton(22 ,actions_y+108,159,16,80+BT_HIDE,0xE4DFE1);
DefineButton(17 ,actions_y+108,159,16,80+BT_HIDE,0xE4DFE1);
WriteText(42,actions_y+113,0x80,0,"Rename file <F2>",0);
WriteText(42,actions_y+113,0x80,0,"Rename file <F2>",0);
//delete file
//delete file
DefineButton(17,actions_y+125,159,16,81+BT_HIDE,0xE4DFE1);
DefineButton(17,actions_y+125,159,16,81+BT_HIDE,0xE4DFE1);
@@ -764,12 +741,13 @@ void Actions()
DefineButton(17,actions_y+142,159,16,82+BT_HIDE,0xE4DFE1);
DefineButton(17,actions_y+142,159,16,82+BT_HIDE,0xE4DFE1);
WriteText(42,actions_y+147,0x80,0,"Create folder <F6>",0);
WriteText(42,actions_y+147,0x80,0,"Create folder <F6>",0);
}
}
ELSE
else
{
{
DeleteButton(80); DeleteButton(81); DeleteButton(82);
DeleteButton(80);
DeleteButton(81);
DeleteButton(82);
Tip(actions_y+90, "Actions", 77, "\x18");
Tip(actions_y+90, "Actions", 77, "\x18");
}
}
DrawBar(17,show_actions*51+actions_y+108,160,onTop(show_actions*51+actions_y+108,6),0x00699C); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
@@ -789,13 +767,8 @@ void SelectFile(dword that_file)
za_kadrom=curbtn=0; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
za_kadrom=curbtn=0; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
Open_Dir(#path,ONLY_OPEN);
Open_Dir(#path,ONLY_OPEN);
ChangeCase(that_file);
ChangeCase(that_file);
FOR (i=count-1; i>=0; i--;) IF(strcmp(file_mas[i]*304+buf+72,that_file)==0) BREAK;
for (i=count-1; i>=0; i--;)
/*IF (i>but_num-1) && (i>count-but_num) //<2F> <> <EFBFBD> <20> <> <EFBFBD> <20> <> -<2D> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> FileList_ReDraw(i) <20> <> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ?
if (strcmp(file_mas[i]*304+buf+72,that_file)==0) break;
{
za_kadrom=count-but_num;
curbtn=i-count+but_num;
}
ELSE FileList_ReDraw(i);*/
FileList_ReDraw(i);
FileList_ReDraw(i);
List_ReDraw();
List_ReDraw();
}
}