Subversion Repositories Kolibri OS

Rev

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

Rev 7992 Rev 7993
Line 185... Line 185...
185
}
185
}
Line 186... Line 186...
186
 
186
 
187
void main() 
187
void main() 
188
{
188
{
189
	dword id;
189
	dword id;
Line 190... Line 190...
190
	byte count_sl = 0;
190
	int old_cur_y;
Line 191... Line 191...
191
 
191
 
Line 234... Line 234...
234
			
234
			
Line 235... Line 235...
235
			mouse.get();
235
			mouse.get();
Line 236... Line 236...
236
 
236
 
237
			ProceedMouseGestures();
-
 
238
 
237
			ProceedMouseGestures();
239
			GetKeyModifier();
238
 
240
			if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL)
-
 
241
			if (mouse.key&MOUSE_LEFT) && (mouse.up) {
-
 
242
				files.ProcessMouse(mouse.x, mouse.y);
239
			if (mouse.vert)
243
				EventChooseFile(files.cur_y);
240
			{
Line 244... Line 241...
244
				List_ReDraw();
241
				if (files.MouseScroll(mouse.vert)) List_ReDraw();
245
				break;
242
				break;
246
			}
243
			}
247
			
244
 
248
			if (files.MouseOver(mouse.x, mouse.y))
245
			if (files.MouseOver(mouse.x, mouse.y))
-
 
246
			{
-
 
247
				//select file
249
			{
248
				if (mouse.key&MOUSE_LEFT) && (mouse.up)
-
 
249
				{
-
 
250
					GetKeyModifier();
-
 
251
					old_cur_y = files.cur_y;
-
 
252
					files.ProcessMouse(mouse.x, mouse.y);
-
 
253
					if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
250
				//select file
254
						EventChooseFilesRange(old_cur_y, files.cur_y);
251
				if (mouse.key&MOUSE_LEFT) && (mouse.up)
255
					} else if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) {
252
				{
256
						EventChooseFile(files.cur_y);
-
 
257
						DrawStatusBar();
253
					if (files.ProcessMouse(mouse.x, mouse.y)) {
258
						List_ReDraw();
254
						List_ReDraw();
259
					} else {
255
					} else {
260
						if (old_cur_y == files.cur_y) Open(0);
256
						if (mouse.y - files.y / files.item_h + files.first == files.cur_y) Open(0);
261
						else List_ReDraw();
257
					}
262
					}
258
				}
263
				}
259
				//file menu
264
				//file menu
260
				if (mouse.key&MOUSE_RIGHT) && (mouse.up)
265
				if (mouse.key&MOUSE_RIGHT) && (mouse.up)
261
				{
-
 
262
					if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw();
266
				{
263
					if (getElementSelectedFlag(files.cur_y) == false) selected_count = 0; //on redraw selection would be flashed, see [L001] 
-
 
264
					EventShowListMenu();
-
 
265
					break;
-
 
266
				}
-
 
267
			}
-
 
268
 
267
					if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw();
269
			if (mouse.vert)
268
					if (getElementSelectedFlag(files.cur_y) == false) selected_count = 0; //on redraw selection would be flashed, see [L001] 
Line 270... Line 269...
270
			{
269
					EventShowListMenu();
271
				if (files.MouseScroll(mouse.vert)) List_ReDraw();
270
				}
Line 415... Line 414...
415
				}
414
				}
416
				break;
415
				break;
417
			}
416
			}
Line 418... Line 417...
418
 
417
 
419
			if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
-
 
420
				if (key_scancode == SCAN_CODE_DOWN) {
418
			if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
421
					EventChooseFile(files.cur_y);
419
				old_cur_y = files.cur_y;
422
					files.KeyDown();
-
 
423
				} else if (key_scancode == SCAN_CODE_UP) {
420
				files.ProcessKey(key_scancode);
424
					EventChooseFile(files.cur_y);
-
 
425
					files.KeyUp();
-
 
426
				} else break;
-
 
427
				List_ReDraw();
421
				EventChooseFilesRange(old_cur_y, files.cur_y);
428
				break;
422
				break;
Line 429... Line 423...
429
			}
423
			}
430
 
424
 
Line 477... Line 471...
477
					case SCAN_CODE_ENTER:
471
					case SCAN_CODE_ENTER:
478
							if (!itdir) ShowOpenWithDialog();
472
							if (!itdir) ShowOpenWithDialog();
479
							else Open(1);
473
							else Open(1);
480
							break;
474
							break;
481
					case SCAN_CODE_KEY_A:
475
					case SCAN_CODE_KEY_A:
482
							EventSelectAllFiles(true);
476
							EventChooseAllFiles(true);
483
							break;
477
							break;
