Subversion Repositories Kolibri OS

Rev

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

Rev 283 Rev 314
Line 12... Line 12...
12
include 'sort.inc'
12
include 'sort.inc'
13
include 'kglobals.inc'
13
include 'kglobals.inc'
14
include 'memalloc.inc'
14
include 'memalloc.inc'
15
include 'dialogs.inc'
15
include 'dialogs.inc'
16
include 'viewer.inc'
16
include 'viewer.inc'
-
 
17
include 'tools.inc'
Line 17... Line 18...
17
 
18
 
18
start:
19
start:
19
        mov     eax, mem
20
        mov     eax, mem
20
        call    mf_init
21
        call    mf_init
Line 59... Line 60...
59
        mov     [panel2_sortmode], 0
60
        mov     [panel2_sortmode], 0
60
        mov     [num_screens], 1
61
        mov     [num_screens], 1
61
        mov     eax, 8
62
        mov     eax, 8
62
        call    mf_alloc
63
        call    mf_alloc
63
        mov     [screens], eax
64
        mov     [screens], eax
-
 
65
        test    eax, eax
-
 
66
        jz      exit
64
        mov     ecx, panels_vtable
67
        mov     ecx, panels_vtable
65
        mov     [eax], ecx
68
        mov     [eax], ecx
66
        mov     [active_screen_vtable], ecx
69
        mov     [active_screen_vtable], ecx
67
        call    draw_keybar
70
        call    draw_keybar
68
        call    draw_cmdbar
71
        call    draw_cmdbar
-
 
72
        mov     [prev_dir], 0
69
        mov     ebp, panel1_data
73
        mov     ebp, panel1_data
70
        call    read_folder
74
        call    read_folder
71
        call    draw_panel
75
        call    draw_panel
-
 
76
        mov     [bSilentFolderMode], 1
72
        mov     ebp, panel2_data
77
        mov     ebp, panel2_data
73
        call    read_folder
78
        call    read_folder
74
        call    draw_panel
79
        call    draw_panel
75
event:
80
event:
76
        push    10
81
        push    10
Line 110... Line 115...
110
        push    1
115
        push    1
111
        pop     ebx
116
        pop     ebx
112
        int     0x40
117
        int     0x40
113
        xor     eax, eax
118
        xor     eax, eax
114
; ebx, ecx, edi are ignored by function 0 after first redraw
119
; ebx, ecx, edi are ignored by function 0 after first redraw
115
        mov     edx, 0x13000000
120
        mov     edx, 0x53000000
116
        int     0x40
121
        int     0x40
117
        mov     al, 12
122
        mov     al, 12
118
        inc     ebx
123
        inc     ebx
119
        int     0x40
124
        int     0x40
120
        jmp     event
125
        jmp     event
121
@@:
126
@@:
122
        xor     ecx, ecx
127
        xor     ecx, ecx
123
        mov     eax, [ebx+42]
128
        mov     eax, [ebx+42]
-
 
129
        mov     [wnd_width], eax
124
        sub     eax, 5*2-1
130
        sub     eax, 5*2-1
125
        jae     @f
131
        jae     @f
126
        xor     eax, eax
132
        xor     eax, eax
127
@@:
133
@@:
128
        cdq
134
        cdq
Line 141... Line 147...
141
        cmp     eax, [cur_width]
147
        cmp     eax, [cur_width]
142
        mov     [cur_width], eax
148
        mov     [cur_width], eax
143
        setnz   cl
149
        setnz   cl
144
        or      cl, ch
150
        or      cl, ch
145
        test    edx, edx
151
        test    edx, edx
-
 
152
        mov     [fill_width], edx
146
        setnz   ch
153
        setnz   ch
147
        mov     eax, [ebx+46]
154
        mov     eax, [ebx+46]
-
 
155
        mov     [wnd_height], eax
148
        sub     eax, [skinh]
156
        sub     eax, [skinh]
149
        sub     eax, 5-1
157
        sub     eax, 5-1
150
        jns     @f
158
        jns     @f
151
        xor     eax, eax
159
        xor     eax, eax
152
@@:
160
@@:
Line 161... Line 169...
161
        cmp     eax, 255
169
        cmp     eax, 255
162
        jbe     @f
170
        jbe     @f
163
        mov     eax, 255
171
        mov     eax, 255
164
        mov     cl, 1
172
        mov     cl, 1
165
@@:
173
@@:
-
 
174
        mov     [fill_height], edx
166
        cmp     eax, [cur_height]
175
        cmp     eax, [cur_height]
167
        mov     [cur_height], eax
176
        mov     [cur_height], eax
168
        jnz     .resize
177
        jnz     .resize
169
        test    cl, cl
178
        test    cl, cl
170
        jnz     .resize
179
        jnz     .resize
Line 403... Line 412...
403
ctrlkey_test4:
412
ctrlkey_test4:
404
        cmp     al, 2
413
        cmp     al, 2
405
        setz    al
414
        setz    al
406
        ret
415
        ret
Line 407... Line -...
407
 
