Subversion Repositories Kolibri OS

Rev

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

Rev 644 Rev 814
Line 5... Line 5...
5
        dd      i_end
5
        dd      i_end
6
memsize dd      mem
6
memsize dd      mem
7
        dd      stacktop
7
        dd      stacktop
8
        dd      0, app_path
8
        dd      0, app_path
Line 9... Line 9...
9
 
9
 
10
version equ '0.42'
10
version equ '0.5'
-
 
11
version_dword equ 0*10000h + 50
-
 
12
 
-
 
13
min_width = 54
-
 
14
max_width = 255
-
 
15
min_height = 8
Line 11... Line 16...
11
version_dword equ 0*10000h + 42
16
max_height = 255
12
 
17
 
13
include 'lang.inc'
18
include 'lang.inc'
14
include 'font.inc'
19
include 'font.inc'
15
include 'sort.inc'
20
include 'sort.inc'
16
include 'kglobals.inc'
21
include 'kglobals.inc'
-
 
22
include 'dialogs.inc'
17
include 'dialogs.inc'
23
include 'viewer.inc'
18
include 'viewer.inc'
24
include 'editor.inc'
Line -... Line 25...
-
 
25
include 'tools.inc'
-
 
26
include 'filetool.inc'
-
 
27
 
19
include 'tools.inc'
28
cursor_normal_size = (font_height*15+50)/100
20
include 'filetool.inc'
29
cursor_big_size = font_height
21
 
30
 
22
start:
31
start:
23
        mov     edi, tolower_table
32
        mov     edi, tolower_table
Line 80... Line 89...
80
        mov     [panel1_files], eax
89
        mov     [panel1_files], eax
81
        call    pgalloc
90
        call    pgalloc
82
        mov     [panel2_files], eax
91
        mov     [panel2_files], eax
83
        test    eax, eax
92
        test    eax, eax
84
        jz      exit
93
        jz      exit
85
        cmp     [panel1_files], 0
-
 
86
        jz      exit
-
 
87
        xor     eax, eax
94
        xor     eax, eax
-
 
95
        cmp     [panel1_files], eax
-
 
96
        jz      exit
88
        mov     [panel1_hPlugin], eax
97
        mov     [panel1_hPlugin], eax
89
        mov     [panel1_parents], eax
98
        mov     [panel1_parents], eax
90
        mov     [panel1_parents_sz], eax
99
        mov     [panel1_parents_sz], eax
91
        mov     [panel1_parents_alloc], eax
100
        mov     [panel1_parents_alloc], eax
92
        mov     [panel2_hPlugin], eax
101
        mov     [panel2_hPlugin], eax
Line 152... Line 161...
152
        jb      @f
161
        jb      @f
153
        cmp     eax, 4
162
        cmp     eax, 4
154
        ja      @f
163
        ja      @f
155
        mov     [panel2_colmode], eax
164
        mov     [panel2_colmode], eax
156
@@:
165
@@:
-
 
166
        push    nullstr
-
 
167
        push    512
-
 
168
        push    saved_file_name
-
 
169
        push    aEolStyle
-
 
170
        push    aEditor
-
 
171
        push    app_path
-
 
172
        call    [ini.get_str]
-
 
173
        mov     cl, edit.eol_dos
-
 
174
        mov     al, [saved_file_name]
-
 
175
        or      al, 20h
-
 
176
        cmp     al, 'd'
-
 
177
        jz      @f
-
 
178
        mov     cl, edit.eol_mac
-
 
179
        cmp     al, 'm'
-
 
180
        jz      @f
-
 
181
        mov     cl, edit.eol_unix
-
 
182
@@:
-
 
183
        mov     [EditEOLStyle], cl
157
        mov     ecx, 0x1000
184
        mov     ecx, 0x1000
158
        call    xpgalloc
185
        call    xpgalloc
159
        test    eax, eax
186
        test    eax, eax
160
        jz      .skip_assoc
187
        jz      .skip_assoc
161
        mov     [associations], eax
188
        mov     [associations], eax
Line 238... Line 265...
238
; load plugins
265
; load plugins
239
        push    enum_plugins_callback
266
        push    enum_plugins_callback
240
        push    aPlugins
267
        push    aPlugins
241
        push    app_path
268
        push    app_path
242
        call    [ini.enum_keys]
269
        call    [ini.enum_keys]
-
 
270
; calculate info for editor
-
 
271
        xor     ebx, ebx
-
 
272
        mov     ecx, [num_plugins]
-
 
273
        mov     esi, [plugins]
-
 
274
@@:
-
 
275
        dec     ecx
-
 
276
        js      @f
-
 
277
        mov     [esi+PluginInfo.EditInfoOffs], ebx
-
 
278
        add     ebx, [esi+PluginInfo.EditInfoSize]
-
 
279
        jnc     @f
-
 
280
        sbb     ebx, ebx
-
 
281
@@:
-
 
282
; ¯®áª®«ìªã à §¬¥à ¡«®ª  ¢ । ªâ®à¥ ®£à ­¨ç¥­, â® ¨ à §¬¥à ¯ ¬ïâ¨, १¥à¢¨à㥬®© ¤«ï ¯« £¨­®¢, ®£à ­¨ç¥­
-
 
283
; 512 - £àã¡ ï ¢¥àå­ïï ®æ¥­ª , £ à ­â¨àãîé ï à ¡®âã । ªâ®à , ॠ«ì­® ¯« £¨­ë ¤®«¦­ë âॡ®¢ âì ¬¥­ìè¥
-
 
284
        cmp     ebx, 512
-
 
285
        jb      @f
-
 
286
        or      ebx, -1
-
 
287
        mov     [EditPlugInfo], ebx     ; disable plugins for editor
-
 
288
        push    ContinueBtn
-
 
289
        push    1
-
 
290
        push    EditConfigErr_ptr
-
 
291
        push    2
-
 
292
        call    SayErr
-
 
293
@@:
-
 
294
        add     ebx, 3
-
 
295
        and     ebx, not 3
-
 
296
        mov     [EditPlugInfo], ebx
-
 
297
        add     ebx, editor_line.plugdata
-
 
298
        imul    ebx, max_height
-
 
299
        add     ebx, editor_data.basesize + 0xFFF
-
 
300
        shr     ebx, 12
-
 
301
        mov     [EditDataSize], ebx
243
.noini:
302
.noini:
244
        mov     esi, def_left_dir
303
        mov     esi, def_left_dir
245
        mov     edi, panel1_dir
304
        mov     edi, panel1_dir
246
@@:
305
@@:
247
        lodsb
306
        lodsb
Line 402... Line 461...
402
        xor     eax, eax
461
        xor     eax, eax
403
@@:
462
@@:
404
        cdq
463
        cdq
405
        mov     esi, font_width
464
        mov     esi, font_width
406
        div     esi
465
        div     esi
407
        cmp     eax, 54
466
        cmp     eax, min_width
408
        jae     @f
467
        jae     @f
409
        mov     al, 54
468
        mov     al, min_width
410
        mov     ch, 1
469
        mov     ch, 1
411
@@:
470
@@:
412
        cmp     eax, 255
471
        cmp     eax, max_width
413
        jbe     @f
472
        jbe     @f
414
        mov     eax, 255
473
        mov     eax, max_width
415
        mov     ch, 1
474
        mov     ch, 1
416
@@:
475
@@:
417
        cmp     eax, [cur_width]
476
        cmp     eax, [cur_width]
418
        mov     [cur_width], eax
477
        mov     [cur_width], eax
419
        setnz   cl
478
        setnz   cl
Line 429... Line 488...
429
        xor     eax, eax
488
        xor     eax, eax
430
@@:
489
@@:
431
        cdq
490
        cdq
432
        mov     esi, font_height
491
        mov     esi, font_height
433
        div     esi
492
        div     esi
434
        cmp     eax, 8
493
        cmp     eax, min_height
435
        jae     @f
494
        jae     @f
436
        mov     al, 8
495
        mov     al, min_height
437
        mov     cl, 1
496
        mov     cl, 1
438
@@:
497
@@:
439
        cmp     eax, 255
498
        cmp     eax, max_height
440
        jbe     @f
499
        jbe     @f
441
        mov     eax, 255
500
        mov     eax, max_height
442
        mov     cl, 1
501
        mov     cl, 1
443
@@:
502
@@:
444
        mov     [fill_height], edx
503
        mov     [fill_height], edx
445
        cmp     eax, [cur_height]
504
        cmp     eax, [cur_height]
446
        mov     [cur_height], eax
505
        mov     [cur_height], eax
Line 473... Line 532...
473
        call    init_console
532
        call    init_console
474
;        call    draw_window
533
;        call    draw_window
475
        call    draw_keybar
534
        call    draw_keybar
476
        mov     ebp, [active_screen_data]
535
        mov     ebp, [active_screen_data]
477
        mov     eax, [active_screen_vtable]
536
        mov     eax, [active_screen_vtable]
-
 
537
        mov     [cursor_size], cursor_normal_size
478
        call    dword [eax+screen_vtable.OnRedraw]
