Subversion Repositories Kolibri OS

Rev

Rev 9059 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9059 Rev 9066
Line 812... Line 812...
812
        and     [ctrlstate], not 0x20
812
        and     [ctrlstate], not 0x20
813
        jmp     .keybar
813
        jmp     .keybar
Line 814... Line 814...
814
 
814
 
815
align 16
815
align 16
816
mouse:
-
 
817
        cmp     dword[active_screen],0
-
 
818
        jg      event
816
mouse:
819
        mov     eax,SF_MOUSE_GET
817
        mov     eax,SF_MOUSE_GET
820
        mov     ebx,SSF_BUTTON_EXT
818
        mov     ebx,SSF_BUTTON_EXT
821
        int     0x40
819
        int     0x40
822
        mov     byte[mousestate], 1
820
        mov     byte[mousestate], 1
Line 835... Line 833...
835
        sub     ax, word[skinh]
833
        sub     ax, word[skinh]
836
        xor     dx,dx
834
        xor     dx, dx
837
        mov     bx, font_height
835
        mov     bx, font_height
838
        div     bx
836
        div     bx
839
        movzx   edx,ax
837
        movzx   edx,ax
840
        dec     edx ;¢¥àå­ïï à ¬ª 
-
 
841
        dec     edx ;§ £®«®¢ª¨
-
 
842
        shr     eax,16
838
        shr     eax,16
Line 843... Line -...
843
 
-
 
844
        cmp     edx, 0
-
 
845
        jl      .no_ch_pos
839
 
846
        mov     ebx, [cur_height]
840
        mov     ebx, [cur_height]
847
        sub     ebx, 3
841
        dec     ebx
848
        cmp     edx, ebx
842
        cmp     edx, ebx
-
 
843
        je      .on_panel
-
 
844
        cmp     dword[active_screen],0
-
 
845
        jg      event ;.on_edit
-
 
846
        cmp     edx, 2
-
 
847
        jl      .no_ch_pos
-
 
848
        dec     edx ;¢¥àå­ïï à ¬ª 
849
        je      .on_panel
849
        dec     edx ;§ £®«®¢ª¨
850
        sub     ebx, 7-3
850
        sub     ebx, 7-1
851
        cmp     edx, ebx
851
        cmp     edx, ebx
Line 852... Line 852...
852
        jge     .no_ch_pos
852
        jge     .no_ch_pos
853
 
853
 
Line 910... Line 910...
910
        call    draw_panel
910
        call    draw_panel
911
        jmp     event
911
        jmp     event
912
align 4
912
align 4
913
.on_panel:
913
.on_panel:
914
        call    get_keybar_ind
914
        call    get_keybar_ind
915
        lea     eax, [panels_mouse+4*eax]
915
        lea     eax, [mouse_panels+4*eax]
-
 
916
        cmp     [active_screen_keybar], keybar_viewer
-
 
917
        jne     @f
-
 
918
        add     eax, mouse_viewer-mouse_panels
-
 
919
@@:
-
 
920
        cmp     [active_screen_keybar], keybar_editor
-
 
921
        jne     @f
-
 
922
        add     eax, mouse_editor-mouse_panels
-
 
923
@@:
916
        cmp     dword[eax], 0
924
        cmp     dword[eax], 0
917
        je      event
925
        je      event
-
 
926
 
-
 
927
        mov     ebx, [active_screen]
-
 
928
        mov     ebp, [screens]
-
 
929
        mov     ebp, [ebp+ebx*8+4]
-
 
930
 
-
 
931
        cmp     dword[active_screen],0
-
 
932
        jne     @f
918
        mov     ebp, [active_panel]
933
        mov     ebp, [active_panel]
919
        mov     ecx, [ebp + PanelData.index]
934
        mov     ecx, [ebp + PanelData.index]
-
 
935
@@:
920
        call    dword[eax]
936
        push    dword[eax]
-
 
937
        sub     eax, mouse_panels
-
 
938
        shr     eax, 2
-
 
939
        xor     edx, edx
-
 
940
        mov     ebx, 12
-
 
941
        div     ebx
-
 
942
        lea     eax, [edx+0x3B] ;eax - ª®¤ ª« ¢¨è¨ F1...F12
-
 
