Rev 9014 | Rev 9059 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9014 | Rev 9039 | ||
---|---|---|---|
Line 817... | Line 817... | ||
817 | cmp dword[active_screen],0 |
817 | cmp dword[active_screen],0 |
818 | jg event |
818 | jg event |
819 | mov eax,SF_MOUSE_GET |
819 | mov eax,SF_MOUSE_GET |
820 | mov ebx,SSF_BUTTON_EXT |
820 | mov ebx,SSF_BUTTON_EXT |
821 | int 0x40 |
821 | int 0x40 |
- | 822 | mov byte[mousestate], 1 |
|
- | 823 | bt eax,24 ;left but. double click |
|
- | 824 | jc @f |
|
- | 825 | mov byte[mousestate], 0 |
|
822 | bt eax,8 ;left but. down |
826 | bt eax,8 ;left but. down |
- | 827 | jc @f |
|
823 | jnc event |
828 | jmp event |
824 | 829 | @@: |
|
825 | mov eax,SF_MOUSE_GET |
830 | mov eax,SF_MOUSE_GET |
826 | mov ebx,SSF_WINDOW_POSITION |
831 | mov ebx,SSF_WINDOW_POSITION |
827 | int 0x40 |
832 | int 0x40 |
828 | cmp ax, word[skinh] |
833 | cmp ax, word[skinh] |
829 | jl event |
834 | jl event |
Line 895... | Line 900... | ||
895 | mov edx, eax |
900 | mov edx, eax |
896 | @@: |
901 | @@: |
897 | cmp edx, 0 |
902 | cmp edx, 0 |
898 | jl @f |
903 | jl @f |
899 | mov [ebp + PanelData.index], edx |
904 | mov [ebp + PanelData.index], edx |
- | 905 | cmp byte[mousestate], 0 |
|
- | 906 | je @f |
|
- | 907 | call panels_OnKey.enter |
|
- | 908 | jmp event |
|
900 | @@: |
909 | @@: |
901 | call draw_panel |
910 | call draw_panel |
902 | jmp event |
911 | jmp event |
- | 912 | align 4 |
|
903 | .on_panel: |
913 | .on_panel: |
904 | call get_keybar_ind |
914 | call get_keybar_ind |
905 | lea eax, [panels_mouse+4*eax] |
915 | lea eax, [panels_mouse+4*eax] |
906 | cmp dword[eax], 0 |
916 | cmp dword[eax], 0 |
907 | je event |
917 | je event |
908 | mov ebp, [active_panel] |
918 | mov ebp, [active_panel] |
909 | mov ecx, [ebp + PanelData.index] |
919 | mov ecx, [ebp + PanelData.index] |
910 | call dword[eax] |
920 | call dword[eax] |
911 | @@: |
- | |
912 | jmp event |
921 | jmp event |
Line 913... | Line 922... | ||
913 | 922 | ||
914 | ;input: |
923 | ;input: |
915 | ; eax - coord x |
924 | ; eax - coord x |
Line 972... | Line 981... | ||
972 | .ret: |
981 | .ret: |
973 | lea eax, [esi+ecx-1] |
982 | lea eax, [esi+ecx-1] |
974 | pop edi esi edx ecx ebx |
983 | pop edi esi edx ecx ebx |
975 | ret |
984 | ret |
Line -... | Line 985... | ||
- | 985 | ||
- | 986 | align 4 |
|
- | 987 | OnMouse_ctrl_f39: |
|
- | 988 | sub eax, panels_mouse.ctrl+8 |
|
- | 989 | shr eax, 2 |
|
- | 990 | add eax, 0x3D |
|
- | 991 | call panels_OnKey.ctrl_f39 |
|
- | 992 | ret |
|
976 | 993 | ||
977 | align 16 |
994 | align 16 |
978 | process_ctrl_keys: |
995 | process_ctrl_keys: |
979 | cmp byte [esi], 0 |
996 | cmp byte [esi], 0 |
980 | jz .done |
997 | jz .done |
Line 1104... | Line 1121... | ||
1104 | mov ecx, edx |
1121 | mov ecx, edx |
1105 | call pgfree |
1122 | call pgfree |
1106 | xor eax, eax |
1123 | xor eax, eax |
1107 | ret 16 |
1124 | ret 16 |
Line -... | Line 1125... | ||
- | 1125 | ||
1108 | 1126 | align 4 |
|
1109 | enum_plugins_callback: |
1127 | enum_plugins_callback: |
1110 | ; LongBool __stdcall callback(f_name,sec_name,key_name,key_value); |
1128 | ; LongBool __stdcall callback(f_name,sec_name,key_name,key_value); |
1111 | ; [esp+4] = f_name, [esp+8] = sec_name, [esp+12] = key_name, [esp+16] = key_value |
1129 | ; [esp+4] = f_name, [esp+8] = sec_name, [esp+12] = key_name, [esp+16] = key_value |
1112 | mov esi, [esp+16] |
1130 | mov esi, [esp+16] |
Line 3476... | Line 3494... | ||
3476 | close_plugin_panels: |
3494 | close_plugin_panels: |
3477 | cmp [ebp + PanelData.hPlugin], 0 |
3495 | cmp [ebp + PanelData.hPlugin], 0 |
3478 | jnz @b |
3496 | jnz @b |
3479 | ret |
3497 | ret |
Line -... | Line 3498... | ||
- | 3498 | ||
3480 | 3499 | align 4 |
|
3481 | close_plugin_panel: |
3500 | close_plugin_panel: |
3482 | ; close plugin and restore old directory |
3501 | ; close plugin and restore old directory |
3483 | mov esi, [ebp + PanelData.parents] |
3502 | mov esi, [ebp + PanelData.parents] |
3484 | add esi, [ebp + PanelData.parents_sz] |
3503 | add esi, [ebp + PanelData.parents_sz] |
Line 3513... | Line 3532... | ||
3513 | call [eax+PluginInfo.GetOpenPluginInfo] |
3532 | call [eax+PluginInfo.GetOpenPluginInfo] |
3514 | pop ebp |
3533 | pop ebp |
3515 | @@: |
3534 | @@: |
3516 | pop ebx edx |
3535 | pop ebx edx |
Line -... | Line 3536... | ||
- | 3536 | ||
3517 | 3537 | align 4 |
|
3518 | close_handle_if_unused: |
3538 | close_handle_if_unused: |
3519 | ; edx=hPlugin, ebx=hFile |
3539 | ; edx=hPlugin, ebx=hFile |
3520 | push ebp |
3540 | push ebp |
3521 | xor ecx, ecx |
3541 | xor ecx, ecx |
Line 3532... | Line 3552... | ||
3532 | call [edx+PluginInfo.ClosePlugin] |
3552 | call [edx+PluginInfo.ClosePlugin] |
3533 | .used: |
3553 | .used: |
3534 | pop ebp |
3554 | pop ebp |
3535 | ret |
3555 | ret |
Line -... | Line 3556... | ||
- | 3556 | ||
3536 | 3557 | align 4 |
|
3537 | panels_IsHandleUsed: |
3558 | panels_IsHandleUsed: |
3538 | ; edx=hPlugin, ebx=hFile |
3559 | ; edx=hPlugin, ebx=hFile |
3539 | mov ebp, panel1 |
3560 | mov ebp, panel1 |
3540 | call .1 |
3561 | call .1 |
Line 3568... | Line 3589... | ||
3568 | cmp esi, [ebp + PanelData.parents] |
3589 | cmp esi, [ebp + PanelData.parents] |
3569 | jnz @b |
3590 | jnz @b |
3570 | inc esi |
3591 | inc esi |
3571 | ret |
3592 | ret |
Line -... | Line 3593... | ||
- | 3593 | ||
3572 | 3594 | align 4 |
|
3573 | panels_OnExit: |
3595 | panels_OnExit: |
3574 | ; close plugin panels |
3596 | ; close plugin panels |
3575 | mov ebp, panel1 |
3597 | mov ebp, panel1 |
3576 | call close_plugin_panels |
3598 | call close_plugin_panels |
3577 | mov ebp, panel2 |
3599 | mov ebp, panel2 |
3578 | call close_plugin_panels |
3600 | call close_plugin_panels |
Line -... | Line 3601... | ||
- | 3601 | ret |
|
3579 | ret |
3602 | |
3580 | 3603 | align 4 |
|
3581 | panels_OnRedraw: |
3604 | panels_OnRedraw: |
3582 | or [cursor_x], -1 |
3605 | or [cursor_x], -1 |
3583 | or [cursor_y], -1 |
3606 | or [cursor_y], -1 |
Line 3588... | Line 3611... | ||
3588 | mov ebp, panel2 |
3611 | mov ebp, panel2 |
3589 | call calc_colwidths |
3612 | call calc_colwidths |
3590 | call draw_panel |
3613 | call draw_panel |
3591 | ret |
3614 | ret |
Line -... | Line 3615... | ||
- | 3615 | ||
3592 | 3616 | align 4 |
|
3593 | init_console: |
3617 | init_console: |
3594 | mov ecx, [console_data_ptr] |
3618 | mov ecx, [console_data_ptr] |
3595 | call pgfree |
3619 | call pgfree |
3596 | mov eax, [cur_width] |
3620 | mov eax, [cur_width] |
Line 3622... | Line 3646... | ||
3622 | dec eax |
3646 | dec eax |
3623 | mov [panel1.height], eax |
3647 | mov [panel1.height], eax |
3624 | mov [panel2.height], eax |
3648 | mov [panel2.height], eax |
3625 | ret |
3649 | ret |
Line -... | Line 3650... | ||
- | 3650 | ||
3626 | 3651 | align 4 |
|
3627 | get_curfile_folder_entry: |
3652 | get_curfile_folder_entry: |
3628 | mov ecx, [ebp + PanelData.index] |
3653 | mov ecx, [ebp + PanelData.index] |
3629 | shl ecx, 2 |
3654 | shl ecx, 2 |
3630 | add ecx, [ebp + PanelData.files] |
3655 | add ecx, [ebp + PanelData.files] |
3631 | mov ecx, [ecx] |
3656 | mov ecx, [ecx] |
- | 3657 | ret |
|
- | 3658 | ||
3632 | ret |
3659 | align 4 |
3633 | get_curfile_name: |
3660 | get_curfile_name: |
3634 | call get_curfile_folder_entry |
3661 | call get_curfile_folder_entry |
3635 | add ecx, 40 |
3662 | add ecx, 40 |
Line 4968... | Line 4995... | ||
4968 | mov byte [edi], ' ' |
4995 | mov byte [edi], ' ' |
4969 | mov ecx, saved_file_name+512 |
4996 | mov ecx, saved_file_name+512 |
4970 | sub ecx, edi |
4997 | sub ecx, edi |
4971 | ret 8 |
4998 | ret 8 |
Line -... | Line 4999... | ||
- | 4999 | ||
4972 | 5000 | align 4 |
|
4973 | get_file_color: |
5001 | get_file_color: |
4974 | mov ah, [esi + 6] |
5002 | mov ah, [esi + 6] |
4975 | cmp ebp, [active_panel] |
5003 | cmp ebp, [active_panel] |
4976 | jnz @f |
5004 | jnz @f |
Line 4987... | Line 5015... | ||
4987 | jnz @f |
5015 | jnz @f |
4988 | mov ah, [esi + 5] |
5016 | mov ah, [esi + 5] |
4989 | @@: |
5017 | @@: |
4990 | ret |
5018 | ret |
Line -... | Line 5019... | ||
- | 5019 | ||
4991 | 5020 | align 4 |
|
4992 | draw_name_column: |
5021 | draw_name_column: |
4993 | mov eax, [column_index] |
5022 | mov eax, [column_index] |
4994 | mov [last_column_index], eax |
5023 | mov [last_column_index], eax |
4995 | mov edx, [ebp + PanelData.numfiles] |
5024 | mov edx, [ebp + PanelData.numfiles] |
Line 5149... | Line 5178... | ||
5149 | stosw |
5178 | stosw |
5150 | .ret2: |
5179 | .ret2: |
5151 | draw_empty_column: |
5180 | draw_empty_column: |
5152 | ret |
5181 | ret |
Line -... | Line 5182... | ||
- | 5182 | ||
5153 | 5183 | align 4 |
|
5154 | draw_size_column: |
5184 | draw_size_column: |
5155 | add edi, [column_width] |
5185 | add edi, [column_width] |
5156 | add edi, [column_width] |
5186 | add edi, [column_width] |
5157 | dec edi |
5187 | dec edi |
Line 5293... | Line 5323... | ||
5293 | .ret: |
5323 | .ret: |
5294 | pop [last_column_index] |
5324 | pop [last_column_index] |
5295 | cld |
5325 | cld |
5296 | ret |
5326 | ret |
Line -... | Line 5327... | ||
- | 5327 | ||
5297 | 5328 | align 4 |
|
5298 | draw_date_column: |
5329 | draw_date_column: |
5299 | mov ecx, [column_height] |
5330 | mov ecx, [column_height] |
5300 | dec ecx |
5331 | dec ecx |
5301 | push [last_column_index] |
5332 | push [last_column_index] |
Line 5359... | Line 5390... | ||
5359 | .ret: |
5390 | .ret: |
5360 | pop [last_column_index] |
5391 | pop [last_column_index] |
5361 | cld |
5392 | cld |
5362 | ret |
5393 | ret |
Line -... | Line 5394... | ||
- | 5394 | ||
5363 | 5395 | align 4 |
|
5364 | draw_time_column: |
5396 | draw_time_column: |
5365 | mov ecx, [column_height] |
5397 | mov ecx, [column_height] |
5366 | dec ecx |
5398 | dec ecx |
5367 | push [last_column_index] |
5399 | push [last_column_index] |
Line 5443... | Line 5475... | ||
5443 | ; jnz @f |
5475 | ; jnz @f |
5444 | ; mov byte [esi-1], 0 |
5476 | ; mov byte [esi-1], 0 |
5445 | ;@@: pop esi |
5477 | ;@@: pop esi |
5446 | ; ret |
5478 | ; ret |
Line -... | Line 5479... | ||
- | 5479 | ||
5447 | 5480 | align 4 |
|
5448 | read_folder: |
5481 | read_folder: |
5449 | mov eax, [ebp + PanelData.nfa] |
5482 | mov eax, [ebp + PanelData.nfa] |
5450 | mov [dirinfo.size], eax |
5483 | mov [dirinfo.size], eax |
5451 | shl eax, 2 |
5484 | shl eax, 2 |
Line 7528... | Line 7561... | ||
7528 | dd F12 |
7561 | dd F12 |
7529 | ; Shift |
7562 | ; Shift |
7530 | rd 4 |
7563 | rd 4 |
7531 | dd panels_OnKey.shift_f5 |
7564 | dd panels_OnKey.shift_f5 |
7532 | rd 7 |
7565 | rd 7 |
7533 | ; Ctrl |
7566 | .ctrl: |
7534 | rd 12 |
7567 | rd 2 |
- | 7568 | repeat 9-3+1 |
|
- | 7569 | dd OnMouse_ctrl_f39 |
|
- | 7570 | end repeat |
|
- | 7571 | rd 3 |
|
7535 | ; Ctrl+Shift |
7572 | ; Ctrl+Shift |
7536 | rd 12 |
7573 | rd 12 |
7537 | ; Alt |
7574 | ; Alt |
7538 | rd 6 |
7575 | rd 6 |
7539 | dd panels_OnKey.alt_f7 |
7576 | dd panels_OnKey.alt_f7 |
Line 7927... | Line 7964... | ||
7927 | 7964 | ||
Line 7928... | Line 7965... | ||
7928 | ; ¤¥áì § ª 稢 îâáï ª®ä¨£ãà æ¨®ë¥ ¤ ë¥ |
7965 | ; ¤¥áì § ª 稢 îâáï ª®ä¨£ãà æ¨®ë¥ ¤ ë¥ |
7929 | 7966 | ||
- | 7967 | bWasE0 db 0 |
|
- | 7968 | ctrlstate db 0 |
|
7930 | bWasE0 db 0 |
7969 | mousestate db 0 |
7931 | ctrlstate db 0 |
7970 | align 4 |
7932 | MemForImage dd 0 |
7971 | MemForImage dd 0 |
Line 7933... | Line 7972... | ||
7933 | restore_semicolon dd 0 |
7972 | restore_semicolon dd 0 |