-
 
408
; TODO: add "no memory" error handling
416
 
409
new_screen:
417
new_screen:
410
        call    mf_alloc
418
        call    xmalloc
411
        test    eax, eax
419
        test    eax, eax
412
        jnz     @f
420
        jnz     @f
413
        ret
421
        ret
414
@@:
422
@@:
415
        mov     ebp, eax
423
        mov     ebp, eax
416
        mov     ebx, [num_screens]
424
        mov     ebx, [num_screens]
417
        inc     ebx
425
        inc     ebx
418
        shl     ebx, 3
426
        shl     ebx, 3
419
        mov     eax, [screens]
427
        mov     eax, [screens]
420
        call    mf_realloc
428
        call    xrealloc
421
        test    eax, eax
429
        test    eax, eax
422
        jnz     @f
430
        jnz     @f
423
        mov     eax, ebp
431
        mov     eax, ebp
424
        call    mf_free
432
        call    mf_free
Line 459... Line 467...
459
        rep     movsd
467
        rep     movsd
460
        dec     [num_screens]
468
        dec     [num_screens]
461
        mov     ebx, [num_screens]
469
        mov     ebx, [num_screens]
462
        shl     ebx, 3
470
        shl     ebx, 3
463
        mov     eax, [screens]
471
        mov     eax, [screens]
464
        call    mf_realloc
472
        call    mf_realloc      ; must succeed, because we decrease size
465
        pop     eax
473
        pop     eax
466
        call    mf_free
474
        call    mf_free
467
        and     [active_screen], 0
475
        and     [active_screen], 0
Line 468... Line 476...
468
 
476
 
Line 482... Line 490...
482
F12:
490
F12:
483
        mov     eax, [cur_width]
491
        mov     eax, [cur_width]
484
        add     eax, 8
492
        add     eax, 8
485
        mov     esi, eax
493
        mov     esi, eax
486
        mul     [num_screens]
494
        mul     [num_screens]
487
        call    mf_alloc
495
        call    xmalloc
488
        test    eax, eax
496
        test    eax, eax
489
        jnz     @f
497
        jnz     @f
490
        ret
498
        ret
491
@@:
499
@@:
492
        mov     ebx, eax
500
        mov     ebx, eax
Line 735... Line 743...
735
        cmp     word [esi], '..'
743
        cmp     word [esi], '..'
736
        jnz     @f
744
        jnz     @f
737
        cmp     byte [esi+2], 0
745
        cmp     byte [esi+2], 0
738
        jz      .dotdot
746
        jz      .dotdot
739
@@:
747
@@:
-
 
748
        push    esi
740
        lea     edi, [ebp + panel1_dir - panel1_data]
749
        lea     esi, [ebp + panel1_dir - panel1_data]
741
        mov     al, 0
750
        mov     edi, prev_dir
-
 
751
@@:
-
 
752
        lodsb
-
 
753
        stosb
742
        or      ecx, -1
754
        test    al, al
743
        repnz   scasb
755
        jnz     @b
-
 
756
        lea     edi, [esi-1]
744
        dec     edi
757
        pop     esi
745
        mov     al, '/'
758
        mov     al, '/'
746
        cmp     [edi-1], al
759
        cmp     [edi-1], al
747
        jz      @f
760
        jz      @f
748
        stosb
761
        stosb
749
@@:
762
@@:
Line 877... Line 890...
877
        int     40h
890
        int     40h
878
        mov     ebx, dirinfo
891
        mov     ebx, dirinfo
879
        test    eax, eax
892
        test    eax, eax
880
        jnz     .drive_loop_i_done
893
        jnz     .drive_loop_i_done
881
        mov     eax, 32+8
894
        mov     eax, 32+8
882
        call    mf_alloc
895
        call    xmalloc
883
        test    eax, eax
896
        test    eax, eax
884
        jz      .drive_loop_i_done
897
        jz      .drive_loop_i_done
885
        jecxz   @f
898
        jecxz   @f
886
        mov     [ecx], eax
899
        mov     [ecx], eax
887
@@:
900
@@:
Line 949... Line 962...
949
        call    menu_centered_in
962
        call    menu_centered_in
950
        cmp     eax, -1
963
        cmp     eax, -1
951
        jz      .ret2
964
        jz      .ret2
952
        lea     esi, [eax+8]
965
        lea     esi, [eax+8]
953
        lea     edi, [ebp + panel1_dir - panel1_data]
966
        lea     edi, [ebp + panel1_dir - panel1_data]
-
 
967
        push    ecx esi edi
-
 
968
        mov     esi, edi
-
 
969
        mov     edi, prev_dir
-
 
970
        mov     ecx, 1024/4
-
 
971
        rep     movsd
-
 
972
        pop     edi esi ecx
954
@@:
973
@@:
955
        lodsb
974
        lodsb
956
        stosb
975
        stosb
957
        test    al, al
976
        test    al, al
958
        jnz     @b
977
        jnz     @b
