Subversion Repositories Kolibri OS

Rev

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

Rev 2820 Rev 2833
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.27"
23
#define title "Eolite File Manager v1.28"
24
dword videlenie=0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ
24
dword selection_col=0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ
-
 
25
//
-
 
26
 
-
 
27
/*
-
 
28
int  f_visible,
-
 
29
     f_count,
-
 
30
     f_first,
-
 
31
     f_current;
-
 
32
*/
25
//
33
	 
26
int  but_num,
34
int  but_num,
27
     count,
35
     count,
28
     za_kadrom,
36
     za_kadrom,
29
     curbtn,
-
 
-
 
37
     curbtn;
-
 
38
	 
30
     scroll_size;
39
	 
31
byte cut_active,
40
byte cut_active,
32
     rename_active,
41
     rename_active,
33
     del_active;
42
     del_active;
34
byte show_actions=1,
43
byte show_actions=1,
Line 39... Line 48...
39
     edit_path[4096],
48
     edit_path[4096],
40
     file_path[4096],
49
     file_path[4096],
41
     file_name[4096],
50
     file_name[4096],
42
     copy_file[4096],
51
     copy_file[4096],
43
     temp[4096];
52
     temp[4096];
-
 
53
int scroll_size;
-
 
54
 
Line 44... Line 55...
44
 
55
 
Line 45... Line 56...
45
 
56
 