538
        call    dword [eax+screen_vtable.OnRedraw]
479
        jmp     event
539
        jmp     event
480
@@:
540
@@:
481
        call    draw_window
541
        call    draw_window
482
        jmp     event
542
        jmp     event
Line 866... Line 926...
866
        mov     eax, aVersion
926
        mov     eax, aVersion
867
        call    load_dll_and_import.find_exported_function
927
        call    load_dll_and_import.find_exported_function
868
        jnc     @f
928
        jnc     @f
869
        xor     eax, eax
929
        xor     eax, eax
870
@@:
930
@@:
871
MIN_INTERFACE_VER = 2
931
MIN_INTERFACE_VER = 3
872
MAX_INTERFACE_VER = 2
932
MAX_INTERFACE_VER = 3
873
        cmp     eax, MIN_INTERFACE_VER
933
        cmp     eax, MIN_INTERFACE_VER
874
        jb      @f
934
        jb      @f
875
        cmp     eax, MAX_INTERFACE_VER
935
        cmp     eax, MAX_INTERFACE_VER
876
        jbe     .version_ok
936
        jbe     .version_ok
877
@@:
937
@@:
Line 1017... Line 1077...
1017
        mov     ebp, [esi+eax*8+4]
1077
        mov     ebp, [esi+eax*8+4]
1018
        mov     eax, [esi+eax*8]
1078
        mov     eax, [esi+eax*8]
1019
        mov     [active_screen_vtable], eax
1079
        mov     [active_screen_vtable], eax
1020
        mov     [active_screen_data], ebp
1080
        mov     [active_screen_data], ebp
1021
        call    draw_keybar
1081
        call    draw_keybar
-
 
1082
        mov     [cursor_size], cursor_normal_size
1022
        call    [eax+screen_vtable.OnRedraw]
1083
        call    [eax+screen_vtable.OnRedraw]
1023
        popa
1084
        popa
1024
        ret
1085
        ret
Line 1025... Line 1086...
1025
 
1086
 
Line 1103... Line 1164...
1103
        mov     ecx, ebx
1164
        mov     ecx, ebx
1104
        call    pgfree
1165
        call    pgfree
1105
        jmp     change_screen
1166
        jmp     change_screen
Line 1106... Line 1167...
1106
 
1167
 
-
 
1168
panels_OnKey:
-
 
1169
; restore screen hidden by quick search box
-
 
1170
        cmp     [bDisplayQuickSearch], 0
-
 
1171
        jz      @f
-
 
1172
        mov     [bDisplayQuickSearch], 0
-
 
1173
        push    0
-
 
1174
        push    QuickSearchDlg
-
 
1175
        call    HideDialogBox
1107
panels_OnKey:
1176
@@:
1108
        mov     ebp, [active_panel]
1177
        mov     ebp, [active_panel]
1109
        mov     ecx, [ebp + panel1_index - panel1_data]
1178
        mov     ecx, [ebp + panel1_index - panel1_data]
1110
        mov     edx, [ebp + panel1_start - panel1_data]
1179
        mov     edx, [ebp + panel1_start - panel1_data]
1111
        mov     ebx, [ebp + panel1_colst - panel1_data]
1180
        mov     ebx, [ebp + panel1_colst - panel1_data]
1112
        add     ebx, edx
1181
        add     ebx, edx
1113
        mov     esi, panels_ctrlkeys
1182
        mov     esi, panels_ctrlkeys
-
 
1183
        call    process_ctrl_keys
-
 
1184
        jc      .nostdkey
-
 
1185
        mov     [bQuickSearchMode], 0
-
 
1186
        ret
-
 
1187
.leaveqsmode:
-
 
1188
        mov     [bQuickSearchMode], 0
-
 
1189
        call    draw_image
-
 
1190
        ret
-
 
1191
.keepqsmode:
-
 
1192
        push    QuickSearchDlg
-
 
1193
        call    ShowDialogBox
-
 
1194
        mov     [bDisplayQuickSearch], 1
-
 
1195
        ret
-
 
1196
.nostdkey:
-
 
1197
        cmp     [bQuickSearchMode], 0
-
 
1198
        jz      .noqsmode
-
 
1199
        test    al, al
-
 
1200
        js      .keepqsmode
-
 
1201
        cmp     al, 40h
-
 
1202
        jae     .leaveqsmode
-
 
1203
        cmp     al, 0Eh
-
 
1204
        jz      .qsbackspace
-
 
1205
        cmp     al, 1Ch
-
 
1206
        jz      .test_enter
-
 
1207
        movzx   eax, al
-
 
1208
        cmp     byte [scan2ascii+eax], 0
-
 
1209
        jz      .leaveqsmode
-
 
1210
        call    get_ascii_char
-
 
1211
        mov     ecx, dword [quick_search_buf + 4]
-
 
1212
        cmp     ecx, quicksearch_maxlen
-
 
1213
        jae     .keepqsmode
-
 
1214
        mov     byte [quick_search_buf + 12 + ecx], al
-
 
1215
        mov     byte [quick_search_buf + 12 + ecx + 1], 0
-
 
1216
        push    ecx
-
 
1217
        call    quick_find
-
 
1218
        pop     ecx
-
 
1219
        jnc     @f
-
 
1220
        mov     byte [quick_search_buf + 12 + ecx], 0
-
 
1221
        jmp     .keepqsmode
-
 
1222
@@:
-
 
1223
        inc     dword [quick_search_buf + 4]
-
 
1224
        sub     ecx, 16
-
 
1225
        jae     @f
-
 
1226
        xor     ecx, ecx
-
 
1227
@@:
-
 
1228
        mov     dword [quick_search_buf + 8], ecx
-
 
1229
        jmp     .keepqsmode
-
 
1230
.qsbackspace:
-
 
1231
        mov     ecx, dword [quick_search_buf + 4]
-
 
1232
        jecxz   .keepqsmode2
-
 
1233
        dec     ecx
-
 
1234
        mov     byte [quick_search_buf + 12 + ecx], 0
-
 
1235
        dec     dword [quick_search_buf + 4]
-
 
1236
.keepqsmode2:
-
 
1237
        jmp     .keepqsmode
-
 
1238
.test_enter:
-
 
1239
        test    [ctrlstate], 0Ch        ; LCtrl or RCtrl pressed?
-
 
1240
        jz      .keepqsmode2
-
 
1241
        test    [ctrlstate], 3          ; Shift pressed?
-
 
1242
        jnz     @f
-
 
1243
        call    quick_find_next
-
 
1244
        jmp     .keepqsmode2
-
 
1245
@@:
-
 
1246
        call    quick_find_prev
-
 
1247
        jmp     .keepqsmode2
-
 
1248
.noqsmode:
-
 
1249
; handle Alt+ combinations for quick search
-
 
1250
        test    [ctrlstate], 30h        ; LAlt or RAlt pressed?
-
 
1251
        jz      .noalt                  ; no => skip
-
 
1252
        test    [ctrlstate], 0Ch        ; LCtrl or RCtrl pressed?
-
 
1253
        jnz     .noalt                  ; yes => skip
-
 
1254
        cmp     al, 40h
-
 
1255
        jae     .noalt
-
 
1256
        movzx   eax, al
-
 
1257
        cmp     byte [scan2ascii+eax], 0
-
 
1258
        jz      .noalt
-
 
1259
        call    get_ascii_char
-
 
1260
        mov     edi, quick_search_buf + 12
-
 
1261
        mov     dword [edi-12], quicksearch_maxlen-1
-
 
1262
        mov     dword [edi-8], 1
-
 
1263
        and     dword [edi-4], 0
-
 
1264
        stosb
-
 
1265
        mov     byte [edi], 0
-
 
1266
        call    quick_find
-
 
1267
        jnc     @f
-
 
1268
        mov     byte [quick_search_buf + 12], 0
-
 
1269
        and     dword [quick_search_buf + 4], 0
-
 
1270
@@:
-
 
1271
        mov     ebx, QuickSearchDlg
-
 
1272
        mov     eax, [ebp + panel1_left - panel1_data]
-
 
1273
        add     eax, 10
-
 
1274
        mov     edx, [cur_width]
-
 
1275
        sub     edx, 21
-
 
1276
        cmp     eax, edx
-
 
1277
        jb      @f
-
 
1278
        mov     eax, edx
-
 
1279
@@:
-
 
1280
        mov     [ebx + dlgtemplate.x], eax
-
 
1281
        mov     eax, [ebp + panel1_top - panel1_data]
-
 
1282
        add     eax, [ebp + panel1_height - panel1_data]
-
 
1283
        mov     edx, [cur_height]
-
 
1284
        sub     edx, 2
-
 
1285
        cmp     eax, edx
-
 
1286
        jb      @f
-
 
1287
        mov     eax, edx
-
 
1288
@@:
-
 
1289
        mov     [ebx + dlgtemplate.y], eax
-
 
1290
        push    ebx
-
 
1291
        call    ShowDialogBox
-
 
1292
        mov     [bQuickSearchMode], 1
-
 
1293
        mov     [bDisplayQuickSearch], 1
-
 
