Subversion Repositories Kolibri OS

Rev

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

Rev 2035 Rev 2054
Line 11... Line 11...
11
#include "lib\edit_box_lib.h--"
11
#include "lib\edit_box_lib.h--"
12
#include "lib\file_system.h--" 
12
#include "lib\file_system.h--" 
13
#include "imgs\toolbar.txt"
13
#include "imgs\toolbar.txt"
14
#include "imgs\left_p.txt"
14
#include "imgs\left_p.txt"
Line 15... Line -...
15
 
-
 
16
//
-
 
17
#define NOTIFY_PATH	"@notify"
-
 
18
#define INI_PATH	"/sys/File managers/Eolite.ini"
-
 
Line 19... Line 15...
19
 
15
 
20
 
16
 
21
//ïåðåìåííûå
17
//ïåðåìåííûå
22
#define title "Eolite File Manager v0.98.9"
18
#define title "Eolite File Manager v0.98.9"
Line 57... Line 53...
57
#include "include\sorting.h--"
53
#include "include\sorting.h--"
58
#include "include\icons_f.h--"
54
#include "include\icons_f.h--"
59
#include "include\ini.h--"
55
#include "include\ini.h--"
Line -... Line 56...
-
 
56
 
-
 
57
 
-
 
58
void Devices()
-
 
