Subversion Repositories Kolibri OS

Rev

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

Rev 8392 Rev 8417
Line 1... Line 1...
1
//Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2020
1
//Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2020
2
//GNU GPL license.
2
//GNU GPL license.
Line 3... Line 3...
3
 
3
 
Line 4... Line 4...
4
// 70.5 - get volume info and label
4
// 70.5 - get volume info and label
5
 
5
 
Line 6... Line 6...
6
#define TITLE "Eolite File Manager 4.48"
6
#define TITLE "Eolite File Manager 4.49"
7
#define ABOUT_TITLE "EOLITE 4.48"
7
#define ABOUT_TITLE "EOLITE 4.49"
8
 
8
 
Line 9... Line 9...
9
#ifndef AUTOBUILD
9
#ifndef AUTOBUILD
10
#include "lang.h--"
10
#include "lang.h--"
11
#endif
11
#endif
12
 
12
 
13
//libraries
13
//libraries
14
#define MEMSIZE 1024 * 720
14
#define MEMSIZE 1024 * 250
15
#include "../lib/clipboard.h"
15
#include "../lib/clipboard.h"
Line 264... Line 264...
264
					} else if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) {
264
					} else if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) {
265
						EventChooseFile(files.cur_y);
265
						EventChooseFile(files.cur_y);
266
						DrawStatusBar();
266
						DrawStatusBar();
267
						List_ReDraw();
267
						List_ReDraw();
268
					} else {
268
					} else {
269
						if (mouse.y - files.y / files.item_h + files.first == files.cur_y) Open(0);
269
						if (mouse.y - files.y / files.item_h + files.first == files.cur_y) EventOpen(0);
270
					}
270
					}
271
				}
271
				}
272
				//file menu
272
				//file menu
273
				if (mouse.key&MOUSE_RIGHT) && (mouse.up)
273
				if (mouse.key&MOUSE_RIGHT) && (mouse.up)
274
				{
274
				{
Line 340... Line 340...
340
				}
340
				}
341
			}
341
			}
342
			break;  
342
			break;  
343
//Button pressed-----------------------------------------------------------------------------
343
//Button pressed-----------------------------------------------------------------------------
344
		case evButton:
344
		case evButton:
345
			id = @GetButtonID();
345
			id = GetButtonID();
Line 346... Line 346...
346
 
346
 
347
			if (new_element_active) || (del_active) {
347
			if (new_element_active) || (del_active) {
348
				if (POPUP_BTN1==id) && (del_active) EventDelete();
348
				if (POPUP_BTN1==id) && (del_active) EventDelete();
349
				if (POPUP_BTN1==id) && (new_element_active) NewElement();
349
				if (POPUP_BTN1==id) && (new_element_active) NewElement();
Line 422... Line 422...
422
				}
422
				}
423
				break;
423
				break;
424
			}
424
			}
Line 425... Line 425...
425
 
425
 
-
 
426
			if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
-
 
427
 
-
 
428
				if (key_scancode == SCAN_CODE_ENTER) {
-
 
429
					EventOpenSelected(); 
-
 
430
					break;
-
 
431
				}
426
			if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
432
 
427
				old_cur_y = files.cur_y;
433
				old_cur_y = files.cur_y;
428
				files.ProcessKey(key_scancode);
434
				files.ProcessKey(key_scancode);
429
				EventChooseFilesRange(old_cur_y, files.cur_y);
435
				EventChooseFilesRange(old_cur_y, files.cur_y);
430
				break;
436
				break;
Line 476... Line 482...
476
					case SCAN_CODE_KEY_M:
482
					case SCAN_CODE_KEY_M:
477
							Open_Dir(#inactive_path,WITH_REDRAW);
483
							Open_Dir(#inactive_path,WITH_REDRAW);
478
							break; 
484
							break; 
479
					case SCAN_CODE_ENTER:
485
					case SCAN_CODE_ENTER:
480
							if (!itdir) ShowOpenWithDialog();
486
							if (!itdir) ShowOpenWithDialog();
481
							else Open(1);
487
							else EventOpen(1);
482
							break;
488
							break;
483
					case SCAN_CODE_KEY_A:
489
					case SCAN_CODE_KEY_A:
484
							EventChooseAllFiles(true);
490
							EventChooseAllFiles(true);
485
							break;
491
							break;
486
					case SCAN_CODE_KEY_U: //unselect all files
492
					case SCAN_CODE_KEY_U: //unselect all files
Line 495... Line 501...
495
					case SCAN_CODE_BS:
501
					case SCAN_CODE_BS:
496
							//EventHistoryGoBack();
502
							//EventHistoryGoBack();
497
							Dir_Up();
503
							Dir_Up();
498
							break; 
504
							break; 
499
					case SCAN_CODE_ENTER:
505
					case SCAN_CODE_ENTER:
500
							Open(0);
506
							EventOpen(0);
501
							break; 
507
							break; 
502
					case SCAN_CODE_TAB:
508
					case SCAN_CODE_TAB:
503
							if (!two_panels.checked) break;
509
							if (!two_panels.checked) break;
504
							if (active_panel==1) active_panel=2; else active_panel=1;
510
							if (active_panel==1) active_panel=2; else active_panel=1;
505
							ChangeActivePanel();
511
							ChangeActivePanel();
Line 958... Line 964...
958
	strcpy(#old_folder_name, #path+iii);
964
	strcpy(#old_folder_name, #path+iii);
959
	if (iii>1) path[iii-1]=NULL; else path[iii]=NULL;
965
	if (iii>1) path[iii-1]=NULL; else path[iii]=NULL;
960
	SelectFileByName(#old_folder_name);
966
	SelectFileByName(#old_folder_name);
961
}
967
}
Line 962... Line 968...
962
 
968
 
963
void Open(byte rez)
969
void EventOpenSelected()
-
 
970
{
964
{
971
	int i;
-
 
972
	dword file_off;
-
 
973
	for (i=0; i
-
 
974
		EDX = items.get(i)*304 + buf+32;
-
 
975
		if (TestBit(ESDWORD[EDX], 4)) continue; //is foder
-
 
976
		sprintf(#param,"%s/%s",#path, EDX+40);
-
 
977
		RunProgram("/sys/@open", #param);
-
 
978
	}
-
 
979
}
965
	byte temp[4096];
980
 
-
 
981
void EventOpen(byte _new_window)
-
 
982
{
966
	selected_count = 0;
983
	if (selected_count) && (!itdir) notify(T_USE_SHIFT_ENTER);
967
	if (rez)
984
	if (_new_window)
968
	{
985
	{
969
		if (!strncmp(#file_name,"..",3)) return;
-
 
970
		strcpy(#temp, #file_path);
986
		if (streq(#file_name,"..")) return;
971
		RunProgram(I_Path, #temp);
987
		RunProgram(I_Path, #file_path);
972
		return;
988
		return;
973
	}
989
	}
974
	if (!files.count) return;
990
	if (!files.count) return;
975
	if (!itdir)
991
	if (!itdir)