Subversion Repositories Kolibri OS

Rev

Rev 9121 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1792 yogev_ezra 1
key:
2
    mcall 2
3
    cmp   [extended_key],1
9118 Doczom 4
    je    .extended_key
1792 yogev_ezra 5
    test  al, al
6
    jnz   still
7
    cmp   ah, 0xE0
8
    jne   @f
9
    mov   [extended_key],1
10
    jmp   still
11
@@:
12
    cmp   ah,15
13
    jne   .no_tab
14
    inc   [select_panel_counter]
15
    and   [select_panel_counter],1b
16
    call  draw_left_panel
17
    call  draw_right_panel
18
    jmp   still
19
.no_tab:
20
    cmp   ah,72   ; arrow up
9118 Doczom 21
    je    key_72.1
1792 yogev_ezra 22
    cmp   ah,80   ; arrow down
9118 Doczom 23
    je    key_80.1
1792 yogev_ezra 24
    cmp   ah,28   ; Enter
9118 Doczom 25
    je    key_28.1
1792 yogev_ezra 26
    cmp   ah,17   ; W
27
    je    set_background
28
    cmp   ah,19   ; R
9118 Doczom 29
    je    reload_dir_1
1792 yogev_ezra 30
    cmp   ah,42
9118 Doczom 31
    je    key_shift_up
1792 yogev_ezra 32
    cmp   ah,54
9118 Doczom 33
    je    key_shift_up
2345 mario79 34
    cmp   ah,142
9118 Doczom 35
    je    exit_dir_1    ; BackSpace Up
1792 yogev_ezra 36
    cmp   ah,170
9118 Doczom 37
    je    key_shift_down
1792 yogev_ezra 38
    cmp   ah,182
9118 Doczom 39
    je    key_shift_down
1792 yogev_ezra 40
    cmp   ah,29
9118 Doczom 41
    je    key_ctrl_up.1
1792 yogev_ezra 42
    cmp   ah,157
9118 Doczom 43
    je    key_ctrl_down.1
1792 yogev_ezra 44
    cmp   ah,56
9118 Doczom 45
    je    key_alt_up.1
1792 yogev_ezra 46
    cmp   ah,184
9118 Doczom 47
    je    key_alt_down.1
1792 yogev_ezra 48
    cmp   ah,206 ; NumPad+ Up
49
    je    NumPad_plus_Up
50
    cmp   ah,202 ; NumPad- Up
51
    je    NumPad_minus_Up
52
    cmp   ah,183 ; NumPad* Up
53
    je    NumPad_sneg_Up
54
    cmp   ah,158
55
    je    symbol_a_up
56
    cmp   ah,59    ; down F1
9118 Doczom 57
    je    f_key_f1
1792 yogev_ezra 58
    cmp   ah,60    ; down F2
9118 Doczom 59
    je    f_key_f2
1792 yogev_ezra 60
    cmp   ah,61    ; down F3
9118 Doczom 61
    je    f_key_f3 ;sort_name
1792 yogev_ezra 62
    cmp   ah,62    ; down F4
9118 Doczom 63
    je    f_key_f4 ;sort_type
1792 yogev_ezra 64
    cmp   ah,63    ; down F5
9118 Doczom 65
    je    f_key_f5 ;sort_size
1792 yogev_ezra 66
    cmp   ah,64    ; down F6
9118 Doczom 67
    je    f_key_f6 ; sort_date
1792 yogev_ezra 68
    cmp   ah,65    ; down F7
9118 Doczom 69
    je    f_key_f7 ;
1792 yogev_ezra 70
    cmp   ah,66    ; down F8
9118 Doczom 71
    je    f_key_f8 ; delete_file
72
    cmp   ah,67
73
    je    f_key_f9
1792 yogev_ezra 74
    cmp   ah,88    ; down F12
9118 Doczom 75
    je    f_key_f12
1792 yogev_ezra 76
    jmp  still
77
;-------------------------------------------------------------
78
.extended_key:
79
    mov  [extended_key],0
80
key_80:
9118 Doczom 81
    cmp  ah,80  ; arrow down
1792 yogev_ezra 82
    jne  key_72
83
.1:
84
    cmp  [select_panel_counter],0
85
    jne  .right_1
86
    mov  eax,[left_folder_block]
87
    dec  eax
88
    imul eax,10