59
{    
-
 
60
	//on load
-
 
61
	/*devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
-
 
62
	ReadDir(10, devbuf, "/");
-
 
63
	dev_num=EBX;
-
 
64
	*/
-
 
65
      
-
 
66
	byte dev_icon; dword drive_name[30]; char dev_name[4];
-
 
67
	DrawBar(2,41,190,15,0x00699C);		//ñèíèé ïðÿìîóãîëüíèê - ñâåðõó
-
 
68
	DrawBar(2,56,15,onTop(21,41),0x00699C);	//ñèíèé ïðÿìîóãîëüíèê - ñëåâà       
-
 
69
	DrawBar(177,56,15,onTop(21,41),0x00699C);	//ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
-
 
70
	//ñïèñîê äèñêîâ
-
 
71
	Tip(56, "Goto:", 0, "");
-
 
72
	for (i=0;i
-
 
73
	{
-
 
74
		DrawBar(17,i*16+74,160,17,0xFFFFFF); //áåëîå
-
 
75
		DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ
-
 
76
		copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü
-
 
77
		dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê
-
 
78
		copystr(i*304+ devbuf+72, #dev_name);
-
 
79
		IF (dev_name[0]=='r')  { dev_icon=0; copystr("RAM-disk /rd/1",#drive_name); }
-
 
80
		IF (dev_name[0]=='c')  { dev_icon=1; copystr("CD-drive /",#drive_name); }
-
 
81
		IF (dev_name[0]=='f')  { dev_icon=2; copystr("Floppy disk /",#drive_name); }
-
 
82
		IF (dev_name[0]=='h')   copystr("Hard disk drive /",#drive_name); 
-
 
83
		IF (dev_name[0]=='b')   copystr("SATA disk drive /",#drive_name); 
-
 
84
		//
-
 
85
		IF (dev_icon<>0) copystr(#dev_name,#drive_name+strlen(#drive_name));
-
 
86
		copystr("/",#drive_name+strlen(#drive_name));
-
 
87
		//
-
 
88
		WriteText(45,i*16+79,0x80,0,#drive_name,0);
-
 
89
		PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76);
-
 
90
	}
-
 
91
	Actions();  //ôóíêöèè ôàéëîâ è ïàïîê
60
 
92
}
61
 
93
 
62
void main() 
94
void main() 
63
word key, id; 
95
word key, id; 
64
mouse m;
96
mouse m;
65
int pressed_y;
97
int pressed_y;
-
 
98
{
66
{
99
	GetIni(1);
67
	GetIni(1);
100
	//
68
	load_editbox_lib();
101
	load_editbox_lib();
69
	devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
102
	devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
-
 
103
	ReadDir(10, devbuf, "/");
70
	ReadDir(10, devbuf, "/");
104
	dev_num=EBX;
71
	dev_num=EBX;
105
	//
72
	IF (param[0]<>'')
106
	IF (param[0]<>'')
73
	{
107
	{
74
		copystr(#param,#edit_path);
108
		copystr(#param,#edit_path);
Line 234... Line 268...
234
								break;
268
								break;
235
						case 177: //down
269
						case 177: //down
236
								FileList_ReDraw(1);
270
								FileList_ReDraw(1);
237
								break;
271
								break;
238
						case 180: //home
272
						case 180: //home
-
 
273
								za_kadrom=0;
-
 
274
								curbtn=0;
239
								FileList_ReDraw(-za_kadrom-curbtn);
275
								List_ReDraw();
240
								break;
276
								break;
241
						case 181: //end
277
						case 181: //end
242
								FileList_ReDraw(count-za_kadrom-curbtn+but_num-1);
278
								za_kadrom=count-but_num;
-
 
279
								curbtn=but_num-1;
-
 
280
								List_ReDraw();
243
								break;
281
								break;
244
						case 183: //Page Down
282
						case 183: //Page Down
245
								FileList_ReDraw(but_num-1);
283
								FileList_ReDraw(but_num-1);
246
								break;
284
								break;
247
						case 184: //Page Up
285
						case 184: //Page Up
Line 275... Line 313...
275
								for (i=curbtn+za_kadrom+1; i
313
								for (i=curbtn+za_kadrom+1; i
276
								{
314
								{
277
									copystr(file_mas[i]*304+buf+72,#temp);
315
									copystr(file_mas[i]*304+buf+72,#temp);
278
									AL=DSBYTE[#temp]; 
316
									AL=DSBYTE[#temp]; 
279
									IF(AL>='A')&&(AL<='Z')DSBYTE[#temp]=AL|0x20;
317
									IF(AL>='A')&&(AL<='Z')DSBYTE[#temp]=AL|0x20;
-
 
318
									IF (temp[0]==key)
-
 
319
									{
280
									IF (temp[0]==key) {FileList_ReDraw(i-curbtn-za_kadrom); break;}
320
										FileList_ReDraw(i-curbtn-za_kadrom);
-
 
321
										break;
-
 
322
									}
281
								}
323
								}
282
				}                         
324
				}                         
283
				BREAK;
325
				BREAK;
284
				case evReDraw:	draw_window();
326
				case evReDraw:	draw_window();
285
		}
327
		}
Line 289... Line 331...
289
 
331
 
290
 
332
 
291
inline fastcall void draw_window()
333
inline fastcall void draw_window()
292
{                
334
{                
293
	WindowRedrawStatus(1);
335
	WindowRedrawStatus(1);
294
	DefineAndDrawWindow(100,100,600,410,0x73,0x10E4DFE1,0,0,title); 
336
	DefineAndDrawWindow(98,90,560,481,0x73,0x10E4DFE1,0,0,title); 
295
	WindowRedrawStatus(2);
337
	WindowRedrawStatus(2);
296
	Form.GetInfo(SelfInfo);
338
	Form.GetInfo(SelfInfo);
297
	IF (Form.height==GetSkinWidth()+3) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
339
	IF (Form.height==GetSkinWidth()+3) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
Line 373... Line 415...
373
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
415
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
374
			curbtn+=curbtn_;
416
			curbtn+=curbtn_;
375
			Line_ReDraw(videlenie, curbtn); //âûäåëåíèå
417
			Line_ReDraw(videlenie, curbtn); //âûäåëåíèå
376
			return;
418
			return;
377
		}
419
		}
378
		//WriteDebug(IntToStr(curbtn)); =0
-
 
379
		//WriteDebug(IntToStr(za_kadrom)); =0
-
 
380
		//WriteDebug(IntToStr(count)); =41
-
 
381
		ELSE
420
		else
382
		{
421
		{
383
			IF(but_num+za_kadrom+curbtn_>=count) //18+0+33>=41
422
			IF(but_num+za_kadrom+curbtn_>=count) //18+0+33>=41
384
			{
423
			{
-
 
424
				//WriteDebug("1");
385
				za_kadrom=count-but_num; //41-18=23
425
				za_kadrom=count-but_num;
386
				//curbtn=but_num+curbtn_-count; //11=33-18
426
				curbtn=curbtn_-za_kadrom+curbtn;
387
				}
427
				}
388
			ELSE
428
			ELSE
389
			{
429
			{
-
 
430
				//WriteDebug("2");
390
				za_kadrom+=curbtn_+curbtn-but_num+1;
431
				za_kadrom+=curbtn_+curbtn-but_num+1;
391
				//curbtn=but_num-1;
432
				//curbtn=but_num-1;
-
 
433
				curbtn=but_num-1;
392
			}
434
			}
-
 
435
			IF (curbtn<0) || (curbtn>but_num)
-
 
436
			{
-
 
437
				//ShowMessage("Bug found! Tell it Leency!");
393
			curbtn=but_num-1;
438
				curbtn=but_num-1;
-
 
439
			}
394
			List_ReDraw();
440
			List_ReDraw();
-
 
441
			//WriteDebug(IntToStr(curbtn)); //=0
-
 
442
			//WriteDebug(IntToStr(za_kadrom)); //=0
-
 
443
			//WriteDebug(IntToStr(but_num)); //=41
-
 
444
			//WriteDebug(IntToStr(count)); //=41
-
 
445
			
-
 
446
			/*WriteDebug(""); 
-
 
447
			WriteDebug(#path);
-
 
448
			WriteDebug("Number of files:"); WriteDebug(IntToStr(count)); 
-
 
449
			WriteDebug("but_num:");	 		WriteDebug(IntToStr(but_num));
-
 
450
			WriteDebug("curbtn");		 	WriteDebug(IntToStr(curbtn));
-
 
451
			WriteDebug("ra_kadrom:");	 	WriteDebug(IntToStr(za_kadrom));*/
395
		}
452
		}
396
	}
453
	}
397
}
454
}
Line 620... Line 677...
620
	}
677
	}
621
	Line_ReDraw(videlenie,curbtn);
678
	Line_ReDraw(videlenie,curbtn);
622
}
679
}
Line 623... Line -...
623
 
-
 
624
 
-
 
625
void Devices()
-
 
626
{          
-
 
627
	byte dev_icon; dword drive_name[30]; char dev_name[4];
-
 
628
	DrawBar(2,41,190,15,0x00699C);		//ñèíèé ïðÿìîóãîëüíèê - ñâåðõó
-
 
629
	DrawBar(2,56,15,onTop(21,41),0x00699C);	//ñèíèé ïðÿìîóãîëüíèê - ñëåâà       
-
 
630
	DrawBar(177,56,15,onTop(21,41),0x00699C);	//ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
-
 
631
	//ñïèñîê äèñêîâ
-
 
632
	Tip(56, "Goto:", 0, "");
-
 
633
	for (i=0;i
-
 
634
	{
-
 
635
		DrawBar(17,i*16+74,160,17,0xFFFFFF); //áåëîå
-
 
636
		DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ
-
 
637
		copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü
-
 
638
		dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê
-
 
639
		copystr(i*304+ devbuf+72, #dev_name);
-
 
640
		IF (dev_name[0]=='r')  { dev_icon=0; copystr("RAM-disk /rd/1",#drive_name); }
-
 
641
		IF (dev_name[0]=='c')  { dev_icon=1; copystr("CD-drive /",#drive_name); }
-
 
642
		IF (dev_name[0]=='f')  { dev_icon=2; copystr("Floppy disk /",#drive_name); }
-
 
643
		IF (dev_name[0]=='h')   copystr("Hard disk drive /",#drive_name); 
-
 
644
		IF (dev_name[0]=='b')   copystr("SATA disk drive /",#drive_name); 
-
 
645
		//
-
 
646
		IF (dev_icon<>0) copystr(#dev_name,#drive_name+strlen(#drive_name));
-
 
647
		copystr("/",#drive_name+strlen(#drive_name));
-
 
648
		//
-
 
649
		WriteText(45,i*16+79,0x80,0,#drive_name,0);
-
 
650
		PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76);
-
 
651
	}
-
 
652
	Actions();  //ôóíêöèè ôàéëîâ è ïàïîê
-
 
653
}
-
 
654
 
680
 
655
 
681
 
656
void Actions()
682
void Actions()
657
{
683
{
658
	int actions_y=dev_num*16;
684
	int actions_y=dev_num*16;
Line 680... Line 706...
680
	DrawBar(17,show_actions*51+actions_y+108,160,onTop(show_actions*51+actions_y+108,6),0x00699C); //ñèíåå â êîíöå
706
	DrawBar(17,show_actions*51+actions_y+108,160,onTop(show_actions*51+actions_y+108,6),0x00699C); //ñèíåå â êîíöå
681
}
707
}
Line 682... Line -...
682
 
-
 
683
 
-
 
684
 
-
 
685
		/*WriteDebug(""); 
-
 
686
		WriteDebug(#path);
-
 
687
		WriteDebug("Number of files:"); WriteDebug(IntToStr(count)); 
-
 
688
		WriteDebug("but_num:");	 		WriteDebug(IntToStr(but_num));
-
 
689
		WriteDebug("curbtn");		 	WriteDebug(IntToStr(curbtn));
-
 
690
		WriteDebug("ra_kadrom:");	 	WriteDebug(IntToStr(za_kadrom));*/
-
 
691
 
708
 
692
 
709
 
693
 
710
 
694
void Goto_edit_path()
711
void Goto_edit_path()
695
{
712
{