1294
.find_letter_done:
1114
        jmp     process_ctrl_keys
1295
.noalt:
1115
.ret:
1296
.ret:
1116
        ret
1297
        ret
1117
.up:
1298
.up:
1118
        jecxz   .ret
1299
        jecxz   .ret
Line 1259... Line 1440...
1259
        xor     eax, eax
1440
        xor     eax, eax
1260
@@:
1441
@@:
1261
        mov     [ebp + panel1_start - panel1_data], eax
1442
        mov     [ebp + panel1_start - panel1_data], eax
1262
        jmp     .done_redraw
1443
        jmp     .done_redraw
1263
.enter:
1444
.enter:
-
 
1445
        cmp     [bQuickSearchMode], 0
-
 
1446
        jz      @f
-
 
1447
        call    draw_image
-
 
1448
@@:
1264
        call    get_curfile_folder_entry
1449
        call    get_curfile_folder_entry
1265
        test    byte [ecx], 10h
1450
        test    byte [ecx], 10h
1266
        jnz     .enter_folder
1451
        jnz     .enter_folder
1267
; todo: add  handling on plugin panel
1452
; todo: add  handling on plugin panel
1268
        cmp     [ebp + panel1_hPlugin - panel1_data], 0
1453
        cmp     [ebp + panel1_hPlugin - panel1_data], 0
Line 1439... Line 1624...
1439
        jmp     .dorun
1624
        jmp     .dorun
1440
.run_app:
1625
.run_app:
1441
        mov     [execptr], execdata
1626
        mov     [execptr], execdata
1442
        and     [execparams], 0
1627
        and     [execparams], 0
1443
.dorun:
1628
.dorun:
-
 
1629
        lea     esi, [ebp + panel1_dir - panel1_data]
-
 
1630
        mov     edi, execdata
-
 
1631
@@:
-
 
1632
        lodsb
-
 
1633
        test    al, al
-
 
1634
        jz      @f
-
 
1635
        stosb
-
 
1636
        cmp     edi, execdataend-1
-
 
1637
        jae     .bigfilename
-
 
1638
        jmp     @b
-
 
1639
@@:
-
 
1640
        lea     esi, [ecx+40]
-
 
1641
        mov     al, '/'
-
 
1642
        stosb
-
 
1643
@@:
-
 
1644
        lodsb
-
 
1645
        stosb
-
 
1646
        cmp     edi, execdataend
-
 
1647
        ja      .bigfilename
-
 
1648
        test    al, al
-
 
1649
        jnz     @b
1444
; for fasm call - special handling, because
1650
; for fasm call - special handling, because
1445
; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile
1651
; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile
1446
; 2) fasm will probably create new file in directory, so we want to reload panel data
1652
; 2) fasm will probably create new file in directory, so we want to reload panel data
1447
        xor     edx, edx
1653
        xor     edx, edx
1448
        cmp     [execparams], edx
1654
        cmp     [execparams], edx
Line 1933... Line 2139...
1933
        xor     esi, panel1_data xor panel2_data
2139
        xor     esi, panel1_data xor panel2_data
1934
        cmp     [esi + panel1_hPlugin - panel1_data], 0
2140
        cmp     [esi + panel1_hPlugin - panel1_data], 0
1935
        jz      .f5_2
2141
        jz      .f5_2
1936
        ret
2142
        ret
1937
.f5_2:
2143
.f5_2:
1938
        mov     eax, [ebp + panel1_hPlugin - panel1_data]
-
 
1939
        mov     [source_hModule], eax
-
 
1940
        mov     eax, [ebp + panel1_hFile - panel1_data]
-
 
1941
        mov     [source_hPlugin], eax
-
 
1942
        mov     eax, left_dotdot_entry
-
 
1943
        cmp     ebp, panel1_data
-
 
1944
        jz      @f
-
 
1945
        add     eax, right_dotdot_entry-left_dotdot_entry
-
 
1946
@@:
-
 
1947
        mov     [default_attr], eax
-
 
1948
        add     esi, panel1_dir - panel1_data
2144
        add     esi, panel1_dir - panel1_data
1949
        mov     edi, CopyDestEditBuf
2145
        mov     edi, CopyDestEditBuf
1950
        mov     eax, CopyDestEditBuf.length
2146
        mov     eax, CopyDestEditBuf.length
1951
        stosd
2147
        stosd
1952
        scasd
2148
        scasd
Line 1963... Line 2159...
1963
        jmp     @b
2159
        jmp     @b
1964
@@:
2160
@@:
1965
        mov     al, '/'
2161
        mov     al, '/'
1966
        stosb
2162
        stosb
1967
.f5_common:
2163
.f5_common:
-
 
2164
        mov     eax, [ebp + panel1_hPlugin - panel1_data]
-
 
2165
        mov     [source_hModule], eax
-
 
2166
        mov     eax, [ebp + panel1_hFile - panel1_data]
-
 
2167
        mov     [source_hPlugin], eax
-
 
2168
        mov     eax, left_dotdot_entry
-
 
2169
        cmp     ebp, panel1_data
-
 
2170
        jz      @f
-
 
2171
        add     eax, right_dotdot_entry-left_dotdot_entry
-
 
2172
@@:
-
 
2173
        mov     [default_attr], eax
1968
        mov     byte [edi], 0
2174
        mov     byte [edi], 0
1969
        sub     edi, edx
2175
        sub     edi, edx
1970
        mov     [edx-8], edi
2176
        mov     [edx-8], edi
1971
        mov     edi, CopySourceTextBuf
2177
        mov     edi, CopySourceTextBuf
1972
        mov     esi, aCopy1
2178
        mov     esi, aCopy1
Line 2352... Line 2558...
2352
 
2558
 
2353
.f3:
2559
.f3:
2354
        call    view_file
2560
        call    view_file
2355
.ret2:
2561
.ret2:
-
 
2562
        ret
-
 
2563
.f4:
-
 
2564
        call    edit_file
2356
        ret
2565
        ret
2357
.f8_has_selected:
2566
.f8_has_selected:
2358
        mov     edi, saved_file_name+511
2567
        mov     edi, saved_file_name+511
2359
        mov     byte [edi], 0
2568
        mov     byte [edi], 0
2360
        mov     eax, [ebp + panel1_selected_num - panel1_data]
2569
        mov     eax, [ebp + panel1_selected_num - panel1_data]
Line 2425... Line 2634...
2425
        ret
2634
        ret
2426
@@:
2635
@@:
2427
        cmp     [ebp + panel1_selected_num - panel1_data], 0
2636
        cmp     [ebp + panel1_selected_num - panel1_data], 0
2428
        jnz     .f8_has_selected
2637
        jnz     .f8_has_selected
2429
        call    get_curfile_folder_entry
2638
        call    get_curfile_folder_entry
-
 
2639
        cmp     word [ecx+40], '..'
-
 
2640
        jnz     @f
-
 
2641
        cmp     byte [ecx+42], 0
-
 
2642
        jz      .f8_not_allowed
-
 
2643
@@:
2430
        cmp     [bConfirmDelete], 0
2644
        cmp     [bConfirmDelete], 0
2431
        jz      .f8_allowed
2645
        jz      .f8_allowed
2432
        lea     eax, [ecx+40]
2646
        lea     eax, [ecx+40]
2433
        push    eax
2647
        push    eax
2434
        mov     esi, aConfirmDeleteText
2648
        mov     esi, aConfirmDeleteText
Line 2457... Line 2671...
2457
        push    aDeleteCaption
2671
        push    aDeleteCaption
2458
        call    Message
2672
        call    Message
2459
        add     esp, 8
2673
        add     esp, 8
2460
        test    eax, eax
2674
        test    eax, eax
2461
        jz      .f8_allowed
2675
        jz      .f8_allowed
-
 
2676
.f8_not_allowed:
2462
        ret
2677
        ret
2463
.f8_allowed:
2678
.f8_allowed:
2464
        mov     [del_bSkipAll], 0
2679
        mov     [del_bSkipAll], 0
2465
        mov     eax, ecx
2680
        mov     eax, ecx
2466
        call    delete_file
2681
        call    delete_file
Line 3047... Line 3262...
3047
        mov     ebp, panel2_data
3262
        mov     ebp, panel2_data
3048
        call    close_plugin_panels
3263
        call    close_plugin_panels
3049
        ret
3264
        ret
Line 3050... Line 3265...
3050
 
3265
 
-
 
3266
panels_OnRedraw:
-
 
3267
        or      [cursor_x], -1
3051
panels_OnRedraw:
3268
        or      [cursor_y], -1
3052
        call    draw_cmdbar
3269
        call    draw_cmdbar
3053
        mov     ebp, panel1_data
3270
        mov     ebp, panel1_data
3054
        call    calc_colwidths
3271
        call    calc_colwidths
3055
        call    draw_panel
3272
        call    draw_panel
Line 3101... Line 3318...
3101
get_curfile_name:
3318
get_curfile_name:
3102
        call    get_curfile_folder_entry
3319
        call    get_curfile_folder_entry
3103
        add     ecx, 40
3320
        add     ecx, 40