89
    cmp  ax,[left_start_draw_cursor_line]
90
    jbe  .marked_action   ;still
91
    mov  ax,[left_start_draw_cursor_line]
92
    add  ax,10
3840 mario79 93
    cmp  ax,[left_panel_y_correct_size_y]
1792 yogev_ezra 94
    jae  @f
95
.add_1:
96
    add  [left_start_draw_cursor_line],10
5684 leency 97
    call draw_left_panel
1792 yogev_ezra 98
    mov  [drawing_panel_folder],1
9118 Doczom 99
        jmp  still
1792 yogev_ezra 100
.all:
101
    sub  ecx,10 shl 16
102
    mov  edx,0xffffff
9118 Doczom 103
        mcall
1792 yogev_ezra 104
    mov  [not_clear_lines],1
105
    call draw_folder_data
106
    mov  [not_clear_lines],0
107
    jmp  still
108
.marked_action:
109
    cmp  [marked_action],0
110
    je   still
111
    mov  [marked_action],0
112
    call draw_left_panel
113
    jmp  still
114
.marked_action_1:
115
    cmp  [marked_action],0
116
    je   still
117
    mov  [marked_action],0
118
    call draw_right_panel
119
    jmp  still
120
@@:
121
    mov  eax,[left_folder_block]
122
    sub  eax,[max_panel_line]
123
    test eax,0x80000000
9118 Doczom 124
    jz   @f
1792 yogev_ezra 125
    xor  eax,eax
126
@@:
127
    cmp  [marked_action],0
128
    jne   @f
129
    cmp  [left_start_draw_line],eax
9118 Doczom 130
    je   still
1792 yogev_ezra 131
@@:
132
    mov  [marked_action],0
133
    inc  [left_start_draw_line]
134
    call draw_left_panel
135
    jmp  still
136
.right_1:
137
    mov  eax,[right_folder_block]
138
    dec  eax
139
    imul eax,10
140
    cmp  ax,[right_start_draw_cursor_line]
141
    jbe  .marked_action_1   ;still
142
    mov  ax,[right_start_draw_cursor_line]
143
    add  ax,10
3840 mario79 144
    cmp  ax,[right_panel_y_correct_size_y]
1792 yogev_ezra 145
    jae  @f
146
.add_2:
147
    add  [right_start_draw_cursor_line],10
5684 leency 148
    call draw_right_panel
1792 yogev_ezra 149
    mov  [drawing_panel_folder],2
5684 leency 150
    jmp  still
1792 yogev_ezra 151
@@:
152
    mov  eax,[right_folder_block]
153
    sub  eax,[max_panel_line]
154
    test eax,0x80000000
9118 Doczom 155
    jz   @f
1792 yogev_ezra 156
    xor  eax,eax
157
@@:
158
    cmp  [marked_action],0
159
    jne  @f
160
    cmp  [right_start_draw_line],eax
9118 Doczom 161
    je   still
1792 yogev_ezra 162
@@:
163
    mov  [marked_action],0
164
    inc  [right_start_draw_line]
165
    call draw_right_panel
166
    jmp  still
167
;-------------------------------------------------------------
168
key_72:
9118 Doczom 169
    cmp  ah,72  ;arrow up
1792 yogev_ezra 170
    jne  key_81
171
.1:
172
    cmp  [select_panel_counter],0
173
    jne  .right_1
174
    mov  ax,[left_start_draw_cursor_line]
175
    add  ax,[left_panel_y.start_y]
176
    cmp  [left_panel_y.start_y],ax
9118 Doczom 177
    je   @f
1792 yogev_ezra 178
    sub  [left_start_draw_cursor_line],10
5684 leency 179
    call draw_left_panel
1792 yogev_ezra 180
    mov  [drawing_panel_folder],1
9118 Doczom 181
        jmp  still
1792 yogev_ezra 182
.all:
183
    add  ecx,10 shl 16
184
    mov  edx,0xffffff
9118 Doczom 185
        mcall
1792 yogev_ezra 186
    mov  [not_clear_lines],1
187
    call draw_folder_data
188
    mov  [not_clear_lines],0
189
    jmp  still
190
@@:
191
    cmp  [left_start_draw_line],0
9118 Doczom 192
    je   still
1792 yogev_ezra 193
    dec  [left_start_draw_line]
194
    call draw_left_panel
195
    jmp  still