Line 1066... Line 1085...
1066
        mov     [ebx - copy_dlgdata + copy_dlgdata.copy_x1], eax
1085
        mov     [ebx - copy_dlgdata + copy_dlgdata.copy_x1], eax
1067
        add     eax, aCopyLength+3
1086
        add     eax, aCopyLength+3
1068
        mov     [ebx - copy_dlgdata + copy_dlgdata.cnl_x1], eax
1087
        mov     [ebx - copy_dlgdata + copy_dlgdata.cnl_x1], eax
1069
        add     eax, aCancelBLength - 1
1088
        add     eax, aCancelBLength - 1
1070
        mov     [ebx - copy_dlgdata + copy_dlgdata.cnl_x2], eax
1089
        mov     [ebx - copy_dlgdata + copy_dlgdata.cnl_x2], eax
1071
        mov     al, [dialog_border_color]
-
 
1072
        mov     [ebx + dlgtemplate.border_color], al
-
 
1073
        mov     al, [dialog_header_color]
-
 
1074
        mov     [ebx + dlgtemplate.header_color], al
-
 
1075
        mov     al, [dialog_main_color]
-
 
1076
        mov     [ebx + dlgtemplate.main_color], al
-
 
1077
        mov     byte [ebx - copy_dlgdata + copy_dlgdata.flags0], 0xC
1090
        mov     byte [ebx - copy_dlgdata + copy_dlgdata.flags0], 0xC
1078
        and     byte [ebx - copy_dlgdata + copy_dlgdata.flags1], not 4
1091
        and     byte [ebx - copy_dlgdata + copy_dlgdata.flags1], not 4
1079
        and     byte [ebx - copy_dlgdata + copy_dlgdata.flags2], not 4
1092
        and     byte [ebx - copy_dlgdata + copy_dlgdata.flags2], not 4
1080
        push    ebx
1093
        push    ebx
1081
        call    DialogBox
1094
        call    DialogBox
Line 1290... Line 1303...
1290
        mov     [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.del_x1], eax
1303
        mov     [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.del_x1], eax
1291
        add     eax, aDeleteLength
1304
        add     eax, aDeleteLength
1292
        mov     [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.cnl_x1], eax
1305
        mov     [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.cnl_x1], eax
1293
        add     eax, aCancelLength - 1
1306
        add     eax, aCancelLength - 1
1294
        mov     [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.cnl_x2], eax
1307
        mov     [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.cnl_x2], eax
1295
        mov     al, [dialog_border_color]
-
 
1296
        mov     [ebx + dlgtemplate.border_color], al
-
 
1297
        mov     al, [dialog_header_color]
-
 
1298
        mov     [ebx + dlgtemplate.header_color], al
-
 
1299
        mov     al, [dialog_main_color]
-
 
1300
        mov     [ebx + dlgtemplate.main_color], al
-
 
1301
        or      byte [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.flags1], 4
1308
        or      byte [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.flags1], 4
1302
        and     byte [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.flags2], not 4
1309
        and     byte [ebx - f8_confirm_dlgdata + f8_confirm_dlgdata.flags2], not 4
1303
        push    ebx
1310
        push    ebx
1304
        call    DialogBox
1311
        call    DialogBox
1305
        cmp     eax, f8_confirm_dlgdata.del_btn
1312
        cmp     eax, f8_confirm_dlgdata.del_btn
Line 1426... Line 1433...
1426
        cmp     eax, ecx
1433
        cmp     eax, ecx
1427
        ja      @f
1434
        ja      @f
1428
        mov     eax, ecx
1435
        mov     eax, ecx
1429
@@:
1436
@@:
1430
        add     eax, 12
1437
        add     eax, 12
1431
        call    mf_alloc
1438
        call    xmalloc
1432
        test    eax, eax
1439
        test    eax, eax
1433
        jz      .menucreated
1440
        jz      .menucreated
1434
        add     eax, 4
1441
        add     eax, 4
1435
        test    edx, edx
1442
        test    edx, edx
1436
        jz      @f
1443
        jz      @f
Line 1659... Line 1666...
1659
        add     ebx, 100*65536 + 5*2-1
1666
        add     ebx, 100*65536 + 5*2-1
1660
        mov     ecx, [cur_height]
1667
        mov     ecx, [cur_height]
1661
        imul    ecx, font_height
1668
        imul    ecx, font_height
1662
        lea     ecx, [eax+ecx+5-1+100*65536]
1669
        lea     ecx, [eax+ecx+5-1+100*65536]
1663
        xor     eax, eax
1670
        xor     eax, eax
1664
        mov     edx, 0x13000000
1671
        mov     edx, 0x53000000
1665
        mov     edi, header
1672
        mov     edi, header
1666
        int     40h
1673
        int     40h
1667
        mov     al, 48
1674
        mov     al, 13
1668
        push    3
1675
        xor     edx, edx
-
 
1676
        cmp     [fill_width], 0
1669
        pop     ebx
1677
        jz      @f
1670
        mov     ecx, std_colors
1678
        mov     ebx, [wnd_width]
-
 