3104
        ret
3321
        ret
Line -... Line 3322...
-
 
3322
 
-
 
3323
quick_find:
-
 
3324
        cmp     [ebp + panel1_numfiles - panel1_data], 0
-
 
3325
        jz      .nof
-
 
3326
        mov     ecx, [ebp + panel1_index - panel1_data]
-
 
3327
.scanloop:
-
 
3328
        mov     edi, ecx
-
 
3329
        shl     edi, 2
-
 
3330
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3331
        mov     edi, [edi]
-
 
3332
        add     edi, 40
-
 
3333
        mov     esi, quick_search_buf + 12
-
 
3334
@@:
-
 
3335
        lodsb
-
 
3336
        test    al, al
-
 
3337
        jz      .ok
-
 
3338
        call    match_symbol
-
 
3339
        jnz     .no
-
 
3340
        inc     edi
-
 
3341
        jmp     @b
-
 
3342
.no:
-
 
3343
        inc     ecx
-
 
3344
        cmp     ecx, [ebp + panel1_numfiles - panel1_data]
-
 
3345
        jb      @f
-
 
3346
        xor     ecx, ecx
-
 
3347
@@:
-
 
3348
        cmp     ecx, [ebp + panel1_index - panel1_data]
-
 
3349
        jnz     .scanloop
-
 
3350
.nof:
-
 
3351
        stc
-
 
3352
        ret
-
 
3353
.ok:
-
 
3354
        cmp     ecx, [ebp + panel1_index - panel1_data]
-
 
3355
        jz      .ret
-
 
3356
        mov     [ebp + panel1_index - panel1_data], ecx
-
 
3357
        mov     eax, [ebp + panel1_height - panel1_data]
-
 
3358
        shr     eax, 1
-
 
3359
        sub     ecx, eax
-
 
3360
        jae     @f
-
 
3361
        xor     ecx, ecx
-
 
3362
@@:
-
 
3363
        mov     eax, [ebp + panel1_numfiles - panel1_data]
-
 
3364
        sub     eax, [ebp + panel1_colst - panel1_data]
-
 
3365
        jnc     @f
-
 
3366
        xor     eax, eax
-
 
3367
        xor     ecx, ecx
-
 
3368
@@:
-
 
3369
        cmp     ecx, eax
-
 
3370
        jb      @f
-
 
3371
        mov     ecx, eax
-
 
3372
@@:
-
 
3373
        mov     [ebp + panel1_start - panel1_data], ecx
-
 
3374
        call    draw_panel
-
 
3375
.ret:
-
 
3376
        clc
-
 
3377
        ret
-
 
3378
 
-
 
3379
quick_find_next:
-
 
3380
        cmp     [ebp + panel1_numfiles - panel1_data], 0
-
 
3381
        jz      quick_find.nof
-
 
3382
        mov     ecx, [ebp + panel1_index - panel1_data]
-
 
3383
        jmp     quick_find.no
-
 
3384
 
-
 
3385
quick_find_prev:
-
 
3386
        cmp     [ebp + panel1_numfiles - panel1_data], 0
-
 
3387
        jz      quick_find.nof
-
 
3388
        mov     ecx, [ebp + panel1_index - panel1_data]
-
 
3389
.scanloop:
-
 
3390
        dec     ecx
-
 
3391
        jns     @f
-
 
3392
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
-
 
3393
        dec     ecx
-
 
3394
@@:
-
 
3395
        cmp     ecx, [ebp + panel1_index - panel1_data]
-
 
3396
        jz      quick_find.nof
-
 
3397
        mov     edi, ecx
-
 
3398
        shl     edi, 2
-
 
3399
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3400
        mov     edi, [edi]
-
 
3401
        add     edi, 40
-
 
3402
        mov     esi, quick_search_buf + 12
-
 
3403
@@:
-
 
3404
        lodsb
-
 
3405
        test    al, al
-
 
3406
        jz      quick_find.ok
-
 
3407
        call    match_symbol
-
 
3408
        jnz     .scanloop
-
 
3409
        inc     edi
-
 
3410
        jmp     @b
3105
 
3411
 
3106
panels_getname:
3412
panels_getname:
3107
if lang eq ru
3413
if lang eq ru
3108
        mov     eax, ' ­¥'
3414
        mov     eax, ' ­¥'
3109
        stosd
3415
        stosd
Line 3334... Line 3640...
3334
        test    eax, eax
3640
        test    eax, eax
3335
        jz      draw_image.nomem
3641
        jz      draw_image.nomem
3336
        mov     [MemForImage], eax
3642
        mov     [MemForImage], eax
3337
        mov     [bMemForImageValidData], byte 0
3643
        mov     [bMemForImageValidData], byte 0
3338
.allocated:
3644
.allocated:
-
 
3645
        push    ebp
3339
        and     [max_x], 0
3646
        and     [max_x], 0
3340
        or      [min_x], -1
3647
        or      [min_x], -1
3341
        and     [max_y], 0
3648
        and     [max_y], 0
3342
        or      [min_y], -1
3649
        or      [min_y], -1
3343
        mov     eax, [cursor_y]
3650
        mov     eax, [cursor_y]
Line 3462... Line 3769...
3462
        add     eax, edx
3769
        add     eax, edx
3463
        add     eax, [MemForImage]
3770
        add     eax, [MemForImage]
3464
        mov     edx, [cur_width]
3771
        mov     edx, [cur_width]
3465
        imul    edx, font_width
3772
        imul    edx, font_width
3466
        neg     edx
3773
        neg     edx
3467
        mov     ecx, (font_height*15+50)/100
3774
        mov     ecx, [cursor_size]
3468
.cursor_loop:
3775
.cursor_loop:
3469
        push    ecx
3776
        push    ecx
3470
        mov     ecx, font_width
3777
        mov     ecx, font_width
3471
        add     eax, edx
3778
        add     eax, edx
3472
        push    eax
3779
        push    eax
3473
@@:
3780
@@:
3474
;        add     byte [eax-1], 0x10
3781
;;        add     byte [eax-1], 0x10
3475
        xor     byte [eax-1], 7
3782
        xor     byte [eax-1], 7
3476
        sub     eax, 1
3783
        sub     eax, 1
3477
        loop    @b
3784
        loop    @b
3478
        pop     eax
3785
        pop     eax
3479
        pop     ecx
3786
        pop     ecx
Line 3516... Line 3823...
3516
        mov     edi, console_colors
3823
        mov     edi, console_colors
3517
        push    8
3824
        push    8
3518
        pop     esi
3825
        pop     esi
3519
        int     40h
3826
        int     40h
3520
.nodraw:
3827
.nodraw:
-
 
3828
        pop     ebp
3521
        ret
3829
        ret
Line 3522... Line 3830...
3522
 
3830
 
3523
get_console_ptr:
3831
get_console_ptr:
3524
; in: eax=x, edx=y
3832
; in: eax=x, edx=y
Line 3634... Line 3942...
3634
        shr     ecx, 1
3942
        shr     ecx, 1
3635
        mov     al, ' '
3943
        mov     al, ' '
3636
        mov     ah, [keybar_name_color]
3944
        mov     ah, [keybar_name_color]
3637
        rep     stosw
3945
        rep     stosw
3638
.done:
3946
.done:
-
 
3947
        cmp     [bDisplayQuickSearch], 0
-
 
3948
        jz      @f
-
 
3949
        push    QuickSearchDlg
-
 
3950
        call    DrawDialogBox
-
 
3951
@@:
3639
        popad
3952
        popad
3640
        ret
3953
        ret
Line 3641... Line 3954...
3641
 
3954
 
3642
draw_cmdbar:
3955
draw_cmdbar:
Line 4450... Line 4763...
4450
        mov     eax, [ebp + panel1_colsz - panel1_data]
4763
        mov     eax, [ebp + panel1_colsz - panel1_data]
4451
        add     [ebp + panel1_colst - panel1_data], eax
4764
        add     [ebp + panel1_colst - panel1_data], eax
4452
        cmp     ebp, panel1_data
4765
        cmp     ebp, panel1_data
4453
        jnz     .ret2
4766
        jnz     .ret2
4454
; —¨á«® íªà ­®¢
4767
; —¨á«® íªà ­®¢
-
 
4768
; calculate number of viewer and editor screens
-
 
4769
        xor     ebx, ebx
-
 
4770
        xor     edx, edx
4455
        mov     eax, [num_screens]
4771
        mov     ecx, [num_screens]
-
 
4772
        mov     esi, [screens]
-
 
4773
.3:
-
 
4774
        lodsd
-
 
4775
        cmp     eax, viewer_vtable
-
 
4776
        jnz     @f
-
 
4777
        inc     ebx
-
 
4778
@@:
-
 
4779
        cmp     eax, editor_vtable
-
 
4780
        jnz     @f
4456
        dec     eax
4781
        inc     edx
-
 
4782
@@:
-
 
4783
        lodsd
-
 
4784
        loop    .3
-
 
4785
        mov     eax, ebx
-
 
4786
        mov     esi, edx
-
 
4787
        or      eax, edx