196
.right_1:
197
    mov  ax,[right_start_draw_cursor_line]
198
    add  ax,[right_panel_y.start_y]
199
    cmp  [right_panel_y.start_y],ax
9118 Doczom 200
    je   @f
1792 yogev_ezra 201
    sub  [right_start_draw_cursor_line],10
5684 leency 202
    call draw_right_panel
1792 yogev_ezra 203
    mov  [drawing_panel_folder],2
5684 leency 204
    jmp  still
1792 yogev_ezra 205
@@:
206
    cmp  [right_start_draw_line],0
9118 Doczom 207
    je   still
1792 yogev_ezra 208
    dec  [right_start_draw_line]
209
    call draw_right_panel
210
    jmp  still
211
;-------------------------------------------------------------
212
key_81:
213
    cmp  ah,81 ; PageDown
214
    jne  key_73
215
    mov  eax,[max_panel_line]
216
    cmp  [select_panel_counter],0
217
    jne  .right_1
218
    mov  ebx,[left_folder_block]
219
    sub  ebx,eax
220
    test ebx,0x80000000
221
    jnz  .left_2
222
    sub  ebx,[left_start_draw_line]
223
    cmp  ebx,eax
224
    ja  .ok_1
225
    mov  ebx,[left_folder_block]
226
    sub  ebx,eax
227
    call prepare_data_left_down
228
    ja   @f
229
    cmp  ebx,[left_start_draw_line]
230
    je   still
231
@@:
232
    mov  [left_start_draw_line],ebx
233
.left_3:
234
    dec  eax
235
    imul eax,10
236
.left_1:
237
    mov  [left_start_draw_cursor_line],ax
238
    call draw_left_panel
239
    jmp  still
240
.left_2:
241
    mov  eax,[left_folder_block]
242
    sub  eax,[left_start_draw_line]
243
    dec  eax
244
    imul eax,10
245
    cmp  ax,[left_start_draw_cursor_line]
246
    jbe  still
247
    jmp  .left_1
248
.ok_1:
249
    add  [left_start_draw_line],eax
250
    call draw_left_panel
251
    jmp  still
252
.right_1:
253
    mov  ebx,[right_folder_block]
254
    sub  ebx,eax
255
    test ebx,0x80000000
256
    jnz  .right_3
257
    sub  ebx,[right_start_draw_line]
258
    cmp  ebx,eax
259
    jae  .ok_2
260
    mov  ebx,[right_folder_block]
261
    sub  ebx,eax
262
    call prepare_data_right_down
263
    ja   @f
264
    cmp  ebx,[right_start_draw_line]
265
    je   still
266
@@:
267
    mov  [right_start_draw_line],ebx
268
.right_4:
269
    dec  eax
270
    imul eax,10
271
.right_2:
272
    mov  [right_start_draw_cursor_line],ax
273
    call draw_right_panel
274
    jmp  still
275
.right_3:
276
    mov  eax,[right_folder_block]
277
    sub  eax,[right_start_draw_line]
278
    dec  eax
279
    imul eax,10
280
    cmp  ax,[right_start_draw_cursor_line]
281
    jbe  still
282
    jmp  .right_2
283
.ok_2:
284
    add  [right_start_draw_line],eax
285
    call draw_right_panel
286
    jmp  still
287
;-------------------------------------------------------------
288
prepare_data_right_down:
289
    mov  ecx,[right_folder_block]
290
    sub  ecx,[right_start_draw_line]
291
    dec  ecx
292
    imul ecx,10
293
    cmp  cx,[right_start_draw_cursor_line]
294
    ret
295
;-------------------------------------------------------------
296
prepare_data_left_down:
297
    mov  ecx,[left_folder_block]
298
    sub  ecx,[left_start_draw_line]
299
    dec  ecx
300
    imul ecx,10
301
    cmp  cx,[left_start_draw_cursor_line]
302
    ret
303
;-------------------------------------------------------------
304
key_73:
305
    cmp  ah,73 ; PageUp
306
    jne  key_71
307
    mov  eax,[max_panel_line]
308
    cmp  [select_panel_counter],0
309
    jne  .right_1
310
    mov  ebx,[left_start_draw_line]
311
    sub  ebx,eax
312
    test ebx,0x8000000
9118 Doczom 313
    jz   @f
1792 yogev_ezra 314
    cmp  [left_start_draw_line],0