1679
        sub     ebx, [fill_width]
1671
        push    40
1680
        sub     ebx, 5-1
1672
        pop     edx
1681
        shl     ebx, 16
-
 
1682
        mov     bx, word [fill_width]
-
 
1683
        mov     ecx, [skinh-2]
-
 
1684
        mov     cx, word [wnd_height]
-
 
1685
        sub     cx, word [skinh]
-
 
1686
        sub     cx, 5-1
1673
        int     40h
1687
        int     0x40
-
 
1688
@@:
1674
;        mov     bl, 7
1689
        cmp     [fill_height], 0
1675
;        int     40h
1690
        jz      @f
1676
;        xor     ax, ax
1691
        mov     al, 13
1677
;        shr     ebx, 16
1692
        xor     edx, edx
1678
;        or      ebx, eax
1693
        mov     ebx, 50000h
1679
;        mov     ecx, [std_colors+16]
1694
        mov     bx, word [wnd_width]
1680
;        mov     edx, header
1695
        sub     ebx, 9
1681
;        push    header.length
1696
        mov     ecx, [wnd_height]
1682
;        pop     esi
1697
        sub     ecx, [fill_height]
1683
;        push    4
1698
        sub     ecx, 5-1
1684
;        pop     eax
1699
        shl     ecx, 16
-
 
1700
        mov     cx, word [fill_height]
1685
;        int     40h
1701
        int     0x40
-
 
1702
@@:
1686
;        xor     ecx, ecx
1703
;        xor     ecx, ecx
1687
;        call    draw_image
1704
;        call    draw_image
1688
        and     [min_x], 0
1705
        and     [min_x], 0
1689
        and     [min_y], 0
1706
        and     [min_y], 0
1690
        mov     eax, [cur_width]
1707
        mov     eax, [cur_width]
Line 1933... Line 1950...
1933
        pop     eax
1950
        pop     eax
1934
        mov     ebx, [heapend]
1951
        mov     ebx, [heapend]
1935
        push    8
1952
        push    8
1936
        pop     esi
1953
        pop     esi
1937
        mov     edi, console_colors
1954
        mov     edi, console_colors
-
 
1955
        xor     ebp, ebp
1938
        int     0x40
1956
        int     0x40
1939
        push    64
1957
        push    64
1940
        pop     eax
1958
        pop     eax
1941
        push    1
1959
        push    1
1942
        pop     ebx
1960
        pop     ebx
Line 2609... Line 2627...
2609
        shl     eax, 2
2627
        shl     eax, 2
2610
        add     eax, [ebp + panel1_files - panel1_data]
2628
        add     eax, [ebp + panel1_files - panel1_data]
2611
        mov     [dirinfo.dirdata], eax
2629
        mov     [dirinfo.dirdata], eax
2612
        lea     eax, [ebp + panel1_dir - panel1_data]
2630
        lea     eax, [ebp + panel1_dir - panel1_data]
2613
        mov     [dirinfo.name], eax
2631
        mov     [dirinfo.name], eax
-
 
2632
.retry:
2614
        push    70
2633
        push    70
2615
        pop     eax
2634
        pop     eax
2616
        mov     ebx, dirinfo
2635
        mov     ebx, dirinfo
2617
        int     40h
2636
        int     40h
2618
        test    eax, eax
2637
        test    eax, eax
2619
        jz      .ok
2638
        jz      .ok
2620
        cmp     eax, 6
2639
        cmp     eax, 6
2621
        jz      .ok
2640
        jz      .ok
2622
; TODO: add error handling
2641
; Failed to read folder, notify user
2623
        mov     [ebp + panel1_numfiles - panel1_data], 2
2642
        cmp     [bSilentFolderMode], 0
-
 
2643
        jnz     .dont_notify
-
 
2644
        push    aContinue
-
 
2645
        push    aRetry
2624
        mov     eax, [ebp + panel1_nfa - panel1_data]
2646
        mov     edx, esp
-
 
2647
        call    get_error_msg
-
 
2648
        push    [dirinfo.name]
-
 
2649
        push    aCannotReadFolder
-
 
2650
        push    eax
2625
        shl     eax, 2
2651
        mov     eax, esp
-
 
2652
        push    edx
-
 
2653
        push    2
-
 
2654
        push    eax
-
 
2655
        push    3
-
 
2656
        push    -1
-
 
2657
        push    -1
-
 
2658
        push    aError
-
 
2659
        call    SayErr
-
 
2660
        add     esp, 5*4
-
 
2661
        test    eax, eax
-
 
2662
        jz      .retry
-
 
2663
.dont_notify:
-
 
2664
        mov     esi, prev_dir
-
 
2665
        cmp     byte [esi], 0
-
 
2666
        jz      @f
2626
        add     eax, [ebp + panel1_files - panel1_data]
2667
        lea     edi, [ebp + panel1_dir - panel1_data]
2627
        add     eax, 32+40
2668
        mov     ecx, 1024/4
2628
        mov     word [eax], '..'
2669
        rep     movsd