943
        pop     ebx
-
 
944
        call    ebx
-
 
945
        jmp     event
-
 
946
if 0 ;not work insert text
-
 
947
align 4
-
 
948
.on_edit:
-
 
949
        cmp     [active_screen_keybar], keybar_editor
-
 
950
        jne     event
-
 
951
        cmp     edx, 1
-
 
952
        jl      event
-
 
953
        push    edx
-
 
954
        xor     edx, edx
-
 
955
        mov     ebx, font_width
-
 
956
        div     ebx
-
 
957
        pop     edx
-
 
958
        mov     ebx, [active_screen]
-
 
959
        mov     ebp, [screens]
-
 
960
        mov     ebp, [ebp+ebx*8+4]
-
 
961
        mov     [ebp + editor_data.cursor_x], eax
-
 
962
        mov     [ebp + editor_data.cursor_y], edx
-
 
963
        call    editor_OnRedraw
921
        jmp     event
964
        jmp     event
-
 
965
end if
Line 922... Line 966...
922
 
966
 
923
;input:
967
;input:
924
; eax - coord x
968
; eax - coord x
925
;output:
969
;output:
Line 981... Line 1025...
981
.ret:
1025
.ret:
982
        lea     eax, [esi+ecx-1]
1026
        lea     eax, [esi+ecx-1]
983
        pop     edi esi edx ecx ebx   
1027
        pop     edi esi edx ecx ebx   
984
        ret
1028
        ret
Line 985... Line -...
985
 
-
 
986
align 4
-
 
987
OnMouse_ctrl_f3_9:
-
 
988
        sub     eax, panels_mouse.ctrl+8
-
 
989
        shr     eax, 2
-
 
990
        add     eax, 0x3D
-
 
991
        call    panels_OnKey.ctrl_f3_9
-
 
992
        ret
-
 
993
 
-
 
994
align 4
-
 
995
OnMouse_alt_f1_2:
-
 
996
        sub     eax, panels_mouse.alt
-
 
997
        shr     eax, 2
-
 
998
        add     eax, 0x3B
-
 
999
        call    panels_OnKey.alt_f1_2
-
 
1000
        ret
-
 
1001
 
1029
 
1002
align 16
1030
align 16
1003
process_ctrl_keys:
1031
process_ctrl_keys:
1004
        cmp     byte [esi], 0
1032
        cmp     byte [esi], 0
1005
        jz      .done
1033
        jz      .done
Line 5742... Line 5770...
5742
        call    sort
5770
        call    sort
5743
.skip:
5771
.skip:
5744
        mov     [bSilentFolderMode], 0  ; leave silent mode
5772
        mov     [bSilentFolderMode], 0  ; leave silent mode
5745
        ret
5773
        ret
Line -... Line 5774...
-
 
5774
 
5746
 
5775
align 4
5747
highlight_init:
5776
highlight_init:
5748
        pushad
5777
        pushad
5749
        mov     ebp, eax
5778
        mov     ebp, eax
5750
        lea     esi, [ebp+40]
5779
        lea     esi, [ebp+40]
Line 5810... Line 5839...
5810
        mov     [ebp+7], ah
5839
        mov     [ebp+7], ah
5811
.doname:
5840
.doname:
5812
        popad
5841
        popad
5813
        ret
5842
        ret
Line -... Line 5843...
-
 
5843
 
5814
 
5844
align 4
5815
compare_name:
5845
compare_name:
5816
        test    byte [esi], 10h
5846
        test    byte [esi], 10h
5817
        jnz     .1dir
5847
        jnz     .1dir
5818
        test    byte [edi], 10h
5848
        test    byte [edi], 10h
Line 5851... Line 5881...
5851
.less:
5881
.less:
5852
        xor     edi, edi
5882
        xor     edi, edi
5853
        stc
5883
        stc
5854
        ret
5884
        ret
Line -... Line 5885...
-
 
5885
 
5855
 
5886
align 4
5856
strcmpi:
5887
strcmpi:
5857
        push    eax
5888
        push    eax
5858
@@:
5889
@@:
5859
        lodsb
5890
        lodsb
Line 5864... Line 5895...
5864
        jnz     @b
5895
        jnz     @b
