Subversion Repositories Kolibri OS

Rev

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

Rev 3052 Rev 3057
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.41"
23
#define title "Eolite File Manager v1.43"
24
dword selection_col = 0x94AECE;
24
dword selection_col = 0x94AECE;
Line 25... Line 25...
25
dword lpanel_col = 0x00699C;
25
dword lpanel_col = 0x00699C;
Line 381... Line 381...
381
							edit_box_draw  stdcall (#edit2);
381
							edit_box_draw  stdcall (#edit2);
382
							DrawBar(213,curbtn*BUTTON_HEIGHT+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè
382
							DrawBar(213,curbtn*BUTTON_HEIGHT+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè
383
							rename_active=1;
383
							rename_active=1;
384
							break;
384
							break;
385
					case 052: //Íàæàòà F3
385
					case 052: //Íàæàòà F3
386
							IF (isdir==false) RunProgram("/sys/tinypad", #file_path);
386
							IF (!isdir) RunProgram("/sys/tinypad", #file_path);
387
							break;
387
							break;
388
					case 053: //Íàæàòà F4
388
					case 053: //Íàæàòà F4
389
							IF (isdir==false) RunProgram("/sys/develop/heed", #file_path);
389
							IF (!isdir) RunProgram("/sys/develop/heed", #file_path);
390
							break;
390
							break;
391
					case 054: //F5
391
					case 054: //F5
392
							Open_Dir(#path,1);
392
							Open_Dir(#path,1);
393
							break;
393
							break;
394
					case 182: //delete file
394
					case 182: //delete file
Line 396... Line 396...
396
							break; 
396
							break; 
397
					default:    
397
					default:    
398
							for (i=curbtn+za_kadrom+1; i
398
							for (i=curbtn+za_kadrom+1; i
399
							{
399
							{
400
								copystr(file_mas[i]*304+buf+72,#temp);
400
								copystr(file_mas[i]*304+buf+72,#temp);
401
								AL=DSBYTE[#temp]; 
-
 
402
								IF(AL>='A')&&(AL<='Z')DSBYTE[#temp]=AL|0x20;
-
 
403
								IF (temp[0]==key)
401
								IF (temp[0]==key) || (temp[0]==key-32)
404
								{
402
								{
405
									FileList_ReDraw(i-curbtn-za_kadrom);
403
									FileList_ReDraw(i-curbtn-za_kadrom);
406
									break;
404
									break;
407
								}
405
								}
408
							}
406
							}
409
			}                         
407
			}                         
410
			BREAK;
408
			break;
411
		case evReDraw:
409
		case evReDraw:
412
			draw_window();
410
			draw_window();
413
	}
411
	}
414
}
412
}
Line 581... Line 579...
581
void Open_Dir(dword temp_, redraw){
579
void Open_Dir(dword temp_, redraw){
582
	int errornum;
580
	int errornum;
583
	char path_[4096],
581
	char path_[4096],
584
	somelen=strlen(temp_)-1;
582
	somelen=strlen(temp_)-1;
Line 585... Line -...
585
	
-
 
586
	//debug("reading directory");
-
 
587
	//debug(temp_);
583
	
588
	if (redraw<>ONLY_SHOW)
584
	if (redraw<>ONLY_SHOW)
589
	{
585
	{
590
		copystr(temp_, #path_);
586
		copystr(temp_, #path_);
Line 591... Line 587...
591
		if (somelen) path_[somelen]=0x00;
587
		if (somelen) path_[somelen]=NULL;
592
		
588
		
593
		if (buf) free(buf);
589
		if (buf) free(buf);
594
    	buf = malloc(32);
590
    	buf = malloc(32);
Line 654... Line 650...
654
	Sort_by_Name(0,k-1);
650
	Sort_by_Name(0,k-1);
655
	IF (sort_num==1) Sort_by_Name(k,count-1);
651
	IF (sort_num==1) Sort_by_Name(k,count-1);
656
	IF (sort_num==2) Sort_by_Type(k,count-1);
652
	IF (sort_num==2) Sort_by_Type(k,count-1);
657
	IF (sort_num==3) Sort_by_Size(k,count-1);
653
	IF (sort_num==3) Sort_by_Size(k,count-1);
658
	//åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà
654
	//åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà
659
	IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k=k-1; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]>
655
	IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]>
660
}
656
}
Line 661... Line 657...
661
 
657
 
662
 
658
 
Line 691... Line 687...
691
	{
687
	{
692
		del_file_rez=DeleleFile(#file_path);
688
		del_file_rez=DeleleFile(#file_path);
693
		IF (del_file_rez<>0)
689
		IF (del_file_rez<>0)
694
		{
690
		{
695
			Write_Error(del_file_rez);
691
			Write_Error(del_file_rez);
696
			IF (isdir==true) ShowMessage("Error. Folder isn't empty.");
692
			IF ( isdir) ShowMessage("Error. Folder isn't empty.");
697
			IF (isdir==false) ShowMessage("Error. Filesystem read-only.");
693
			IF (!isdir) ShowMessage("Error. Filesystem read-only.");
698
		}
694
		}
699
 	}
695
 	}
700
	del_active=0;
696
	del_active=0;
701
	DeleteButton(301); DeleteButton(302); //óäàëÿåì êíîïî÷êè Yes/No
697
	DeleteButton(301); DeleteButton(302); //óäàëÿåì êíîïî÷êè Yes/No
702
	Open_Dir(#path,1);
698
	Open_Dir(#path,1);
Line 725... Line 721...
725
	}
721
	}
726
	IF (cut_active) //åñëè ìû âûáðàëè âûðåçàòü
722
	IF (cut_active) //åñëè ìû âûáðàëè âûðåçàòü
727
		{
723
		{
728
			copystr(#copy_file,#file_path);
724
			copystr(#copy_file,#file_path);
729
			Del_File(true);
725
			Del_File(true);
730
			copy_file='';
726
			copy_file=NULL;
731
			cut_active=0;
727
			cut_active=false;
732
		}
728
		}
733
	SelectFile(#new_copy_path+strchr(#new_copy_path,'/'));
729
	SelectFile(#new_copy_path+strchr(#new_copy_path,'/'));
734
}
730
}
Line 799... Line 795...
799
 
795
 
800
 
796
 
801
void Dir_Up()
797
void Dir_Up()
802
{
798
{
803
	char cur_folder[4096];
799
	char cur_folder[4096];
804
	if (!strcmp(#path,"/")) return;
800
	if (path[1]==NULL) return;
-
 
801
	i=strlen(#path)-1;
805
	i=strlen(#path)-1;
802
	path[i]=0x00;
806
	path[i]=0x00;
803
	do i--; while (path[i]<>'/');
807
	do i--; while (path[i]<>'/'); copystr(#path+i+1,#cur_folder); 
804
	copystr(#path+i+1,#cur_folder); 
808
	path[i+1]=0x00;
805
	path[i+1]=0x00;