2629
        mov     byte [eax+2], 0
2670
        mov     byte [prev_dir], 0
-
 
2671
        ret
-
 
2672
@@:
-
 
2673
        mov     [bSilentFolderMode], 1  ; enter silent mode
-
 
2674
        mov     esi, [dirinfo.name]
2630
        add     eax, 304
2675
        xor     edx, edx
-
 
2676
.up1:
-
 
2677
        lodsb
-
 
2678
        test    al, al
-
 
2679
        jz      .up1done
2631
        mov     dword [eax], 'Read'
2680
        cmp     al, '/'
-
 
2681
        jnz     .up1
-
 
2682
        inc     edx
2632
        mov     dword [eax+4], ' err'
2683
        lea     edi, [esi-1]
-
 
2684
        jmp     .up1
-
 
2685
.up1done:
-
 
2686
        cmp     edx, 2
-
 
2687
        jbe     .noup
-
 
2688
        stosb
2633
        mov     dword [eax+8], 'or'
2689
        jmp     read_folder
-
 
2690
.noup:
2634
        mov     eax, [ebp + panel1_files - panel1_data]
2691
        mov     esi, [dirinfo.name]
2635
        mov     dword [eax], 0
2692
        mov     edi, esi
-
 
2693
        lodsd
-
 
2694
        or      eax, 0x00202000
-
 
2695
        cmp     eax, '/rd/'
-
 
2696
        jnz     @f
-
 
2697
        lodsw
-
 
2698
        cmp     ax, '1'
-
 
2699
        jz      .nosetrd
-
 
2700
@@:
-
 
2701
        mov     eax, '/rd/'
-
 
2702
        stosd
2636
        mov     dword [eax+4], 304
2703
        mov     ax, '1'
-
 
2704
        stosw
-
 
2705
        jmp     read_folder
-
 
2706
.nosetrd:
-
 
2707
; „ ¦¥ à ¬¤¨áª ­¥ ¯à®ç¨â «áï. ‡­ ç¨â, ­¥ áã¤ì¡ ...
-
 
2708
        and     dword [ebp + panel1_numfiles - panel1_data], 0
2637
        and     dword [ebp + panel1_index - panel1_data], 0
2709
        and     dword [ebp + panel1_index - panel1_data], 0
2638
        and     dword [ebp + panel1_start - panel1_data], 0
2710
        and     dword [ebp + panel1_start - panel1_data], 0
-
 
2711
        mov     [bSilentFolderMode], 0  ; leave silent mode
2639
        ret
2712
        ret
2640
.ok:
2713
.ok:
2641
        mov     eax, [dirinfo.dirdata]
2714
        mov     eax, [dirinfo.dirdata]
2642
        cmp     [eax+8], ebx
2715
        cmp     [eax+8], ebx
2643
        jz      .readdone
2716
        jz      .readdone
Line 2649... Line 2722...
2649
        add     eax, 0xF
2722
        add     eax, 0xF
2650
        and     eax, not 0xF
2723
        and     eax, not 0xF
2651
        push    eax
2724
        push    eax
2652
        imul    eax, 4+304
2725
        imul    eax, 4+304
2653
        add     eax, 32
2726
        add     eax, 32
2654
        call    mf_alloc
2727
        call    xmalloc
2655
        test    eax, eax
2728
        test    eax, eax
2656
        jnz     .succ1
2729
        jnz     .succ1
2657
        pop     eax
2730
        pop     eax
2658
; TODO: add error handling
-
 
2659
        jmp     .readdone
2731
        jmp     .readdone
2660
.succ1:
2732
.succ1:
2661
        mov     [ebp + panel1_files - panel1_data], eax
2733
        mov     [ebp + panel1_files - panel1_data], eax
2662
        pop     [ebp + panel1_nfa - panel1_data]
2734
        pop     [ebp + panel1_nfa - panel1_data]
2663
        jmp     read_folder
2735
        jmp     read_folder
Line 2744... Line 2816...
2744
        movzx   eax, [ebp + panel1_sortmode - panel1_data]
2816
        movzx   eax, [ebp + panel1_sortmode - panel1_data]
2745
        mov     ebx, [compare_fns + eax*4]
2817
        mov     ebx, [compare_fns + eax*4]
2746
        mov     edx, [ebp + panel1_files - panel1_data]
2818
        mov     edx, [ebp + panel1_files - panel1_data]
2747
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
2819
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
2748
        call    sort
2820
        call    sort
-
 
2821
        mov     [bSilentFolderMode], 0  ; leave silent mode
2749
        ret
2822
        ret
Line 2750... Line 2823...
2750
 
2823
 
2751
compare_name:
2824
compare_name:
2752
        push    eax
2825
        push    eax
Line 3932... Line 4005...
3932
        inc     edi
4005
        inc     edi
3933
@@:
4006
@@:
3934
        pop     esi
4007
        pop     esi
3935
        ret
4008
        ret
Line 3936... Line 4009...
3936
 
4009
 