5865
.ret:
5896
.ret:
5866
        pop     eax
5897
        pop     eax
5867
        ret
5898
        ret
Line -... Line 5899...
-
 
5899
 
5868
 
5900
align 4
5869
compare_ext:
5901
compare_ext:
5870
        test    byte [esi], 10h
5902
        test    byte [esi], 10h
5871
        jnz     .1dir
5903
        jnz     .1dir
5872
        test    byte [edi], 10h
5904
        test    byte [edi], 10h
Line 5895... Line 5927...
5895
.less:
5927
.less:
5896
        xor     edi, edi
5928
        xor     edi, edi
5897
        stc
5929
        stc
5898
        ret
5930
        ret
Line -... Line 5931...
-
 
5931
 
5899
 
5932
align 4
5900
compare_ext_rev:
5933
compare_ext_rev:
5901
        test    byte [esi], 10h
5934
        test    byte [esi], 10h
5902
        jnz     .1dir
5935
        jnz     .1dir
5903
        test    byte [edi], 10h
5936
        test    byte [edi], 10h
Line 5926... Line 5959...
5926
.less:
5959
.less:
5927
        xor     edi, edi
5960
        xor     edi, edi
5928
        stc
5961
        stc
5929
        ret
5962
        ret
Line -... Line 5963...
-
 
5963
 
5930
 
5964
align 4
5931
seek_ext:
5965
seek_ext:
5932
        push    eax
5966
        push    eax
5933
        xor     eax, eax
5967
        xor     eax, eax
5934
.l:
5968
.l:
Line 5945... Line 5979...
5945
@@:
5979
@@:
5946
        mov     esi, eax
5980
        mov     esi, eax
5947
        pop     eax
5981
        pop     eax
5948
        ret
5982
        ret
Line -... Line 5983...
-
 
5983
 
5949
 
5984
align 4
5950
compare_modified:
5985
compare_modified:
5951
        test    byte [esi], 10h
5986
        test    byte [esi], 10h
5952
        jnz     .1dir
5987
        jnz     .1dir
5953
        test    byte [edi], 10h
5988
        test    byte [edi], 10h
Line 5977... Line 6012...
5977
.less:
6012
.less:
5978
        xor     edi, edi
6013
        xor     edi, edi
5979
        stc
6014
        stc
5980
        ret
6015
        ret
Line -... Line 6016...
-
 
6016
 
5981
 
6017
align 4
5982
compare_modified_rev:
6018
compare_modified_rev:
5983
        test    byte [esi], 10h
6019
        test    byte [esi], 10h
5984
        jnz     .1dir
6020
        jnz     .1dir
5985
        test    byte [edi], 10h
6021
        test    byte [edi], 10h
Line 6010... Line 6046...
6010
.less:
6046
.less:
6011
        xor     edi, edi
6047
        xor     edi, edi
6012
        stc
6048
        stc
6013
        ret
6049
        ret
Line -... Line 6050...
-
 
6050
 
6014
 
6051
align 4
6015
compare_size:
6052
compare_size:
6016
        test    byte [esi], 10h
6053
        test    byte [esi], 10h
6017
        jnz     .1dir
6054
        jnz     .1dir
6018
        test    byte [edi], 10h
6055
        test    byte [edi], 10h
Line 6042... Line 6079...
6042
.less:
6079
.less:
6043
        xor     edi, edi
6080
        xor     edi, edi
6044
        stc
6081
        stc
6045
        ret
6082
        ret
Line -... Line 6083...
-
 
6083
 
6046
 
6084
align 4
6047
compare_size_rev:
6085
compare_size_rev:
6048
        test    byte [esi], 10h
6086
        test    byte [esi], 10h
6049
        jnz     .1dir
6087
        jnz     .1dir
6050
        test    byte [edi], 10h
6088
        test    byte [edi], 10h
Line 6075... Line 6113...
6075
.less:
6113
.less:
6076
        xor     edi, edi
6114
        xor     edi, edi
6077
        stc
6115
        stc
6078
        ret
6116
        ret
Line -... Line 6117...
-
 
6117
 
6079
 
6118
align 4
6080
compare_unordered:
6119
compare_unordered:
6081
        cmp     esi, edi
6120
        cmp     esi, edi