315
    jne  .draw_line_1
316
    cmp  [left_start_draw_cursor_line],0
9118 Doczom 317
    je   still
1792 yogev_ezra 318
    mov  [left_start_draw_cursor_line],0
319
.draw_line_1:
320
    mov  [left_start_draw_line],0
321
    call draw_left_panel
322
    jmp  still
323
@@:
324
    sub  [left_start_draw_line],eax
325
    call draw_left_panel
326
    jmp  still
327
.right_1:
328
    mov  ebx,[right_start_draw_line]
329
    sub  ebx,eax
330
    test ebx,0x80000000
9118 Doczom 331
    jz   @f
1792 yogev_ezra 332
    cmp  [right_start_draw_line],0
333
    jne  .draw_line_2
334
    cmp  [right_start_draw_cursor_line],0
9118 Doczom 335
    je   still
1792 yogev_ezra 336
    mov  [right_start_draw_cursor_line],0
337
.draw_line_2:
338
    mov  [right_start_draw_line],0
339
    call draw_right_panel
340
    jmp  still
341
@@:
342
    sub  [right_start_draw_line],eax
343
    call draw_right_panel
344
    jmp  still
345
;-------------------------------------------------------------
346
key_71:
347
    cmp  ah,71 ; Home
348
    jne  key_79
349
    cmp  [select_panel_counter],0
350
    jne  .right_1
351
    cmp  [left_start_draw_line],0
352
    jne   .draw_left_panel
353
    cmp  [left_start_draw_cursor_line],0
9118 Doczom 354
    je   still
1792 yogev_ezra 355
.draw_left_panel:
356
    mov  [left_start_draw_line],0
357
    mov  [left_start_draw_cursor_line],0
358
    call draw_left_panel
359
    jmp  still
360
.right_1:
361
    cmp  [right_start_draw_line],0
362
    jne   .draw_right_panel
363
    cmp  [right_start_draw_cursor_line],0
9118 Doczom 364
    je   still
1792 yogev_ezra 365
.draw_right_panel:
366
    mov  [right_start_draw_line],0
367
    mov  [right_start_draw_cursor_line],0
368
    call draw_right_panel
369
    jmp  still
370
;-------------------------------------------------------------
371
key_79:
372
    cmp  ah,79 ; End
373
    jne  key_28
374
    cmp  [select_panel_counter],0
375
    jne  .right_1
376
    mov  eax,[left_folder_block]
377
    sub  eax,[max_panel_line]
378
    test eax,0x80000000
379
    jnz  key_81.left_2
380
    call prepare_data_left_down
381
    ja   @f
382
    cmp  eax,[left_start_draw_line]
383
    je   still
384
@@:
385
    mov  [left_start_draw_line],eax
386
    mov  eax,[max_panel_line]
387
    jmp  key_81.left_3
388
.right_1:
389
    mov  eax,[right_folder_block]
390
    sub  eax,[max_panel_line]
391
    test eax,0x80000000
392
    jnz  key_81.right_3
393
    call prepare_data_right_down
394
    ja   @f
395
    cmp  eax,[right_start_draw_line]
396
    je   still
397
@@:
398
    mov  [right_start_draw_line],eax
399
    mov  eax,[max_panel_line]
400
    jmp  key_81.right_4
401
;-------------------------------------------------------------
402
key_28:
403
    cmp  ah,28 ; Enter
404
    jne  key_ctrl_up
405
.1:
406
    cmp  [shift_flag],1
9118 Doczom 407
    je   still
1792 yogev_ezra 408
    cmp  [ctrl_flag],1
9118 Doczom 409
    je   still
1792 yogev_ezra 410
    cmp  [alt_flag],1
9118 Doczom 411
    je   files_information
1792 yogev_ezra 412
 
413
    mov  [open_param],0
414
.2:
415
    cmp  [select_panel_counter],0
416
    jne  .right_1
417
    mov  ebp,read_folder_name    ;read_folder.name
418
    call  calculate_left_data_1
419
    add  esi,32
420
    cmp  [exit_dir],1
9118 Doczom 421
    je   .up_patch
1792 yogev_ezra 422
    test [esi],byte 0x10
9118 Doczom 423
    jz   file_no_folder
1792 yogev_ezra 424
    cmp  [open_param],0
425
    jne  still