Line 3937... Line 4010...
3937
header  db      'Kolibri Far 0.19',0
4010
header  db      'Kolibri Far 0.2',0
3938
 
4011
 
Line 3939... Line 4012...
3939
nomem_draw      db      'No memory for redraw.',0
4012
nomem_draw      db      'No memory for redraw.',0
3940
.size = $ - nomem_draw
4013
.size = $ - nomem_draw
Line -... Line 4014...
-
 
4014
 
-
 
4015
def_left_dir    db      '/rd/1',0
3941
 
4016
def_right_dir   db      '/hd0/1',0
3942
def_left_dir    db      '/rd/1',0
4017
 
3943
def_right_dir   db      '/hd0/1',0
4018
bSilentFolderMode db    1
3944
 
4019
 
3945
if lang eq ru
4020
if lang eq ru
Line 4308... Line 4383...
4308
        align   4
4383
        align   4
4309
cur_width       dd      80
4384
cur_width       dd      80
4310
cur_height      dd      25
4385
cur_height      dd      25
4311
saved_width     dd      -1
4386
saved_width     dd      -1
4312
saved_height    dd      -1
4387
saved_height    dd      -1
-
 
4388
fill_width      dd      0
-
 
4389
fill_height     dd      0
4313
max_width = 256
4390
max_width = 256
4314
max_height = 256
4391
max_height = 256
4315
console_data_ptr dd     0
4392
console_data_ptr dd     0
Line 4316... Line 4393...
4316
 
4393
 
Line 4366... Line 4443...
4366
        dd      viewer_OnRedraw
4443
        dd      viewer_OnRedraw
4367
        dd      viewer_OnKey
4444
        dd      viewer_OnKey
4368
        dd      keybar_viewer
4445
        dd      keybar_viewer
4369
        dd      viewer_getname
4446
        dd      viewer_getname
Line -... Line 4447...
-
 
4447
 
-
 
4448
; additions to this table require changes in tools.inc::get_error_msg
-
 
4449
errors1:
-
 
4450
        dd      error0msg
-
 
4451
        dd      error1msg
-
 
4452
        dd      error2msg
-
 
4453
        dd      error3msg
-
 
4454
        dd      error4msg
-
 
4455
        dd      error5msg
-
 
4456
        dd      error6msg
-
 
4457
        dd      error7msg
-
 
4458
        dd      error8msg
-
 
4459
        dd      error9msg
-
 
4460
        dd      error10msg
-
 
4461
        dd      error11msg
-
 
4462
errors2:
-
 
4463
        dd      error30msg
-
 
4464
        dd      error31msg
-
 
4465
        dd      error32msg
4370
 
4466
 
4371
encodings:
4467
encodings:
4372
.cp866 = 0
4468
.cp866 = 0
Line 4373... Line 4469...
4373
.cp1251 = 1
4469
.cp1251 = 1
Line 4563... Line 4659...
4563
panel_header_color      db      1Bh
4659
panel_header_color      db      1Bh
4564
panel_active_header_color db    30h
4660
panel_active_header_color db    30h
4565
column_header_color     db      1Eh
4661
column_header_color     db      1Eh
4566
panel_nscreens_color    db      0Bh
4662
panel_nscreens_color    db      0Bh
4567
; „¨ «®£¨
4663
; „¨ «®£¨
-
 
4664
dialog_colors:
4568
dialog_main_color       db      70h
4665
dialog_main_color       db      70h
4569
dialog_border_color     db      70h
4666
dialog_border_color     db      70h
4570
dialog_header_color     db      70h
4667
dialog_header_color     db      70h
4571
dialog_normal_btn_color db      70h
-
 
4572
dialog_selected_btn_color db    30h
-
 
4573
dialog_edit_color       db      30h
4668
dialog_edit_color       db      30h
4574
dialog_unmodified_edit_color db 38h
4669
dialog_unmodified_edit_color db 38h
-
 
4670
dialog_normal_btn_color db      70h
-
 
4671
dialog_selected_btn_color db    30h
-
 
4672
; à¥¤ã¯à¥¦¤¥­¨ï ¨ ®è¨¡ª¨
-
 
4673
warning_colors:
-
 
4674
; !!! ¤®«¦­ë ¡ëâì ⥠¦¥ ¯®«ï ¨ ¢ ⮬ ¦¥ ¯®à浪¥, çâ® ¨ ¤«ï ®¡ëç­ëå ¤¨ «®£®¢ !!!
-
 
4675
warning_main_color      db      4Fh
-
 
4676
warning_border_color    db      4Fh
-
 
4677
warning_header_color    db      4Fh
-
 
4678
warning_edit_color      db      30h
-
 
4679
warning_unmodified_edit_color db 38h
-
 
4680
warning_normal_btn_color db     4Fh
-
 
4681
warning_selected_btn_color db   70h
4575
; Œ¥­î
4682
; Œ¥­î
4576
menu_normal_color       db      3Fh
4683
menu_normal_color       db      3Fh
4577
menu_selected_color     db      0Fh
4684
menu_selected_color     db      0Fh
4578
menu_highlight_color    db      3Eh
4685
menu_highlight_color    db      3Eh
4579
menu_selected_highlight_color db 0Eh
4686
menu_selected_highlight_color db 0Eh
Line 4752... Line 4859...
4752
 
