Subversion Repositories Kolibri OS

Rev

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

Rev 1218 Rev 1415
Line 1... Line 1...
1
//Leency & Veliant -=- KolibriOS Team -=- 2008
1
//Leency & Veliant -=- KolibriOS Team -=- 2010
2
 
-
 
3
//ñòðîêà 258, êåéàï!
2
//GNU GPL licence.
4
//DrawBar(sort_num[1],45,6,9,0xE4DFE1);
-
 
Line 5... Line 3...
5
 
3
 
6
#codesize  
4
#codesize  
7
#include "lib\kolibri.h--"
5
#include "lib\kolibri.h--"
8
#include "lib\memory.h--"
6
#include "lib\memory.h--"
9
#include "lib\edit_box_lib.h--"
7
#include "lib\edit_box_lib.h--"
10
#include "lib\file_system.h--" 
8
#include "lib\file_system.h--" 
11
#include "imgs\toolbar.txt"
9
#include "imgs\toolbar.txt"
Line 12... Line 10...
12
#include "imgs\left_p.txt"
10
#include "imgs\left_p.txt"
13
 
11
 
14
//ïåðåìåííûå
12
//ïåðåìåííûå
15
#define title "Eolite File Manager v0.98.5"
13
#define title "Eolite File Manager v0.98.7"
16
#define videlenie 0x94AECE //0xFEA4B7,0x8BCDFF,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ
14
#define videlenie 0x94AECE //0xFEA4B7,0x8BCDFF,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ
17
byte toolbar_buttons_x[6]={9,46,85,134,167,203};
15
byte toolbar_buttons_x[6]={9,46,85,134,167,203};
18
//
16
//
Line 26... Line 24...
26
     del_active;
24
     del_active;
27
byte show_actions=1,
25
byte show_actions=1,
28
     show_preview=0,
26
     show_preview=0,
29
     sort_num=2,
27
     sort_num=2,
30
     isdir;
28
     isdir;
31
byte path[256]="/rd/1/",
29
char path[4096]="/rd/1/",
32
     edit_path[256],
30
     edit_path[4096],
33
     file_path[256],
31
     file_path[4096],
34
     file_name[256],
32
     file_name[4096],
35
     copy_file[256],
33
     copy_file[4096],
36
     temp[256];
34
     temp[4096];
37
byte PathHistory[2560];
35
byte PathHistory[4096];
Line 38... Line 36...
38
 
36
 
39
dword file_mas[6898];
37
dword file_mas[6898];
Line 40... Line 38...
40
int j, i, mouse_dd;
38
int j, i, mouse_dd;
Line 192... Line 190...
192
				 	}
190
				 	}
193
				IF (edit1.flags<>64) && (edit1.flags<>0) && (key<>13) {EAX=key<<8; edit_box_key stdcall (#edit1); break;} 
191
				IF (edit1.flags<>64) && (edit1.flags<>0) && (key<>13) {EAX=key<<8; edit_box_key stdcall (#edit1); break;} 
194
                IF (edit2.flags<>64) && (key<>13) && (key<>27) {EAX=key<<8; edit_box_key stdcall (#edit2); break;}
192
                IF (edit2.flags<>64) && (key<>13) && (key<>27) {EAX=key<<8; edit_box_key stdcall (#edit2); break;}
195
				switch (key)
193
				switch (key)
196
				{
194
				{
-
 
195
						case 209...217:
-
 
196
								id=key-110;
-
 
197
								IF (id-100>=dev_num) break;
197
						case 209...217: id=key-109; GOTO DEVICE_MARK;
198
								GOTO DEVICE_MARK;
198
						case 8: GoBack(); break; //Íàçàä
199
						case   8: GoBack(); break; //Íàçàä
199
						case 014: MoveSize(80,80,OLD,OLD); RunProgram("/sys/File Managers/Eolite", #path); break; //íîâîå îêíî
200
						case 014: MoveSize(80,80,OLD,OLD); RunProgram("/sys/File Managers/Eolite", #path); break; //íîâîå îêíî
200
						case 024: //Ctrl+X cut
201
						case 024: //Ctrl+X cut
201
						case 089: //Ctrl+Ins copy
-
 
202
						case 003: //Ctrl+C copy
202
						case 003: //Ctrl+C copy
203
								CTRLC_MARK:
203
								CTRLC_MARK:
204
								IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì
204
								IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì
205
								copystr(#file_path,#copy_file); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü
205
								copystr(#file_path,#copy_file); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü
206
								IF (key==24) cut_active=1; ELSE cut_active=0; 
206
								IF (key==24) cut_active=1; ELSE cut_active=0; 
Line 414... Line 414...
414
		WriteText(215,y+6,0,text_col,off,temp_int);  //èìÿ ôàéëà
414
		WriteText(215,y+6,0,text_col,off,temp_int);  //èìÿ ôàéëà
415
	DrawBar(onLeft(168,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
415
	DrawBar(onLeft(168,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
416
	DrawBar(onLeft(95,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
416
	DrawBar(onLeft(95,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
417
}
417
}
Line 418... Line -...
418
 
-
 
419
 
418
 
420
void Open_Dir(dword temp_, redraw){
419
void Open_Dir(dword temp_, redraw){
421
	byte path_[256], somelen=strlen(temp_)-1;
420
	byte path_[256], somelen=strlen(temp_)-1;
422
	if (redraw<>ONLY_SHOW)
421
	if (redraw<>ONLY_SHOW)
423
	{
422
	{
424
		copystr(temp_, #path_);
423
		copystr(temp_, #path_);
425
		IF (somelen) path_[somelen]=0x00;
424
		IF (somelen) path_[somelen]=0x00;
426
		//
425
		//
427
		IF (buf) free(buf);
426
		IF (buf) free(buf);
428
    	buf = malloc(32);
427
    		buf = malloc(32);
-
 
428
		ReadDir(0, buf, #path_);
-
 
429
		$push eax;
-
 
430
		IF (EAX==0)
-
 
431
			WriteDebug("Eolite: folder readed well");
-
 
432
		ELSE {
-
 
433
			WriteDebug("Eolite: filesystem ERROR number");
-
 
434
			$pop eax;
-
 
435
			WriteDebug(IntToStr(EAX));
429
		ReadDir(0, buf, #path_);
436
		}
430
    	count = ESDWORD[buf+8];
437
    		count = ESDWORD[buf+8];
431
    	buf = realloc(count * 304 + 32, buf);
438
    		buf = realloc(count * 304 + 32, buf);
432
		ReadDir(count, buf, #path_);
439
		ReadDir(count, buf, #path_);
433
		IF (EBX>6897) && (EBX<>-1) EBX=6897; //1 íà óäà÷ó ;)
440
		IF (EBX>6897) && (EBX<>-1) EBX=6897; //1 íà óäà÷ó ;)