484
					case SCAN_CODE_KEY_U: //unselect all files
478
					case SCAN_CODE_KEY_U: //unselect all files
485
							EventSelectAllFiles(false);
479
							EventChooseAllFiles(false);
486
							break;
480
							break;
487
				}
481
				}
488
				break;
482
				break;
489
			}
483
			}
Line 577... Line 571...
577
	for (i=0; i<6; i++) DrawBar(0, 34+i, Form.cwidth, 1, MixColors(sc.work_dark, sc.work, i*10));
571
	for (i=0; i<6; i++) DrawBar(0, 34+i, Form.cwidth, 1, MixColors(sc.work_dark, sc.work, i*10));
578
	for (i=0; i<6; i++) DrawBar(0, 5-i, Form.cwidth, 1, MixColors(sc.work_light, sc.work, i*10));
572
	for (i=0; i<6; i++) DrawBar(0, 5-i, Form.cwidth, 1, MixColors(sc.work_light, sc.work, i*10));
579
	llist_copy(#files_active, #files);
573
	llist_copy(#files_active, #files);
580
	strcpy(#active_path, #path);
574
	strcpy(#active_path, #path);
581
	DrawStatusBar();
575
	DrawStatusBar();
582
	if (selected_count==0) Open_Dir(#path,ONLY_OPEN); //if there are no selected files -> refresh folder [L001] 
576
	if (!selected_count) Open_Dir(#path,ONLY_OPEN); //if there are no selected files -> refresh folder [L001] 
583
	DrawFilePanels();
577
	DrawFilePanels();
584
}
578
}
Line 585... Line 579...
585
 
579
 
586
void DrawList() 
580
void DrawList() 
Line 900... Line 894...
900
 
894
 
901
void Del_Form()
895
void Del_Form()
902
{
896
{
903
	byte f_count[128];
897
	byte f_count[128];
904
	int dform_x = files.w - 220 / 2 + files.x;
898
	int dform_x = files.w - 220 / 2 + files.x;
905
	if (selected_count==0) && (!strncmp(#file_name,"..",2)) return;
899
	if (!selected_count) && (!strncmp(#file_name,"..",2)) return;
906
	else
900
	else
907
	{
901
	{
908
		if (!files.count) return;
902
		if (!files.count) return;
909
		DrawEolitePopup(T_YES, T_NO);
903
		DrawEolitePopup(T_YES, T_NO);
Line 1159... Line 1153...
1159
	strcpy(#active_path, #inactive_path);
1153
	strcpy(#active_path, #inactive_path);
1160
	strcpy(#inactive_path, #path);
1154
	strcpy(#inactive_path, #path);
1161
	DrawFilePanels();
1155
	DrawFilePanels();
1162
}
1156
}
Line 1163... Line -...
1163
 
-
 
1164
void EventSelectAllFiles(dword state)
-
 
1165
{
-
 
1166
	int i;
-
 
1167
	for (i=0; i
-
 
1168
	List_ReDraw();
-
 
1169
	DrawStatusBar();
-
 
1170
}
-
 
1171
 
1157
 
1172
void EventSelectFileByKeyPress()
1158
void EventSelectFileByKeyPress()
1173
{
1159
{
1174
	int i;
1160
	int i;
1175
	for (i=files.cur_y+1; i
1161
	for (i=files.cur_y+1; i
Line 1340... Line 1326...
1340
	if (getElementSelectedFlag(_id) == true) {
1326
	if (getElementSelectedFlag(_id) == true) {
1341
		setElementSelectedFlag(_id, false);
1327
		setElementSelectedFlag(_id, false);
1342
	} else {
1328
	} else {
1343
		setElementSelectedFlag(_id, true);
1329
		setElementSelectedFlag(_id, true);
1344
	}
1330
	}
-
 
1331
}
-
 
1332
 
-
 
1333
void EventChooseFilesRange(int _start, _end)
-
 
1334
{
-
 
1335
	if (_start > _end) _start >< _end;
-
 
1336
	if (_end - _start > 1) list_full_redraw = true;
-
 
1337
	while (_start < _end) {
-
 
1338
		EventChooseFile(_start); 
-
 
1339
		_start++;
-
 
1340
	}
1345
	DrawStatusBar();
1341
	DrawStatusBar();
-
 
1342
	List_ReDraw();
1346
}
1343
}
Line -... Line 1344...
-
 
1344
 
-
 
1345
void EventChooseAllFiles(dword state)
-
 
1346
{
-
 
1347
	int i;
-
 
1348
	for (i=0; i
-
 
1349
	List_ReDraw();
-
 
1350
	DrawStatusBar();
-
 
1351
}
-
 
1352
 
-
 
1353
 
1347
 
1354