4859
 
4753
bWasE0          db      0
4860
bWasE0          db      0
Line 4754... Line 4861...
4754
ctrlstate       db      0
4861
ctrlstate       db      0
-
 
4862
 
4755
 
4863
align   4
-
 
4864
; ‘®®¡é¥­¨¥ ® ®¡«®¬¥ ¯à¨ ¢ë¤¥«¥­¨¨ ¯ ¬ïâ¨
-
 
4865
nomem_dlgdata:
-
 
4866
        dd      2
-
 
4867
        dd      -1
-
 
4868
        dd      -1
-
 
4869
        dd      12
-
 
4870
        dd      2
-
 
4871
        dd      1
-
 
4872
        dd      1
-
 
4873
        dd      aError
4756
align   4
4874
        rb      4
-
 
4875
        dd      0
-
 
4876
        dd      0
-
 
4877
        dd      2
-
 
4878
; áâப  "No memory"
-
 
4879
        dd      1
-
 
4880
        dd      1,0,10,0
-
 
4881
        dd      aNoMemory
-
 
4882
        dd      1
-
 
4883
; ª­®¯ª  "Ok"
-
 
4884
        dd      2
-
 
4885
        dd      4,1,7,1
-
 
4886
        dd      aOk
-
 
4887
        dd      0xD
-
 
4888
 
4757
f8_confirm_dlgdata:
4889
f8_confirm_dlgdata:
4758
        dd      0
4890
        dd      1
4759
.x      dd      -1
4891
.x      dd      -1
4760
.y      dd      -1
4892
.y      dd      -1
4761
.width  dd      ?
4893
.width  dd      ?
Line 4802... Line 4934...
4802
        dd      aCancel
4934
        dd      aCancel
4803
.flags2 dd      0
4935
.flags2 dd      0
Line 4804... Line 4936...
4804
 
4936
 
4805
; ¤¨ «®£ ª®¯¨à®¢ ­¨ï
4937
; ¤¨ «®£ ª®¯¨à®¢ ­¨ï
4806
copy_dlgdata:
4938
copy_dlgdata:
4807
        dd      0
4939
        dd      1
4808
.x      dd      -1
4940
.x      dd      -1
4809
.y      dd      -1
4941
.y      dd      -1
4810
.width  dd      ?
4942
.width  dd      ?
4811
.height dd      4
4943
.height dd      4
Line 4867... Line 4999...
4867
aCopyCaption            db      'Š®¯¨à®¢ ­¨¥',0
4999
aCopyCaption            db      'Š®¯¨à®¢ ­¨¥',0
4868
aCopy                   db      '[ Š®¯¨à®¢ âì ]',0
5000
aCopy                   db      '[ Š®¯¨à®¢ âì ]',0
4869
aCopyLength = $ - aCopy - 1
5001
aCopyLength = $ - aCopy - 1
4870
aCopy1                  db      'Š®¯¨à®¢ âì "',0
5002
aCopy1                  db      'Š®¯¨à®¢ âì "',0
4871
aCopy2                  db      '" ¢:',0
5003
aCopy2                  db      '" ¢:',0
-
 
5004
aError                  db      'Žè¨¡ª ',0
-
 
5005
aContinue               db      'à®¤®«¦¨âì',0
-
 
5006
aRetry                  db      '®¢â®à¨âì',0
-
 
5007
error0msg               db      '‘âà ­­®... ¥â ®è¨¡ª¨',0
-
 
5008
error1msg               db      '‘âà ­­®... ¥ ®¯à¥¤¥«¥­  ¡ §  ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0
-
 
5009
error2msg               db      '”ã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ­­®© ä ©«®¢®© á¨á⥬ë',0
-
 
5010
error3msg               db      '¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
-
 
5011
error4msg               db      '‘âà ­­®... Žè¨¡ª  4',0
-
 
5012
error5msg               db      '” ©« ­¥ ­ ©¤¥­',0
-
 
5013
error6msg               db      '” ©« § ª®­ç¨«áï',0
-
 
5014
error7msg               db      '‘âà ­­®... “ª § â¥«ì ¢­¥ ¯ ¬ï⨠¯à¨«®¦¥­¨ï',0
-
 
5015
error8msg               db      '„¨áª § ¯®«­¥­',0
-
 
5016
error9msg               db      '” ©«®¢ ï áâàãªâãà  à §àã襭 ',0
-
 
5017
error10msg              db      '„®áâ㯠§ ¯à¥éñ­',0
-
 
5018
error11msg              db      'Žè¨¡ª  ãáâனá⢠',0
-
 
5019
error30msg              db      '¥¤®áâ â®ç­® ¯ ¬ïâ¨',0
-
 
5020
error31msg              db      '” ©« ­¥ ï¥âáï ¨á¯®«­ï¥¬ë¬',0
-
 
