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 |