Line 72... Line 83...
72
void main() 
83
void main() 
73
word key, id; 
84
word key, id; 
74
mouse m;
85
mouse m;
75
int pressed_y;
86
int pressed_y;
76
{
87
{
77
	//
-
 
78
	load_editbox_lib();
88
	load_editbox_lib();
79
	GetSystemDiscs();
89
	GetSystemDiscs();
80
	GetIni(1);
90
	GetIni(1);
Line 81... Line 91...
81
	
91
	
82
	edit1.shift_color=videlenie;
92
	edit1.shift_color=selection_col;
Line 83... Line 93...
83
	edit2.shift_color=videlenie;
93
	edit2.shift_color=selection_col;
84
	
-
 
85
	HistoryPath(add_new_path);
94
	
86
	IF (param[0]<>'') //áûë ëè çàïóñê ñ ïàðàìåòðîì
95
	IF (param)
87
	{
96
	{
88
		copystr(#param, #path);
97
		copystr(#param, #path);
-
 
98
		IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //åñëè íåò, + "/"
89
		IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //åñëè íåò, + "/"
99
	}
-
 
100
	else
90
	}
101
		copystr("/rd/1/", #path);
91
	else copystr("/rd/1/", #path);
102
		
92
	Open_Dir(#path,ONLY_OPEN);
103
	Open_Dir(#path,ONLY_OPEN);
93
	loop()	switch(WaitEvent())
104
	loop()	switch(WaitEvent())
94
	{
105
	{
Line 95... Line 106...
95
		case evMouse:
106
		case evMouse:
96
				IF (del_active==1) break;
107
				IF (del_active) break;
Line 97... Line 108...
97
				
108
				
Line 98... Line 109...
98
				id=GetSlot(Form.ID); 
109
				id=GetSlot(Form.ID); 
Line 99... Line 110...
99
				IF (id<>ActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì
110
				IF (id<>ActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì
100
				
111
				
Line 160... Line 171...
160
					m.get();
171
					m.get();
161
				}
172
				}
162
				break;  
173
				break;  
163
//Button pressed-----------------------------------------------------------------------------
174
//Button pressed-----------------------------------------------------------------------------
164
		case evButton:
175
		case evButton:
165
			IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí
-
 
166
			id=GetButtonID();
176
			id=GetButtonID();
167
			IF (id==1) ExitProcess();
177
			IF (id==1) ExitProcess();
-
 
178
 
-
 
179
			IF (del_active)
-
 
180
			{
168
			IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;}
181
				IF (id==301) || (id==302) Del_File(302-id);
-
 
182
				break;
-
 
183
			}
169
			switch(id) 
184
			switch(id) 
170
			{
185
			{
171
				case 21: //Back
186
				case 21: //Back
172
						GoBack();
187
						GoBack();
173
						break;
188
						break;
174
				case 22: //Forward
189
				case 22: //Forward
175
						HistoryPath(go_forward);
190
						HistoryPath(GO_FORWARD);
-
 
191
						za_kadrom=curbtn=0; //ââåðõ ñïèñêà
-
 
192
						Open_Dir(#path,WITH_REDRAW);
176
						break;
193
						break;
177
				case 23: //up!
194
				case 23: //up!
178
						Dir_Up();
195
						Dir_Up();
179
						break;
196
						break;
180
				case 24: //cut
197
				case 24: //cut
Line 254... Line 271...
254
			}
271
			}
255
			break;
272
			break;
256
//Key pressed-----------------------------------------------------------------------------
273
//Key pressed-----------------------------------------------------------------------------
257
		case evKey:
274
		case evKey:
258
			key = GetKey();
275
			key = GetKey();
259
			IF (del_active==1)
276
			IF (del_active)
260
			{
277
			{
261
				IF (key==013) Del_File(true);
278
				IF (key==013) Del_File(true);
262
				IF (key==027) Del_File(false);
279
				IF (key==027) Del_File(false);
263
				break;
280
				break;
264
			}
281
			}
Line 291... Line 308...
291
							break;
308
							break;
292
					case 014: //Ctrl+N íîâîå îêíî
309
					case 014: //Ctrl+N íîâîå îêíî
293
							IF (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD);
310
							IF (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD);
294
							RunProgram("/sys/File Managers/Eolite", #path);
311
							RunProgram("/sys/File Managers/Eolite", #path);
295
							break; 
312
							break; 
296
					case 024: //Ctrl+X cut
313
					case 024: //Ctrl+X
297
					case 003: //Ctrl+C copy
314
					case 003: //Ctrl+C
298
							CTRLC_MARK:
315
							CTRLC_MARK:
299
							IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì
316
							IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì
300
							copystr(#file_path,#copy_file); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü
317
							copystr(#file_path,#copy_file); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü
301
							IF (key==24) cut_active=1; ELSE cut_active=0; 
318
							IF (key==24) cut_active=1; ELSE cut_active=0; 
302
							break;
319
							break;
303
					case 022: Paste(); break;//Ctrl+V paste
320
					case 022: //Ctrl+V
-
 
321
							Paste();
-
 
322
							break;
304
					case 027: //Esc
323
					case 027: //Esc
305
							IF (rename_active==1) ReName(false);
324
							IF (rename_active==1) ReName(false);
306
							break;
325
							break;
307
					case 013: //Enter
326
					case 013: //Enter
308
							IF (rename_active==1) {ReName(true); break;}
327
							IF (rename_active==1) {ReName(true); break;}
Line 383... Line 402...
383
	DefineAndDrawWindow(98,90,582,482,0x73,0x10E4DFE1,0,0,title);
402
	DefineAndDrawWindow(98,90,582,482,0x73,0x10E4DFE1,0,0,title);
384
	Form.GetInfo(#Form, SelfInfo);
403
	Form.GetInfo(#Form, SelfInfo);
385
	IF (Form.status_window>2) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
404
	IF (Form.status_window>2) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
386
	  IF (Form.height<280) MoveSize(OLD,OLD,OLD,280);
405
	  IF (Form.height<280) MoveSize(OLD,OLD,OLD,280);
387
	  IF (Form.width<480) MoveSize(OLD,OLD,480,OLD);
406
	  IF (Form.width<480) MoveSize(OLD,OLD,480,OLD);
-
 
407
	  
388
	//toolbar buttons
408
	//toolbar buttons
389
	PutPaletteImage(#toolbar,246,39,0,0,#toolbar_pal);
409
	PutPaletteImage(#toolbar,246,39,0,0,#toolbar_pal);
390
	FOR (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,0xE4DFE1);
410
	FOR (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,0xE4DFE1);
391
	FOR (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,0xE4DFE1);
411
	FOR (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,0xE4DFE1);
392
	//ïîëîñà àäðåñà
412
	//ïîëîñà àäðåñà
Line 410... Line 430...
410
	Open_Dir(#path,ONLY_SHOW);
430
	Open_Dir(#path,ONLY_SHOW);
411
	//ïðîêðóòêà
431
	//ïðîêðóòêà
412
	DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè 
432
	DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè 
413
	DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18");		//ïðîêðóòêà ââåðõ
433
	DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18");		//ïðîêðóòêà ââåðõ
414
	DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç
434
	DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç
415
	if (del_active==1) Del_Form();
435
	if (del_active) Del_Form();
416
}
436
}
Line 417... Line 437...
417
 
437
 
418
 
438
 
Line 430... Line 450...
430
		IF (za_kadrom==0) && (curbtn<=0) return;
450
		IF (za_kadrom==0) && (curbtn<=0) return;
431
		IF (-curbtn_-1
451
		IF (-curbtn_-1
432
		{
452
		{
433
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
453
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
434
			curbtn+=curbtn_;
454
			curbtn+=curbtn_;
435
			Line_ReDraw(videlenie, curbtn); //âûäåëåíèå
455
			Line_ReDraw(selection_col, curbtn); //âûäåëåíèå
436
			return;
456
			return;
437
		}
457
		}
438
		ELSE
458
		ELSE
439
		{
459
		{
440
			IF (-curbtn_
460
			IF (-curbtn_
Line 448... Line 468...
448
		IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return;
468
		IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return;
449
		IF (but_num-curbtn>curbtn_)
469
		IF (but_num-curbtn>curbtn_)
450
		{
470
		{
451
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
471
			Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
452
			curbtn+=curbtn_;
472
			curbtn+=curbtn_;
453
			Line_ReDraw(videlenie, curbtn); //âûäåëåíèå
473
			Line_ReDraw(selection_col, curbtn); //âûäåëåíèå
454
			return;
474
			return;
455
		}
475
		}
456
		else
476
		else
457
		{
477
		{
458
			IF(za_kadrom+curbtn+curbtn_>=count)
478
			IF(za_kadrom+curbtn+curbtn_>=count)
Line 484... Line 504...
484
{
504
{
485
	int paint_x=but_num*BUTTON_HEIGHT+57;
505
	int paint_x=but_num*BUTTON_HEIGHT+57;
486
	IF (count-za_kadrombut_num-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè
506
	IF (count-za_kadrombut_num-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè
487
	{ za_kadrom=count-but_num; curbtn=but_num-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì
507
	{ za_kadrom=count-but_num; curbtn=but_num-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì
488
	//
508
	//
489
	FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(videlenie, curbtn);
509
	FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(selection_col, curbtn);
490
		DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà
510
		DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà
491
		DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
511
		DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
492
		DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
512
		DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
493
	TVScroll();
513
	TVScroll();
494
}
514
}
Line -... Line 515...
-
 
515
 
-
 
516
/*#include "def_file.txt" 
-
 
517
#define CELL_SIZE 58
-
 
518
void List_ReDraw()
-
 
519
{
-
 
520
	int i,
-
 
521
		po_gor, po_ver,
-
 
522
		on_xx, name_len;
-
 
523
	po_gor=onLeft(22,197)/CELL_SIZE;
-
 
524
	po_ver=onTop(57,6)/CELL_SIZE;
-
 
525
	for (j=0; j
-
 
526
	{
-
 
527
		if (j*po_gor+i+za_kadrom>=count)
-
 
528
		{
-
 
529
			DrawBar(i*CELL_SIZE+192,j*CELL_SIZE+57,CELL_SIZE,CELL_SIZE,0xFFFFFF);
-
 
530
			continue;
-
 
531
		}
-
 
532
		DefineButton(i*CELL_SIZE+192,j*CELL_SIZE+57,CELL_SIZE,CELL_SIZE,j*po_gor+i+201+BT_HIDE,0xFFFFFF);
-
 
533
		DrawBar(i*CELL_SIZE+192,j*CELL_SIZE+57,CELL_SIZE,CELL_SIZE,0xFFFFFF);
-
 
534
 
-
 
535
		off=file_mas[j*po_gor+i+za_kadrom]*304 + buf+72;
-
 
536
		name_len=strlen(off);
-
 
537
		if (name_len>9) name_len=9;
-
 
538
		on_xx=-name_len*3+29;
-
 
539
		WriteText(i*CELL_SIZE+193+on_xx,j*CELL_SIZE+57+CELL_SIZE-16,0,0,off,name_len);
-
 
540
		if (!TestBit(ESDWORD[off-40], 4))
-
 
541
			PutImage(#file32,32,32,i*CELL_SIZE+197+9,j*CELL_SIZE+57+5);
-
 
542
		else
-
 
543
			PutImage(#folder32,32,32,i*CELL_SIZE+197+9,j*CELL_SIZE+57+5);
-
 
544
 
-
 
545
	}
-
 
546
	TVScroll();
-
 
547
}*/
-
 
548
 
-
 
549
//-------------------------------------------------------------------------------------
Line 495... Line 550...
495
 
550
 
496
 
551
 
497
void Line_ReDraw(dword color, filenum){
552
void Line_ReDraw(dword color, filenum){
498
	dword text_col=0, name_len,
553
	dword text_col=0, name_len,
Line 553... Line 608...
553
		if (buf) free(buf);
608
		if (buf) free(buf);
554
    	buf = malloc(32);
609
    	buf = malloc(32);
555
		errornum=ReadDir(0, buf, #path_);
610
		errornum=ReadDir(0, buf, #path_);
556
		if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè
611
		if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè
557
		{
612
		{
558
			HistoryPath(add_new_path);
613
			HistoryPath(ADD_NEW_PATH);
559
			GoBack();
614
			GoBack();
560
			Write_Error(errornum);
615
			Write_Error(errornum);
561
			return;
616
			return;
562
		}
617
		}
563
    	count = ESDWORD[buf+8];
618
    	count = ESDWORD[buf+8];
Line 569... Line 624...
569
	if (count<>-1)
624
	if (count<>-1)
570
	{
625
	{
571
		//debug("successfully \n");
626
		//debug("successfully \n");
572
		copystr(temp_,#edit_path);
627
		copystr(temp_,#edit_path);
573
		KEdit();
628
		KEdit();
574
		HistoryPath(add_new_path);
629
		HistoryPath(ADD_NEW_PATH);
575
		IF (!strcmp(".",buf+72)) {memmov(buf,buf+304,count-1*304); count--;} //ôèëüòðóåì ýëåìåíò "."
630
		IF (!strcmp(".",buf+72)) {memmov(buf,buf+304,count-1*304); count--;} //ôèëüòðóåì ýëåìåíò "."
576
		FOR (j=0;j
631
		FOR (j=0;j
577
		but_num=onTop(6,57)/BUTTON_HEIGHT;                                                                                             
632
		but_num=onTop(6,57)/BUTTON_HEIGHT;                                                                                             
578
		IF (count
633
		IF (count
579
		//ñòðåëî÷êà ñîðòèðîâêè
634
		//ñòðåëî÷êà ñîðòèðîâêè
Line 662... Line 717...
662
	Open_Dir(#path,1);
717
	Open_Dir(#path,1);
663
}    
718
}    
Line 664... Line 719...
664
 
719
 
665
void Paste()
720
void Paste()
666
{
721
{
667
	char new_copy_path[4096]='';
722
	char new_copy_path[4096];
Line 668... Line 723...
668
	int copy_rezult;
723
	int copy_rezult;
669
	
724
	
670
	IF (!copy_file) return; //îòìåíà, åøè åù¸ íè÷¸ íå ñêîïèðîâàëè
725
	IF (!copy_file) return; //îòìåíà, åøè åù¸ íè÷¸ íå ñêîïèðîâàëè
671
	copystr(#path,#new_copy_path);
726
	copystr(#path,#new_copy_path);
672
	copystr(#copy_file+find_symbol(#copy_file,'/'),#new_copy_path+strlen(#new_copy_path));
727
	copystr(#copy_file+find_symbol(#copy_file,'/'),#new_copy_path+strlen(#new_copy_path));
673
	if (strcmp(#copy_file,#new_copy_path)==0) //åñëè ìû êîïèðóåì è âñòàâëÿåì â îäíîé è òîé æå ïàïêå
728
	if (!strcmp(#copy_file,#new_copy_path)) //åñëè ìû êîïèðóåì è âñòàâëÿåì â îäíîé è òîé æå ïàïêå
674
		{
729
	{
675
			copystr(#path,#new_copy_path);
730
		copystr(#path,#new_copy_path);
676
			copystr("new_",#new_copy_path+strlen(#new_copy_path));
731
		copystr("new_",#new_copy_path+strlen(#new_copy_path));
Line 681... Line 736...
681
	{
736
	{
682
		Write_Error(copy_rezult);
737
		Write_Error(copy_rezult);
683
		DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here.");
738
		DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here.");
684
		Pause(150);
739
		Pause(150);
685
	}
740
	}
686
	IF (cut_active==1) //åñëè ìû âûáðàëè âûðåçàòü
741
	IF (cut_active) //åñëè ìû âûáðàëè âûðåçàòü
687
		{
742
		{
688
			copystr(#copy_file,#file_path);
743
			copystr(#copy_file,#file_path);
689
			Del_File(true);
744
			Del_File(true);
690
			copy_file='';
745
			copy_file='';
691
			cut_active=0;
746
			cut_active=0;
Line 706... Line 761...
706
 
761
 
707
 
762
 
708
void ReName(byte rename)
763
void ReName(byte rename)
709
{
764
{
710
	int del_file_rez;
765
	int del_file_rez;
711
	char edit_name[256]='';
766
	char edit_name[256];
712
	rename_active=0;
767
	rename_active=0;
713
	edit2.flags=64;
768
	edit2.flags=64;
714
	DefineButton(192,curbtn*BUTTON_HEIGHT+57,onLeft(27,192),BUTTON_HEIGHT,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF);
769
	DefineButton(192,curbtn*BUTTON_HEIGHT+57,onLeft(27,192),BUTTON_HEIGHT,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF);
Line 735... Line 790...
735
			CopyFile(#file_path,#temp);
790
			CopyFile(#file_path,#temp);
736
			Del_File(true);
791
			Del_File(true);
737
		}
792
		}
738
		SelectFile(#edit_name);
793
		SelectFile(#edit_name);
739
	}
794
	}
740
	Line_ReDraw(videlenie,curbtn);
795
	Line_ReDraw(selection_col,curbtn);
741
}
796
}
Line 742... Line 797...
742
 
797
 
743
 
798
 
Line 772... Line 827...
772
 
827
 
773
 
828
 
774
 
829
 
775
void Goto_edit_path()
830
void Goto_edit_path()
776
{
831
{
-
 
832
	IF (!strcmp(#path,#edit_path)) return; //ïðîâåðêà íå â ýòîé ëè ìû ïàïêå
777
	IF (strcmp(#path,#edit_path)==0) return; //ïðîâåðêà íå â ýòîé ëè ìû ïàïêå
833
 	IF (strcmp(#edit_path+strlen(#edit_path)-1,"/")<>0) copystr("/",#edit_path+strlen(#edit_path)); //åñëè íåò, + "/"
-
 
834
	Open_Dir(#edit_path,ONLY_OPEN); //ïðîâåðÿåì åñëè ôàéëû â ïàïêå, òàê ìû óçíà¸ì ñóùåñòâóåò ëè îíà
-
 
835
	IF (count<1)  
778
 	IF (strcmp(#edit_path+strlen(#edit_path)-1,"/")<>0) copystr("/",#edit_path+strlen(#edit_path)); //åñëè íåò, + "/"
836
		KEdit(); //ïðîñòî î÷èùàåì ïîëîñó àäðåñà
-
 
837
	ELSE
-
 
838
	{
779
	Open_Dir(#edit_path,ONLY_OPEN); //ïðîâåðÿåì åñëè ôàéëû â ïàïêå, òàê ìû óçíà¸ì ñóùåñòâóåò ëè îíà
839
		za_kadrom=curbtn=0; //íàâåðõ ñïèñêà
780
	IF (count<1) KEdit(); ELSE //ïðîñòî î÷èùàåì ïîëîñó àäðåñà
840
		copystr(#edit_path,#path);
Line 781... Line 841...
781
		{za_kadrom=curbtn=0; copystr(#edit_path,#path);}//íàâåðõ ñïèñêà
841
	}
782
	Open_Dir(#path,1);
842
	Open_Dir(#path,1);
783
}
843
}
784
 
844
 
785
void SelectFile(dword that_file)
845
void SelectFile(dword that_file)
786
{
846
{
787
	za_kadrom=curbtn=0; //ââåðõ ñïèñêà
847
	za_kadrom=curbtn=0; //ââåðõ ñïèñêà
788
   	Open_Dir(#path,ONLY_OPEN);
848
   	Open_Dir(#path,ONLY_OPEN);
789
	ChangeCase(that_file);
849
	ChangeCase(that_file);
790
	for (i=count-1; i>=0; i--;)
850
	for (i=count-1; i>=0; i--;)
Line 808... Line 868...
808
 
868
 
809
inline fastcall void GoBack()   //âíà÷àëå óäàëÿåì òåêóùèé ïóòü, à ïîòîì êîïèðóåì òî, ÷òî îñòàëîñü
869
inline fastcall void GoBack()   //âíà÷àëå óäàëÿåì òåêóùèé ïóòü, à ïîòîì êîïèðóåì òî, ÷òî îñòàëîñü
810
{
870
{
811
	char cur_folder[4096];
871
	char cur_folder[4096];
812
	copystr(GetCurrentFolder(), #cur_folder);
872
	copystr(GetCurrentFolder(), #cur_folder);
813
	HistoryPath(go_back); 
873
	HistoryPath(GO_BACK); 
814
	SelectFile(#cur_folder);
874
	SelectFile(#cur_folder);
Line 815... Line 875...
815
}
875
}