4457
        jz      .ret2
4788
        jz      .ret2
4458
        push    eax
-
 
4459
        xor     eax, eax
4789
        xor     eax, eax
4460
        xor     edx, edx
4790
        xor     edx, edx
4461
        call    get_console_ptr
4791
        call    get_console_ptr
4462
        mov     ah, [panel_nscreens_color]
-
 
4463
        mov     al, '['
4792
        mov     al, '['
-
 
4793
        stosb
-
 
4794
        mov     al, [panel_nscreens_color]
4464
        stosw
4795
        stosb
4465
        pop     eax
4796
        xchg    eax, ebx
-
 
4797
.5:
4466
        push    -'0'
4798
        push    -'0'
4467
@@:
4799
@@:
4468
        xor     edx, edx
4800
        xor     edx, edx
4469
        div     [_10d]
4801
        div     [_10d]
4470
        push    edx
4802
        push    edx
Line 4472... Line 4804...
4472
        jnz     @b
4804
        jnz     @b
4473
@@:
4805
@@:
4474
        pop     eax
4806
        pop     eax
4475
        add     eax, '0'
4807
        add     eax, '0'
4476
        jz      @f
4808
        jz      @f
-
 
4809
        stosb
4477
        mov     ah, [panel_nscreens_color]
4810
        mov     al, bl
4478
        stosw
4811
        stosb
4479
        jmp     @b
4812
        jmp     @b
4480
@@:
4813
@@:
-
 
4814
        test    esi, esi
-
 
4815
        jz      .4
-
 
4816
        mov     al, '+'
-
 
4817
        stosb
-
 
4818
        mov     al, bl
-
 
4819
        stosb
-
 
4820
        xor     eax, eax
-
 
4821
        xchg    eax, esi
-
 
4822
        jmp     .5
-
 
4823
.4:
4481
        mov     al, ']'
4824
        mov     al, ']'
4482
        mov     ah, [panel_nscreens_color]
4825
        mov     ah, [panel_nscreens_color]
4483
        stosw
4826
        stosw
4484
.ret2:
4827
.ret2:
4485
draw_empty_column:
4828
draw_empty_column:
Line 6104... Line 6447...
6104
def_left_dir    db      '/rd/1',0
6447
def_left_dir    db      '/rd/1',0
6105
def_right_dir   db      '/hd0/1',0
6448
def_right_dir   db      '/hd0/1',0
Line 6106... Line 6449...
6106
 
6449
 
Line -... Line 6450...
-
 
6450
bSilentFolderMode db    1
-
 
6451
 
-
 
6452
bQuickSearchMode db     0
6107
bSilentFolderMode db    1
6453
bDisplayQuickSearch db  0
6108
 
6454
 
6109
if lang eq ru
6455
if lang eq ru
6110
aFolder         db      ' ¯ª '
6456
aFolder         db      ' ¯ª '
6111
.size = $-aFolder
6457
.size = $-aFolder
Line 6469... Line 6815...
6469
times 12 db     '      '
6815
times 12 db     '      '
6470
; Alt+Ctrl+Shift
6816
; Alt+Ctrl+Shift
6471
times 12 db     '      '
6817
times 12 db     '      '
6472
end if
6818
end if
Line -... Line 6819...
-
 
6819
 
-
 
6820
keybar_editor:
-
 
6821
if lang eq ru
-
 
6822
; ¡¥§ ª« ¢¨è-¬®¤¨ä¨ª â®à®¢
-
 
6823
        db      '®¬®éì'
-
 
6824
        db      '‘®åà ­'
-
 
6825
        db      '      '
-
 
6826
        db      '      '
-
 
6827
        db      '      '
-
 
6828
        db      'à®á¬ '
-
 
6829
        db      '®¨áª '
-
 
6830
keybar_cp2:
-
 
6831
        db      'cp1251'
-
 
6832
        db      '      '
-
 
6833
        db      '‚ë室 '
-
 
6834
        db      'Œ®¤ã«¨'
-
 
6835
        db      'ªà ­ë'
-
 
6836
; Shift
-
 
6837
        db      '      '
-
 
6838
        db      '‘®åà.¢'
-
 
6839
        db      '      '
-
 
6840
        db      '¥¤ ª.'
-
 
6841
        db      '      '
-
 
6842
        db      '      '
-
 
6843
        db      '„ «ìè¥'
-
 
6844
        db      '’ ¡«¨æ'
-
 
6845
        db      '      '
-
 
6846
        db      '‘åà‚ëå'
-
 
6847
        db      '      '
-
 
6848
        db      '      '
-
 
6849
; Ctrl
-
 
6850
        db      '      '
-
 
6851
        db      '      '
-
 
6852
        db      '      '
-
 
6853
        db      '      '
-
 
6854
        db      '      '
-
 
6855
        db      '      '
-
 
6856
        db      '‡ ¬¥­ '
-
 
6857
        db      '      '
-
 
6858
        db      '      '
-
 
6859
        db      '®§¨æ '
-
 
6860
        db      '      '
-
 
6861
        db      '      '
-
 
6862
; Ctrl+Shift
-
 
6863
        db      '      '
-
 
6864
        db      '      '
-
 
6865
        db      '      '
-
 
6866
        db      '      '
-
 
6867
        db      '      '
-
 
6868
        db      '      '
-
 
6869
        db      '      '
-
 
6870
        db      '      '
-
 
6871
        db      '      '
-
 
6872
        db      '      '
-
 
6873
        db      '      '
-
 
6874
        db      '      '
-
 
6875
; Alt
-
 
6876
        db      '      '
-
 
6877
        db      '      '
-
 
6878
        db      '      '
-
 
6879
        db      '      '
-
 
6880
        db      '¥ç âì'
-
 
6881
        db      '      '
-
 
6882
        db      '      '
-
 
6883
        db      '‘âப '
-
 
6884
        db      '‚¨¤¥® '
-
 
6885
        db      '      '
-
 
6886
        db      'ˆáâà '
-
 
6887
        db      '      '
-
 
6888
; Alt+Shift
-
 
6889
        db      '      '
-
 
6890
        db      '      '
-
 
6891
        db      '      '
-
 
6892
        db      '      '
-
 
6893
        db      '      '
-
 
6894
        db      '      '
-
 
6895
        db      '      '
-
 
6896
        db      '      '
-
 
6897
        db      'Š®­ä¨£'
-
 
6898
        db      '      '
-
 
6899
        db      '      '
-
 
6900
        db      '      '
-
 
6901
; Alt+Ctrl
-
 
6902
times 12 db     '      '
-
 
6903
; Alt+Ctrl+Shift
-
 
6904
times 12 db     '      '
-
 
6905
else
-
 
6906
; No modificators
-
 
6907
        db      'Help  '
-
 
6908
        db      'Save  '
-
 
6909
        db      '      '
-
 
6910
        db      '      '
-
 
6911
        db      '      '
-
 
6912
        db      'View  '
-
 
6913
        db      'Search'
-
 
6914
keybar_cp2:
-
 
6915
        db      'cp1251'
-
 
6916
        db      '      '
-
 
6917
        db      'Quit  '
-
 
6918
        db      'Plugin'
-
 
6919
        db      'Screen'
-
 
6920
; Shift
-
 
6921
        db      '      '
-
 
6922
        db      'SaveAs'
-
 
6923
        db      '      '
-
 
6924
        db      'Edit..'
-
 
6925
        db      '      '
-
 
6926
        db      '      '
-
 
6927
        db      'Next  '
-
 
6928
        db      'Table '
-
 
6929
        db      '      '
-
 
6930
        db      'SaveQ '
-
 
6931
        db      '      '
-
 
6932
        db      '      '
-
 
6933
; Ctrl
-
 
6934
        db      '      '
-
 
6935
        db      '      '
-
 
6936
        db      '      '
-
 
6937
        db      '      '
-
 
6938
        db      '      '
-
 
6939
        db      '      '
-
 
6940
        db      'Replac'
-
 
6941
        db      '      '
-
 
6942
        db      '      '
-
 
6943
        db      'GoFile'
-
 
6944
        db      '      '
-
 
6945
        db      '      '
-
 
6946
; Ctrl+Shift
-
 
6947
        db      '      '
-
 
6948
        db      '      '
-
 
6949
        db      '      '
-
 
6950
        db      '      '
-
 
6951
        db      '      '
-
 
6952
        db      '      '
-
 
6953
        db      '      '
-
 
6954
        db      '      '
-
 
6955
        db      '      '
-
 
6956
        db      '      '
-
 
6957
        db      '      '
-
 
6958
        db      '      '
-
 
6959
; Alt
-
 
6960
        db      '      '
-
 
6961
        db      '      '
-
 
6962
        db      '      '
-
 
6963
        db      '      '
-
 
6964
        db      'Print '
-
 
6965
        db      '      '
-
 
6966
        db      '      '
-
 
6967
        db      'Goto  '
-
 
6968
        db      'Video '
-
 
6969
        db      '      '
-
 
6970
        db      'ViewHs'
-
 
6971
        db      '      '
-
 
6972
; Alt+Shift
-
 
