Subversion Repositories Kolibri OS

Rev

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

Rev 937 Rev 944
Line 7... Line 7...
7
#include "lib\file_system.h--" 
7
#include "lib\file_system.h--" 
8
#include "imgs\toolbar.txt"
8
#include "imgs\toolbar.txt"
9
#include "imgs\left_p.txt"
9
#include "imgs\left_p.txt"
Line 10... Line 10...
10
 
10
 
11
//ëîêàëèçàöèÿ è íàñòðîéêè
11
//ëîêàëèçàöèÿ è íàñòðîéêè
12
#define header "Eolite File Manager v0.97.1";
12
#define header "Eolite File Manager v0.97.2"
13
#define videlenie 0xFEA4B7; //0x94AECE,,0x8BCDFF,0x9EACCA,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ
13
#define videlenie 0x94AECE //0x94AECE,0xFEA4B7,0x8BCDFF,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ
14
byte toolbar_buttons_x[6]={14,51,90,139,172,208};
14
byte toolbar_buttons_x[6]={14,51,90,139,172,208};
15
//
15
//
16
dword but_num, kolichestvo, za_kadrom, curbtn, razm_scrl;
16
dword but_num, kolichestvo, za_kadrom, curbtn, razm_scrl;
17
byte cut_active, rename_active, del_active;
17
byte cut_active, rename_active, del_active;
Line 33... Line 33...
33
#include "include\icons_f.h--"
33
#include "include\icons_f.h--"
Line 34... Line 34...
34
 
34
 
35
 
35
 
36
 
36
 