426
    cmp  [esi+40],word 2Eh
9118 Doczom 427
    je   still
1792 yogev_ezra 428
    cmp  [esi+40],word '..'
9749 sober_dev 429
    jne  @f
430
    cmp  [esi+40+2],byte 0
9118 Doczom 431
    je   .up_patch
9749 sober_dev 432
@@:
1792 yogev_ezra 433
    call calculate_key_28_1
434
    mov  [left_start_draw_cursor_line],0
435
    mov  [left_start_draw_line],0
436
    jmp  proc_read_folder
437
.up_patch:
438
    call calculate_key_28_2
439
    jmp  proc_read_folder
440
.right_1:
441
    mov  ebp,read_folder_1_name   ;read_folder_1.name
442
    call calculate_right_data_1
443
    add  esi,32
444
    cmp  [exit_dir],1
9118 Doczom 445
    je   .up_patch_1
1792 yogev_ezra 446
    test [esi],byte 0x10
9118 Doczom 447
    jz   file_no_folder
1792 yogev_ezra 448
    cmp  [esi+40],word 2Eh
9118 Doczom 449
    je   still
1792 yogev_ezra 450
    cmp  [esi+40],word '..'
9749 sober_dev 451
    jne  @f
452
    cmp  [esi+40+2],byte 0
9118 Doczom 453
    je   .up_patch_1
9749 sober_dev 454
@@:
1792 yogev_ezra 455
    call calculate_key_28_1
456
    mov  [right_start_draw_cursor_line],0
457
    mov  [right_start_draw_line],0
458
    jmp  proc_read_folder_1
459
.up_patch_1:
460
    call calculate_key_28_2
461
    jmp  proc_read_folder_1
462
;---------------------------------------------------------------------
463
calculate_key_28_1:
464
;    mov  edi,read_folder.name-1
465
    mov  edi,ebp
466
    dec  edi
467
    inc  ebp
468
@@:
469
    inc  edi
470
    cmp  [edi],byte 0
471
    jne  @r
472
    cmp  edi,ebp ;read_folder.name+1
9118 Doczom 473
    je   @f
1792 yogev_ezra 474
    mov  al,'/'
475
    mov [edi],al
476
    inc  edi
477
@@:
478
    add  esi,40
479
@@:
480
    cld
481
    lodsb
482
    stosb
483
    cmp al,0
484
    jnz   @r
485
    ret
486
;---------------------------------------------------------------------
487
calculate_key_28_2:
488
    mov  [exit_dir],0
489
    mov  edi,ebp ;read_folder.name
490
@@:
491
    inc  edi
492
    cmp  [edi],byte 0
493
    jne  @r
494
    mov  [extension_size],edi
495
    dec  edi
496
@@:
497
    dec  edi
498
    cmp  [edi],byte '/'
499
    jne  @r
500
    mov  eax,ebp ;read_folder.name
501
    cmp  edi,eax
502
    jbe  @f
503
    mov  [edi],byte 0
504
@@:
505
    inc  edi
506
    mov  [temp_counter_dword],edi
507
    dec  edi
508
    sub  [extension_size],edi
509
    mov  [search_pre_folder],1
510
    ret
511
;---------------------------------------------------------------------
512
set_background:
513
    cmp  [shift_flag],1
514
    je   .shift
515
    cmp  [ctrl_flag],1
516
    jne  still
517
    mov  [open_param],background_stretch
518
    jmp  key_28.2
519
.shift:
520
    mov  [open_param],background_tile
521
    jmp  key_28.2
522
;---------------------------------------------------------------------
523
reload_dir_1:
524
    cmp  [ctrl_flag],0
9118 Doczom 525
    je   still
1792 yogev_ezra 526
    jmp  reload_dir
527
;---------------------------------------------------------------------
528
symbol_a_up:
529
    cmp  [shift_flag],1
9118 Doczom 530
    je   still
1792 yogev_ezra 531
    cmp  [ctrl_flag],1
9118 Doczom 532
    je   .ctrl
1792 yogev_ezra 533
    cmp  [alt_flag],1
9118 Doczom 534
    je   still
1792 yogev_ezra 535
    jmp  still
536
.ctrl:
537
    mov  [mark_action_counter],0
538
    jmp  mark_all_file
539
;---------------------------------------------------------------------
540
NumPad_plus_Up:
541
    cmp  [shift_flag],1