5021
error32msg              db      '‘«¨èª®¬ ¬­®£® ¯à®æ¥áᮢ',0
-
 
5022
aUnknownError           db      '¥¨§¢¥áâ­ë© ª®¤ ®è¨¡ª¨: ',0
-
 
5023
aCannotReadFolder       db      '¥ ¬®£ã ¯à®ç¨â âì ¯ ¯ªã',0
4872
else
5024
else
4873
aDeleteCaption          db      'Delete',0
5025
aDeleteCaption          db      'Delete',0
4874
aConfirmDeleteText      db      'Do you wish to delete ',0
5026
aConfirmDeleteText      db      'Do you wish to delete ',0
4875
aDeleteFolder           db      'the folder',0
5027
aDeleteFolder           db      'the folder',0
4876
aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2
5028
aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2
Line 4884... Line 5036...
4884
aCopyCaption            db      'Copy',0
5036
aCopyCaption            db      'Copy',0
4885
aCopy                   db      '[ Copy ]',0
5037
aCopy                   db      '[ Copy ]',0
4886
aCopyLength = $ - aCopy - 1
5038
aCopyLength = $ - aCopy - 1
4887
aCopy1                  db      'Copy "',0
5039
aCopy1                  db      'Copy "',0
4888
aCopy2                  db      '" to:',0
5040
aCopy2                  db      '" to:',0
-
 
5041
aError                  db      'Error',0
-
 
5042
aContinue               db      'Continue',0
-
 
5043
aRetry                  db      'Retry',0
-
 
5044
error0msg               db      'Strange... No error',0
-
 
5045
error1msg               db      'Strange... Hard disk base and/or partition not defined',0
-
 
5046
error2msg               db      'The file system does not support this function',0
-
 
5047
error3msg               db      'Unknown file system',0
-
 
5048
error4msg               db      'Strange... Error 4',0
-
 
5049
error5msg               db      'File not found',0
-
 
5050
error6msg               db      'End of file',0
-
 
5051
error7msg               db      'Strange... Pointer lies outside of application memory',0
-
 
5052
error8msg               db      'Disk is full',0
-
 
5053
error9msg               db      'File structure is destroyed',0
-
 
5054
error10msg              db      'Access denied',0
-
 
5055
error11msg              db      'Device error',0
-
 
5056
error30msg              db      'Not enough memory',0
-
 
5057
error31msg              db      'File is not executable',0
-
 
5058
error32msg              db      'Too many processes',0
-
 
5059
aUnknownError           db      'Unknown error code: ',0
-
 
5060
aCannotReadFolder       db      'Cannot read folder',0
4889
end if
5061
end if
-
 
5062
aOk                     db      'OK',0
-
 
5063
aNoMemory               db      'No memory!',0
Line 4890... Line 5064...
4890
 
5064
 
4891
execinfo:
5065
execinfo:
4892
        dd      7
5066
        dd      7
4893
        dd      0
5067
        dd      0
Line 4939... Line 5113...
4939
panel2_files    dd      ?
5113
panel2_files    dd      ?
4940
panel2_dir      rb      1024
5114
panel2_dir      rb      1024
Line 4941... Line 5115...
4941
 
5115
 
Line -... Line 5116...
-
 
5116
;console_data    rb      max_width*max_height*2
-
 
5117
 
4942
;console_data    rb      max_width*max_height*2
5118
nomem_dlgsavearea       rb      (12+4)*(3+3)*2
4943
 
5119
 
Line 4944... Line 5120...
4944
cur_header      rb      max_width
5120
cur_header      rb      max_width
4945
tmp             dd      ?
5121
tmp             dd      ?
Line 4952... Line 5128...
4952
min_x           dd      ?
5128
min_x           dd      ?
4953
max_x           dd      ?
5129
max_x           dd      ?
4954
used_width      dd      ?
5130
used_width      dd      ?
4955
used_height     dd      ?
5131
used_height     dd      ?
Line -... Line 5132...
-
 
5132
 
-
 
5133
wnd_width       dd      ?
-
 
5134
wnd_height      dd      ?
4956
 
5135
 
4957
column_left     dd      ?
5136
column_left     dd      ?
4958
column_top      dd      ?
5137
column_top      dd      ?
4959
column_width    dd      ?
5138
column_width    dd      ?
4960
column_height   dd      ?
5139
column_height   dd      ?
Line 4965... Line 5144...
4965
 
5144
 
4966
saved_file_name:
5145
saved_file_name:
4967
procinfo        rb      1024
5146
procinfo        rb      1024
Line -... Line 5147...
-
 
5147
lower_file_name = procinfo + 512
-
 
5148
 
-
 
5149
error_msg       rb      128
-
 
5150
 
4968
lower_file_name = procinfo + 512
5151
prev_dir        rb      1024
4969
 
5152
 
Line 4970... Line 5153...
4970
driveinfo       rb      32+304
5153
driveinfo       rb      32+304
4971
tmpname         rb      32
5154
tmpname         rb      32