Line 37... Line 37...
37
//IPC
37
//IPC
38
/*#include "lib\Nable_lib.h--"
38
#include "lib\Nable_lib.h--"
39
#include "lib\ipc.h--"
39
#include "lib\ipc.h--"
40
 
40
 
41
int pLoadedImage;
41
int pLoadedImage;
42
void GetImage(dword ipath)
42
void GetImage(dword ipath)
43
{
43
{
Line 44... Line 44...
44
	IF (pLoadedImage) free(pLoadedImage);
44
	IF (pLoadedImage) free(pLoadedImage);
45
	pLoadedImage=loadimage_viaIPC(ipath, #CurrentImage);
45
	pLoadedImage=loadimage_viaIPC(ipath, #CurrentImage);
46
	SetEventMask(100111b); //restore normal event mask
46
	SetEventMask(100111b); //restore normal event mask
Line 56... Line 56...
56
		ReadDir(10, devbuf, "/");
56
	ReadDir(10, devbuf, "/");
57
		dev_num=EBX;
57
	dev_num=EBX;
58
	load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì                               
58
	load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì                               
59
	IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();}
59
	IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();}
60
	Open_Dir(#path,2);
60
	Open_Dir(#path,2);
61
	//GetImage("/sys/wallpaper.gif");
-
 
62
	//DrawImage(#CurrentImage, 0*65536+0);
-
 
63
 	//SetEventMask(100111b); 
-
 
64
	loop()
61
	loop()
65
	{
62
	{
66
		switch(WaitEvent())
63
		switch(WaitEvent())
67
		{
64
		{
68
			CASE evMouse:
65
			CASE evMouse:
Line 70... Line 67...
70
					IF (del_active==1) break;
67
					IF (del_active==1) break;
71
					m.get();
68
					m.get();
72
					//
69
					//
73
					IF (vert==65535) IF (curbtn==0) FileList_ReDraw(-3); ELSE FileList_ReDraw(-1);
70
					IF (vert==65535) IF (curbtn==0) FileList_ReDraw(-3); ELSE FileList_ReDraw(-1);
74
					IF (vert==1) IF (curbtn==but_num-1) FileList_ReDraw(3); ELSE FileList_ReDraw(1);
71
					IF (vert==1) IF (curbtn==but_num-1) FileList_ReDraw(3); ELSE FileList_ReDraw(1);
75
					//âûäåëåíèå èñïîëüçóÿ ÏÊÌ
-
 
76
					//IF (m.pkm==1) && (m.x>197) && (m.x56)
-
 
77
					//	&& (m.y-skin_width-56/18<>curbtn) FileList_ReDraw(m.y-skin_width-56/18-curbtn);
-
 
78
					//ñêðîëë
72
					//ñêðîëë
79
					IF (m.y>Form.width) || (razm_scrl/2+57>m.y) m.y=razm_scrl/2+57; //åñëè êóðñîð íàä îêíîì
73
					IF (razm_scrl/2+57>m.y)  || (m.y<0) || (m.y>4000) m.y=razm_scrl/2+57; //åñëè êóðñîð íàä îêíîì
80
					IF (m.lkm==0) pressed=0; ELSE
74
					IF (m.lkm==0) pressed=0; ELSE
81
					IF (m.x>=Form.width-21) && (m.x<=Form.width-6) pressed=1;
75
					IF (m.x>=Form.width-21) && (m.x<=Form.width-6) pressed=1;
82
					IF (pressed==1)
76
					IF (pressed==1)
83
					{
77
					{
84
						temp_int=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî
78
						temp_int=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî
Line 90... Line 84...
90
					break;  
84
					break;  
91
//Button pressed-----------------------------------------------------------------------------
85
//Button pressed-----------------------------------------------------------------------------
92
			case evButton:
86
			case evButton:
93
				IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí
87
				IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí
94
				id=GetButtonID();
88
				id=GetButtonID();
95
				IF (id==1) {IF(buf)free(buf); ExitProcess();}
89
				IF (id==1) ExitProcess();
96
				IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;}
90
				IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;}
97
				switch(id) 
91
				switch(id) 
98
				{
92
				{
99
					CASE 21: GoBack(); break;//Íàçàä
93
					CASE 21: GoBack(); break;//Íàçàä
100
					CASE 23: IF (strcmp(#path,"/")<>0) Dir_Up(); break;//up!
94
					CASE 23: IF (strcmp(#path,"/")<>0) Dir_Up(); break;//up!
Line 253... Line 247...
253
				break;
247
				break;
254
				case evReDraw:	draw_window();	BREAK;
248
				case evReDraw:	draw_window();	BREAK;
255
		}
249
		}
256
		IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2);
250
		IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2);
257
	}
251
	}
258
	free(buf); //free memory
-
 
259
	ExitProcess();
-
 
260
}
252
}
Line 261... Line 253...
261
 
253
 
262
 
254
 
Line 303... Line 295...
303
		but_num=onTop(6,57)/18;
295
		but_num=onTop(6,57)/18;
304
		IF (but_num>100) but_num=1; ELSE IF (kolichestvo
296
		IF (but_num>100) but_num=1; ELSE IF (kolichestvo
305
		FOR (j=0;j
297
		FOR (j=0;j
306
		List_ReDraw();
298
		List_ReDraw();
307
	IF (del_active==1) Del_Form();
299
	IF (del_active==1) Del_Form();
-
 
300
	//
308
	WindowRedrawStatus(2);
301
	WindowRedrawStatus(2);
309
}
302
}
Line 310... Line 303...
310
 
303
 
Line 315... Line 308...
315
	edit_box_draw  stdcall (#edit1);
308
	edit_box_draw  stdcall (#edit1);
316
}
309
}
Line 317... Line 310...
317
 
310
 
-
 
311
 
-
 
312
inline fastcall void TVScroll() { //Ïðîêðóòêà
318
 
313
	dword on_y;
319
inline fastcall void TVScroll() { //Ïðîêðóòêà
314
	IF (kolichestvo<=0) {DrawFlatButton(onLeft(22,0),57,16,onTop(22,58),0,0xE4DFE1,""); return;}
320
	dword on_y = za_kadrom * onTop(22,57) / kolichestvo +57;
315
	on_y = za_kadrom * onTop(22,57) / kolichestvo +57;
321
	razm_scrl=onTop(22,57) * but_num - but_num / kolichestvo;		
316
	razm_scrl=onTop(22,57) * but_num - but_num / kolichestvo;		
322
	IF (razm_scrl<20) razm_scrl = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà
317
	IF (razm_scrl<20) razm_scrl = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà
323
	IF (razm_scrl>onTop(22,57)-on_y+56) || (za_kadrom+but_num>=kolichestvo) on_y=onTop(23+razm_scrl,0); //äëÿ áîëüøîãî ñïèñêà 
318
	IF (razm_scrl>onTop(22,57)-on_y+56) || (za_kadrom+but_num>=kolichestvo) on_y=onTop(23+razm_scrl,0); //äëÿ áîëüøîãî ñïèñêà 
Line 420... Line 415...
420
	if (!EAX)
415
	if (!EAX)
421
	{
416
	{
422
		temp_int = Put_icon(off+strlen(off)-4, y+2);
417
		temp_int = Put_icon(off+strlen(off)-4, y+2);
423
		WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size
418
		WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size
424
	} ELSE IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon("", y+2);
419
	} ELSE IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon("", y+2);
425
	IF (color==videlenie)
420
	if (color==videlenie)
426
	{
421
	{
427
		IconFairing(temp_int, y+2); //çàêðàøèâàåì èêîíêó
422
		IconFairing(temp_int, y+2); //çàêðàøèâàåì èêîíêó
428
		copystr(#path,#file_path);
423
		copystr(#path,#file_path);
429
		copystr(off,#file_name);
424
		copystr(off,#file_name);
430
		copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà
425
		copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà
-
 
426
		/*IF (show_preview) && (!isdir)
-
 
427
		{
-
 
428
			GetImage(#file_path);
-
 
429
			j=dev_num*16+123;
-
 
430
			j+=show_actions*51;
-
 
431
			IF (pLoadedImage<>0) DrawImage(#CurrentImage, 22*65536+j+skin_width+18);
-
 
432
		}*/
