Subversion Repositories Kolibri OS

Rev

Rev 3113 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3113 Rev 3123
Line 18... Line 18...
18
#define ONLY_SHOW	0
18
#define ONLY_SHOW	0
19
#define WITH_REDRAW	1
19
#define WITH_REDRAW	1
20
#define ONLY_OPEN	2
20
#define ONLY_OPEN	2
Line 21... Line 21...
21
 
21
 
22
//ïåðåìåííûå
22
//ïåðåìåííûå
-
 
23
#define title "Eolite File Manager v1.5"
-
 
24
dword col_work    = 0xE4DFE1;
-
 
25
dword col_border  = 0x819FC5;
23
#define title "Eolite File Manager v1.45"
26
dword col_padding = 0xC8C9C9;
24
dword selection_col = 0x94AECE;
27
dword col_selec   = 0x94AECE;
Line 25... Line 28...
25
dword lpanel_col = 0x00699C;
28
dword col_lpanel  = 0x00699C;
26
 
29
 
27
 
30
 
Line 59... Line 62...
59
int toolbar_buttons_x[7]={9,46,85,134,167,203};
62
int toolbar_buttons_x[7]={9,46,85,134,167,203};
60
char tmp_disk_del_param[3]="d0\0";
63
char tmp_disk_del_param[3]="d0\0";
Line 61... Line 64...
61
 
64
 
62
dword file_mas[6898];
65
dword file_mas[6898];
-
 
66
int j, i, mouse_dd;
Line 63... Line 67...
63
int j, i, mouse_dd;
67
int scroll_used;
64
 
68
 