6973
        db      '      '
-
 
6974
        db      '      '
-
 
6975
        db      '      '
-
 
6976
        db      '      '
-
 
6977
        db      '      '
-
 
6978
        db      '      '
-
 
6979
        db      '      '
-
 
6980
        db      '      '
-
 
6981
        db      'Config'
-
 
6982
        db      '      '
-
 
6983
        db      '      '
-
 
6984
        db      '      '
-
 
6985
; Alt+Ctrl
-
 
6986
times 12 db     '      '
-
 
6987
; Alt+Ctrl+Shift
-
 
6988
times 12 db     '      '
-
 
6989
end if
6473
 
6990
 
6474
        align   4
6991
        align   4
6475
cur_width       dd      80
6992
cur_width       dd      80
6476
cur_height      dd      25
6993
cur_height      dd      25
6477
saved_width     dd      -1
6994
saved_width     dd      -1
Line 6482... Line 6999...
6482
max_height = 256
6999
max_height = 256
6483
console_data_ptr dd     0
7000
console_data_ptr dd     0
Line 6484... Line 7001...
6484
 
7001
 
6485
cursor_x        dd      -1
7002
cursor_x        dd      -1
-
 
7003
cursor_y        dd      -1
6486
cursor_y        dd      -1
7004
cursor_size     dd      cursor_normal_size
6487
cur_cursor_pos  dd      -1
7005
cur_cursor_pos  dd      -1
Line 6488... Line 7006...
6488
old_cursor_pos  dd      -1
7006
old_cursor_pos  dd      -1
Line 6544... Line 7062...
6544
        dd      keybar_viewer
7062
        dd      keybar_viewer
6545
        dd      viewer_getname
7063
        dd      viewer_getname
6546
        dd      viewer_OnExit
7064
        dd      viewer_OnExit
6547
        dd      viewer_IsHandleUsed
7065
        dd      viewer_IsHandleUsed
Line -... Line 7066...
-
 
7066
 
-
 
7067
editor_vtable:
-
 
7068
        dd      editor_OnRedraw
-
 
7069
        dd      editor_OnKey
-
 
7070
        dd      keybar_editor
-
 
7071
        dd      editor_getname
-
 
7072
        dd      editor_OnExit
-
 
7073
        dd      editor_IsHandleUsed
6548
 
7074
 
6549
; additions to this table require changes in tools.inc::get_error_msg
7075
; additions to this table require changes in tools.inc::get_error_msg
6550
errors1:
7076
errors1:
6551
        dd      error0msg
7077
        dd      error0msg
6552
        dd      error1msg
7078
        dd      error1msg
Line 6630... Line 7156...
6630
        dd      0
7156
        dd      0
6631
        dd      .menu.3
7157
        dd      .menu.3
6632
        db      '&Unicode',0
7158
        db      '&Unicode',0
Line 6633... Line 7159...
6633
 
7159
 
-
 
7160
active_screen   dd      0
6634
active_screen   dd      0
7161
viewer_tabsize  dd      8
Line 6635... Line 7162...
6635
tabsize         dd      8
7162
editor_tabsize  dd      8
6636
 
7163
 
6637
ascii2scan:
7164
ascii2scan:
6638
        times 32 db 0
7165
        times 32 db 0
Line 6646... Line 7173...
6646
        db      0x23,0x2E,0x31,0x12,0x1E,0x1A,0x11,0x2D,0x17,0x18,0x1B,0x1F,0x32,0x28,0x34,0x2C
7173
        db      0x23,0x2E,0x31,0x12,0x1E,0x1A,0x11,0x2D,0x17,0x18,0x1B,0x1F,0x32,0x28,0x34,0x2C
6647
        db      0x21,0x33,0x20,0x16,0x26,0x14,0x27,0x19,0x30,0x10,0x13,0x25,0x2F,0x15,0x24,0x22
7174
        db      0x21,0x33,0x20,0x16,0x26,0x14,0x27,0x19,0x30,0x10,0x13,0x25,0x2F,0x15,0x24,0x22
6648
        times 48 db 0
7175
        times 48 db 0
6649
        db      0x23,0x2E,0x31,0x12,0x1E,0x1A,0x11,0x2D,0x17,0x18,0x1B,0x1F,0x32,0x28,0x34,0x2C
7176
        db      0x23,0x2E,0x31,0x12,0x1E,0x1A,0x11,0x2D,0x17,0x18,0x1B,0x1F,0x32,0x28,0x34,0x2C
6650
        db      0x29,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
7177
        db      0x29,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-
 
7178
scan2ascii:
-
 
7179
        db      0,0,'1234567890-=',0,0
-
 
7180
        db      'qwertyuiop[]',0,0,'as'
-
 
7181
        db      'dfghjkl;',27h,'`',0,'\zxcv'
-
 
7182
        db      'bnm,./',0,0,0,' ',0,0,0,0,0,0
Line 6651... Line 7183...
6651
 
7183
 
6652
; Š« ¢¨è­ë¥ á®ç¥â ­¨ï
7184
; Š« ¢¨è­ë¥ á®ç¥â ­¨ï
6653
; db scancode, reserved
7185
; db scancode, reserved
6654
; dw ctrlstate
7186
; dw ctrlstate
Line 6680... Line 7212...
6680
        dd      panels_OnKey.end
7212
        dd      panels_OnKey.end
6681
        dw      0x1C, 0
7213
        dw      0x1C, 0
6682
        dd      panels_OnKey.enter
7214
        dd      panels_OnKey.enter
6683
        dw      0x3D, 0
7215
        dw      0x3D, 0
6684
        dd      panels_OnKey.f3
7216
        dd      panels_OnKey.f3
-
 
7217
        dw      0x3E, 0
-
 
7218
        dd      panels_OnKey.f4
6685
        dw      0x3F, 0
7219
        dw      0x3F, 0
6686
        dd      panels_OnKey.f5
7220
        dd      panels_OnKey.f5
6687
        dw      0x3F, 1
7221
        dw      0x3F, 1
6688
        dd      panels_OnKey.shift_f5
7222
        dd      panels_OnKey.shift_f5
6689
        dw      0x41, 0
7223
        dw      0x41, 0
Line 6775... Line 7309...
6775
        dd      F12
7309
        dd      F12
6776
        dw      0x43, 0x100
7310
        dw      0x43, 0x100
6777
        dd      alt_f9
7311
        dd      alt_f9
6778
        db      0
7312
        db      0
Line -... Line 7313...
-
 
7313
 
-
 
7314
editor_ctrlkeys:
-
 
7315
        dw      1, 0
-
 
7316
        dd      editor_OnKey.exit_confirm
-
 
7317
        dw      0x0E, 0
-
 
7318
        dd      editor_OnKey.backspace
-
 
7319
        dw      0x3C, 0
-
 
7320
        dd      editor_OnKey.f2
-
 
7321
        dw      0x43, 0x100
-
 
7322
        dd      alt_f9
-
 
7323
        dw      0x44, 0
-
 
7324
        dd      editor_OnKey.exit_confirm
-
 
7325
        dw      0x44, 1
-
 
7326
        dd      editor_OnKey.exit_save
-
 
7327
        dw      0x47, 0
-
 
7328
        dd      editor_OnKey.home
-
 
7329
        dw      0x48, 0
-
 
7330
        dd      editor_OnKey.up
-
 
7331
        dw      0x49, 0
-
 
7332
        dd      editor_OnKey.pgup
-
 
7333
        dw      0x4B, 0
-
 
7334
        dd      editor_OnKey.left
-
 
7335
        dw      0x4D, 0
-
 
7336
        dd      editor_OnKey.right
-
 
7337
        dw      0x4F, 0
-
 
7338
        dd      editor_OnKey.end
-
 
7339
        dw      0x50, 0
-
 
7340
        dd      editor_OnKey.down
-
 
7341
        dw      0x51, 0
-
 
7342
        dd      editor_OnKey.pgdn
-
 
7343
        dw      0x52, 0
-
 
7344
        dd      editor_OnKey.ins
-
 
7345
        dw      0x53, 0
-
 
7346
        dd      editor_OnKey.del
-
 
7347
        dw      0x58, 0
-
 
7348
        dd      F12
-
 
7349
        db      0
6779
 
7350
 
6780
dirinfo:
7351
dirinfo:
6781
                dd      1
7352
                dd      1
6782
.first          dd      0
7353
.first          dd      0
6783
                dd      0
7354
                dd      0
Line 6885... Line 7456...
6885
cmdbar_prefix_color     db      7
7456
cmdbar_prefix_color     db      7
6886
; à®á¬®âà騪
7457
; à®á¬®âà騪
6887
view_normal_color       db      1Bh
7458
view_normal_color       db      1Bh
6888
view_status_color       db      30h
7459
view_status_color       db      30h
6889
view_arrows_color       db      1Eh
7460
view_arrows_color       db      1Eh
-
 
7461
; ¥¤ ªâ®à
-
 
7462
edit_normal_color       db      1Bh
-
 
7463
edit_status_color       db      30h
Line 6890... Line 7464...
6890
 
