814,6 → 814,8 |
|
align 16 |
mouse: |
cmp dword[active_screen],0 |
jg event |
mov eax,SF_MOUSE_GET |
mov ebx,SSF_BUTTON_EXT |
int 0x40 |
835,19 → 837,17 |
mov bx, font_height |
div bx |
movzx edx,ax |
dec edx ;¢¥àåïï à ¬ª |
dec edx ;§ £®«®¢ª¨ |
shr eax,16 |
|
cmp edx, 0 |
jl .no_ch_pos |
mov ebx, [cur_height] |
dec ebx |
sub ebx, 3 |
cmp edx, ebx |
je .on_panel |
cmp dword[active_screen],0 |
jg event ;.on_edit |
cmp edx, 2 |
jl .no_ch_pos |
dec edx ;¢¥àåïï à ¬ª |
dec edx ;§ £®«®¢ª¨ |
sub ebx, 7-1 |
sub ebx, 7-3 |
cmp edx, ebx |
jge .no_ch_pos |
|
912,57 → 912,13 |
align 4 |
.on_panel: |
call get_keybar_ind |
lea eax, [mouse_panels+4*eax] |
cmp [active_screen_keybar], keybar_viewer |
jne @f |
add eax, mouse_viewer-mouse_panels |
@@: |
cmp [active_screen_keybar], keybar_editor |
jne @f |
add eax, mouse_editor-mouse_panels |
@@: |
lea eax, [panels_mouse+4*eax] |
cmp dword[eax], 0 |
je event |
|
mov ebx, [active_screen] |
mov ebp, [screens] |
mov ebp, [ebp+ebx*8+4] |
|
cmp dword[active_screen],0 |
jne @f |
mov ebp, [active_panel] |
mov ecx, [ebp + PanelData.index] |
@@: |
push dword[eax] |
sub eax, mouse_panels |
shr eax, 2 |
xor edx, edx |
mov ebx, 12 |
div ebx |
lea eax, [edx+0x3B] ;eax - ª®¤ ª« ¢¨è¨ F1...F12 |
pop ebx |
call ebx |
call dword[eax] |
jmp event |
if 0 ;not work insert text |
align 4 |
.on_edit: |
cmp [active_screen_keybar], keybar_editor |
jne event |
cmp edx, 1 |
jl event |
push edx |
xor edx, edx |
mov ebx, font_width |
div ebx |
pop edx |
mov ebx, [active_screen] |
mov ebp, [screens] |
mov ebp, [ebp+ebx*8+4] |
mov [ebp + editor_data.cursor_x], eax |
mov [ebp + editor_data.cursor_y], edx |
call editor_OnRedraw |
jmp event |
end if |
|
;input: |
; eax - coord x |
1027,6 → 983,22 |
pop edi esi edx ecx ebx |
ret |
|
align 4 |
OnMouse_ctrl_f3_9: |
sub eax, panels_mouse.ctrl+8 |
shr eax, 2 |
add eax, 0x3D |
call panels_OnKey.ctrl_f3_9 |
ret |
|
align 4 |
OnMouse_alt_f1_2: |
sub eax, panels_mouse.alt |
shr eax, 2 |
add eax, 0x3B |
call panels_OnKey.alt_f1_2 |
ret |
|
align 16 |
process_ctrl_keys: |
cmp byte [esi], 0 |
5772,7 → 5744,6 |
mov [bSilentFolderMode], 0 ; leave silent mode |
ret |
|
align 4 |
highlight_init: |
pushad |
mov ebp, eax |
5841,7 → 5812,6 |
popad |
ret |
|
align 4 |
compare_name: |
test byte [esi], 10h |
jnz .1dir |
5883,7 → 5853,6 |
stc |
ret |
|
align 4 |
strcmpi: |
push eax |
@@: |
5897,7 → 5866,6 |
pop eax |
ret |
|
align 4 |
compare_ext: |
test byte [esi], 10h |
jnz .1dir |
5929,7 → 5897,6 |
stc |
ret |
|
align 4 |
compare_ext_rev: |
test byte [esi], 10h |
jnz .1dir |
5961,7 → 5928,6 |
stc |
ret |
|
align 4 |
seek_ext: |
push eax |
xor eax, eax |
5981,7 → 5947,6 |
pop eax |
ret |
|
align 4 |
compare_modified: |
test byte [esi], 10h |
jnz .1dir |
6014,7 → 5979,6 |
stc |
ret |
|
align 4 |
compare_modified_rev: |
test byte [esi], 10h |
jnz .1dir |
6048,7 → 6012,6 |
stc |
ret |
|
align 4 |
compare_size: |
test byte [esi], 10h |
jnz .1dir |
6081,7 → 6044,6 |
stc |
ret |
|
align 4 |
compare_size_rev: |
test byte [esi], 10h |
jnz .1dir |
6115,7 → 6077,6 |
stc |
ret |
|
align 4 |
compare_unordered: |
cmp esi, edi |
ret |
6123,7 → 6084,6 |
cmp edi, esi |
ret |
|
align 4 |
compare_created: |
test byte [esi], 10h |
jnz .1dir |
6156,7 → 6116,6 |
stc |
ret |
|
align 4 |
compare_created_rev: |
test byte [esi], 10h |
jnz .1dir |
6190,7 → 6149,6 |
stc |
ret |
|
align 4 |
compare_accessed: |
test byte [esi], 10h |
jnz .1dir |
6223,7 → 6181,6 |
stc |
ret |
|
align 4 |
compare_accessed_rev: |
test byte [esi], 10h |
jnz .1dir |
6257,7 → 6214,6 |
stc |
ret |
|
align 4 |
ReadFolder_default: |
mov eax, 2 |
ret 10h |
7599,9 → 7555,8 |
db 'dfghjkl;',27h,'`',0,'\zxcv' |
db 'bnm,./',0,0,0,' ',0,0,0,0,0,0 |
|
;â ¡«¨æë äãªæ¨©: mouse_panels, mouse_viewer ¨ mouse_editor ¤®«¦ë ¡ëâì à冷¬ ¤àã£ á ¤à㣮¬ |
align 4 |
mouse_panels: |
panels_mouse: |
dd 0 ;f1 |
dd 0 ;f2 |
dd panels_OnKey.f3 |
7610,9 → 7565,7 |
dd 0 ;f6 |
dd panels_OnKey.f7 |
dd panels_OnKey.f8 |
dd 0 |
dd exit ;f10 |
dd 0 |
dd 0,0,0 ;f9-f11 |
dd F12 |
; Shift |
rd 4 |
7621,14 → 7574,14 |
.ctrl: |
rd 2 |
repeat 9-3+1 |
dd panels_OnKey.ctrl_f3_9 |
dd OnMouse_ctrl_f3_9 |
end repeat |
rd 3 |
; Ctrl+Shift |
rd 12 |
.alt: |
dd panels_OnKey.alt_f1_2 |
dd panels_OnKey.alt_f1_2 |
dd OnMouse_alt_f1_2 |
dd OnMouse_alt_f1_2 |
rd 4 |
dd panels_OnKey.alt_f7 |
rd 5 |
7639,61 → 7592,6 |
; Alt+Ctrl+Shift |
rd 12 |
|
mouse_viewer: |
rd 1 |
dd viewer_OnKey.f2 |
dd viewer_OnKey.exit ;f3 |
dd viewer_OnKey.f4 |
rd 2 |
dd viewer_OnKey.f7 |
dd viewer_OnKey.f8 |
rd 1 |
dd viewer_OnKey.exit ;f10 |
rd 1 |
dd F12 |
; Shift |
rd 6 |
dd viewer_OnKey.shift_f7 |
rd 5 |
; Ctrl |
rd 12 |
; Ctrl+Shift |
rd 12 |
; Alt |
rd 12 |
; Alt+Shift |
rd 12 |
; Alt+Ctrl |
rd 12 |
; Alt+Ctrl+Shift |
rd 12 |
|
mouse_editor: |
rd 1 |
dd editor_OnKey.f2 |
rd 4 |
dd editor_OnKey.f7 |
rd 2 |
dd editor_OnKey.exit_confirm ;f10 |
rd 1 |
dd F12 |
; Shift |
rd 6 |
dd editor_OnKey.shift_f7 |
rd 5 |
; Ctrl |
rd 12 |
; Ctrl+Shift |
rd 12 |
; Alt |
rd 12 |
; Alt+Shift |
rd 12 |
; Alt+Ctrl |
rd 12 |
; Alt+Ctrl+Shift |
rd 12 |
|
; « ¢¨èë¥ á®ç¥â ¨ï |
; db scancode, reserved |
; dw ctrlstate |