Subversion Repositories Kolibri OS

Rev

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