7464
 
6891
; ®¤á¢¥âª  ä ©«®¢
7465
; ®¤á¢¥âª  ä ©«®¢
6892
highlight_num_groups    dd      10
7466
highlight_num_groups    dd      10
6893
highlight_groups        dd      highlight_group0
7467
highlight_groups        dd      highlight_group0
Line 6930... Line 7504...
6930
        db      0, 0, 0, 0
7504
        db      0, 0, 0, 0
6931
        db      '..',0
7505
        db      '..',0
6932
highlight_group4:
7506
highlight_group4:
6933
        db      0
7507
        db      0
6934
        db      1Ah, 3Ah, 0, 0
7508
        db      1Ah, 3Ah, 0, 0
6935
        db      '*.exe,*.com,*.bat,*.cmd',0
7509
        db      '*.exe,*.com,*.bat,*.cmd,*.kex',0
6936
highlight_group5:
7510
highlight_group5:
6937
        db      0
7511
        db      0
6938
        db      1Ah, 3Ah, 0, 0
7512
        db      1Ah, 3Ah, 0, 0
6939
        db      '*|*.*',0
7513
        db      '*|*.*,readme,makefile',0
6940
highlight_group6:
7514
highlight_group6:
6941
        db      0
7515
        db      0
6942
        db      1Dh, 3Dh, 0, 0
7516
        db      1Dh, 3Dh, 0, 0
6943
        db      '*.rar,*.zip,*.[zj],*.[bg7]z,*.[bg]zip,*.tar,*.t[ag]z,*.ar[cj],*.r[0-9][0-9],'
7517
        db      '*.rar,*.zip,*.[zj],*.[bg7]z,*.[bg]zip,*.tar,*.t[ag]z,*.ar[cj],*.r[0-9][0-9],'
6944
        db      '*.a[0-9][0-9],*.bz2,*.cab,*.msi,*.jar,*.lha,*.lzh,*.ha,*.ac[bei],*.pa[ck],'
7518
        db      '*.a[0-9][0-9],*.bz2,*.cab,*.msi,*.jar,*.lha,*.lzh,*.ha,*.ac[bei],*.pa[ck],'
Line 6979... Line 7553...
6979
        dd      12
7553
        dd      12
6980
        dd      2
7554
        dd      2
6981
        dd      1
7555
        dd      1
6982
        dd      1
7556
        dd      1
6983
        dd      aError
7557
        dd      aError
6984
        rb      4
7558
        rb      8
6985
        dd      0
7559
        dd      0
6986
        dd      0
7560
        dd      0
6987
        dd      2
7561
        dd      2
6988
; áâப  "No memory"
7562
; áâப  "No memory"
6989
        dd      1
7563
        dd      1
Line 7008... Line 7582...
7008
        dd      aCopyCaption
7582
        dd      aCopyCaption
7009
.main_color db ?
7583
.main_color db ?
7010
.border_color db ?
7584
.border_color db ?
7011
.header_color db ?
7585
.header_color db ?
7012
        db      0
7586
        db      0
-
 
7587
        dd      ?
7013
        dd      0
7588
        dd      0
7014
        dd      0
7589
        dd      0
7015
        dd      4
7590
        dd      4
7016
; áâப  'Š®¯¨à®¢ âì "%s" ¢:'
7591
; áâப  'Š®¯¨à®¢ âì "%s" ¢:'
7017
        dd      1
7592
        dd      1
Line 7050... Line 7625...
7050
        dd      -1, -1
7625
        dd      -1, -1
7051
.width  dd      ?
7626
.width  dd      ?
7052
.height dd      4
7627
.height dd      4
7053
        dd      4, 2
7628
        dd      4, 2
7054
        dd      aMkDirCaption
7629
        dd      aMkDirCaption
7055
        dd      ?
7630
        dd      ?, ?
7056
        dd      0
7631
        dd      0
7057
        dd      0
7632
        dd      0
7058
        dd      4
7633
        dd      4
7059
; ‘âப  "‘®§¤ âì ¯ ¯ªã"
7634
; ‘âப  "‘®§¤ âì ¯ ¯ªã"
7060
        dd      1
7635
        dd      1
Line 7091... Line 7666...
7091
        dd      1
7666
        dd      1
7092
        dd      -1, -1
7667
        dd      -1, -1
7093
        dd      37, 1
7668
        dd      37, 1
7094
        dd      4, 2
7669
        dd      4, 2
7095
.title  dd      ?
7670
.title  dd      ?
7096
        dd      ?
7671
        dd      ?, ?
7097
        dd      0, 0
7672
        dd      0, 0
7098
        dd      1
7673
        dd      1
7099
; ¯®«¥ । ªâ¨à®¢ ­¨ï
7674
; ¯®«¥ । ªâ¨à®¢ ­¨ï
7100
        dd      3
7675
        dd      3
7101
        dd      1, 0, 35, 0
7676
        dd      1, 0, 35, 0
7102
        dd      enter_string_buf
7677
        dd      enter_string_buf
7103
.flags  dd      ?
7678
.flags  dd      ?
Line -... Line 7679...
-
 
7679
 
-
 
7680
; ¤¨ «®£ ¡ëáâண® ¯®¨áª  ¢ ¯ ­¥«¨ (Alt+¡ãª¢ë)
-
 
7681
QuickSearchDlg:
-
 
7682
        dd      5
-
 
7683
.x      dd      ?
-
 
7684
.y      dd      ?
-
 
7685
        dd      20, 1
-
 
7686
        dd      1, 1
-
 
7687
        dd      aSearch
-
 
7688
        dd      ?, ?
-
 
7689
        dd      0, 0
-
 
7690
        dd      1
-
 
7691
; ¯®«¥ । ªâ¨à®¢ ­¨ï
-
 
7692
        dd      3
-
 
7693
        dd      1, 0, 18, 0
-
 
7694
        dd      quick_search_buf
-
 
7695
        dd      1Ch
7104
 
7696
 
7105
RetryOrCancelBtn:
7697
RetryOrCancelBtn:
7106
        dd      aRetry
7698
        dd      aRetry
7107
        dd      a_Cancel
7699
        dd      a_Cancel
7108
DeleteOrKeepBtn:
7700
DeleteOrKeepBtn:
Line 7120... Line 7712...
7120
        dd      aSkipAll
7712
        dd      aSkipAll
7121
        dd      a_Cancel
7713
        dd      a_Cancel
7122
ContinueBtn:
7714
ContinueBtn:
7123
        dd      aContinue
7715
        dd      aContinue
Line -... Line 7716...
-
 
7716
 
-
 
7717
EditorExitBtn:
-
 
7718
        dd      aSave
-
 
7719
        dd      aDontSave
-
 
7720
        dd      aContinueEdit
7124
 
7721
 
-
 
7722
aCannotOpenFile_ptr     dd      aCannotOpenFile
-
 
7723
EditConfigErr_ptr:
-
 
7724
        dd      aEditConfigErr1
7125
aCannotOpenFile_ptr     dd      aCannotOpenFile
7725
        dd      aEditConfigErr2
7126
if lang eq ru
7726
if lang eq ru
7127
aDeleteCaption          db      '“¤ «¥­¨¥',0
7727
aDeleteCaption          db      '“¤ «¥­¨¥',0
7128
aConfirmDeleteText      db      '‚ë å®â¨â¥ 㤠«¨âì',0
7728
aConfirmDeleteText      db      '‚ë å®â¨â¥ 㤠«¨âì',0
7129
aDeleteFolder           db      ' ¯ ¯ªã',0
7729
aDeleteFolder           db      ' ¯ ¯ªã',0
Line 7192... Line 7792...
7192
aTables                 db      '’ ¡«¨æë',0
7792
aTables                 db      '’ ¡«¨æë',0
7193
aSelect                 db      '®¬¥â¨âì',0
7793
aSelect                 db      '®¬¥â¨âì',0
7194
aDeselect               db      '‘­ïâì',0
7794
aDeselect               db      '‘­ïâì',0
7195
aCannotOpenFile         db      'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©« ',0
7795
aCannotOpenFile         db      'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©« ',0
7196
aCannotSetFolder        db      '¥ ¬®£ã § ©â¨ ¢ ¯ ¯ªã',0
7796
aCannotSetFolder        db      '¥ ¬®£ã § ©â¨ ¢ ¯ ¯ªã',0
-
 
7797
aSearch                 db      '®¨áª',0
-
 
7798
aEditConfigErr1         db      'Žè¨¡ª  ¢ ª®­ä¨£ãà æ¨¨ ¯« £¨­®¢ ¤«ï । ªâ®à .',0
-
 
7799
aEditConfigErr2         db      '®¯à®¡ã©â¥ ã¡à âì «¨è­¨¥ ¯« £¨­ë.',0
-
 
7800
aEditNoMemory           db      '” ©« ᫨誮¬ ¢¥«¨ª ¤«ï § £à㧪¨ ¢ । ªâ®à.',0
-
 
7801
aLine                   db      '  ‘âப '
-
 
7802
aCol                    db      '   Š®« '
-
 