6082
        ret
6121
        ret
6083
compare_unordered_rev:
6122
compare_unordered_rev:
6084
        cmp     edi, esi
6123
        cmp     edi, esi
Line -... Line 6124...
-
 
6124
        ret
6085
        ret
6125
 
6086
 
6126
align 4
6087
compare_created:
6127
compare_created:
6088
        test    byte [esi], 10h
6128
        test    byte [esi], 10h
6089
        jnz     .1dir
6129
        jnz     .1dir
Line 6114... Line 6154...
6114
.less:
6154
.less:
6115
        xor     edi, edi
6155
        xor     edi, edi
6116
        stc
6156
        stc
6117
        ret
6157
        ret
Line -... Line 6158...
-
 
6158
 
6118
 
6159
align 4
6119
compare_created_rev:
6160
compare_created_rev:
6120
        test    byte [esi], 10h
6161
        test    byte [esi], 10h
6121
        jnz     .1dir
6162
        jnz     .1dir
6122
        test    byte [edi], 10h
6163
        test    byte [edi], 10h
Line 6147... Line 6188...
6147
.less:
6188
.less:
6148
        xor     edi, edi
6189
        xor     edi, edi
6149
        stc
6190
        stc
6150
        ret
6191
        ret
Line -... Line 6192...
-
 
6192
 
6151
 
6193
align 4
6152
compare_accessed:
6194
compare_accessed:
6153
        test    byte [esi], 10h
6195
        test    byte [esi], 10h
6154
        jnz     .1dir
6196
        jnz     .1dir
6155
        test    byte [edi], 10h
6197
        test    byte [edi], 10h
Line 6179... Line 6221...
6179
.less:
6221
.less:
6180
        xor     edi, edi
6222
        xor     edi, edi
6181
        stc
6223
        stc
6182
        ret
6224
        ret
Line -... Line 6225...
-
 
6225
 
6183
 
6226
align 4
6184
compare_accessed_rev:
6227
compare_accessed_rev:
6185
        test    byte [esi], 10h
6228
        test    byte [esi], 10h
6186
        jnz     .1dir
6229
        jnz     .1dir
6187
        test    byte [edi], 10h
6230
        test    byte [edi], 10h
Line 6212... Line 6255...
6212
.less:
6255
.less:
6213
        xor     edi, edi
6256
        xor     edi, edi
6214
        stc
6257
        stc
6215
        ret
6258
        ret
Line -... Line 6259...
-
 
6259
 
6216
 
6260
align 4
6217
ReadFolder_default:
6261
ReadFolder_default:
6218
        mov     eax, 2
6262
        mov     eax, 2
Line 6219... Line 6263...
6219
        ret     10h
6263
        ret     10h
Line 7553... Line 7597...
7553
        db      0,0,'1234567890-=',0,0
7597
        db      0,0,'1234567890-=',0,0
7554
        db      'qwertyuiop[]',0,0,'as'
7598
        db      'qwertyuiop[]',0,0,'as'
7555
        db      'dfghjkl;',27h,'`',0,'\zxcv'
7599
        db      'dfghjkl;',27h,'`',0,'\zxcv'
7556
        db      'bnm,./',0,0,0,' ',0,0,0,0,0,0
7600
        db      'bnm,./',0,0,0,' ',0,0,0,0,0,0
Line -... Line 7601...
-
 
7601
 
7557
 
7602
;â ¡«¨æë ä㭪権: mouse_panels, mouse_viewer ¨ mouse_editor ¤®«¦­ë ¡ëâì à冷¬ ¤àã£ á ¤à㣮¬
7558
align 4
7603
align 4
7559
panels_mouse:
7604
mouse_panels:
7560
        dd 0 ;f1
7605
        dd 0 ;f1
7561
        dd 0 ;f2
7606
        dd 0 ;f2
7562
        dd panels_OnKey.f3
7607
        dd panels_OnKey.f3
7563
        dd panels_OnKey.f4
7608
        dd panels_OnKey.f4
7564
        dd panels_OnKey.f5
7609
        dd panels_OnKey.f5
7565
        dd 0 ;f6
7610
        dd 0 ;f6
7566
        dd panels_OnKey.f7
7611
        dd panels_OnKey.f7
