Rev 529 | Rev 644 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 529 | Rev 589 | ||
---|---|---|---|
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 -... | Line 9... | ||
- | 9 | ||
- | 10 | version equ '0.4' |
|
- | 11 | version_dword equ 0*10000h + 40 |
|
9 | 12 | ||
10 | include 'lang.inc' |
13 | include 'lang.inc' |
11 | include 'font.inc' |
14 | include 'font.inc' |
12 | include 'sort.inc' |
15 | include 'sort.inc' |
13 | include 'kglobals.inc' |
16 | include 'kglobals.inc' |
Line 79... | Line 82... | ||
79 | mov [panel2_files], eax |
82 | mov [panel2_files], eax |
80 | test eax, eax |
83 | test eax, eax |
81 | jz exit |
84 | jz exit |
82 | cmp [panel1_files], 0 |
85 | cmp [panel1_files], 0 |
83 | jz exit |
86 | jz exit |
- | 87 | xor eax, eax |
|
- | 88 | mov [panel1_hPlugin], eax |
|
- | 89 | mov [panel1_parents], eax |
|
- | 90 | mov [panel1_parents_sz], eax |
|
- | 91 | mov [panel1_parents_alloc], eax |
|
- | 92 | mov [panel2_hPlugin], eax |
|
- | 93 | mov [panel2_parents], eax |
|
- | 94 | mov [panel2_parents_sz], eax |
|
- | 95 | mov [panel2_parents_alloc], eax |
|
84 | mov [panel1_sortmode], 0 ; sort by name |
96 | mov [panel1_sortmode], al ; sort by name |
85 | mov [panel2_sortmode], 0 |
97 | mov [panel2_sortmode], al |
86 | push 2 ; "á।¨©" ä®à¬ â |
98 | mov al, 2 ; "á।¨©" ä®à¬ â |
87 | pop eax |
- | |
88 | mov [panel1_colmode], eax |
99 | mov [panel1_colmode], eax |
89 | mov [panel2_colmode], eax |
100 | mov [panel2_colmode], eax |
90 | mov [num_screens], 1 |
101 | mov [num_screens], 1 |
91 | mov ecx, 0x1000 |
102 | mov ecx, 0x1000 |
92 | call pgalloc |
103 | call pgalloc |
Line 119... | Line 130... | ||
119 | push dword aConfirmDeleteIncomplete |
130 | push dword aConfirmDeleteIncomplete |
120 | push dword aConfirmations |
131 | push dword aConfirmations |
121 | push dword app_path |
132 | push dword app_path |
122 | call [ini.get_int] |
133 | call [ini.get_int] |
123 | mov [bConfirmDeleteIncomplete], al |
134 | mov [bConfirmDeleteIncomplete], al |
- | 135 | push 2 |
|
- | 136 | push aLeftViewMode |
|
- | 137 | push aPanels |
|
- | 138 | push app_path |
|
- | 139 | call [ini.get_int] |
|
- | 140 | cmp eax, 1 |
|
- | 141 | jb @f |
|
- | 142 | cmp eax, 4 |
|
- | 143 | ja @f |
|
- | 144 | mov [panel1_colmode], eax |
|
- | 145 | @@: |
|
- | 146 | push 2 |
|
- | 147 | push aRightViewMode |
|
- | 148 | push aPanels |
|
- | 149 | push app_path |
|
- | 150 | call [ini.get_int] |
|
- | 151 | cmp eax, 1 |
|
- | 152 | jb @f |
|
- | 153 | cmp eax, 4 |
|
- | 154 | ja @f |
|
- | 155 | mov [panel2_colmode], eax |
|
- | 156 | @@: |
|
124 | mov ecx, 0x1000 |
157 | mov ecx, 0x1000 |
125 | call xpgalloc |
158 | call xpgalloc |
126 | test eax, eax |
159 | test eax, eax |
127 | jz .skip_assoc |
160 | jz .skip_assoc |
128 | mov [associations], eax |
161 | mov [associations], eax |
Line 200... | Line 233... | ||
200 | jz @f |
233 | jz @f |
201 | add [esi-4], ebp |
234 | add [esi-4], ebp |
202 | @@: |
235 | @@: |
203 | loop .l3 |
236 | loop .l3 |
204 | .skip_shortcuts: |
237 | .skip_shortcuts: |
- | 238 | ; load plugins |
|
- | 239 | push enum_plugins_callback |
|
- | 240 | push aPlugins |
|
- | 241 | push app_path |
|
- | 242 | call [ini.enum_keys] |
|
205 | .noini: |
243 | .noini: |
206 | mov esi, def_left_dir |
244 | mov esi, def_left_dir |
207 | mov edi, panel1_dir |
245 | mov edi, panel1_dir |
208 | @@: |
246 | @@: |
209 | lodsb |
247 | lodsb |
Line 237... | Line 275... | ||
237 | jz redraw |
275 | jz redraw |
238 | dec eax |
276 | dec eax |
239 | jz key |
277 | jz key |
240 | ; button - we have only one button, close |
278 | ; button - we have only one button, close |
241 | exit: |
279 | exit: |
- | 280 | ; close all screens |
|
- | 281 | @@: |
|
- | 282 | mov ecx, [num_screens] |
|
- | 283 | mov eax, [screens] |
|
- | 284 | mov ebp, [eax+ecx*8-4] |
|
- | 285 | mov eax, [eax+ecx*8-8] |
|
- | 286 | push ebp |
|
- | 287 | call [eax+screen_vtable.OnExit] |
|
- | 288 | pop ecx |
|
- | 289 | call pgfree |
|
- | 290 | dec [num_screens] |
|
- | 291 | jnz @b |
|
- | 292 | ; unload all plugins |
|
- | 293 | mov ecx, [num_plugins] |
|
- | 294 | imul esi, ecx, PluginInfo.size |
|
- | 295 | add esi, [plugins] |
|
- | 296 | .unload: |
|
- | 297 | dec ecx |
|
- | 298 | js .unload_done |
|
- | 299 | sub esi, PluginInfo.size |
|
- | 300 | push ecx esi |
|
- | 301 | call [esi+PluginInfo.unload] |
|
- | 302 | pop esi ecx |
|
- | 303 | jmp .unload |
|
- | 304 | .unload_done: |
|
- | 305 | if 0 ; commented due to bug in libini |
|
- | 306 | cmp [ini.set_int], aIniSetInt |
|
- | 307 | jz .nosave |
|
- | 308 | push [panel1_colmode] |
|
- | 309 | push aLeftViewMode |
|
- | 310 | push aPanels |
|
- | 311 | push app_path |
|
- | 312 | call [ini.set_int] |
|
- | 313 | push [panel2_colmode] |
|
- | 314 | push aRightViewMode |
|
- | 315 | push aPanels |
|
- | 316 | push app_path |
|
- | 317 | call [ini.set_int] |
|
- | 318 | .nosave: |
|
- | 319 | end if |
|
- | 320 | if CHECK_FOR_LEAKS |
|
- | 321 | mov ecx, [panel1_files] |
|
- | 322 | call pgfree |
|
- | 323 | mov ecx, [panel2_files] |
|
- | 324 | call pgfree |
|
- | 325 | mov ecx, [screens] |
|
- | 326 | call pgfree |
|
- | 327 | mov ecx, [associations] |
|
- | 328 | call pgfree |
|
- | 329 | mov ecx, [console_data_ptr] |
|
- | 330 | call pgfree |
|
- | 331 | mov ecx, [MemForImage] |
|
- | 332 | call pgfree |
|
- | 333 | mov esi, FolderShortcuts |
|
- | 334 | push 10 |
|
- | 335 | pop ecx |
|
- | 336 | @@: |
|
- | 337 | lodsd |
|
- | 338 | test eax, eax |
|
- | 339 | jnz @f |
|
- | 340 | loop @b |
|
- | 341 | jmp .nofreefs |
|
- | 342 | @@: |
|
- | 343 | mov ecx, eax |
|
- | 344 | call pgfree |
|
- | 345 | mov ecx, [plugins] |
|
- | 346 | call pgfree |
|
- | 347 | mov ecx, [panel1_parents] |
|
- | 348 | call pgfree |
|
- | 349 | mov ecx, [panel2_parents] |
|
- | 350 | call pgfree |
|
- | 351 | .nofreefs: |
|
- | 352 | mov eax, [numallocatedregions] |
|
- | 353 | test eax, eax |
|
- | 354 | jz @f |
|
- | 355 | mov edi, allocatedregions |
|
- | 356 | int3 |
|
- | 357 | jmp $ |
|
- | 358 | @@: |
|
- | 359 | end if |
|
242 | or eax, -1 |
360 | or eax, -1 |
243 | int 40h |
361 | int 40h |
244 | redraw: |
362 | redraw: |
245 | ; query kbd state from OS |
363 | ; query kbd state from OS |
246 | mov al, 66 |
364 | mov al, 66 |
Line 638... | Line 756... | ||
638 | mov ecx, edx |
756 | mov ecx, edx |
639 | call pgfree |
757 | call pgfree |
640 | xor eax, eax |
758 | xor eax, eax |
641 | ret 12 |
759 | ret 12 |
Line -... | Line 760... | ||
- | 760 | ||
- | 761 | enum_plugins_callback: |
|
- | 762 | ; LongBool __stdcall callback(f_name,sec_name,key_name); |
|
- | 763 | ; [esp+4] = f_name, [esp+8] = sec_name, [esp+12] = key_name |
|
- | 764 | push nullstr |
|
- | 765 | push 1024 |
|
- | 766 | push saved_file_name |
|
- | 767 | push dword [esp+12+12] |
|
- | 768 | push dword [esp+16+8] |
|
- | 769 | push dword [esp+20+4] |
|
- | 770 | call [ini.get_str] |
|
- | 771 | test eax, eax |
|
- | 772 | jnz .ret |
|
- | 773 | mov esi, saved_file_name |
|
- | 774 | cmp byte [esi], '/' |
|
- | 775 | jz .absolute |
|
- | 776 | ; convert path to absolute |
|
- | 777 | mov edi, execdata |
|
- | 778 | push esi |
|
- | 779 | @@: |
|
- | 780 | lodsb |
|
- | 781 | stosb |
|
- | 782 | test al, al |
|
- | 783 | jnz @b |
|
- | 784 | pop edi |
|
- | 785 | mov esi, app_path |
|
- | 786 | push esi |
|
- | 787 | xor ecx, ecx |
|
- | 788 | @@: |
|
- | 789 | lodsb |
|
- | 790 | test al, al |
|
- | 791 | jz @f |
|
- | 792 | cmp al, '/' |
|
- | 793 | jnz @b |
|
- | 794 | mov ecx, esi |
|
- | 795 | jmp @b |
|
- | 796 | @@: |
|
- | 797 | pop esi |
|
- | 798 | sub ecx, esi |
|
- | 799 | rep movsb |
|
- | 800 | mov esi, execdata |
|
- | 801 | .z: |
|
- | 802 | cmp word [esi], '.' |
|
- | 803 | jz .ret |
|
- | 804 | cmp word [esi], './' |
|
- | 805 | jnz @f |
|
- | 806 | add esi, 2 |
|
- | 807 | jmp .z |
|
- | 808 | @@: |
|
- | 809 | cmp word [esi], '..' |
|
- | 810 | jnz .c |
|
- | 811 | cmp byte [esi+2], 0 |
|
- | 812 | jz .ret |
|
- | 813 | cmp byte [esi+2], '/' |
|
- | 814 | jnz .c |
|
- | 815 | add esi, 3 |
|
- | 816 | @@: |
|
- | 817 | dec edi |
|
- | 818 | cmp edi, saved_file_name |
|
- | 819 | jbe .ret |
|
- | 820 | cmp byte [edi-1], '/' |
|
- | 821 | jnz @b |
|
- | 822 | jmp .z |
|
- | 823 | .c: |
|
- | 824 | lodsb |
|
- | 825 | stosb |
|
- | 826 | test al, al |
|
- | 827 | jz @f |
|
- | 828 | cmp edi, saved_file_name+1024 |
|
- | 829 | jb .c |
|
- | 830 | mov esi, execdata |
|
- | 831 | call load_dll_and_import.big |
|
- | 832 | .ret: |
|
- | 833 | mov al, 1 |
|
- | 834 | ret 12 |
|
- | 835 | @@: |
|
- | 836 | .absolute: |
|
- | 837 | ; allocate space for plugin info |
|
- | 838 | mov eax, [num_plugins] |
|
- | 839 | inc eax |
|
- | 840 | mov [num_plugins], eax |
|
- | 841 | imul ecx, eax, PluginInfo.size |
|
- | 842 | cmp ecx, [alloc_plugins] |
|
- | 843 | jbe .norealloc |
|
- | 844 | mov edx, [plugins] |
|
- | 845 | call xpgrealloc |
|
- | 846 | test eax, eax |
|
- | 847 | jnz @f |
|
- | 848 | .dec_ret: |
|
- | 849 | dec [num_plugins] |
|
- | 850 | jmp .ret |
|
- | 851 | @@: |
|
- | 852 | mov [plugins], eax |
|
- | 853 | lea eax, [ecx+0xFFF] |
|
- | 854 | and eax, not 0xFFF |
|
- | 855 | mov [alloc_plugins], eax |
|
- | 856 | .norealloc: |
|
- | 857 | mov esi, [plugins] |
|
- | 858 | lea esi, [esi+ecx-PluginInfo.size] |
|
- | 859 | ; load plugin DLL |
|
- | 860 | or ebp, -1 |
|
- | 861 | mov eax, saved_file_name |
|
- | 862 | call load_dll_and_import.do |
|
- | 863 | test eax, eax |
|
- | 864 | jnz .dec_ret |
|
- | 865 | ; find exported functions |
|
- | 866 | mov eax, aVersion |
|
- | 867 | call load_dll_and_import.find_exported_function |
|
- | 868 | jnc @f |
|
- | 869 | xor eax, eax |
|
- | 870 | @@: |
|
- | 871 | MIN_INTERFACE_VER = 1 |
|
- | 872 | MAX_INTERFACE_VER = 1 |
|
- | 873 | cmp eax, MIN_INTERFACE_VER |
|
- | 874 | jae @f |
|
- | 875 | cmp eax, MAX_INTERFACE_VER |
|
- | 876 | jbe @f |
|
- | 877 | push aIncompatibleVersion |
|
- | 878 | .cantload: |
|
- | 879 | push saved_file_name |
|
- | 880 | push aCannotLoadPlugin |
|
- | 881 | mov eax, esp |
|
- | 882 | push ContinueBtn |
|
- | 883 | push 1 |
|
- | 884 | push eax |
|
- | 885 | push 3 |
|
- | 886 | call SayErr |
|
- | 887 | add esp, 12 |
|
- | 888 | jmp .dec_ret |
|
- | 889 | @@: |
|
- | 890 | mov edi, esi |
|
- | 891 | mov esi, plugin_exported |
|
- | 892 | .import: |
|
- | 893 | lodsd |
|
- | 894 | test eax, eax |
|
- | 895 | jz .import_done |
|
- | 896 | call load_dll_and_import.find_exported_function |
|
- | 897 | jnc @f |
|
- | 898 | mov eax, [esi-4+plugin_exported_default-plugin_exported] |
|
- | 899 | @@: |
|
- | 900 | stosd |
|
- | 901 | jmp .import |
|
- | 902 | .import_done: |
|
- | 903 | ; initialize plugin |
|
- | 904 | mov eax, aPluginLoad |
|
- | 905 | call load_dll_and_import.find_exported_function |
|
- | 906 | jc .ok |
|
- | 907 | push kfar_info |
|
- | 908 | call eax |
|
- | 909 | cmp eax, 1 |
|
- | 910 | jb .ok |
|
- | 911 | ja .dec_ret |
|
- | 912 | push aInitFailed |
|
- | 913 | jmp .cantload |
|
- | 914 | .ok: |
|
- | 915 | mov al, 1 |
|
- | 916 | ret 12 |
|
- | 917 | ||
- | 918 | plugin_unload_default: |
|
- | 919 | ret |
|
- | 920 | ||
- | 921 | OpenFilePlugin_default: |
|
- | 922 | GetFiles_default: |
|
- | 923 | xor eax, eax |
|
- | 924 | ret 20 |
|
- | 925 | ||
- | 926 | ClosePlugin_default: |
|
- | 927 | ret 4 |
|
- | 928 | ||
- | 929 | GetOpenPluginInfo_default: |
|
- | 930 | ret 8 |
|
- | 931 | ||
- | 932 | SetFolder_default: |
|
- | 933 | open_default: |
|
- | 934 | xor eax, eax |
|
- | 935 | ret 12 |
|
642 | 936 | ||
643 | new_screen: |
937 | new_screen: |
644 | ; in: ecx=sizeof(screen data), edx->vtable |
938 | ; in: ecx=sizeof(screen data), edx->vtable |
645 | ; out: ebp=pointer or NULL, eax!=0 if successful |
939 | ; out: ebp=pointer or NULL, eax!=0 if successful |
646 | ; destroys ebx,ecx |
940 | ; destroys ebx,ecx |
Line 965... | Line 1259... | ||
965 | jmp .done_redraw |
1259 | jmp .done_redraw |
966 | .enter: |
1260 | .enter: |
967 | call get_curfile_folder_entry |
1261 | call get_curfile_folder_entry |
968 | test byte [ecx], 10h |
1262 | test byte [ecx], 10h |
969 | jnz .enter_folder |
1263 | jnz .enter_folder |
- | 1264 | ; todo: add |
|
- | 1265 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 1266 | jnz .ret |
|
- | 1267 | ; generate full file name |
|
- | 1268 | lea esi, [ebp + panel1_dir - panel1_data] |
|
- | 1269 | mov edi, execdata |
|
- | 1270 | @@: |
|
- | 1271 | lodsb |
|
- | 1272 | test al, al |
|
- | 1273 | jz @f |
|
- | 1274 | stosb |
|
- | 1275 | cmp edi, execdataend-1 |
|
- | 1276 | jae .bigfilename |
|
- | 1277 | jmp @b |
|
- | 1278 | @@: |
|
- | 1279 | lea esi, [ecx+40] |
|
- | 1280 | mov al, '/' |
|
- | 1281 | stosb |
|
- | 1282 | @@: |
|
- | 1283 | lodsb |
|
- | 1284 | stosb |
|
- | 1285 | cmp edi, execdataend |
|
- | 1286 | ja .bigfilename |
|
- | 1287 | test al, al |
|
- | 1288 | jnz @b |
|
- | 1289 | ; try to open file and look for all plugins |
|
- | 1290 | push O_READ |
|
- | 1291 | push execdata |
|
- | 1292 | call open |
|
- | 1293 | test eax, eax |
|
- | 1294 | jz .noplugins ; if can't open, just try to execute |
|
- | 1295 | mov esi, eax ; save handle |
|
- | 1296 | push filedata_buffer_size |
|
- | 1297 | push filedata_buffer |
|
- | 1298 | push esi |
|
- | 1299 | call read |
|
- | 1300 | mov edi, eax ; save size of read data |
|
- | 1301 | ; test for Kolibri executable |
|
- | 1302 | cmp eax, 24h |
|
- | 1303 | jb .enter.noexec |
|
- | 1304 | cmp dword [filedata_buffer], 'MENU' |
|
- | 1305 | jnz @f |
|
- | 1306 | cmp word [filedata_buffer+4], 'ET' |
|
- | 1307 | jnz @f |
|
- | 1308 | .close_run: |
|
- | 1309 | push esi |
|
- | 1310 | call close |
|
- | 1311 | jmp .run_app |
|
- | 1312 | @@: |
|
- | 1313 | cmp dword [filedata_buffer], 'KPCK' |
|
- | 1314 | jnz @f |
|
- | 1315 | cmp dword [filedata_buffer+12], 0x26914601 |
|
- | 1316 | jz .close_run |
|
- | 1317 | @@: |
|
- | 1318 | .enter.noexec: |
|
- | 1319 | mov ecx, [num_plugins] |
|
- | 1320 | mov edx, [plugins] |
|
- | 1321 | sub edx, PluginInfo.size |
|
- | 1322 | .plugloop: |
|
- | 1323 | add edx, PluginInfo.size |
|
- | 1324 | dec ecx |
|
- | 1325 | js .plugdone |
|
- | 1326 | pushad |
|
- | 1327 | push edi |
|
- | 1328 | push filedata_buffer |
|
- | 1329 | call get_curfile_folder_entry |
|
- | 1330 | push ecx |
|
- | 1331 | push execdata |
|
- | 1332 | push esi |
|
- | 1333 | call [edx+PluginInfo.OpenFilePlugin] |
|
- | 1334 | mov [esp+28], eax |
|
- | 1335 | popad |
|
- | 1336 | test eax, eax |
|
- | 1337 | jz .plugloop |
|
- | 1338 | cmp eax, -1 |
|
- | 1339 | jnz .pluginok |
|
- | 1340 | push esi |
|
- | 1341 | call close |
|
- | 1342 | ret |
|
- | 1343 | .pluginok: |
|
- | 1344 | ; save current directory and set root directory of hPlugin |
|
- | 1345 | mov edi, eax ; save handle |
|
- | 1346 | mov esi, execdata |
|
- | 1347 | @@: |
|
- | 1348 | lodsb |
|
- | 1349 | test al, al |
|
- | 1350 | jnz @b |
|
- | 1351 | sub esi, execdata-9 |
|
- | 1352 | ; allocate esi bytes in buffer 'parents' |
|
- | 1353 | mov ecx, [ebp + panel1_parents_sz - panel1_data] |
|
- | 1354 | add ecx, esi |
|
- | 1355 | cmp ecx, [ebp + panel1_parents_alloc - panel1_data] |
|
- | 1356 | jbe .enter.norealloc |
|
- | 1357 | push edx |
|
- | 1358 | mov edx, [ebp + panel1_parents - panel1_data] |
|
- | 1359 | call xpgrealloc |
|
- | 1360 | pop edx |
|
- | 1361 | test eax, eax |
|
- | 1362 | jnz @f |
|
- | 1363 | push edi |
|
- | 1364 | call [edx+PluginInfo.ClosePlugin] |
|
- | 1365 | ret |
|
- | 1366 | @@: |
|
- | 1367 | mov [ebp + panel1_parents - panel1_data], eax |
|
- | 1368 | .enter.norealloc: |
|
- | 1369 | mov [ebp + panel1_parents_sz - panel1_data], ecx |
|
- | 1370 | ; save current state to the end of buffer |
|
- | 1371 | sub ecx, esi |
|
- | 1372 | add ecx, [ebp + panel1_parents - panel1_data] |
|
- | 1373 | xchg edx, [ebp + panel1_hPlugin - panel1_data] |
|
- | 1374 | mov [ecx], edx |
|
- | 1375 | xchg edi, [ebp + panel1_hFile - panel1_data] |
|
- | 1376 | mov [ecx+4], edi |
|
- | 1377 | mov byte [ecx+8], 0 |
|
- | 1378 | lea edi, [ecx+9] |
|
- | 1379 | lea ecx, [esi-9] |
|
- | 1380 | mov esi, execdata |
|
- | 1381 | rep movsb |
|
- | 1382 | mov word [ebp + panel1_dir - panel1_data], '/' |
|
- | 1383 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 1384 | lea ebx, [ebp + panel1_plugin_info - panel1_data] |
|
- | 1385 | and dword [ebx], 0 |
|
- | 1386 | push ebp |
|
- | 1387 | push ebx |
|
- | 1388 | push [ebp + panel1_hFile - panel1_data] |
|
- | 1389 | call [eax+PluginInfo.GetOpenPluginInfo] |
|
- | 1390 | pop ebp |
|
- | 1391 | call get_curfile_folder_entry |
|
- | 1392 | mov esi, ecx |
|
- | 1393 | mov edi, left_dotdot_entry |
|
- | 1394 | cmp ebp, panel1_data |
|
- | 1395 | jz @f |
|
- | 1396 | add edi, right_dotdot_entry-left_dotdot_entry |
|
- | 1397 | @@: |
|
- | 1398 | mov ecx, 10 |
|
- | 1399 | rep movsd |
|
- | 1400 | mov byte [edi-40], 10h ; attributes: folder |
|
- | 1401 | mov eax, '..' |
|
- | 1402 | stosd |
|
- | 1403 | jmp .reread |
|
- | 1404 | .plugdone: |
|
- | 1405 | push esi |
|
- | 1406 | call close |
|
- | 1407 | .noplugins: |
|
- | 1408 | ; run program or association |
|
- | 1409 | call get_curfile_folder_entry |
|
970 | call find_extension |
1410 | call find_extension |
971 | jc .run_app |
1411 | jc .run_app |
972 | .run_association: |
1412 | .run_association: |
973 | cmp byte [edi], 0 |
1413 | cmp byte [edi], 0 |
974 | jz .l1 |
1414 | jz .l1 |
Line 994... | Line 1434... | ||
994 | jmp .dorun |
1434 | jmp .dorun |
995 | .run_app: |
1435 | .run_app: |
996 | mov [execptr], execdata |
1436 | mov [execptr], execdata |
997 | and [execparams], 0 |
1437 | and [execparams], 0 |
998 | .dorun: |
1438 | .dorun: |
999 | lea esi, [ebp + panel1_dir - panel1_data] |
- | |
1000 | mov edi, execdata |
- | |
1001 | @@: |
- | |
1002 | lodsb |
- | |
1003 | test al, al |
- | |
1004 | jz @f |
- | |
1005 | stosb |
- | |
1006 | cmp edi, execdataend-1 |
- | |
1007 | jae .bigfilename |
- | |
1008 | jmp @b |
- | |
1009 | @@: |
- | |
1010 | lea esi, [ecx+40] |
- | |
1011 | mov al, '/' |
- | |
1012 | stosb |
- | |
1013 | @@: |
- | |
1014 | lodsb |
- | |
1015 | stosb |
- | |
1016 | cmp edi, execdataend |
- | |
1017 | ja .bigfilename |
- | |
1018 | test al, al |
- | |
1019 | jnz @b |
- | |
1020 | ; for fasm call - special handling, because |
1439 | ; for fasm call - special handling, because |
1021 | ; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile |
1440 | ; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile |
1022 | ; 2) fasm will probably create new file in directory, so we want to reload panel data |
1441 | ; 2) fasm will probably create new file in directory, so we want to reload panel data |
1023 | xor edx, edx |
1442 | xor edx, edx |
1024 | cmp [execparams], edx |
1443 | cmp [execparams], edx |
Line 1094... | Line 1513... | ||
1094 | mov eax, esp |
1513 | mov eax, esp |
1095 | push ContinueBtn |
1514 | push ContinueBtn |
1096 | push 1 |
1515 | push 1 |
1097 | push eax |
1516 | push eax |
1098 | push 2 |
1517 | push 2 |
1099 | push -1 |
- | |
1100 | push -1 |
- | |
1101 | push dword aError |
- | |
1102 | call SayErr |
1518 | call SayErr |
1103 | pop eax |
1519 | pop eax |
1104 | pop eax |
1520 | pop eax |
1105 | ret |
1521 | ret |
1106 | @@: |
1522 | @@: |
Line 1131... | Line 1547... | ||
1131 | mov eax, esp |
1547 | mov eax, esp |
1132 | push ContinueBtn |
1548 | push ContinueBtn |
1133 | push 1 |
1549 | push 1 |
1134 | push eax |
1550 | push eax |
1135 | push 1 |
1551 | push 1 |
1136 | push -1 |
- | |
1137 | push -1 |
- | |
1138 | push dword aError |
- | |
1139 | call SayErr |
1552 | call SayErr |
1140 | pop eax |
1553 | pop eax |
1141 | ret |
1554 | ret |
1142 | .bigcmdline: |
1555 | .bigcmdline: |
1143 | mov eax, aCmdLineTooBig |
1556 | mov eax, aCmdLineTooBig |
1144 | jmp .l2 |
1557 | jmp .l2 |
1145 | .bigfoldername2: |
1558 | .bigfoldername2: |
1146 | mov byte [ecx], 0 |
1559 | mov esi, prev_dir |
- | 1560 | lea edi, [ebp + panel1_dir - panel1_data] |
|
- | 1561 | @@: |
|
- | 1562 | lodsb |
|
- | 1563 | stosb |
|
- | 1564 | test al, al |
|
- | 1565 | jnz @b |
|
1147 | .bigfoldername: |
1566 | .bigfoldername: |
1148 | mov eax, aFolderNameTooBig |
1567 | mov eax, aFolderNameTooBig |
1149 | jmp .l2 |
1568 | jmp .l2 |
1150 | .enter_folder: |
1569 | .enter_folder: |
1151 | lea esi, [ecx+40] |
1570 | lea esi, [ecx+40] |
Line 1165... | Line 1584... | ||
1165 | lea edi, [esi-1] |
1584 | lea edi, [esi-1] |
1166 | lea edx, [ebp + panel1_dir - panel1_data + 1024] |
1585 | lea edx, [ebp + panel1_dir - panel1_data + 1024] |
1167 | cmp esi, edx |
1586 | cmp esi, edx |
1168 | pop esi |
1587 | pop esi |
1169 | jae .bigfoldername |
1588 | jae .bigfoldername |
1170 | mov ecx, edi |
- | |
1171 | mov al, '/' |
1589 | mov al, '/' |
1172 | cmp [edi-1], al |
1590 | cmp [edi-1], al |
1173 | jz @f |
1591 | jz @f |
1174 | stosb |
1592 | stosb |
1175 | @@: |
1593 | @@: |
Line 1177... | Line 1595... | ||
1177 | cmp edi, edx |
1595 | cmp edi, edx |
1178 | jae .bigfoldername2 |
1596 | jae .bigfoldername2 |
1179 | stosb |
1597 | stosb |
1180 | test al, al |
1598 | test al, al |
1181 | jnz @b |
1599 | jnz @b |
- | 1600 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 1601 | test eax, eax |
|
- | 1602 | jz .reread |
|
- | 1603 | push ebp |
|
- | 1604 | lea esi, [ebp + panel1_dir - panel1_data] |
|
- | 1605 | push esi |
|
- | 1606 | add ecx, 40 |
|
- | 1607 | push ecx |
|
- | 1608 | push [ebp + panel1_hFile - panel1_data] |
|
- | 1609 | call [eax+PluginInfo.SetFolder] |
|
- | 1610 | pop ebp |
|
- | 1611 | test al, al |
|
- | 1612 | jnz .reread |
|
- | 1613 | mov esi, prev_dir |
|
- | 1614 | lea edi, [ebp + panel1_dir - panel1_data] |
|
- | 1615 | @@: |
|
- | 1616 | lodsb |
|
- | 1617 | stosb |
|
- | 1618 | test al, al |
|
- | 1619 | jnz @b |
|
- | 1620 | .retd: |
|
- | 1621 | ret |
|
1182 | .reread: |
1622 | .reread: |
1183 | call read_folder |
1623 | call read_folder |
1184 | .done_cmdbar: |
1624 | .done_cmdbar: |
1185 | call draw_cmdbar |
1625 | call draw_cmdbar |
1186 | jmp .done_redraw |
1626 | jmp .done_redraw |
1187 | .dotdot: |
1627 | .dotdot: |
1188 | lea edi, [ebp + panel1_dir - panel1_data] |
1628 | lea edi, [ebp + panel1_dir - panel1_data] |
- | 1629 | cmp word [edi], '/' |
|
- | 1630 | jnz .dotdot_noroot |
|
- | 1631 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 1632 | jz .retd |
|
- | 1633 | call close_plugin_panel |
|
- | 1634 | jmp .dotdot |
|
- | 1635 | .dotdot_noroot: |
|
- | 1636 | mov edx, edi |
|
1189 | mov al, 0 |
1637 | mov al, 0 |
1190 | or ecx, -1 |
1638 | or ecx, -1 |
1191 | repnz scasb |
1639 | repnz scasb |
1192 | dec edi |
1640 | dec edi |
1193 | mov al, '/' |
1641 | mov al, '/' |
1194 | std |
1642 | std |
1195 | repnz scasb |
1643 | repnz scasb |
1196 | cld |
1644 | cld |
1197 | inc edi |
1645 | inc edi |
1198 | mov byte [edi], 0 |
1646 | cmp edi, edx |
- | 1647 | jnz @f |
|
1199 | inc edi |
1648 | inc edi |
- | 1649 | @@: |
|
- | 1650 | push dword [edi] |
|
- | 1651 | mov byte [edi], 0 |
|
1200 | push edi |
1652 | push edi |
- | 1653 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 1654 | test eax, eax |
|
- | 1655 | jz .dotdot_native |
|
- | 1656 | push ebp |
|
- | 1657 | lea esi, [ebp + panel1_dir - panel1_data] |
|
- | 1658 | push esi |
|
- | 1659 | push aDotDot |
|
- | 1660 | push [ebp + panel1_hFile - panel1_data] |
|
- | 1661 | call [eax+PluginInfo.SetFolder] |
|
- | 1662 | pop ebp |
|
- | 1663 | test al, al |
|
- | 1664 | jnz .dotdot_native |
|
- | 1665 | pop edi |
|
- | 1666 | pop dword [edi] |
|
- | 1667 | ret |
|
- | 1668 | .dotdot_native: |
|
1201 | call read_folder |
1669 | call read_folder |
1202 | pop edi |
1670 | pop edi |
- | 1671 | pop dword [edi] |
|
- | 1672 | push edi |
|
- | 1673 | cmp byte [edi], '/' |
|
- | 1674 | jnz @f |
|
- | 1675 | inc edi |
|
- | 1676 | @@: |
|
1203 | mov edx, [ebp + panel1_files - panel1_data] |
1677 | mov edx, [ebp + panel1_files - panel1_data] |
1204 | mov ecx, [ebp + panel1_numfiles - panel1_data] |
1678 | mov ecx, [ebp + panel1_numfiles - panel1_data] |
1205 | .scanloop: |
1679 | .scanloop: |
1206 | mov esi, [edx] |
1680 | mov esi, [edx] |
1207 | add esi, 40 |
1681 | add esi, 40 |
Line 1226... | Line 1700... | ||
1226 | sub edx, [ebp + panel1_colst - panel1_data] |
1700 | sub edx, [ebp + panel1_colst - panel1_data] |
1227 | jb .scandone |
1701 | jb .scandone |
1228 | inc edx |
1702 | inc edx |
1229 | mov [ebp + panel1_start - panel1_data], edx |
1703 | mov [ebp + panel1_start - panel1_data], edx |
1230 | .scandone: |
1704 | .scandone: |
- | 1705 | pop edi |
|
- | 1706 | mov byte [edi], 0 |
|
1231 | jmp .done_cmdbar |
1707 | jmp .done_cmdbar |
1232 | .ctrl_f39: |
1708 | .ctrl_f39: |
1233 | sub al, 0x3D |
1709 | sub al, 0x3D |
1234 | add al, al |
1710 | add al, al |
1235 | mov ah, [ebp + panel1_sortmode - panel1_data] |
1711 | mov ah, [ebp + panel1_sortmode - panel1_data] |
Line 1354... | Line 1830... | ||
1354 | mov [esi], edi |
1830 | mov [esi], edi |
1355 | jmp @b |
1831 | jmp @b |
1356 | @@: |
1832 | @@: |
1357 | mov ecx, edx |
1833 | mov ecx, edx |
1358 | lea edi, [ebp + panel1_dir - panel1_data] |
1834 | lea edi, [ebp + panel1_dir - panel1_data] |
- | 1835 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 1836 | jz .find_cur_drive_loop |
|
- | 1837 | mov edi, [ebp + panel1_parents - panel1_data] |
|
- | 1838 | add edi, 8 |
|
1359 | .find_cur_drive_loop: |
1839 | .find_cur_drive_loop: |
1360 | push edi |
1840 | push edi |
1361 | lea esi, [ecx+8] |
1841 | lea esi, [ecx+8] |
1362 | @@: |
1842 | @@: |
1363 | lodsb |
1843 | lodsb |
Line 1389... | Line 1869... | ||
1389 | push [ebp + panel1_width - panel1_data] |
1869 | push [ebp + panel1_width - panel1_data] |
1390 | push [ebp + panel1_top - panel1_data] |
1870 | push [ebp + panel1_top - panel1_data] |
1391 | push [ebp + panel1_left - panel1_data] |
1871 | push [ebp + panel1_left - panel1_data] |
1392 | call menu_centered_in |
1872 | call menu_centered_in |
1393 | cmp eax, -1 |
1873 | cmp eax, -1 |
1394 | jz .ret2 |
1874 | jnz @f |
1395 | lea esi, [eax+8] |
1875 | mov ecx, edx |
- | 1876 | call pgfree |
|
- | 1877 | ret |
|
- | 1878 | @@: |
|
- | 1879 | push eax |
|
- | 1880 | call close_plugin_panels |
|
1396 | lea edi, [ebp + panel1_dir - panel1_data] |
1881 | lea edi, [ebp + panel1_dir - panel1_data] |
1397 | push ecx esi edi |
1882 | push edi |
1398 | mov esi, edi |
1883 | mov esi, edi |
1399 | mov edi, prev_dir |
1884 | mov edi, prev_dir |
1400 | mov ecx, 1024/4 |
1885 | mov ecx, 1024/4 |
1401 | rep movsd |
1886 | rep movsd |
- | 1887 | pop edi |
|
1402 | pop edi esi ecx |
1888 | pop esi |
- | 1889 | add esi, 8 |
|
1403 | @@: |
1890 | @@: |
1404 | lodsb |
1891 | lodsb |
1405 | stosb |
1892 | stosb |
1406 | test al, al |
1893 | test al, al |
1407 | jnz @b |
1894 | jnz @b |
1408 | mov ecx, edx |
1895 | mov ecx, edx |
1409 | call pgfree |
1896 | call pgfree |
1410 | call read_folder |
1897 | call read_folder |
1411 | jmp .done_redraw |
1898 | jmp .done_redraw |
1412 | .shift_f5: |
1899 | .shift_f5: |
- | 1900 | ; todo: copy to plugin panel |
|
- | 1901 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 1902 | jz @f |
|
- | 1903 | ret |
|
- | 1904 | @@: |
|
1413 | mov esi, ebp |
1905 | mov esi, ebp |
1414 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
1906 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
1415 | jnz .f5_2 |
1907 | jnz .f5_2 |
1416 | call get_curfile_folder_entry |
1908 | call get_curfile_folder_entry |
1417 | lea esi, [ecx+40] |
1909 | lea esi, [ecx+40] |
Line 1427... | Line 1919... | ||
1427 | test al, al |
1919 | test al, al |
1428 | jz .f5_common |
1920 | jz .f5_common |
1429 | stosb |
1921 | stosb |
1430 | jmp @b |
1922 | jmp @b |
1431 | .f5: |
1923 | .f5: |
- | 1924 | ; todo: copy to plugin panel |
|
1432 | mov esi, ebp |
1925 | mov esi, ebp |
1433 | xor esi, panel1_data xor panel2_data |
1926 | xor esi, panel1_data xor panel2_data |
- | 1927 | cmp [esi + panel1_hPlugin - panel1_data], 0 |
|
- | 1928 | jz .f5_2 |
|
- | 1929 | ret |
|
1434 | .f5_2: |
1930 | .f5_2: |
- | 1931 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 1932 | mov [source_hModule], eax |
|
- | 1933 | mov eax, [ebp + panel1_hFile - panel1_data] |
|
- | 1934 | mov [source_hPlugin], eax |
|
- | 1935 | mov eax, left_dotdot_entry |
|
- | 1936 | cmp ebp, panel1_data |
|
- | 1937 | jz @f |
|
- | 1938 | add eax, right_dotdot_entry-left_dotdot_entry |
|
- | 1939 | @@: |
|
- | 1940 | mov [default_attr], eax |
|
1435 | add esi, panel1_dir - panel1_data |
1941 | add esi, panel1_dir - panel1_data |
1436 | mov edi, CopyDestEditBuf |
1942 | mov edi, CopyDestEditBuf |
1437 | mov eax, CopyDestEditBuf.length |
1943 | mov eax, CopyDestEditBuf.length |
1438 | stosd |
1944 | stosd |
1439 | scasd |
1945 | scasd |
Line 1697... | Line 2203... | ||
1697 | mov eax, esp |
2203 | mov eax, esp |
1698 | push ContinueBtn |
2204 | push ContinueBtn |
1699 | push 1 |
2205 | push 1 |
1700 | push eax |
2206 | push eax |
1701 | push 2 |
2207 | push 2 |
1702 | push -1 |
- | |
1703 | push -1 |
- | |
1704 | push aError |
- | |
1705 | call SayErr |
2208 | call SayErr |
1706 | pop eax |
2209 | pop eax |
1707 | pop eax |
2210 | pop eax |
1708 | .ret3: |
2211 | .ret3: |
1709 | ret |
2212 | ret |
Line 1765... | Line 2268... | ||
1765 | @@: |
2268 | @@: |
1766 | ; ç¨ ¥¬ ᮡá⢥® ª®¯¨à®¢ ¨¥ |
2269 | ; ç¨ ¥¬ ᮡá⢥® ª®¯¨à®¢ ¨¥ |
1767 | mov [bDestIsFolder], dl |
2270 | mov [bDestIsFolder], dl |
1768 | mov [copy_bSkipAll], 0 |
2271 | mov [copy_bSkipAll], 0 |
1769 | mov [copy_bSkipAll2], 0 |
2272 | mov [copy_bSkipAll2], 0 |
- | 2273 | mov [copy_bSkipAll3], 0 |
|
- | 2274 | test [ebp + panel1_plugin_flags - panel1_data], 2 |
|
- | 2275 | jnz .copy_GetFiles |
|
1770 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
2276 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
1771 | jnz .f5_selected3 |
2277 | jnz .f5_selected3 |
1772 | call copy_file |
2278 | call copy_file |
1773 | .copydone: |
2279 | .copydone: |
1774 | push ebp |
2280 | push ebp |
Line 1797... | Line 2303... | ||
1797 | popad |
2303 | popad |
1798 | .f5_selected_copycont: |
2304 | .f5_selected_copycont: |
1799 | loop .f5_selected_copyloop |
2305 | loop .f5_selected_copyloop |
1800 | .f5_multiple_cancel: |
2306 | .f5_multiple_cancel: |
1801 | jmp .copydone |
2307 | jmp .copydone |
- | 2308 | .copy_GetFiles: |
|
- | 2309 | mov ecx, [ebp + panel1_selected_num - panel1_data] |
|
- | 2310 | cmp ecx, 1 |
|
- | 2311 | adc ecx, 0 |
|
- | 2312 | shl ecx, 2 |
|
- | 2313 | call xpgalloc |
|
- | 2314 | test eax, eax |
|
- | 2315 | jnz @f |
|
- | 2316 | ret |
|
- | 2317 | @@: |
|
- | 2318 | push ebp eax ; save |
|
- | 2319 | push copy_AddDir ; adddir |
|
- | 2320 | push copy_AddFile ; addfile |
|
- | 2321 | push eax ; items |
|
- | 2322 | shr ecx, 2 |
|
- | 2323 | push ecx ; NumItems |
|
- | 2324 | push [ebp + panel1_hFile - panel1_data] |
|
- | 2325 | mov edi, eax |
|
- | 2326 | call get_curfile_folder_entry |
|
- | 2327 | mov [edi], ecx |
|
- | 2328 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
|
- | 2329 | jz .cgf1 |
|
- | 2330 | mov esi, [ebp + panel1_files - panel1_data] |
|
- | 2331 | mov ecx, [ebp + panel1_numfiles - panel1_data] |
|
- | 2332 | .cgf0: |
|
- | 2333 | lodsd |
|
- | 2334 | test byte [eax+303], 1 |
|
- | 2335 | jz @f |
|
- | 2336 | stosd |
|
- | 2337 | @@: |
|
- | 2338 | loop .cgf0 |
|
- | 2339 | .cgf1: |
|
- | 2340 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 2341 | call [eax+PluginInfo.GetFiles] |
|
- | 2342 | pop ecx ebp |
|
- | 2343 | call pgfree |
|
- | 2344 | jmp .copydone |
|
Line 1802... | Line 2345... | ||
1802 | 2345 | ||
1803 | .f3: |
2346 | .f3: |
1804 | call view_file |
2347 | call view_file |
1805 | .ret2: |
2348 | .ret2: |
Line 1847... | Line 2390... | ||
1847 | mov eax, esp |
2390 | mov eax, esp |
1848 | push DeleteOrCancelBtn |
2391 | push DeleteOrCancelBtn |
1849 | push 2 |
2392 | push 2 |
1850 | push eax |
2393 | push eax |
1851 | push 2 |
2394 | push 2 |
1852 | push -1 |
- | |
1853 | push -1 |
- | |
1854 | push aDeleteCaption |
2395 | push aDeleteCaption |
1855 | call Message |
2396 | call Message |
1856 | add esp, 8 |
2397 | add esp, 8 |
1857 | test eax, eax |
2398 | test eax, eax |
1858 | jnz .ret2 |
2399 | jnz .ret2 |
Line 1869... | Line 2410... | ||
1869 | @@: |
2410 | @@: |
1870 | loop .f8_loop |
2411 | loop .f8_loop |
1871 | .f8_multiple_cancel: |
2412 | .f8_multiple_cancel: |
1872 | jmp .copydone |
2413 | jmp .copydone |
1873 | .f8: |
2414 | .f8: |
- | 2415 | ; todo: delete files from plugin panel |
|
- | 2416 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 2417 | jz @f |
|
- | 2418 | ret |
|
- | 2419 | @@: |
|
1874 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
2420 | cmp [ebp + panel1_selected_num - panel1_data], 0 |
1875 | jnz .f8_has_selected |
2421 | jnz .f8_has_selected |
1876 | call get_curfile_folder_entry |
2422 | call get_curfile_folder_entry |
1877 | cmp [bConfirmDelete], 0 |
2423 | cmp [bConfirmDelete], 0 |
1878 | jz .f8_allowed |
2424 | jz .f8_allowed |
Line 1899... | Line 2445... | ||
1899 | mov eax, esp |
2445 | mov eax, esp |
1900 | push DeleteOrCancelBtn |
2446 | push DeleteOrCancelBtn |
1901 | push 2 |
2447 | push 2 |
1902 | push eax |
2448 | push eax |
1903 | push 2 |
2449 | push 2 |
1904 | push -1 |
- | |
1905 | push -1 |
- | |
1906 | push aDeleteCaption |
2450 | push aDeleteCaption |
1907 | call Message |
2451 | call Message |
1908 | add esp, 8 |
2452 | add esp, 8 |
1909 | test eax, eax |
2453 | test eax, eax |
1910 | jz .f8_allowed |
2454 | jz .f8_allowed |
Line 1973... | Line 2517... | ||
1973 | jbe @f |
2517 | jbe @f |
1974 | mov [ebp + panel1_start - panel1_data], eax |
2518 | mov [ebp + panel1_start - panel1_data], eax |
1975 | @@: |
2519 | @@: |
1976 | jmp .done_redraw |
2520 | jmp .done_redraw |
1977 | .menu: |
2521 | .menu: |
- | 2522 | ; todo: context menu for plugin panel |
|
- | 2523 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 2524 | jz @f |
|
- | 2525 | ret |
|
- | 2526 | @@: |
|
1978 | ; display context menu |
2527 | ; display context menu |
1979 | ; ignore folders |
2528 | ; ignore folders |
1980 | call get_curfile_folder_entry |
2529 | call get_curfile_folder_entry |
1981 | test byte [ecx], 10h |
2530 | test byte [ecx], 10h |
1982 | jz @f |
2531 | jz @f |
Line 2251... | Line 2800... | ||
2251 | mov eax, [FolderShortcuts+eax*4] |
2800 | mov eax, [FolderShortcuts+eax*4] |
2252 | test eax, eax |
2801 | test eax, eax |
2253 | jnz @f |
2802 | jnz @f |
2254 | ret |
2803 | ret |
2255 | @@: |
2804 | @@: |
- | 2805 | push eax |
|
- | 2806 | call close_plugin_panels |
|
2256 | lea esi, [ebp + panel1_dir - panel1_data] |
2807 | lea esi, [ebp + panel1_dir - panel1_data] |
2257 | push eax esi |
2808 | push esi |
2258 | mov edi, prev_dir |
2809 | mov edi, prev_dir |
2259 | @@: |
2810 | @@: |
2260 | lodsb |
2811 | lodsb |
2261 | stosb |
2812 | stosb |
2262 | test al, al |
2813 | test al, al |
Line 2381... | Line 2932... | ||
2381 | .gacont: |
2932 | .gacont: |
2382 | loop .galoop |
2933 | loop .galoop |
2383 | .galoopdone: |
2934 | .galoopdone: |
2384 | jmp .done_redraw |
2935 | jmp .done_redraw |
Line -... | Line 2936... | ||
- | 2936 | ||
- | 2937 | @@: |
|
- | 2938 | call close_plugin_panel |
|
- | 2939 | close_plugin_panels: |
|
- | 2940 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 2941 | jnz @b |
|
- | 2942 | ret |
|
- | 2943 | ||
- | 2944 | close_plugin_panel: |
|
- | 2945 | ; close plugin and restore old directory |
|
- | 2946 | mov esi, [ebp + panel1_parents - panel1_data] |
|
- | 2947 | add esi, [ebp + panel1_parents_sz - panel1_data] |
|
- | 2948 | @@: |
|
- | 2949 | dec esi |
|
- | 2950 | cmp byte [esi-1], 0 |
|
- | 2951 | jnz @b |
|
- | 2952 | push esi |
|
- | 2953 | lea edi, [ebp + panel1_dir - panel1_data] |
|
- | 2954 | @@: |
|
- | 2955 | lodsb |
|
- | 2956 | stosb |
|
- | 2957 | test al, al |
|
- | 2958 | jnz @b |
|
- | 2959 | pop esi |
|
- | 2960 | sub esi, 9 |
|
- | 2961 | mov edx, [esi] ; hPlugin |
|
- | 2962 | mov ebx, [esi+4] ; hFile |
|
- | 2963 | sub esi, [ebp + panel1_parents - panel1_data] |
|
- | 2964 | mov [ebp + panel1_parents_sz - panel1_data], esi |
|
- | 2965 | xchg edx, [ebp + panel1_hPlugin - panel1_data] |
|
- | 2966 | xchg ebx, [ebp + panel1_hFile - panel1_data] |
|
- | 2967 | push edx ebx |
|
- | 2968 | lea ebx, [ebp + panel1_plugin_info - panel1_data] |
|
- | 2969 | and dword [ebx], 0 |
|
- | 2970 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 2971 | test eax, eax |
|
- | 2972 | jz @f |
|
- | 2973 | push ebp |
|
- | 2974 | push ebx |
|
- | 2975 | push [ebp + panel1_hFile - panel1_data] |
|
- | 2976 | call [eax+PluginInfo.GetOpenPluginInfo] |
|
- | 2977 | pop ebp |
|
- | 2978 | @@: |
|
- | 2979 | pop ebx edx |
|
- | 2980 | ||
- | 2981 | close_handle_if_unused: |
|
- | 2982 | ; edx=hPlugin, ebx=hFile |
|
- | 2983 | push ebp |
|
- | 2984 | xor ecx, ecx |
|
- | 2985 | @@: |
|
- | 2986 | mov eax, [screens] |
|
- | 2987 | mov ebp, [eax+ecx*8+4] |
|
- | 2988 | mov eax, [eax+ecx*8] |
|
- | 2989 | call [eax+screen_vtable.IsHandleUsed] |
|
- | 2990 | jz .used |
|
- | 2991 | inc ecx |
|
- | 2992 | cmp ecx, [num_screens] |
|
- | 2993 | jb @b |
|
- | 2994 | push ebx |
|
- | 2995 | call [edx+PluginInfo.ClosePlugin] |
|
- | 2996 | .used: |
|
- | 2997 | pop ebp |
|
- | 2998 | ret |
|
- | 2999 | ||
- | 3000 | panels_IsHandleUsed: |
|
- | 3001 | ; edx=hPlugin, ebx=hFile |
|
- | 3002 | mov ebp, panel1_data |
|
- | 3003 | call .1 |
|
- | 3004 | jz .ret |
|
- | 3005 | mov ebp, panel2_data |
|
- | 3006 | ||
- | 3007 | .1: |
|
- | 3008 | cmp edx, [ebp+panel1_hPlugin-panel1_data] |
|
- | 3009 | jnz @f |
|
- | 3010 | cmp ebx, [ebp+panel1_hFile-panel1_data] |
|
- | 3011 | jz .ret |
|
- | 3012 | @@: |
|
- | 3013 | mov esi, [ebp + panel1_parents_sz - panel1_data] |
|
- | 3014 | test esi, esi |
|
- | 3015 | jnz @f |
|
- | 3016 | inc esi |
|
- | 3017 | .ret: |
|
- | 3018 | ret |
|
- | 3019 | @@: |
|
- | 3020 | add esi, [ebp + panel1_parents - panel1_data] |
|
- | 3021 | @@: |
|
- | 3022 | dec esi |
|
- | 3023 | cmp byte [esi-1], 0 |
|
- | 3024 | jnz @b |
|
- | 3025 | sub esi, 9 |
|
- | 3026 | cmp edx, [esi] ; hPlugin |
|
- | 3027 | jnz .no |
|
- | 3028 | mov ebx, [esi+4] ; hFile |
|
- | 3029 | jz .ret |
|
- | 3030 | .no: |
|
- | 3031 | cmp esi, [ebp + panel1_parents - panel1_data] |
|
- | 3032 | jnz @b |
|
- | 3033 | inc esi |
|
- | 3034 | ret |
|
- | 3035 | ||
- | 3036 | panels_OnExit: |
|
- | 3037 | ; close plugin panels |
|
- | 3038 | mov ebp, panel1_data |
|
- | 3039 | call close_plugin_panels |
|
- | 3040 | mov ebp, panel2_data |
|
- | 3041 | call close_plugin_panels |
|
- | 3042 | ret |
|
2385 | 3043 | ||
2386 | panels_OnRedraw: |
3044 | panels_OnRedraw: |
2387 | call draw_cmdbar |
3045 | call draw_cmdbar |
2388 | mov ebp, panel1_data |
3046 | mov ebp, panel1_data |
2389 | call calc_colwidths |
3047 | call calc_colwidths |
Line 2456... | Line 3114... | ||
2456 | stosd |
3114 | stosd |
2457 | stosb |
3115 | stosb |
2458 | end if |
3116 | end if |
2459 | sub ecx, 13 |
3117 | sub ecx, 13 |
2460 | mov ebp, [active_panel] |
3118 | mov ebp, [active_panel] |
2461 | lea esi, [ebp + panel1_dir - panel1_data] |
- | |
2462 | push 3 |
3119 | push 3 |
2463 | pop edx |
3120 | pop edx |
- | 3121 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 3122 | jz .native |
|
- | 3123 | mov esi, [ebp + panel1_parents - panel1_data] |
|
- | 3124 | add esi, [ebp + panel1_parents_sz - panel1_data] |
|
- | 3125 | @@: |
|
- | 3126 | dec esi |
|
- | 3127 | cmp byte [esi-1], 0 |
|
- | 3128 | jz @f |
|
- | 3129 | cmp byte [esi-1], '/' |
|
- | 3130 | jnz @b |
|
- | 3131 | @@: |
|
- | 3132 | push ecx edi |
|
- | 3133 | shr ecx, 1 |
|
- | 3134 | @@: |
|
- | 3135 | lodsb |
|
- | 3136 | test al, al |
|
- | 3137 | jz @f |
|
- | 3138 | stosb |
|
- | 3139 | loop @b |
|
- | 3140 | @@: |
|
- | 3141 | sub edi, [esp] |
|
- | 3142 | sub [esp+4], edi |
|
- | 3143 | add [esp], edi |
|
- | 3144 | pop edi ecx |
|
- | 3145 | lea esi, [ebp + panel1_dir - panel1_data] |
|
- | 3146 | cmp byte [esi+1], 0 |
|
- | 3147 | jnz @f |
|
- | 3148 | inc esi |
|
- | 3149 | @@: |
|
- | 3150 | jmp .main |
|
- | 3151 | .native: |
|
- | 3152 | lea esi, [ebp + panel1_dir - panel1_data] |
|
2464 | @@: |
3153 | @@: |
2465 | lodsb |
3154 | lodsb |
2466 | stosb |
3155 | stosb |
2467 | dec ecx |
3156 | dec ecx |
2468 | test al, al |
3157 | test al, al |
Line 2475... | Line 3164... | ||
2475 | test al, al |
3164 | test al, al |
2476 | jnz @f |
3165 | jnz @f |
2477 | dec esi |
3166 | dec esi |
2478 | dec edi |
3167 | dec edi |
2479 | @@: |
3168 | @@: |
- | 3169 | .main: |
|
2480 | push esi |
3170 | push esi |
2481 | @@: |
3171 | @@: |
2482 | lodsb |
3172 | lodsb |
2483 | test al, al |
3173 | test al, al |
2484 | jnz @b |
3174 | jnz @b |
Line 2516... | Line 3206... | ||
2516 | movsb |
3206 | movsb |
2517 | dec ecx |
3207 | dec ecx |
2518 | jz .nodir |
3208 | jz .nodir |
2519 | cmp esi, [esp] |
3209 | cmp esi, [esp] |
2520 | jae @b |
3210 | jae @b |
- | 3211 | mov esi, [esp+4] |
|
2521 | mov al, '/' |
3212 | mov al, '/' |
2522 | stosb |
3213 | stosb |
2523 | dec ecx |
3214 | dec ecx |
2524 | jz .nodir |
3215 | jz .nodir |
2525 | mov esi, [esp+4] |
- | |
2526 | @@: |
3216 | @@: |
2527 | cmp esi, [esp+8] |
3217 | cmp esi, [esp+8] |
2528 | jb .nodir |
3218 | jb .nodir |
2529 | movsb |
3219 | movsb |
2530 | loop @b |
3220 | loop @b |
Line 3056... | Line 3746... | ||
3056 | loop .loop2 |
3746 | loop .loop2 |
3057 | pop eax |
3747 | pop eax |
3058 | and dword [edi], 0 |
3748 | and dword [edi], 0 |
3059 | ret |
3749 | ret |
Line -... | Line 3750... | ||
- | 3750 | ||
- | 3751 | GetPanelTitle_default: |
|
- | 3752 | mov edi, [esp+8] |
|
- | 3753 | mov ecx, 1024 |
|
- | 3754 | mov esi, [esp+12] |
|
- | 3755 | test esi, esi |
|
- | 3756 | jz .nohost |
|
- | 3757 | mov edx, esi |
|
- | 3758 | @@: |
|
- | 3759 | lodsb |
|
- | 3760 | test al, al |
|
- | 3761 | jz @f |
|
- | 3762 | cmp al, '/' |
|
- | 3763 | jnz @b |
|
- | 3764 | mov edx, esi |
|
- | 3765 | jmp @b |
|
- | 3766 | @@: |
|
- | 3767 | mov esi, edx |
|
- | 3768 | @@: |
|
- | 3769 | lodsb |
|
- | 3770 | stosb |
|
- | 3771 | test al, al |
|
- | 3772 | loopnz @b |
|
- | 3773 | dec edi |
|
- | 3774 | inc ecx |
|
- | 3775 | .nohost: |
|
- | 3776 | mov esi, [esp+16] |
|
- | 3777 | cmp word [esi], '/' |
|
- | 3778 | jz .nodir |
|
- | 3779 | @@: |
|
- | 3780 | lodsb |
|
- | 3781 | stosb |
|
- | 3782 | test al, al |
|
- | 3783 | loopnz @b |
|
- | 3784 | dec edi |
|
- | 3785 | .nodir: |
|
- | 3786 | mov byte [edi], 0 |
|
- | 3787 | ret 10h |
|
3060 | 3788 | ||
3061 | draw_panel: |
3789 | draw_panel: |
3062 | mov eax, [ebp + panel1_left - panel1_data] |
3790 | mov eax, [ebp + panel1_left - panel1_data] |
3063 | mov edx, [ebp + panel1_top - panel1_data] |
3791 | mov edx, [ebp + panel1_top - panel1_data] |
3064 | call get_console_ptr |
3792 | call get_console_ptr |
Line 3180... | Line 3908... | ||
3180 | pop ecx |
3908 | pop ecx |
3181 | dec ecx |
3909 | dec ecx |
3182 | jnz .columns_loop |
3910 | jnz .columns_loop |
3183 | ; £®«®¢®ª ¯ ¥«¨ (⥪ãé ï ¯ ¯ª ) |
3911 | ; £®«®¢®ª ¯ ¥«¨ (⥪ãé ï ¯ ¯ª ) |
3184 | lea esi, [ebp + panel1_dir - panel1_data] |
3912 | lea esi, [ebp + panel1_dir - panel1_data] |
- | 3913 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 3914 | test eax, eax |
|
- | 3915 | jz .native |
|
- | 3916 | push ebp |
|
- | 3917 | push esi |
|
- | 3918 | mov esi, [ebp + panel1_parents - panel1_data] |
|
- | 3919 | add esi, [ebp + panel1_parents_sz - panel1_data] |
|
- | 3920 | @@: |
|
- | 3921 | dec esi |
|
- | 3922 | cmp byte [esi-1], 0 |
|
- | 3923 | jnz @b |
|
- | 3924 | push esi |
|
- | 3925 | push execdata |
|
- | 3926 | push [ebp + panel1_hFile - panel1_data] |
|
- | 3927 | call [eax+PluginInfo.GetPanelTitle] |
|
- | 3928 | pop ebp |
|
- | 3929 | mov esi, execdata |
|
- | 3930 | .native: |
|
3185 | mov edi, cur_header |
3931 | mov edi, cur_header |
3186 | mov ecx, [ebp + panel1_width - panel1_data] |
3932 | mov ecx, [ebp + panel1_width - panel1_data] |
3187 | sub ecx, 7 |
3933 | sub ecx, 7 |
3188 | movsb |
3934 | movsb |
3189 | @@: |
3935 | @@: |
Line 4036... | Line 4782... | ||
4036 | mov dword [ebp + panel1_total_size+4 - panel1_data], eax |
4782 | mov dword [ebp + panel1_total_size+4 - panel1_data], eax |
4037 | mov [ebp + panel1_selected_num - panel1_data], eax |
4783 | mov [ebp + panel1_selected_num - panel1_data], eax |
4038 | mov dword [ebp + panel1_selected_size - panel1_data], eax |
4784 | mov dword [ebp + panel1_selected_size - panel1_data], eax |
4039 | mov dword [ebp + panel1_selected_size+4 - panel1_data], eax |
4785 | mov dword [ebp + panel1_selected_size+4 - panel1_data], eax |
4040 | .retry: |
4786 | .retry: |
- | 4787 | mov eax, [ebp + panel1_hPlugin - panel1_data] |
|
- | 4788 | test eax, eax |
|
- | 4789 | jz .native |
|
- | 4790 | mov ecx, [dirinfo.size] |
|
- | 4791 | test [ebp + panel1_plugin_flags - panel1_data], 1 |
|
- | 4792 | jz @f |
|
- | 4793 | dec ecx ; reserve one entry for '..' |
|
- | 4794 | @@: |
|
- | 4795 | push ebp |
|
- | 4796 | push [dirinfo.dirdata] |
|
- | 4797 | push ecx |
|
- | 4798 | push 0 |
|
- | 4799 | push [ebp + panel1_hFile - panel1_data] |
|
- | 4800 | call [eax + PluginInfo.ReadFolder] |
|
- | 4801 | pop ebp |
|
- | 4802 | mov ebx, [dirinfo.dirdata] |
|
- | 4803 | mov ebx, [ebx+4] |
|
- | 4804 | jmp .read |
|
- | 4805 | .native: |
|
4041 | push 70 |
4806 | push 70 |
4042 | pop eax |
4807 | pop eax |
4043 | mov ebx, dirinfo |
4808 | mov ebx, dirinfo |
4044 | int 40h |
4809 | int 40h |
- | 4810 | .read: |
|
4045 | test eax, eax |
4811 | test eax, eax |
4046 | jz .ok |
4812 | jz .ok |
4047 | cmp eax, 6 |
4813 | cmp eax, 6 |
4048 | jz .ok |
4814 | jz .ok |
4049 | ; Failed to read folder, notify user |
4815 | ; Failed to read folder, notify user |
Line 4059... | Line 4825... | ||
4059 | mov eax, esp |
4825 | mov eax, esp |
4060 | push edx |
4826 | push edx |
4061 | push 2 |
4827 | push 2 |
4062 | push eax |
4828 | push eax |
4063 | push 3 |
4829 | push 3 |
4064 | push -1 |
- | |
4065 | push -1 |
- | |
4066 | push dword aError |
- | |
4067 | call SayErr |
4830 | call SayErr |
4068 | add esp, 5*4 |
4831 | add esp, 5*4 |
4069 | test eax, eax |
4832 | test eax, eax |
4070 | jz .retry |
4833 | jz .retry |
4071 | .dont_notify: |
4834 | .dont_notify: |
- | 4835 | ; If not on plugin panel, try to return to previous directory |
|
- | 4836 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 4837 | jnz @f |
|
4072 | mov esi, prev_dir |
4838 | mov esi, prev_dir |
4073 | cmp byte [esi], 0 |
4839 | cmp byte [esi], 0 |
4074 | jz @f |
4840 | jz @f |
4075 | lea edi, [ebp + panel1_dir - panel1_data] |
4841 | lea edi, [ebp + panel1_dir - panel1_data] |
4076 | mov ecx, 1024/4 |
4842 | mov ecx, 1024/4 |
4077 | rep movsd |
4843 | rep movsd |
4078 | mov byte [prev_dir], 0 |
4844 | mov byte [prev_dir], 0 |
4079 | ret |
4845 | ret |
4080 | @@: |
4846 | @@: |
4081 | mov [bSilentFolderMode], 1 ; enter silent mode |
4847 | mov [bSilentFolderMode], 1 ; enter silent mode |
- | 4848 | ; Try to read parent folder |
|
4082 | mov esi, [dirinfo.name] |
4849 | mov esi, [dirinfo.name] |
4083 | xor edx, edx |
4850 | xor edx, edx |
4084 | .up1: |
4851 | .up1: |
4085 | lodsb |
4852 | lodsb |
4086 | test al, al |
4853 | test al, al |
Line 4089... | Line 4856... | ||
4089 | jnz .up1 |
4856 | jnz .up1 |
4090 | inc edx |
4857 | inc edx |
4091 | lea edi, [esi-1] |
4858 | lea edi, [esi-1] |
4092 | jmp .up1 |
4859 | jmp .up1 |
4093 | .up1done: |
4860 | .up1done: |
- | 4861 | cmp [ebp + panel1_hPlugin - panel1_data], 0 |
|
- | 4862 | jz .4 |
|
- | 4863 | cmp edx, 1 |
|
- | 4864 | ja .up |
|
- | 4865 | ; ç⥨¥ á ¯ ¥«¨ ¯« £¨ ®¡«®¬ «®áì ¯® ¯®«®© |
|
- | 4866 | ; ¯à¨ í⮬ ¬ë 㦥 ¢ ª®à¥ |
|
- | 4867 | ; ¤¥« ¥¬ ¢¨¤, çâ® äãªæ¨ï çâ¥¨ï ¢¥àã« 0 í«¥¬¥â®¢ |
|
- | 4868 | ; (¥á«¨ 㦥 ¢å®¤ "..", ® ¡ã¤¥â ¤®¡ ¢«¥ ¢â®¬ â¨ç¥áª¨) |
|
- | 4869 | xor ebx, ebx ; 0 items read |
|
- | 4870 | mov eax, [dirinfo.dirdata] |
|
- | 4871 | mov [eax+8], ebx ; 0 items total |
|
- | 4872 | jmp .ok |
|
- | 4873 | .4: |
|
4094 | cmp edx, 2 |
4874 | cmp edx, 2 |
4095 | jbe .noup |
4875 | jbe .noup |
- | 4876 | .up: |
|
4096 | stosb |
4877 | stosb |
4097 | jmp read_folder |
4878 | jmp read_folder |
4098 | .noup: |
4879 | .noup: |
- | 4880 | ; There is no parent folder, and we are not on plugin panel |
|
- | 4881 | ; Try to read ramdisk |
|
4099 | mov esi, [dirinfo.name] |
4882 | mov esi, [dirinfo.name] |
4100 | mov edi, esi |
4883 | mov edi, esi |
4101 | lodsd |
4884 | lodsd |
4102 | or eax, 0x00202000 |
4885 | or eax, 0x00202000 |
4103 | cmp eax, '/rd/' |
4886 | cmp eax, '/rd/' |
Line 4140... | Line 4923... | ||
4140 | mov [ebp + panel1_files - panel1_data], eax |
4923 | mov [ebp + panel1_files - panel1_data], eax |
4141 | pop [ebp + panel1_nfa - panel1_data] |
4924 | pop [ebp + panel1_nfa - panel1_data] |
4142 | mov [prev_dir], 0 |
4925 | mov [prev_dir], 0 |
4143 | jmp read_folder |
4926 | jmp read_folder |
4144 | .readdone: |
4927 | .readdone: |
- | 4928 | xor edx, edx |
|
4145 | and [ebp + panel1_start - panel1_data], 0 |
4929 | mov [ebp + panel1_start - panel1_data], edx |
4146 | and [ebp + panel1_index - panel1_data], 0 |
4930 | mov [ebp + panel1_index - panel1_data], edx |
4147 | and [ebp + panel1_start - panel1_data], 0 |
4931 | mov [ebp + panel1_start - panel1_data], edx |
4148 | mov edi, [ebp + panel1_files - panel1_data] |
4932 | mov edi, [ebp + panel1_files - panel1_data] |
4149 | mov eax, [ebp + panel1_nfa - panel1_data] |
4933 | mov eax, [ebp + panel1_nfa - panel1_data] |
4150 | lea eax, [edi + eax*4 + 32] |
4934 | lea eax, [edi + eax*4 + 32] |
4151 | mov ecx, [eax-32+4] |
4935 | mov ecx, [eax-32+4] |
4152 | test ecx, ecx |
4936 | test ecx, ecx |
4153 | jz .loopdone |
4937 | jz .loopdone |
4154 | xor edx, edx |
- | |
4155 | ; £®à¨à㥬 á¯¥æ¨ «ìë¥ ¢å®¤ë, ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¥ '.' ¨ ¬¥âª¥ ⮬ |
4938 | ; £®à¨à㥬 á¯¥æ¨ «ìë¥ ¢å®¤ë, ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¥ '.' ¨ ¬¥âª¥ ⮬ |
4156 | .ptrinit: |
4939 | .ptrinit: |
4157 | cmp word [eax+40], '.' |
4940 | cmp word [eax+40], '.' |
4158 | jz .loopcont |
4941 | jz .loopcont |
4159 | test byte [eax], 8 |
4942 | test byte [eax], 8 |
Line 4190... | Line 4973... | ||
4190 | mov ebx, dword [eax+36] |
4973 | mov ebx, dword [eax+36] |
4191 | adc dword [ebp + panel1_total_size+4 - panel1_data], ebx |
4974 | adc dword [ebp + panel1_total_size+4 - panel1_data], ebx |
4192 | .dotdot: |
4975 | .dotdot: |
4193 | ; ¯®¤á¢¥âª |
4976 | ; ¯®¤á¢¥âª |
4194 | ; call insert_last_dot |
4977 | ; call insert_last_dot |
- | 4978 | call highlight_init |
|
- | 4979 | ; call delete_last_dot |
|
- | 4980 | .loopcont: |
|
- | 4981 | add eax, 304 |
|
- | 4982 | dec ecx |
|
- | 4983 | jnz .ptrinit |
|
- | 4984 | .loopdone: |
|
- | 4985 | push edi |
|
- | 4986 | sub edi, [ebp + panel1_files - panel1_data] |
|
- | 4987 | shr edi, 2 |
|
- | 4988 | mov [ebp + panel1_numfiles - panel1_data], edi |
|
- | 4989 | pop edi |
|
- | 4990 | test edx, edx |
|
- | 4991 | jnz @f |
|
- | 4992 | test [ebp + panel1_plugin_flags - panel1_data], 1 |
|
- | 4993 | jz @f |
|
- | 4994 | mov ecx, [ebp + panel1_numfiles - panel1_data] |
|
- | 4995 | inc [ebp + panel1_numfiles - panel1_data] |
|
- | 4996 | lea esi, [edi-4] |
|
- | 4997 | std |
|
- | 4998 | rep movsd |
|
- | 4999 | cld |
|
- | 5000 | mov eax, left_dotdot_entry |
|
- | 5001 | cmp ebp, panel1_data |
|
- | 5002 | jz .zq |
|
- | 5003 | add eax, right_dotdot_entry-left_dotdot_entry |
|
- | 5004 | .zq: |
|
- | 5005 | stosd |
|
- | 5006 | call highlight_init |
|
- | 5007 | @@: |
|
- | 5008 | ; ®àâ¨à®¢ª |
|
- | 5009 | sort_files: |
|
- | 5010 | movzx eax, [ebp + panel1_sortmode - panel1_data] |
|
- | 5011 | mov ebx, [compare_fns + eax*4] |
|
- | 5012 | .mode: |
|
- | 5013 | mov edx, [ebp + panel1_files - panel1_data] |
|
- | 5014 | mov ecx, [ebp + panel1_numfiles - panel1_data] |
|
- | 5015 | jecxz .skip |
|
- | 5016 | mov eax, [edx] |
|
- | 5017 | cmp word [eax+40], '..' |
|
- | 5018 | jnz .nodotdot |
|
- | 5019 | cmp byte [eax+42], 0 |
|
- | 5020 | jnz .nodotdot |
|
- | 5021 | dec ecx |
|
- | 5022 | add edx, 4 |
|
- | 5023 | .nodotdot: |
|
- | 5024 | call sort |
|
- | 5025 | .skip: |
|
- | 5026 | mov [bSilentFolderMode], 0 ; leave silent mode |
|
- | 5027 | ret |
|
- | 5028 | ||
- | 5029 | highlight_init: |
|
4195 | pushad |
5030 | pushad |
4196 | mov ebp, eax |
5031 | mov ebp, eax |
4197 | lea esi, [ebp+40] |
5032 | lea esi, [ebp+40] |
4198 | mov edi, lower_file_name |
5033 | mov edi, lower_file_name |
4199 | mov edx, edi |
5034 | mov edx, edi |
Line 4254... | Line 5089... | ||
4254 | mov ah, [panel_selected_color] |
5089 | mov ah, [panel_selected_color] |
4255 | mov [ebp+6], ah |
5090 | mov [ebp+6], ah |
4256 | mov ah, [panel_selected_cursor_color] |
5091 | mov ah, [panel_selected_cursor_color] |
4257 | mov [ebp+7], ah |
5092 | mov [ebp+7], ah |
4258 | .doname: |
5093 | .doname: |
4259 | ; call delete_last_dot |
- | |
4260 | popad |
5094 | popad |
4261 | .loopcont: |
- | |
4262 | add eax, 304 |
- | |
4263 | dec ecx |
- | |
4264 | jnz .ptrinit |
- | |
4265 | .loopdone: |
- | |
4266 | sub edi, [ebp + panel1_files - panel1_data] |
- | |
4267 | shr edi, 2 |
- | |
4268 | mov [ebp + panel1_numfiles - panel1_data], edi |
- | |
4269 | .done: |
- | |
4270 | ; ®àâ¨à®¢ª |
- | |
4271 | sort_files: |
- | |
4272 | movzx eax, [ebp + panel1_sortmode - panel1_data] |
- | |
4273 | mov ebx, [compare_fns + eax*4] |
- | |
4274 | mov edx, [ebp + panel1_files - panel1_data] |
- | |
4275 | mov ecx, [ebp + panel1_numfiles - panel1_data] |
- | |
4276 | jecxz .skip |
- | |
4277 | mov eax, [edx] |
- | |
4278 | cmp word [eax+40], '..' |
- | |
4279 | jnz .nodotdot |
- | |
4280 | cmp byte [eax+42], 0 |
- | |
4281 | jnz .nodotdot |
- | |
4282 | dec ecx |
- | |
4283 | add edx, 4 |
- | |
4284 | .nodotdot: |
- | |
4285 | call sort |
- | |
4286 | .skip: |
- | |
4287 | mov [bSilentFolderMode], 0 ; leave silent mode |
- | |
4288 | ret |
5095 | ret |
Line 4289... | Line 5096... | ||
4289 | 5096 | ||
4290 | compare_name: |
5097 | compare_name: |
4291 | test byte [esi], 10h |
5098 | test byte [esi], 10h |
Line 4687... | Line 5494... | ||
4687 | .less: |
5494 | .less: |
4688 | xor edi, edi |
5495 | xor edi, edi |
4689 | stc |
5496 | stc |
4690 | ret |
5497 | ret |
Line -... | Line 5498... | ||
- | 5498 | ||
- | 5499 | ReadFolder_default: |
|
- | 5500 | mov eax, 2 |
|
- | 5501 | ret 10h |
|
4691 | 5502 | ||
- | 5503 | if 0 |
|
4692 | if 0 |
5504 | ; Following subroutines work, but are slow |
4693 | match_mask: |
5505 | match_mask: |
4694 | ; in: esi->name, edi->mask |
5506 | ; in: esi->name, edi->mask |
4695 | ; out: CF clear <=> match |
5507 | ; out: CF clear <=> match |
4696 | pusha |
5508 | pusha |
Line 5271... | Line 6083... | ||
5271 | stc |
6083 | stc |
5272 | .found: |
6084 | .found: |
5273 | pop esi |
6085 | pop esi |
5274 | ret |
6086 | ret |
Line 5275... | Line 6087... | ||
5275 | 6087 | ||
Line 5276... | Line 6088... | ||
5276 | header db 'Kolibri Far 0.35',0 |
6088 | header db 'Kolibri Far ',version,0 |
5277 | 6089 | ||
Line 5278... | Line 6090... | ||
5278 | nomem_draw db 'No memory for redraw.',0 |
6090 | nomem_draw db 'No memory for redraw.',0 |
Line 5701... | Line 6513... | ||
5701 | screen_vtable: |
6513 | screen_vtable: |
5702 | .OnRedraw dd ? |
6514 | .OnRedraw dd ? |
5703 | .OnKey dd ? |
6515 | .OnKey dd ? |
5704 | .keybar dd ? |
6516 | .keybar dd ? |
5705 | .getname dd ? |
6517 | .getname dd ? |
- | 6518 | .OnExit dd ? |
|
- | 6519 | .IsHandleUsed dd ? |
|
5706 | end virtual |
6520 | end virtual |
Line 5707... | Line 6521... | ||
5707 | 6521 | ||
5708 | panels_vtable: |
6522 | panels_vtable: |
5709 | dd panels_OnRedraw |
6523 | dd panels_OnRedraw |
5710 | dd panels_OnKey |
6524 | dd panels_OnKey |
5711 | dd keybar_panels |
6525 | dd keybar_panels |
- | 6526 | dd panels_getname |
|
- | 6527 | dd panels_OnExit |
|
Line 5712... | Line 6528... | ||
5712 | dd panels_getname |
6528 | dd panels_IsHandleUsed |
5713 | 6529 | ||
5714 | viewer_vtable: |
6530 | viewer_vtable: |
5715 | dd viewer_OnRedraw |
6531 | dd viewer_OnRedraw |
5716 | dd viewer_OnKey |
6532 | dd viewer_OnKey |
- | 6533 | dd keybar_viewer |
|
- | 6534 | dd viewer_getname |
|
Line 5717... | Line 6535... | ||
5717 | dd keybar_viewer |
6535 | dd viewer_OnExit |
5718 | dd viewer_getname |
6536 | dd viewer_IsHandleUsed |
5719 | 6537 | ||
5720 | ; additions to this table require changes in tools.inc::get_error_msg |
6538 | ; additions to this table require changes in tools.inc::get_error_msg |
Line 6291... | Line 7109... | ||
6291 | dd aSkipAll |
7109 | dd aSkipAll |
6292 | dd a_Cancel |
7110 | dd a_Cancel |
6293 | ContinueBtn: |
7111 | ContinueBtn: |
6294 | dd aContinue |
7112 | dd aContinue |
Line -... | Line 7113... | ||
- | 7113 | ||
6295 | 7114 | aCannotOpenFile_ptr dd aCannotOpenFile |
|
6296 | if lang eq ru |
7115 | if lang eq ru |
6297 | aDeleteCaption db '¤ «¥¨¥',0 |
7116 | aDeleteCaption db '¤ «¥¨¥',0 |
6298 | aConfirmDeleteText db 'ë å®â¨â¥ 㤠«¨âì',0 |
7117 | aConfirmDeleteText db 'ë å®â¨â¥ 㤠«¨âì',0 |
6299 | aDeleteFolder db ' ¯ ¯ªã',0 |
7118 | aDeleteFolder db ' ¯ ¯ªã',0 |
Line 6352... | Line 7171... | ||
6352 | aName db 3,'•' |
7171 | aName db 3,'•' |
6353 | aSize db 6,' §¬¥à' |
7172 | aSize db 6,' §¬¥à' |
6354 | aDate db 4,' â ' |
7173 | aDate db 4,' â ' |
6355 | aTime db 5,'६ï' |
7174 | aTime db 5,'६ï' |
6356 | aCannotLoadDLL db '¥ ¬®£ã § £à㧨âì DLL',0 |
7175 | aCannotLoadDLL db '¥ ¬®£ã § £à㧨âì DLL',0 |
- | 7176 | aCannotLoadPlugin db '¥ ¬®£ã § £à㧨âì ¯« £¨',0 |
|
6357 | aInvalidDLL db ' ©« ¥ ©¤¥ ¨«¨ ¨¬¥¥â ¥¢¥àë© ä®à¬ â',0 |
7177 | aInvalidDLL db ' ©« ¥ ©¤¥ ¨«¨ ¨¬¥¥â ¥¢¥àë© ä®à¬ â',0 |
6358 | aMissingExport db '¥®¡å®¤¨¬ ï äãªæ¨ï ¥ ©¤¥ ',0 |
7178 | aMissingExport db '¥®¡å®¤¨¬ ï äãªæ¨ï ¥ ©¤¥ ',0 |
6359 | aInitFailed db '訡ª ¯à¨ ¨¨æ¨ «¨§ 樨',0 |
7179 | aInitFailed db '訡ª ¯à¨ ¨¨æ¨ «¨§ 樨',0 |
6360 | aIncompatibleVersion db '¥á®¢¬¥á⨬ ï ¢¥àá¨ï',0 |
7180 | aIncompatibleVersion db '¥á®¢¬¥á⨬ ï ¢¥àá¨ï',0 |
6361 | aTables db ' ¡«¨æë',0 |
7181 | aTables db ' ¡«¨æë',0 |
6362 | aSelect db '®¬¥â¨âì',0 |
7182 | aSelect db '®¬¥â¨âì',0 |
6363 | aDeselect db 'ïâì',0 |
7183 | aDeselect db 'ïâì',0 |
- | 7184 | aCannotOpenFile db '訡ª ¯à¨ ®âªàë⨨ ä ©« ',0 |
|
- | 7185 | aCannotSetFolder db '¥ ¬®£ã § ©â¨ ¢ ¯ ¯ªã',0 |
|
6364 | else |
7186 | else |
6365 | aDeleteCaption db 'Delete',0 |
7187 | aDeleteCaption db 'Delete',0 |
6366 | aConfirmDeleteText db 'Do you wish to delete',0 |
7188 | aConfirmDeleteText db 'Do you wish to delete',0 |
6367 | aDeleteFolder db ' the folder',0 |
7189 | aDeleteFolder db ' the folder',0 |
6368 | aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2 |
7190 | aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2 |
Line 6424... | Line 7246... | ||
6424 | aName db 4,'Name' |
7246 | aName db 4,'Name' |
6425 | aSize db 4,'Size' |
7247 | aSize db 4,'Size' |
6426 | aDate db 4,'Date' |
7248 | aDate db 4,'Date' |
6427 | aTime db 4,'Time' |
7249 | aTime db 4,'Time' |
6428 | aCannotLoadDLL db 'Cannot load DLL',0 |
7250 | aCannotLoadDLL db 'Cannot load DLL',0 |
- | 7251 | aCannotLoadPlugin db 'Cannot load plugin',0 |
|
6429 | aInvalidDLL db 'File is not found or invalid',0 |
7252 | aInvalidDLL db 'File is not found or invalid',0 |
6430 | aMissingExport db 'Required function is not present',0 |
7253 | aMissingExport db 'Required function is not present',0 |
6431 | aInitFailed db 'Initialization failed',0 |
7254 | aInitFailed db 'Initialization failed',0 |
6432 | aIncompatibleVersion db 'Incompatible version',0 |
7255 | aIncompatibleVersion db 'Incompatible version',0 |
6433 | aTables db 'Tables',0 |
7256 | aTables db 'Tables',0 |
6434 | aSelect db 'Select',0 |
7257 | aSelect db 'Select',0 |
6435 | aDeselect db 'Deselect',0 |
7258 | aDeselect db 'Deselect',0 |
- | 7259 | aCannotOpenFile db 'Cannot open the file',0 |
|
- | 7260 | aCannotSetFolder db 'Cannot enter to folder',0 |
|
6436 | end if |
7261 | end if |
Line 6437... | Line 7262... | ||
6437 | 7262 | ||
6438 | aOk db 'OK',0 |
7263 | aOk db 'OK',0 |
6439 | aNoMemory db 'No memory!' |
7264 | aNoMemory db 'No memory!' |
- | 7265 | nullstr db 0 |
|
- | 7266 | aUntitled db 'untitled',0 |
|
6440 | nullstr db 0 |
7267 | aDotDot db '..',0,0 |
6441 | standard_dll_path: |
7268 | standard_dll_path: |
6442 | libini_name db '/sys/dll/' |
7269 | libini_name db '/sys/dll/' |
6443 | standard_dll_path_size = $ - standard_dll_path |
7270 | standard_dll_path_size = $ - standard_dll_path |
6444 | db 'libini.obj',0 |
7271 | db 'libini.obj',0 |
6445 | aStart db 'START',0 |
7272 | aStart db 'START',0 |
6446 | aLibInit db 'lib_init',0 |
7273 | aLibInit db 'lib_init',0 |
6447 | aVersion db 'version',0 |
7274 | aVersion db 'version',0 |
6448 | aIniGetInt db 'ini.get_int',0 |
7275 | aIniGetInt db 'ini.get_int',0 |
- | 7276 | aIniGetStr db 'ini.get_str',0 |
|
6449 | aIniGetStr db 'ini.get_str',0 |
7277 | aIniSetInt db 'ini.set_int',0 |
- | 7278 | aIniEnumKeys db 'ini.enum_keys',0 |
|
- | 7279 | aPluginLoad db 'plugin_load',0 |
|
- | 7280 | aPluginUnload db 'plugin_unload',0 |
|
- | 7281 | aGetattr db 'getattr',0 |
|
- | 7282 | aOpen db 'open',0 |
|
- | 7283 | aRead db 'read',0 |
|
- | 7284 | aSetpos db 'setpos',0 |
|
- | 7285 | aClose db 'close',0 |
|
- | 7286 | aOpenFilePlugin db 'OpenFilePlugin',0 |
|
- | 7287 | aClosePlugin db 'ClosePlugin',0 |
|
- | 7288 | aReadFolder db 'ReadFolder',0 |
|
- | 7289 | aSetFolder db 'SetFolder',0 |
|
- | 7290 | aGetOpenPluginInfo db 'GetOpenPluginInfo',0 |
|
- | 7291 | aGetPanelTitle db 'GetPanelTitle',0 |
|
Line 6450... | Line 7292... | ||
6450 | aIniEnumKeys db 'ini.enum_keys',0 |
7292 | aGetFiles db 'GetFiles',0 |
6451 | 7293 | ||
6452 | aConfirmations db 'Confirmations',0 |
7294 | aConfirmations db 'Confirmations',0 |
Line -... | Line 7295... | ||
- | 7295 | aConfirmDelete db 'Delete',0 |
|
- | 7296 | aConfirmDeleteIncomplete db 'DeleteIncomplete',0 |
|
- | 7297 | ||
- | 7298 | aPanels db 'Panels',0 |
|
6453 | aConfirmDelete db 'Delete',0 |
7299 | aLeftViewMode db 'LeftViewMode',0 |
- | 7300 | aRightViewMode db 'RightViewMode',0 |
|
6454 | aConfirmDeleteIncomplete db 'DeleteIncomplete',0 |
7301 | |
6455 | 7302 | aAssociations db 'Associations',0 |
|
6456 | aAssociations db 'Associations',0 |
7303 | aPlugins db 'Plugins',0 |
6457 | aMenu db 'Menu',0 |
7304 | aMenu db 'Menu',0 |
Line 6458... | Line 7305... | ||
6458 | aFolderShortcuts db 'FolderShortcuts',0 |
7305 | aFolderShortcuts db 'FolderShortcuts',0 |
6459 | aShortcut db 'Shortcut' |
7306 | aShortcut db 'Shortcut' |
6460 | .d db '0',0 |
7307 | .d db '0',0 |
6461 | 7308 | ||
6462 | align 4 |
7309 | align 4 |
- | 7310 | ini_import: |
|
6463 | ini_import: |
7311 | ini.get_int dd aIniGetInt |
Line -... | Line 7312... | ||
- | 7312 | ini.get_str dd aIniGetStr |
|
- | 7313 | ini.enum_keys dd aIniEnumKeys |
|
- | 7314 | ini.set_int dd aIniSetInt |
|
- | 7315 | dd 0 |
|
- | 7316 | ||
- | 7317 | plugin_exported: |
|
- | 7318 | dd aPluginUnload |
|
- | 7319 | dd aGetattr |
|
- | 7320 | dd aOpen |
|
- | 7321 | dd aRead |
|
- | 7322 | dd aSetpos |
|
- | 7323 | dd aClose |
|
- | 7324 | dd aOpenFilePlugin |
|
- | 7325 | dd aClosePlugin |
|
- | 7326 | dd aReadFolder |
|
- | 7327 | dd aSetFolder |
|
- | 7328 | dd aGetOpenPluginInfo |
|
- | 7329 | dd aGetPanelTitle |
|
- | 7330 | dd aGetFiles |
|
- | 7331 | dd 0 |
|
- | 7332 | plugin_exported_default: |
|
- | 7333 | dd plugin_unload_default |
|
- | 7334 | dd getattr_default |
|
- | 7335 | dd open_default |
|
- | 7336 | dd read |
|
- | 7337 | dd setpos_default |
|
- | 7338 | dd close |
|
- | 7339 | dd OpenFilePlugin_default |
|
- | 7340 | dd ClosePlugin_default |
|
- | 7341 | dd ReadFolder_default |
|
- | 7342 | dd SetFolder_default |
|
- | 7343 | dd GetOpenPluginInfo_default |
|
- | 7344 | dd GetPanelTitle_default |
|
- | 7345 | dd GetFiles_default |
|
- | 7346 | ||
- | 7347 | kfar_info: |
|
- | 7348 | dd .size |
|
- | 7349 | dd version_dword |
|
- | 7350 | dd open |
|
- | 7351 | dd read |
|
- | 7352 | dd -1 ; write: to be implemented |
|
- | 7353 | dd seek |
|
- | 7354 | dd -1 ; flush: to be implemented |
|
- | 7355 | dd filesize |
|
- | 7356 | dd close |
|
- | 7357 | dd xpgalloc |
|
- | 7358 | dd xpgrealloc |
|
- | 7359 | dd pgfree |
|
- | 7360 | dd getfreemem |
|
- | 7361 | dd libini_alloc |
|
- | 7362 | dd libini_realloc |
|
- | 7363 | dd libini_free |
|
- | 7364 | dd menu |
|
- | 7365 | dd menu_centered_in |
|
- | 7366 | dd DialogBox |
|
- | 7367 | dd SayErr |
|
- | 7368 | dd Message |
|
- | 7369 | dd cur_width |
|
- | 7370 | .size = $ - kfar_info |
|
- | 7371 | ||
- | 7372 | plugins dd 0 |
|
- | 7373 | num_plugins dd 0 |
|
- | 7374 | alloc_plugins dd 0 |
|
- | 7375 | ||
- | 7376 | virtual at 0 |
|
- | 7377 | PluginInfo: |
|
- | 7378 | .unload dd ? |
|
- | 7379 | .getattr dd ? |
|
- | 7380 | .open dd ? |
|
- | 7381 | .read dd ? |
|
- | 7382 | .setpos dd ? |
|
- | 7383 | .close dd ? |
|
- | 7384 | .OpenFilePlugin dd ? |
|
- | 7385 | .ClosePlugin dd ? |
|
- | 7386 | .ReadFolder dd ? |
|
- | 7387 | .SetFolder dd ? |
|
- | 7388 | .GetOpenPluginInfo dd ? |
|
6464 | ini.get_int dd aIniGetInt |
7389 | .GetPanelTitle dd ? |
6465 | ini.get_str dd aIniGetStr |
7390 | .GetFiles dd ? |
6466 | ini.enum_keys dd aIniEnumKeys |
7391 | .size = $ |
6467 | dd 0 |
7392 | end virtual |
6468 | 7393 | ||
Line 6590... | Line 7515... | ||
6590 | panel1_sortmode db ? |
7515 | panel1_sortmode db ? |
6591 | rb 3 |
7516 | rb 3 |
6592 | panel1_nfa dd ? |
7517 | panel1_nfa dd ? |
6593 | panel1_numfiles dd ? |
7518 | panel1_numfiles dd ? |
6594 | panel1_files dd ? |
7519 | panel1_files dd ? |
- | 7520 | panel1_hPlugin dd ? |
|
- | 7521 | panel1_hFile dd ? |
|
- | 7522 | panel1_parents dd ? |
|
- | 7523 | panel1_parents_sz dd ? |
|
- | 7524 | panel1_parents_alloc dd ? |
|
6595 | panel1_colmode dd ? |
7525 | panel1_colmode dd ? |
6596 | panel1_colwidths rd 16+1 |
7526 | panel1_colwidths rd 16+1 |
6597 | panel1_total_num dd ? |
7527 | panel1_total_num dd ? |
6598 | panel1_total_size dq ? |
7528 | panel1_total_size dq ? |
6599 | panel1_selected_num dd ? |
7529 | panel1_selected_num dd ? |
6600 | panel1_selected_size dq ? |
7530 | panel1_selected_size dq ? |
- | 7531 | panel1_plugin_info: |
|
- | 7532 | panel1_plugin_flags dd ? |
|
6601 | panel1_dir rb 1024 |
7533 | panel1_dir rb 1024 |
Line 6602... | Line 7534... | ||
6602 | 7534 | ||
6603 | panel2_data: |
7535 | panel2_data: |
6604 | panel2_left dd ? |
7536 | panel2_left dd ? |
Line 6612... | Line 7544... | ||
6612 | panel2_sortmode db ? |
7544 | panel2_sortmode db ? |
6613 | rb 3 |
7545 | rb 3 |
6614 | panel2_nfa dd ? |
7546 | panel2_nfa dd ? |
6615 | panel2_numfiles dd ? |
7547 | panel2_numfiles dd ? |
6616 | panel2_files dd ? |
7548 | panel2_files dd ? |
- | 7549 | panel2_hPlugin dd ? |
|
- | 7550 | panel2_hFile dd ? |
|
- | 7551 | panel2_parents dd ? |
|
- | 7552 | panel2_parents_sz dd ? |
|
- | 7553 | panel2_parents_alloc dd ? |
|
6617 | panel2_colmode dd ? |
7554 | panel2_colmode dd ? |
6618 | panel2_colwidths rd 16+1 |
7555 | panel2_colwidths rd 16+1 |
6619 | panel2_total_num dd ? |
7556 | panel2_total_num dd ? |
6620 | panel2_total_size dq ? |
7557 | panel2_total_size dq ? |
6621 | panel2_selected_num dd ? |
7558 | panel2_selected_num dd ? |
6622 | panel2_selected_size dq ? |
7559 | panel2_selected_size dq ? |
- | 7560 | panel2_plugin_info: |
|
- | 7561 | panel2_plugin_flags dd ? |
|
6623 | panel2_dir rb 1024 |
7562 | panel2_dir rb 1024 |
Line 6624... | Line 7563... | ||
6624 | 7563 | ||
Line 6625... | Line 7564... | ||
6625 | ;console_data rb max_width*max_height*2 |
7564 | ;console_data rb max_width*max_height*2 |
Line 6668... | Line 7607... | ||
6668 | screens dd ? |
7607 | screens dd ? |
6669 | num_screens dd ? |
7608 | num_screens dd ? |
6670 | active_screen_vtable dd ? |
7609 | active_screen_vtable dd ? |
6671 | active_screen_data dd ? |
7610 | active_screen_data dd ? |
Line -... | Line 7611... | ||
- | 7611 | ||
- | 7612 | default_attr dd ? |
|
- | 7613 | left_dotdot_entry rb 40+3 ; 40 bytes for attributes + '..' |
|
- | 7614 | right_dotdot_entry rb 40+3 |
|
6672 | 7615 | ||
6673 | aConfirmDeleteTextBuf rb aConfirmDeleteTextMax + 1 |
7616 | aConfirmDeleteTextBuf rb aConfirmDeleteTextMax + 1 |
6674 | CopySourceTextBuf rb 512 |
7617 | CopySourceTextBuf rb 512 |
6675 | CopyDestEditBuf rb 12+512+1 |
7618 | CopyDestEditBuf rb 12+512+1 |
Line 6684... | Line 7627... | ||
6684 | layout rb 128 |
7627 | layout rb 128 |
Line 6685... | Line 7628... | ||
6685 | 7628 | ||
6686 | copy_buffer_size = 65536 |
7629 | copy_buffer_size = 65536 |
Line -... | Line 7630... | ||
- | 7630 | copy_buffer rb copy_buffer_size |
|
- | 7631 | ||
- | 7632 | filedata_buffer_size = 1024 |
|
- | 7633 | filedata_buffer rb filedata_buffer_size |
|
- | 7634 | ||
- | 7635 | source_hModule dd ? |
|
6687 | copy_buffer rb copy_buffer_size |
7636 | source_hPlugin dd ? |
6688 | 7637 | source_hFile dd ? |
|
6689 | ; data for directory delete |
7638 | ; data for directory delete |
6690 | ; If directory nested level is >1024, then its full name is too big, |
7639 | ; If directory nested level is >1024, then its full name is too big, |
6691 | ; so we see the overflow when creating full name (we check for this!) |
7640 | ; so we see the overflow when creating full name (we check for this!) |
Line 6699... | Line 7648... | ||
6699 | copy_dir_query_size = del_dir_query_size |
7648 | copy_dir_query_size = del_dir_query_size |
6700 | copy_dir_query_area = del_dir_query_area |
7649 | copy_dir_query_area = del_dir_query_area |
6701 | del_bSkipAll db ? ; for directory errors |
7650 | del_bSkipAll db ? ; for directory errors |
6702 | label copy_bSkipAll byte at del_bSkipAll |
7651 | label copy_bSkipAll byte at del_bSkipAll |
6703 | copy_bSkipAll2 db ? ; for file read/write errors |
7652 | copy_bSkipAll2 db ? ; for file read/write errors |
- | 7653 | copy_bSkipAll3 db ? ; for SetFolder errors |
|
Line 6704... | Line 7654... | ||
6704 | 7654 | ||
6705 | bEndSlash db ? |
7655 | bEndSlash db ? |
6706 | bDestIsFolder db ? |
7656 | bDestIsFolder db ? |
Line 6707... | Line 7657... | ||
6707 | bNeedRestoreName db ? |
7657 | bNeedRestoreName db ? |
6708 | 7658 | ||
6709 | ; stack |
7659 | ; stack |
6710 | align 4 |
7660 | align 4 |
Line 6711... | Line 7661... | ||
6711 | rb 512 |
7661 | rb 32768 |