65
struct path_string {
69
struct path_string {
Line 73... Line 77...
73
edit_box edit2= {250,213,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6};
77
edit_box edit2= {250,213,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6};
Line 74... Line 78...
74
 
78
 
75
proc_info Form;
79
proc_info Form;
Line 76... Line -...
76
dword buf, off; //äëÿ òåêñòà è áóôåðà
-
 
77
 
80
dword buf, off; //äëÿ òåêñòà è áóôåðà
-
 
81
 
78
#include "include\about_dialog.h"
82
#include "include\some_code.h"
79
#include "include\some_code.h"
83
#include "include\about_dialog.h"
80
#include "include\sorting.h"
84
#include "include\sorting.h"
81
#include "include\icons_f.h"
85
#include "include\icons_f.h"
82
#include "include\ini.h"
86
#include "include\ini.h"
Line 83... Line 87...
83
#include "include\left_panel.h"
87
#include "include\left_panel.h"
84
#include "include\history.h"
88
#include "include\history.h"
85
 
89
 
86
void main() 
90
void main() 
87
{
-
 
Line 88... Line 91...
88
	word key, id; 
91
{
89
	mouse m;
92
	word key, id; 
90
	int scroll_used;
93
	mouse m;
Line 91... Line 94...
91
 
94
 
92
	load_editbox_lib();
95
	load_editbox_lib();
Line 93... Line 96...
93
	GetSystemDiscs();
96
	GetSystemDiscs();
94
	GetIni(1);
97
	GetIni(1);
95
	
98
	
96
	edit1.shift_color=selection_col;
99
	edit1.shift_color=col_selec;
Line 161... Line 164...
161
					if (za_kadrom
164
				if (za_kadrom
162
					if (curbtn>0) curbtn--;
165
				if (curbtn>0) curbtn--;
163
					List_ReDraw();
166
				List_ReDraw();
164
				}
167
			}
165
				//ñêðîëë
168
			//ñêðîëë
166
				if (!m.lkm) scroll_used=NULL;
169
			if (!m.lkm) && (scroll_used) { scroll_used=NULL; TVScroll(); }
167
				if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && (m.y
170
			if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && (m.y
Line 168... Line 171...
168
				
171
			
169
				if (scroll_used)
172
			if (scroll_used)
170
				{
173
			{
171
					IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //åñëè êóðñîð íàä îêíîì
174
				IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //åñëè êóðñîð íàä îêíîì
Line 211... Line 214...
211
							break;
214
						break;
212
					case 27: //goto edit_path
215
				case 27: //goto edit_path
213
							Goto_edit_path();
216
						Goto_edit_path();
214
							break; 
217
						break; 
215
					case 31...33: //sort
218
				case 31...33: //sort
216
							IF(sort_num==1) DrawBar(onLeft(192,168)/2+210,45,6,9,0xE4DFE1);
219
						IF(sort_num==1) DrawFilledBar(onLeft(192,168)/2+210,42,6,10);
217
							IF(sort_num==2) DrawBar(onLeft(115,0),45,6,9,0xE4DFE1);
220
						IF(sort_num==2) DrawFilledBar(onLeft(115,0),42,6,10);
218
							IF(sort_num==3) DrawBar(onLeft(44,0),45,6,9,0xE4DFE1);
221
						IF(sort_num==3) DrawFilledBar(onLeft(44,0),42,6,10);
219
							sort_num=id-30;
222
						sort_num=id-30;
220
							Open_Dir(#path,1);
223
						Open_Dir(#path,1);
221
							break; 
224
						break; 
222
					case 30: //about
225
				case 30: //about
223
							CreateThread(#about_dialog,#stak); 
226
						CreateThread(#about_dialog,#stak); 
Line 415... Line 418...
415
inline fastcall void draw_window()
418
inline fastcall void draw_window()
416
{	
419
{	
417
	int min_size_y = disc_num*16+195;
420
	int min_size_y = disc_num*16+195;
Line 418... Line 421...
418
	
421
	
419
	if (GetScreenHeight()<480)
422
	if (GetScreenHeight()<480)
420
		DefineAndDrawWindow(20,0,582,GetScreenHeight()-30,0x73,0xE4DFE1,title);
423
		DefineAndDrawWindow(20,0,582,GetScreenHeight()-30,0x73,col_work,title);
421
	else
424
	else
422
		DefineAndDrawWindow(98,90,582,482,0x73,0xE4DFE1,title);
425
		DefineAndDrawWindow(98,90,582,482,0x73,col_work,title);
423
	Form.GetInfo(#Form, SelfInfo);
426
	GetProcessInfo(#Form, SelfInfo);
424
	if (Form.status_window>2) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
427
	if (Form.status_window>2) return;
425
	if (Form.height
428
	if (Form.height
Line 426... Line 429...
426
	if (Form.width<480) MoveSize(OLD,OLD,480,OLD);
429
	if (Form.width<480) MoveSize(OLD,OLD,480,OLD);
427
	  
430
	  
428
	//toolbar buttons
431
	//toolbar buttons
429
	PutPaletteImage(#toolbar,246,39,0,0,#toolbar_pal);
432
	PutPaletteImage(#toolbar,246,34,0,0,#toolbar_pal);
430
	for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,0xE4DFE1);
433
	for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,col_work);
431
	for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,0xE4DFE1);
434
	for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,col_work);
432
	//ïîëîñà àäðåñà
435
	//ïîëîñà àäðåñà
433
	edit1.width=Form.width-314;
436
	edit1.width=Form.width-314;
434
	DrawBar(246,0,onLeft(246,60),12,0xE4DFE1); //ôîí íàä ïîëîñîé àäðåñà
437
	DrawBar(246,0,onLeft(246,60),12, col_work); //ôîí íàä ïîëîñîé àäðåñà
435
	DrawBar(246,29,onLeft(246,60),10,0xE4DFE1); //ôîí ïîä ïîëîñîé àäðåñà
438
	DrawBar(246,29,onLeft(246,60),5,col_work); //ôîí ïîä ïîëîñîé àäðåñà
436
	DrawRegion_3D(246,12,onLeft(66,246),16,0x94AECE,0x94AECE);	//îáîäîê
439
	DrawRegion_3D(246,12,onLeft(66,246),16,col_border,col_border);	//îáîäîê
437
	DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,0xE4DFE1); //about
440
	DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about
438
	DefineButton(onLeft(66,0),12,18,16,27+BT_HIDE,0xE4DFE1); //êíîïêà ïåðåõîäà
441
	DefineButton(onLeft(65,0),13,16,14,27+BT_HIDE,col_work); //êíîïêà ïåðåõîäà
439
	PutPaletteImage(#goto_about,56,40,Form.width-65,0,#goto_about_pal);
442
	PutPaletteImage(#goto_about,56,34,Form.width-65,0,#goto_about_pal);
440
	//ïðÿìîóãîëüíèêè âíóòðè
443
	//ïðÿìîóãîëüíèêè âíóòðè
-
 
444
	DrawRegion_3D(1,40,Form.cwidth-3,onTop(46,0),col_border,col_border); //ñèíèé îáîäîê
441
	DrawRegion_3D(1,40,Form.width-12,onTop(46,0),0x94AECE,0x94AECE); //ñèíèé îáîäîê
445
	DrawRegion_3D(0,39,Form.cwidth-1,onTop(44,0),col_palette[4],col_palette[4]); //ôîí
442
	DrawRegion_3D(0,39,Form.width-10,onTop(44,0),0xE4DFE1,0xE4DFE1); //ôîí
446
	for (i=0; i<5; i++) DrawBar(0, 34+i, Form.cwidth, 1, col_palette[8-i]);	
443
	DrawLeftPanel();
447
	DrawLeftPanel();
444
	//SortButtons
448
	//SortButtons
445
	DrawFlatButton(192,40,onLeft(192,168),16,31,0xE4DFE1,"File");
449
	DrawFlatButton(192,40,onLeft(192,168),16,31,col_work,"File");
446
	DrawFlatButton(onLeft(168,0),40,73,16,32,0xE4DFE1,"Type");
450
	DrawFlatButton(onLeft(168,0),40,73,16,32,col_work,"Type");
447
	DrawFlatButton(onLeft(95,0),40,68,16,33,0xE4DFE1,"Size");
451
	DrawFlatButton(onLeft(95,0),40,68,16,33,col_work,"Size");
448
	//Ïåðåðèñîâûâàåì ñïèñîê
452
	//Ïåðåðèñîâûâàåì ñïèñîê
449
	Open_Dir(#path,ONLY_SHOW);
453
	Open_Dir(#path,ONLY_SHOW);
450
	//ïðîêðóòêà
454
	//ïðîêðóòêà
451
	DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè 
455
	DrawBar(onLeft(27,0),57,1,onTop(22,57),col_border); //ëèíèÿ ñëåâà îò ïðîêðóòêè 
452
	DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18");		//ïðîêðóòêà ââåðõ
456
	DrawFlatButton(onLeft(27,0),40,16,16,0,col_work,"\x18");		//ïðîêðóòêà ââåðõ
453
	DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç
457
	DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,col_work,"\x19");//ïðîêðóòêà âíèç
Line 454... Line 458...
454
	if (del_active) Del_Form();
458
	if (del_active) Del_Form();
Line 470... Line 474...
470
		IF (za_kadrom==0) && (curbtn<=0) return;
474
		IF (za_kadrom==0) && (curbtn<=0) return;
471
		IF (-curbtn_-1
475
		IF (-curbtn_-1
472
		{
476
		{
473
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
477
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
474
			curbtn+=curbtn_;
478
			curbtn+=curbtn_;
475
			Line_ReDraw(selection_col, curbtn); //âûäåëåíèå
479
			Line_ReDraw(col_selec, curbtn); //âûäåëåíèå
476
			return;
480
			return;
477
		}
481
		}
478
		ELSE
482
		ELSE
479
		{
483
		{
480
			IF (-curbtn_
484
			IF (-curbtn_
Line 488... Line 492...
488
		IF (za_kadrom==count-f_visible) && (curbtn==f_visible-1) return;
492
		IF (za_kadrom==count-f_visible) && (curbtn==f_visible-1) return;
489
		IF (f_visible-curbtn>curbtn_)
493
		IF (f_visible-curbtn>curbtn_)
490
		{
494
		{
491
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
495
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
492
			curbtn+=curbtn_;
496
			curbtn+=curbtn_;
493
			Line_ReDraw(selection_col, curbtn); //âûäåëåíèå
497
			Line_ReDraw(col_selec, curbtn); //âûäåëåíèå
494
			return;
498
			return;
495
		}
499
		}
496
		else
500
		else
497
		{
501
		{
498
			IF(za_kadrom+curbtn+curbtn_>=count)
502
			IF(za_kadrom+curbtn+curbtn_>=count)
Line 522... Line 526...
522
{
526
{
523
	int paint_x=f_visible*BUTTON_HEIGHT+57;
527
	int paint_x=f_visible*BUTTON_HEIGHT+57;
524
	IF (count-za_kadromf_visible-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè
528
	IF (count-za_kadromf_visible-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè
525
	{ za_kadrom=count-f_visible; curbtn=f_visible-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì
529
	{ za_kadrom=count-f_visible; curbtn=f_visible-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì
Line 526... Line 530...
526
 
530
 
527
	FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(selection_col, curbtn);
531
	FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(col_selec, curbtn);
528
		DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà
532
		DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà
529
		DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
533
		DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
530
		DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
534
		DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
531
	TVScroll();
535
	TVScroll();
Line 532... Line 536...
532
}
536
}
Line 569... Line 573...
569
		IF (text_col==0xA6A6B7) text_col=0xFFFFFF;
573
		IF (text_col==0xA6A6B7) text_col=0xFFFFFF;
570
	}
574
	}
571
	name_len = onLeft(215,165)/6;
575
	name_len = onLeft(215,165)/6;
572
	IF (strlen(off)
576
	IF (strlen(off)
573
	WriteText(215,BUTTON_HEIGHT-6/2+y,0,text_col,off,name_len);  //èìÿ ôàéëà
577
	WriteText(215,BUTTON_HEIGHT-6/2+y,0,text_col,off,name_len);  //èìÿ ôàéëà
574
	DrawBar(onLeft(168,0),y,1,BUTTON_HEIGHT,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
578
	DrawBar(onLeft(168,0),y,1,BUTTON_HEIGHT,col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
575
	DrawBar(onLeft(95,0),y,1,BUTTON_HEIGHT,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
579
	DrawBar(onLeft(95,0),y,1,BUTTON_HEIGHT,col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
576
}
580
}
Line 577... Line 581...
577
 
581
 
578
 
582
 
Line 659... Line 663...
659
void Del_Form()
663
void Del_Form()
660
{
664
{
661
	int dform_x=Form.width/2-13;
665
	int dform_x=Form.width/2-13;
662
	//òèïà îêíî
666
	//òèïà îêíî
663
	FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé
667
	FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé
664
	DrawFlatButton(dform_x,160,200,80,0,0xE4DFE1, ""); //ôîðìà
668
	DrawFlatButton(dform_x,160,200,80,0,col_work, ""); //ôîðìà
665
	WriteText(dform_x+19,175,0x80,0,"Do you really want to delete",0);
669
	WriteText(dform_x+19,175,0x80,0,"Do you really want to delete",0);
666
	IF (strlen(#file_name)<28) 
670
	IF (strlen(#file_name)<28) 
667
		{
671
		{
668
			WriteText(strlen(#file_name)*6+dform_x+20,190,0x80,0,"?",0);
672
			WriteText(strlen(#file_name)*6+dform_x+20,190,0x80,0,"?",0);
669
			WriteText(dform_x+20,190,0x80,0,#file_name,0); //ïèøåì èìÿ
673
			WriteText(dform_x+20,190,0x80,0,#file_name,0); //ïèøåì èìÿ
Line 760... Line 764...
760
			CopyFile(#file_path,#temp);
764
			CopyFile(#file_path,#temp);
761
			Del_File(true);
765
			Del_File(true);
762
		}
766
		}
763
		SelectFile(#edit_name);
767
		SelectFile(#edit_name);
764
	}
768
	}
765
	Line_ReDraw(selection_col,curbtn);
769
	Line_ReDraw(col_selec,curbtn);
766
}
770
}
Line 767... Line 771...
767
 
771
 
Line 809... Line 813...
809
 
813
 
810
inline fastcall void GoBack()   //âíà÷àëå óäàëÿåì òåêóùèé ïóòü, à ïîòîì êîïèðóåì òî, ÷òî îñòàëîñü
814
inline fastcall void GoBack()   //âíà÷àëå óäàëÿåì òåêóùèé ïóòü, à ïîòîì êîïèðóåì òî, ÷òî îñòàëîñü
811
{
815
{
812
	char cur_folder[4096];
816
	char cur_folder[4096];
813
	copystr(GetCurrentFolder(), #cur_folder);
817
	copystr(GetCurrentFolder(), #cur_folder);
814
	if (HistoryPath(GO_BACK))
-
 
815
		SelectFile(#cur_folder);
818
	if (HistoryPath(GO_BACK)) SelectFile(#cur_folder);
Line 816... Line 819...
816
}
819
}