-
 
7612
        dd panels_OnKey.f8
7567
        dd panels_OnKey.f8
7613
        dd 0
-
 
7614
        dd exit ;f10
7568
        dd 0,0,0 ;f9-f11
7615
        dd 0
7569
        dd F12
7616
        dd F12
7570
; Shift
7617
; Shift
7571
        rd 4
7618
        rd 4
7572
        dd panels_OnKey.shift_f5
7619
        dd panels_OnKey.shift_f5
7573
        rd 7
7620
        rd 7
7574
.ctrl:
7621
.ctrl:
7575
        rd 2
7622
        rd 2
7576
repeat 9-3+1
7623
repeat 9-3+1
7577
        dd OnMouse_ctrl_f3_9
7624
        dd panels_OnKey.ctrl_f3_9
7578
end repeat
7625
end repeat
7579
        rd 3
7626
        rd 3
7580
; Ctrl+Shift
7627
; Ctrl+Shift
7581
        rd 12
7628
        rd 12
7582
.alt:
7629
.alt:
7583
        dd OnMouse_alt_f1_2
7630
        dd panels_OnKey.alt_f1_2
7584
        dd OnMouse_alt_f1_2
7631
        dd panels_OnKey.alt_f1_2
7585
        rd 4
7632
        rd 4
7586
        dd panels_OnKey.alt_f7
7633
        dd panels_OnKey.alt_f7
7587
        rd 5
7634
        rd 5
7588
; Alt+Shift
7635
; Alt+Shift
7589
        rd 12
7636
        rd 12
7590
; Alt+Ctrl
7637
; Alt+Ctrl
7591
        rd 12
7638
        rd 12
-
 
7639
; Alt+Ctrl+Shift
-
 
7640
        rd 12
-
 
7641
 
-
 
7642
mouse_viewer:
-
 
7643
        rd 1
-
 
7644
        dd viewer_OnKey.f2
-
 
7645
        dd viewer_OnKey.exit ;f3
-
 
7646
        dd viewer_OnKey.f4
-
 
7647
        rd 2
-
 
7648
        dd viewer_OnKey.f7
-
 
7649
        dd viewer_OnKey.f8
-
 
7650
        rd 1
-
 
7651
        dd viewer_OnKey.exit ;f10
-
 
7652
        rd 1
-
 
7653
        dd F12
-
 
7654
; Shift
-
 
7655
        rd 6
-
 
7656
        dd viewer_OnKey.shift_f7
-
 
7657
        rd 5
-
 
7658
; Ctrl
-
 
7659
        rd 12
-
 
7660
; Ctrl+Shift
-
 
7661
        rd 12
-
 
7662
; Alt
-
 
7663
        rd 12
-
 
7664
; Alt+Shift
-
 
7665
        rd 12
-
 
7666
; Alt+Ctrl
-
 
7667
        rd 12
-
 
7668
; Alt+Ctrl+Shift
-
 
7669
        rd 12
-
 
7670
 
-
 
7671
mouse_editor:
-
 
7672
        rd 1
-
 
7673
        dd      editor_OnKey.f2
-
 
7674
        rd 4
-
 
7675
        dd      editor_OnKey.f7
-
 
7676
        rd 2
-
 
7677
        dd      editor_OnKey.exit_confirm ;f10
-
 
7678
        rd 1
-
 
7679
        dd F12
-
 
7680
; Shift
-
 
7681
        rd 6
-
 
7682
        dd editor_OnKey.shift_f7
-
 
7683
        rd 5
-
 
7684
; Ctrl
-
 
7685
        rd 12
-
 
7686
; Ctrl+Shift
-
 
7687
        rd 12
-
 
7688
; Alt
-
 
7689
        rd 12
-
 
7690
; Alt+Shift
-
 
7691
        rd 12
-
 
7692
; Alt+Ctrl
-
 
7693
        rd 12
7592
; Alt+Ctrl+Shift
7694
; Alt+Ctrl+Shift
Line 7593... Line 7695...
7593
        rd 12
7695
        rd 12
7594
 
7696
 
7595
; Š« ¢¨è­ë¥ á®ç¥â ­¨ï
7697
; Š« ¢¨è­ë¥ á®ç¥â ­¨ï