431
	}
433
	}
432
	temp_int = onLeft(220,160)/6;
434
	temp_int = onLeft(220,160)/6;
433
	IF (strlen(off)
435
	IF (strlen(off)
434
		WriteText(220,y+6,0,0,off,temp_int);  //èìÿ ôàéëà
436
		WriteText(220,y+6,0,0,off,temp_int);  //èìÿ ôàéëà
435
	DrawBar(onLeft(163,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
437
	DrawBar(onLeft(163,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
436
	DrawBar(onLeft(90,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
438
	DrawBar(onLeft(90,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
437
	//Preview();
-
 
438
}
439
}
Line 439... Line 440...
439
 
440
 
440
 
441
 
441
void Open_Dir(dword path_,redraw){
442
void Open_Dir(dword path_,redraw){
442
  IF (buf) free(buf);
443
  IF (buf) free(buf);
-
 
444
	//buf = malloc(2097152);
-
 
445
	//ReadDir(6898, buf, path_);
-
 
446
    buf = malloc(32);
-
 
447
	ReadDir(0, buf, path_);
-
 
448
    EAX = buf + 8;
-
 
449
    kolichestvo = ESDWORD[EAX];
-
 
450
    buf = realloc(kolichestvo * 304 + 32, buf);
443
	buf = malloc(2097152);
451
	ReadDir(kolichestvo, buf, path_);
444
	ReadDir(6898, buf, path_);
452
	//
445
	kolichestvo=EBX;
453
	kolichestvo=EBX;
446
	//
454
	//
447
	if (kolichestvo<>-1) && (redraw>0)
455
	if (kolichestvo<>-1) && (redraw>0)
Line 477... Line 485...
477
		$and eax,1
485
		$and eax,1
478
		IF (EAX) {file_mas[k]=j; k++;}
486
		IF (EAX) {file_mas[k]=j; k++;}
479
			ELSE {file_mas[kolichestvo-l]=j; l++;}
487
			ELSE {file_mas[kolichestvo-l]=j; l++;}
480
		off += 304;
488
		off += 304;
481
	}
489
	}
482
	//k=0; l=kolichestvo;
-
 
483
	switch(sort_num)
490
	switch(sort_num)
484
	{
491
	{
485
		CASE 1: //óïîðÿäî÷èâàåì ôàéëû ïî èìåíè
492
		CASE 1: //óïîðÿäî÷èâàåì ôàéëû ïî èìåíè
486
			WriteText(onLeft(197,163)/2+215,45,0x80,0x4E78AC,"\x19",0);
493
			WriteText(onLeft(197,163)/2+215,45,0x80,0x4E78AC,"\x19",0);
487
			IF (strcmp(#path,"/")==0) break;
494
			IF (strcmp(#path,"/")==0) break;
Line 526... Line 533...
526
	DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes");
533
	DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes");
527
	DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No");
534
	DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No");
528
	del_active=1;
535
	del_active=1;
529
}
536
}
Line 530... Line -...
530
 
-
 
-
 
537
 
531
//f70 del_file_70;	
538
	
532
void Del_File(byte dodel)
539
void Del_File(byte dodel)
533
{    
540
{    
534
	IF (dodel==true)
541
	IF (dodel==true)
535
	{
542
	{
Line 589... Line 596...
589
		DefineButton(22,i*16+74,159,16,100+i+BT_HIDE,0xE4DFE1); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ
596
		DefineButton(22,i*16+74,159,16,100+i+BT_HIDE,0xE4DFE1); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ
590
		copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü
597
		copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü
591
		dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê
598
		dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê
592
		copystr(i*304+ devbuf+72, #dev_name);
599
		copystr(i*304+ devbuf+72, #dev_name);
593
		IF (dev_name[0]=='f')  { copystr("Floppy disk /",#drive_name); dev_icon=2; }
600
		IF (dev_name[0]=='f')  { copystr("Floppy disk /",#drive_name); dev_icon=2; }
594
		IF (dev_name[0]=='h')  { copystr("Hard disk drive /",#drive_name);}
601
		IF (dev_name[0]=='h')  copystr("Hard disk drive /",#drive_name);
595
		IF (dev_name[0]=='b')  { copystr("SATA disk drive /",#drive_name);}
602
		IF (dev_name[0]=='b')  copystr("SATA disk drive /",#drive_name);
596
		IF (dev_name[0]=='c')  {copystr("CD-drive /",#drive_name); dev_icon=1;}
603
		IF (dev_name[0]=='c')  {copystr("CD-drive /",#drive_name); dev_icon=1;}
597
		copystr(#dev_name,#drive_name+strlen(#drive_name));
604
		copystr(#dev_name,#drive_name+strlen(#drive_name));
598
		copystr("/",#drive_name+strlen(#drive_name));
605
		copystr("/",#drive_name+strlen(#drive_name));
599
		IF (dev_name[0]=='r')  { copystr("RAM-disk /rd/1/",#drive_name); dev_icon=0; }
606
		IF (dev_name[0]=='r')  { copystr("RAM-disk /rd/1/",#drive_name); dev_icon=0; }
600
	  WriteText(45,i*16+79,0x80,0,#drive_name,0);
607
	  WriteText(45,i*16+79,0x80,0,#drive_name,0);
Line 662... Line 669...
662
	DeleteButton(78);
669
	DeleteButton(78);
663
	if (show_preview==1)
670
	if (show_preview==1)
664
	{
671
	{
665
		Tip(top_pr,"Preview",78,"\x19");
672
		Tip(top_pr,"Preview",78,"\x19");
666
		DrawBar(22,top_pr+18,160,100,0xFFFFFF); //áåëîå
673
		DrawBar(22,top_pr+18,160,100,0xFFFFFF); //áåëîå
667
		//WriteText(30,top_pr+30,0x80,0,"kolichestvo:",0); WriteText(105,top_pr+30,0x80,0,IntToStr(kolichestvo),0); 
674
		/*WriteText(30,top_pr+30,0x80,0,"kolichestvo:",0); WriteText(105,top_pr+30,0x80,0,IntToStr(kolichestvo),0); 
668
		//WriteText(30,top_pr+40,0x80,0,"but_num:",0);	 WriteText(105,top_pr+40,0x80,0,IntToStr(but_num),0);
675
		WriteText(30,top_pr+40,0x80,0,"but_num:",0);	 WriteText(105,top_pr+40,0x80,0,IntToStr(but_num),0);
669
		//WriteText(30,top_pr+50,0x80,0,"curbtn",0);		 WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0);
676
		WriteText(30,top_pr+50,0x80,0,"curbtn",0);		 WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0);
670
		//WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0);	 WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0);
677
		WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0);	 WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0);
671
		//WriteText(30,top_pr+70,0x80,0,#file_path,0);
678
		WriteText(30,top_pr+70,0x80,0,#file_path,0);
672
		//WriteText(30,top_pr+80,0x80,0,#file_name,0);
679
		WriteText(30,top_pr+80,0x80,0,#file_name,0);*/
673
		WriteText(30,top_pr+60,0x80,0,"Not realized... I think",0);
680
		//WriteText(30,top_pr+60,0x80,0,"Not realized... I think",0);
674
		WriteText(30,top_pr+70,0x80,0,"it will be realired soon.",0);
681
		//WriteText(30,top_pr+70,0x80,0,"it will be realired soon.",0);
675
		DrawBar(22,top_pr+118,160,onTop(top_pr+118,6),0x00699C); //ñèíåå
682
		DrawBar(22,top_pr+118,160,onTop(top_pr+118,6),0x00699C); //ñèíåå  
676
	} 
683
	} 
677
	ELSE  {
684
	ELSE
-
 
685
	{
678
		Tip(top_pr,"Preview",78,"\x18");
686
		Tip(top_pr,"Preview",78,"\x18");
679
		DrawBar(22,top_pr+18,160,onTop(top_pr+18,6),0x00699C); //ñèíåå
687
		DrawBar(22,top_pr+18,160,onTop(top_pr+18,6),0x00699C); //ñèíåå
680
		}
688
	}
681
}
689
}