9118 Doczom 542
    je   still
1792 yogev_ezra 543
    cmp  [ctrl_flag],1
9118 Doczom 544
    je   .ctrl
1792 yogev_ezra 545
    cmp  [alt_flag],1
9118 Doczom 546
    je   still
1792 yogev_ezra 547
    jmp  still
548
.ctrl:
549
    mov  [mark_action_counter],0
550
    jmp  mark_all_file
551
;---------------------------------------------------------------------
552
NumPad_minus_Up:
553
    cmp  [shift_flag],1
9118 Doczom 554
    je   still
1792 yogev_ezra 555
    cmp  [ctrl_flag],1
9118 Doczom 556
    je   .ctrl
1792 yogev_ezra 557
    cmp  [alt_flag],1
9118 Doczom 558
    je   still
1792 yogev_ezra 559
    jmp  still
560
.ctrl:
561
    mov  [mark_action_counter],1
562
    jmp  mark_all_file
563
;---------------------------------------------------------------------
564
NumPad_sneg_Up:
565
    cmp  [shift_flag],1
9118 Doczom 566
    je   still
1792 yogev_ezra 567
    cmp  [ctrl_flag],1
9118 Doczom 568
    je   .ctrl
1792 yogev_ezra 569
    cmp  [alt_flag],1
9118 Doczom 570
    je   still
1792 yogev_ezra 571
    jmp  still
572
.ctrl:
573
    mov  [mark_action_counter],2
574
    jmp  mark_all_file
575
;---------------------------------------------------------------------
576
f_key_f1:
577
;sort_name:
578
    cmp  [shift_flag],1
9118 Doczom 579
    je   still
1792 yogev_ezra 580
    cmp  [ctrl_flag],1
9118 Doczom 581
    je   still
1792 yogev_ezra 582
    cmp  [alt_flag],1
9118 Doczom 583
    je   draw_left_select_disk_menu
1792 yogev_ezra 584
    jmp  help_start
585
;---------------------------------------------------------------------
586
f_key_f2:
587
;sort_name:
588
    cmp  [shift_flag],1
9118 Doczom 589
    je   still
1792 yogev_ezra 590
    cmp  [ctrl_flag],1
9118 Doczom 591
    je   still
1792 yogev_ezra 592
    cmp  [alt_flag],1
9118 Doczom 593
    je   draw_right_select_disk_menu
1792 yogev_ezra 594
    jmp  still
595
;---------------------------------------------------------------------
596
f_key_f3:
597
;sort_name:
598
    cmp  [shift_flag],1
9118 Doczom 599
    je   still
1792 yogev_ezra 600
    cmp  [ctrl_flag],1
9118 Doczom 601
    je   .ctrl
1792 yogev_ezra 602
    cmp  [alt_flag],1
9118 Doczom 603
    je   still
1792 yogev_ezra 604
    jmp  still
605
.ctrl:
606
    cmp  [select_panel_counter],1
9118 Doczom 607
    je   right_sort_name
1792 yogev_ezra 608
    jmp  left_sort_name
609
;---------------------------------------------------------------------
610
f_key_f4:
611
;sort_type:
612
    cmp  [shift_flag],1
9118 Doczom 613
    je   still
1792 yogev_ezra 614
    cmp  [ctrl_flag],1
9118 Doczom 615
    je   .ctrl
1792 yogev_ezra 616
    cmp  [alt_flag],1
9118 Doczom 617
    je   still
1792 yogev_ezra 618
    jmp  open_file_f4
619
.ctrl:
620
    cmp  [select_panel_counter],1
9118 Doczom 621
    je   right_sort_type
1792 yogev_ezra 622
    jmp  left_sort_type
623
;---------------------------------------------------------------------
624
f_key_f5:
625
;sort_size:
626
    cmp  [shift_flag],1
9118 Doczom 627
    je   still
1792 yogev_ezra 628
    cmp  [ctrl_flag],1
9118 Doczom 629
    je   .ctrl
1792 yogev_ezra 630
    cmp  [alt_flag],1
9118 Doczom 631
    je   still
1792 yogev_ezra 632
    jmp  copy_file_f5
633
.ctrl:
634
    cmp  [select_panel_counter],1
9118 Doczom 635
    je   right_sort_size
1792 yogev_ezra 636
    jmp  left_sort_size