7803
aEditorTitle            db      '¥¤ ªâ®à',0
-
 
7804
aFileModified           db      '” ©« ¡ë« ¨§¬¥­ñ­',0
-
 
7805
aSave                   db      '‘®åà ­¨âì',0
-
 
7806
aDontSave               db      '¥ á®åà ­ïâì',0
-
 
7807
aContinueEdit           db      'à®¤®«¦¨âì । ªâ¨à®¢ ­¨¥',0
-
 
7808
aCannotSaveToPlugin     db      '‘®åà ­¥­¨¥ ä ©«®¢ ­  ¯ ­¥«ïå ¯« £¨­®¢ ­¥ ¯®¤¤¥à¦¨¢ ¥âáï',0
7197
else
7809
else
7198
aDeleteCaption          db      'Delete',0
7810
aDeleteCaption          db      'Delete',0
7199
aConfirmDeleteText      db      'Do you wish to delete',0
7811
aConfirmDeleteText      db      'Do you wish to delete',0
7200
aDeleteFolder           db      ' the folder',0
7812
aDeleteFolder           db      ' the folder',0
7201
aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2
7813
aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2
Line 7267... Line 7879...
7267
aTables                 db      'Tables',0
7879
aTables                 db      'Tables',0
7268
aSelect                 db      'Select',0
7880
aSelect                 db      'Select',0
7269
aDeselect               db      'Deselect',0
7881
aDeselect               db      'Deselect',0
7270
aCannotOpenFile         db      'Cannot open the file',0
7882
aCannotOpenFile         db      'Cannot open the file',0
7271
aCannotSetFolder        db      'Cannot enter to folder',0
7883
aCannotSetFolder        db      'Cannot enter to folder',0
-
 
7884
aSearch                 db      'Search',0
-
 
7885
aEditConfigErr1         db      'Error in configuration of plugins for the editor.',0
-
 
7886
aEditConfigErr2         db      'Try to remove unnecessary plugins.',0
-
 
7887
aLine                   db      '    Line'
-
 
7888
aCol                    db      '   Col '
-
 
7889
aEditorTitle            db      'Editor',0
-
 
7890
aFileModified           db      'File has been modified',0
-
 
7891
aSave                   db      'Save',0
-
 
7892
aDontSave               db      'Do not save',0
-
 
7893
aContinueEdit           db      'Continue editing',0
-
 
7894
aCannotSaveToPlugin     db      'Saving is not supported for plugin panels',0
7272
end if
7895
end if
Line 7273... Line 7896...
7273
 
7896
 
7274
aOk                     db      'OK',0
7897
aOk                     db      'OK',0
7275
aNoMemory               db      'No memory!'
7898
aNoMemory               db      'No memory!'
Line 7299... Line 7922...
7299
aReadFolder             db      'ReadFolder',0
7922
aReadFolder             db      'ReadFolder',0
7300
aSetFolder              db      'SetFolder',0
7923
aSetFolder              db      'SetFolder',0
7301
aGetOpenPluginInfo      db      'GetOpenPluginInfo',0
7924
aGetOpenPluginInfo      db      'GetOpenPluginInfo',0
7302
aGetPanelTitle          db      'GetPanelTitle',0
7925
aGetPanelTitle          db      'GetPanelTitle',0
7303
aGetFiles               db      'GetFiles',0
7926
aGetFiles               db      'GetFiles',0
-
 
7927
aEditInfoSize           db      'EditInfoSize',0
Line 7304... Line 7928...
7304
 
7928
 
7305
aConfirmations          db      'Confirmations',0
7929
aConfirmations          db      'Confirmations',0
7306
aConfirmDelete          db      'Delete',0
7930
aConfirmDelete          db      'Delete',0
Line 7307... Line 7931...
7307
aConfirmDeleteIncomplete db     'DeleteIncomplete',0
7931
aConfirmDeleteIncomplete db     'DeleteIncomplete',0
7308
 
7932
 
7309
aPanels                 db      'Panels',0
7933
aPanels                 db      'Panels',0
Line -... Line 7934...
-
 
7934
aLeftViewMode           db      'LeftViewMode',0
-
 
7935
aRightViewMode          db      'RightViewMode',0
-
 
7936
 
7310
aLeftViewMode           db      'LeftViewMode',0
7937
aEditor                 db      'Editor',0
7311
aRightViewMode          db      'RightViewMode',0
7938
aEolStyle               db      'EOLStyle',0
7312
 
7939
 
7313
aAssociations           db      'Associations',0
7940
aAssociations           db      'Associations',0
7314
aPlugins                db      'Plugins',0
7941
aPlugins                db      'Plugins',0
Line 7337... Line 7964...
7337
        dd      aReadFolder
7964
        dd      aReadFolder
7338
        dd      aSetFolder
7965
        dd      aSetFolder
7339
        dd      aGetOpenPluginInfo
7966
        dd      aGetOpenPluginInfo
7340
        dd      aGetPanelTitle
7967
        dd      aGetPanelTitle
7341
        dd      aGetFiles
7968
        dd      aGetFiles
-
 
7969
        dd      aEditInfoSize
7342
        dd      0
7970
        dd      0
7343
plugin_exported_default:
7971
plugin_exported_default:
7344
        dd      plugin_unload_default
7972
        dd      plugin_unload_default
7345
        dd      getattr_default
7973
        dd      getattr_default
7346
        dd      open_default
7974
        dd      open_default
Line 7352... Line 7980...
7352
        dd      ReadFolder_default
7980
        dd      ReadFolder_default
7353
        dd      SetFolder_default
7981
        dd      SetFolder_default
7354
        dd      GetOpenPluginInfo_default
7982
        dd      GetOpenPluginInfo_default
7355
        dd      GetPanelTitle_default
7983
        dd      GetPanelTitle_default
7356
        dd      GetFiles_default
7984
        dd      GetFiles_default
-
 
7985
        dd      0       ; default value for EditInfoSize
Line 7357... Line 7986...
7357
 
7986
 
7358
kfar_info:
7987
kfar_info:
7359
        dd      .size
7988
        dd      .size
7360
        dd      version_dword
7989
        dd      version_dword
Line 7384... Line 8013...
7384
 
8013
 
7385
plugins         dd      0
8014
plugins         dd      0
7386
num_plugins     dd      0
8015
num_plugins     dd      0
Line -... Line 8016...
-
 
8016
alloc_plugins   dd      0
-
 
8017
 
-
 
8018
EditPlugInfo    dd      0
7387
alloc_plugins   dd      0
8019
EditEOLStyle    db      edit.eol_unix
7388
 
8020
 
7389
virtual at 0
8021
virtual at 0
7390
PluginInfo:
8022
PluginInfo:
7391
.unload         dd      ?
8023
.unload         dd      ?
Line 7399... Line 8031...
7399
.ReadFolder     dd      ?
8031
.ReadFolder     dd      ?
7400
.SetFolder      dd      ?
8032
.SetFolder      dd      ?
7401
.GetOpenPluginInfo dd   ?
8033
.GetOpenPluginInfo dd   ?
7402
.GetPanelTitle  dd      ?
8034
.GetPanelTitle  dd      ?
7403
.GetFiles       dd      ?
8035
.GetFiles       dd      ?
-
 
8036
.EditInfoSize   dd      ?
-
 
8037
.EditInfoOffs   dd      ?
7404
.size = $
8038
.size = $
7405
end virtual
8039
end virtual
Line 7406... Line 8040...
7406
 
8040
 
7407
virtual at 0
8041
virtual at 0
Line 7574... Line 8208...
7574
panel2_plugin_flags     dd      ?
8208
panel2_plugin_flags     dd      ?
7575
panel2_dir      rb      1024
8209
panel2_dir      rb      1024
Line 7576... Line 8210...
7576
 
8210
 
Line 7577... Line 8211...
7577
;console_data    rb      max_width*max_height*2
8211
;console_data    rb      max_width*max_height*2
-
 
8212
 
-
 
8213
nomem_dlgsavearea       rb      8 + (12+4)*(3+3)*2
-
 
8214
 
-
 
8215
quicksearch_savearea    rb      22*3*2
Line 7578... Line 8216...
7578
 
8216
quicksearch_maxlen = 64
7579
nomem_dlgsavearea       rb      (12+4)*(3+3)*2
8217
quick_search_buf        rb      12 + quicksearch_maxlen
Line 7580... Line 8218...
7580
 
8218
 
Line 7602... Line 8240...
7602
last_column_index dd    ?
8240
last_column_index dd    ?
Line 7603... Line 8241...
7603
 
8241
 
7604
scrpos          dq      ?
8242
scrpos          dq      ?
Line -... Line 8243...
-
 
8243
viewer_right_side dq    ?
-
 
8244
 
-
 
8245
EditDataSize    dd      ?
-
 
8246
EditBlockStart  dd      ?
7605
viewer_right_side dq    ?
8247
EditBlockSize   dd      ?
7606
 
8248
 
7607
saved_file_name:
8249
saved_file_name:
Line 7608... Line 8250...
7608
procinfo        rb      1024
8250
procinfo        rb      1024