637
;---------------------------------------------------------------------
638
f_key_f6:
639
;sort_date:
640
    cmp  [shift_flag],1
9121 Doczom 641
    je   .shift
1792 yogev_ezra 642
    cmp  [ctrl_flag],1
9118 Doczom 643
    je   .ctrl
1792 yogev_ezra 644
    cmp  [alt_flag],1
9118 Doczom 645
    je   still
1792 yogev_ezra 646
    jmp  move_file_f6
9121 Doczom 647
.shift:
648
    jmp  still
1792 yogev_ezra 649
.ctrl:
650
    cmp  [select_panel_counter],1
9118 Doczom 651
    je   right_sort_date
1792 yogev_ezra 652
    jmp  left_sort_date
653
;---------------------------------------------------------------------
654
f_key_f7:
655
    cmp  [shift_flag],1
9118 Doczom 656
    je   still
1792 yogev_ezra 657
    cmp  [ctrl_flag],1
9118 Doczom 658
    je   still
1792 yogev_ezra 659
    cmp  [alt_flag],1
9118 Doczom 660
    je   still
1792 yogev_ezra 661
    jmp  create_directory
662
;---------------------------------------------------------------------
663
f_key_f8:
664
    cmp  [shift_flag],1
9118 Doczom 665
    je   still
1792 yogev_ezra 666
    cmp  [ctrl_flag],1
9118 Doczom 667
    je   still
1792 yogev_ezra 668
    cmp  [alt_flag],1
9118 Doczom 669
    je   still
1792 yogev_ezra 670
    jmp  delete_file
671
;---------------------------------------------------------------------
9118 Doczom 672
f_key_f9:
673
    cmp  [shift_flag],1
674
    je   still
675
    cmp  [ctrl_flag],1
676
    je   still
677
    cmp  [alt_flag],1
678
    je   still
9121 Doczom 679
    jmp  create_new_file; create_directory;
9118 Doczom 680
;---------------------------------------------------------------------
1792 yogev_ezra 681
f_key_f12:
682
    cmp  [shift_flag],1
9118 Doczom 683
    je   still
1792 yogev_ezra 684
    cmp  [ctrl_flag],1
9118 Doczom 685
    je   still
1792 yogev_ezra 686
    cmp  [alt_flag],1
9118 Doczom 687
    je   still
1792 yogev_ezra 688
    jmp  exit_apl
689
;---------------------------------------------------------------------
690
key_shift_up:
691
    cmp  [shift_flag],1
9118 Doczom 692
    je   still
1792 yogev_ezra 693
    mov  [shift_flag],1
694
    jmp  key_alt_down.for_all
695
;---------------------------------------------------------------------
696
key_shift_down:
697
    mov  [shift_flag],0
698
    jmp  key_alt_down.for_all
699
;---------------------------------------------------------------------
700
key_ctrl_up:
701
    cmp   ah,29
702
    jne   key_ctrl_down
703
.1:
704
    cmp  [ctrl_flag],1
9118 Doczom 705
    je   still
1792 yogev_ezra 706
    mov  [ctrl_flag],1
707
    jmp  key_alt_down.for_all
708
;---------------------------------------------------------------------
709
key_ctrl_down:
710
    cmp   ah,157
711
    jne   key_alt_up
712
.1:
713
    mov  [ctrl_flag],0
714
    jmp  key_alt_down.for_all
715
;---------------------------------------------------------------------
716
key_alt_up:
717
    cmp   ah,56
718
    jne   key_alt_down
719
.1:
720
    cmp  [alt_flag],1
9118 Doczom 721
    je   still
1792 yogev_ezra 722
    mov  [alt_flag],1
723
    jmp  key_alt_down.for_all
724
;---------------------------------------------------------------------
725
key_alt_down:
726
    cmp   ah,184
727
    jne   key_insert
728
.1:
729
    mov  [alt_flag],0
730
.for_all:
731
    call erase_fbutton
732
    call draw_fbutton
733
    jmp  still
734
;---------------------------------------------------------------------
735
key_insert:
736
    cmp   ah,82   ; Insert
9118 Doczom 737
    je    mark_file
1792 yogev_ezra 738
    cmp   ah,83
9118 Doczom 739
    je    f_key_f8      ;delete_file
1792 yogev_ezra 740
key_end:
741
    jmp  still
742
;---------------------------------------------------------------------