Subversion Repositories Kolibri OS

Rev

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

Rev 2055 Rev 2144
Line 66... Line 66...
66
	call	dword [sort_init]
66
	call	dword [sort_init]
67
; unpack deflate
67
; unpack deflate
68
	mov	eax,[unpack_DeflateUnpack2]
68
	mov	eax,[unpack_DeflateUnpack2]
69
	mov	[deflate_unpack],eax
69
	mov	[deflate_unpack],eax
Line -... Line 70...
-
 
70
 
-
 
71
	mov	esi,start_pach
-
 
72
	mov	edi,previous_dir_path
-
 
73
	call	copy_dir_name.1
70
 
74
	
71
	call	load_root_directory
75
	call	load_root_directory
72
	call	load_start_directory
76
	call	load_start_directory
73
	call	sort_directory
77
	call	sort_directory
74
	call	load_icons
78
	call	load_icons
Line 349... Line 353...
349
;	xor	eax,eax
353
;	xor	eax,eax
350
;	mov	[focus_pointer],al
354
;	mov	[focus_pointer],al
351
;	mcall	66,1,1
355
;	mcall	66,1,1
Line 352... Line 356...
352
 
356
 
353
;	xor	eax,eax
357
;	xor	eax,eax
354
;	mov	esi,dir_pach
358
;	mov	esi,dir_path
355
;	cld
359
;	cld
356
;@@:
360
;@@:
357
;	lodsb
361
;	lodsb
358
;	test	al,al
362
;	test	al,al
Line 373... Line 377...
373
	call	control_minimal_window_size
377
	call	control_minimal_window_size
374
	call	draw_window
378
	call	draw_window
375
	ret
379
	ret
376
@@:
380
@@:
377
	add	eax,16	;12
381
	add	eax,16	;12
378
;copy_path	user_selected_name,dir_pach,eax,0
382
;copy_path	user_selected_name,dir_path,eax,0
379
	mov	esi,dir_pach
383
	mov	esi,dir_path
380
	mov	edi,eax
384
	mov	edi,eax
381
	call	copy_dir_name
385
	call	copy_dir_name
382
	mov	[edi-1],byte '/'
386
	mov	[edi-1],byte '/'
383
	mov	esi,user_selected_name
387
	mov	esi,user_selected_name
384
	call	copy_dir_name
388
	call	copy_dir_name
Line 628... Line 632...
628
	jmp	.red
632
	jmp	.red
629
@@:
633
@@:
630
	cmp	al,5
634
	cmp	al,5
631
	jne	@f
635
	jne	@f
632
	mov	[N_error],load_directory_error_type
636
	mov	[N_error],load_directory_error_type
633
	mov	[error_path],dir_pach
637
	mov	[error_path],dir_path
634
	jmp	.error_type
638
	jmp	.error_type
635
@@:
639
@@:
636
	cmp	al,6
640
	cmp	al,6
637
	jne	.button
641
	jne	.button
638
	mov	[N_error],convert_icons_error_type
642
	mov	[N_error],convert_icons_error_type
Line 893... Line 897...
893
; Available disks
897
; Available disks
894
	mov	eax,[menu_data_1.cursor_out]
898
	mov	eax,[menu_data_1.cursor_out]
895
	dec	eax
899
	dec	eax
896
	imul	esi,eax,10
900
	imul	esi,eax,10
897
	add	esi,retrieved_devices_table
901
	add	esi,retrieved_devices_table
898
	mov	edi,dir_pach
902
	mov	edi,dir_path
899
	call	copy_dir_name
903
	call	copy_dir_name
900
	call	load_next_dir.1
904
	call	load_next_dir.1
901
	jmp	still
905
	jmp	still
902
;---------------------------------------------------------------------
906
;---------------------------------------------------------------------
903
analyse_out_menu_2:
907
analyse_out_menu_2:
Line 982... Line 986...
982
	pop	esi
986
	pop	esi
983
	jmp	.2
987
	jmp	.2
984
.1:
988
.1:
985
	mov	esi,start_pach
989
	mov	esi,start_pach
986
.2:
990
.2:
987
	mov	edi,dir_pach
991
	mov	edi,dir_path
988
	call	copy_dir_name
992
	call	copy_dir_name
Line 989... Line 993...
989
	
993
	
990
;	call	load_directory
994
;	call	load_directory
991
;	mov	eax,[N_error]
995
;	mov	eax,[N_error]
Line 1009... Line 1013...
1009
	cmp	[ebx],word '..'
1013
	cmp	[ebx],word '..'
1010
	jne	@f
1014
	jne	@f
1011
	cmp	[ebx+2],byte 0
1015
	cmp	[ebx+2],byte 0
1012
	je	.exit_dir
1016
	je	.exit_dir
1013
@@:
1017
@@:
1014
	mov	esi,dir_pach
1018
	mov	esi,dir_path
1015
	call	copy_dir_path
1019
	call	copy_dir_path
Line 1016... Line 1020...
1016
 
1020
 
1017
@@:
1021
@@:
1018
.1:
1022
.1:
Line 1035... Line 1039...
1035
	mov	[edi+44],eax
1039
	mov	[edi+44],eax
1036
	mov	[edi+12],dword 0xffffff	; color white
1040
	mov	[edi+12],dword 0xffffff	; color white
1037
	call	draw_draw_file_browser1
1041
	call	draw_draw_file_browser1
1038
	ret
1042
	ret
1039
.exit_dir:
1043
.exit_dir:
1040
	mov	esi,dir_pach
1044
	mov	esi,dir_path
1041
	call	copy_exit_dir
1045
	call	copy_exit_dir
1042
	jmp	.1
1046
	jmp	.1
1043
;---------------------------------------------------------------------
1047
;---------------------------------------------------------------------
1044
error_handler:
1048
error_handler:
1045
.red:
1049
.red:
Line 1092... Line 1096...
1092
	xor	eax,eax
1096
	xor	eax,eax
1093
	mov	[N_error],eax
1097
	mov	[N_error],eax
1094
	jmp	button.exit
1098
	jmp	button.exit
1095
;------------------------------------
1099
;------------------------------------
1096
.exit:
1100
.exit:
-
 
1101
	mov	esi,previous_dir_path
-
 
1102
	mov	edi,dir_path
-
 
1103
	call	copy_dir_name.1
1097
	mov	esi,start_pach
1104
	mov	esi,start_pach
1098
	mov	edi,dir_pach
1105
	mov	edi,previous_dir_path
1099
	call	copy_dir_name
1106
	call	copy_dir_name.1
1100
	ret
1107
	ret
1101
;---------------------------------------------------------------------
1108
;---------------------------------------------------------------------
1102
file_no_folder:
1109
file_no_folder:
1103
	mov	esi,dir_pach
1110
	mov	esi,dir_path
1104
	mov	edi,file_name
1111
	mov	edi,file_name
1105
	call	copy_dir_name
1112
	call	copy_dir_name
1106
	push	ebx
1113
	push	ebx
1107
	mov	al,[focus_pointer]
1114
	mov	al,[focus_pointer]
1108
	test	al,al
1115
	test	al,al
Line 1141... Line 1148...
1141
	mov	[eax],word 1
1148
	mov	[eax],word 1
1142
	jmp	button.exit
1149
	jmp	button.exit
1143
;---------------------------------------------------------------------
1150
;---------------------------------------------------------------------
1144
load_root_directory:
1151
load_root_directory:
1145
	mov	esi,root_pach
1152
	mov	esi,root_pach
1146
	mov	edi,dir_pach
1153
	mov	edi,dir_path
1147
	call	copy_dir_name
1154
	call	copy_dir_name
1148
	call	load_directory
1155
	call	load_directory
1149
	mov	eax,[N_error]
1156
	mov	eax,[N_error]
1150
	test	eax,eax
1157
	test	eax,eax
1151
	jnz	button.exit
1158
	jnz	button.exit
Line 1163... Line 1170...
1163
	mov	[retrieved_devices_table_counter],eax	;0
1170
	mov	[retrieved_devices_table_counter],eax	;0
1164
.start_temp_counter_1:
1171
.start_temp_counter_1:
1165
	imul	esi,[temp_counter_1],304
1172
	imul	esi,[temp_counter_1],304
1166
	add	esi,[root_folder_area]
1173
	add	esi,[root_folder_area]
1167
	add	esi,32+40
1174
	add	esi,32+40
1168
	mov	edi,dir_pach+1
1175
	mov	edi,dir_path+1
1169
	mov	[edi-1],byte '/'
1176
	mov	[edi-1],byte '/'
1170
	call	copy_dir_name
1177
	call	copy_dir_name
1171
	call	load_directory
1178
	call	load_directory
1172
	mov	eax,[N_error]
1179
	mov	eax,[N_error]
1173
	test	eax,eax
1180
	test	eax,eax
Line 1243... Line 1250...
1243
	shl	ecx,2
1250
	shl	ecx,2
1244
	add	ecx,open_dialog_title_pointer
1251
	add	ecx,open_dialog_title_pointer
1245
	mov	ecx,[ecx]
1252
	mov	ecx,[ecx]
1246
	test	ecx,ecx
1253
	test	ecx,ecx
1247
	jz	@f
1254
	jz	@f
1248
	mcall	71,1,; title ;;param ;file_name ;dir_pach
1255
	mcall	71,1,; title ;;param ;file_name ;dir_path
1249
@@:
1256
@@:
1250
	ret
1257
	ret
1251
;---------------------------------------------------------------------
1258
;---------------------------------------------------------------------
1252
draw_window:
1259
draw_window:
Line 1398... Line 1405...
1398
	mcall	12,2
1405
	mcall	12,2
Line 1399... Line 1406...
1399
 
1406
 
1400
	ret
1407
	ret
1401
;---------------------------------------------------------------------
1408
;---------------------------------------------------------------------
1402
draw_for_fs_errors:
1409
draw_for_fs_errors:
Line 1403... Line 1410...
1403
	call	draw_dir_pach
1410
	call	draw_dir_path
1404
 
1411
 
1405
	mov	ebx,[file_browser_data_1.x]
1412
	mov	ebx,[file_browser_data_1.x]
1406
	mov	ecx,[file_browser_data_1.y]
1413
	mov	ecx,[file_browser_data_1.y]
Line 1417... Line 1424...
1417
	mov	bx,cx
1424
	mov	bx,cx
1418
	add	ebx,5 shl 16+15
1425
	add	ebx,5 shl 16+15
1419
	mcall	4,,0x90ffffff,load_directory_error_type
1426
	mcall	4,,0x90ffffff,load_directory_error_type
Line 1420... Line 1427...
1420
 
1427
 
1421
	add	ebx,20
1428
	add	ebx,20
Line 1422... Line 1429...
1422
	mcall	4,,,dir_pach	
1429
	mcall	4,,,dir_path	
1423
 
1430
 
1424
	mov	eax,[error_type]
1431
	mov	eax,[error_type]
1425
	shl	eax,2
1432
	shl	eax,2
Line 1500... Line 1507...
1500
	add	bx,[file_browser_data_1.size_y]
1507
	add	bx,[file_browser_data_1.size_y]
1501
	add	bx,9
1508
	add	bx,9
1502
	mcall	4,,0x80000000,message_file_name
1509
	mcall	4,,0x80000000,message_file_name
1503
	ret
1510
	ret
1504
;---------------------------------------------------------------------
1511
;---------------------------------------------------------------------
1505
draw_dir_pach:
1512
draw_dir_path:
1506
	mov	eax,[file_browser_data_1.x]
1513
	mov	eax,[file_browser_data_1.x]
1507
	mov	ebx,eax
1514
	mov	ebx,eax
1508
	shr	ebx,16
1515
	shr	ebx,16
1509
	add	ebx,3
1516
	add	ebx,3
1510
	and	eax,0xffff
1517
	and	eax,0xffff
Line 1548... Line 1555...
1548
	push	dword PathShow_data_1
1555
	push	dword PathShow_data_1
1549
	call	[PathShow_draw]
1556
	call	[PathShow_draw]
Line 1550... Line 1557...
1550
	
1557
	
Line 1551... Line 1558...
1551
	ret
1558
	ret
1552
	
1559
	
1553
;draw_dir_pach_1:
1560
;draw_dir_path_1:
1554
;	mov	ebx,[file_browser_data_1.x]
1561
;	mov	ebx,[file_browser_data_1.x]
1555
;	mcall	13,,<7,15>,0xffffb0
1562
;	mcall	13,,<7,15>,0xffffb0
1556
;	mov	bx,10
1563
;	mov	bx,10
1557
;	add	ebx,4 shl 16
1564
;	add	ebx,4 shl 16
1558
;	mcall	4,,0xC0000000,dir_pach,,0xffffb0
1565
;	mcall	4,,0xC0000000,dir_path,,0xffffb0
1559
;	ret
1566
;	ret
1560
;---------------------------------------------------------------------
1567
;---------------------------------------------------------------------
1561
draw_draw_file_browser1:
1568
draw_draw_file_browser1:
1562
	call	draw_dir_pach
1569
	call	draw_dir_path
1563
	cmp	[open_dialog_type],1
1570
	cmp	[open_dialog_type],1
1564
	jne	@f	
1571
	jne	@f	
1565
	call	draw_file_name
1572
	call	draw_file_name
Line 1823... Line 1830...
1823
	mov	[dirinfo.size],dword 0
1830
	mov	[dirinfo.size],dword 0
1824
	mov	[dirinfo.return],dir_header
1831
	mov	[dirinfo.return],dir_header
1825
	mcall	70,dirinfo
1832
	mcall	70,dirinfo
1826
	test	eax,eax
1833
	test	eax,eax
1827
	jz	@f
1834
	jz	@f
-
 
1835
;	mov	esi,previous_dir_path
-
 
1836
;	mov	edi,dir_path
-
 
1837
;	call	copy_dir_name.1
-
 
1838
;	mcall	70,dirinfo
-
 
1839
;	test	eax,eax
-
 
1840
;	jz	@f	
1828
	xor	ebx,ebx
1841
	xor	ebx,ebx
1829
	mov	[file_browser_data_1.folder_data],ebx
1842
	mov	[file_browser_data_1.folder_data],ebx
1830
	jmp	.error
1843
	jmp	.error
1831
@@:
1844
@@:
Line 2237... Line 2250...
2237
	mov	[esi+1],al
2250
	mov	[esi+1],al
2238
	cld
2251
	cld
2239
	ret
2252
	ret
2240
;---------------------------------------------------------------------
2253
;---------------------------------------------------------------------
2241
copy_dir_name:
2254
copy_dir_name:
-
 
2255
	push	esi edi
-
 
2256
	mov	esi,edi
-
 
2257
	mov	edi,previous_dir_path
-
 
2258
	call	.1
-
 
2259
	pop	edi esi
-
 
2260
.1:
2242
	xor	eax,eax
2261
	xor	eax,eax
2243
	cld
2262
	cld
2244
@@:
2263
@@:
2245
	lodsb
2264
	lodsb
2246
	stosb
2265
	stosb
Line 2516... Line 2535...
2516
.start		dd 0
2535
.start		dd 0
2517
.flags		dd 0
2536
.flags		dd 0
2518
.size		dd 0
2537
.size		dd 0
2519
.return		dd 0
2538
.return		dd 0
2520
		db 0
2539
		db 0
2521
.name:		dd dir_pach
2540
.name:		dd dir_path
2522
;---------------------------------------------------------------------
2541
;---------------------------------------------------------------------
2523
align	4
2542
align	4
2524
dir_header:
2543
dir_header:
2525
.version	dd 0	;+0
2544
.version	dd 0	;+0
2526
.curn_blocks	dd 0	;+4
2545
.curn_blocks	dd 0	;+4
Line 2881... Line 2900...
2881
.area_size_x		dw 200	;+10
2900
.area_size_x		dw 200	;+10
2882
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
2901
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
2883
.background_flag	dd 0	;+16
2902
.background_flag	dd 0	;+16
2884
.font_color		dd 0x0	;+20
2903
.font_color		dd 0x0	;+20
2885
.background_color	dd 0x0	;+24
2904
.background_color	dd 0x0	;+24
2886
.text_pointer		dd dir_pach	;+28
2905
.text_pointer		dd dir_path	;+28
2887
.work_area_pointer	dd text_work_area	;+32
2906
.work_area_pointer	dd text_work_area	;+32
2888
.temp_text_length	dd 0	;+36
2907
.temp_text_length	dd 0	;+36
2889
;---------------------------------------------------------------------
2908
;---------------------------------------------------------------------
2890
; for EDITBOX
2909
; for EDITBOX
2891
align	4
2910
align	4
Line 2947... Line 2966...
2947
	rb 4096
2966
	rb 4096
2948
;---------------------------------------------------------------------
2967
;---------------------------------------------------------------------
2949
file_name:
2968
file_name:
2950
	rb 4096
2969
	rb 4096
2951
;---------------------------------------------------------------------
2970
;---------------------------------------------------------------------
-
 
2971
previous_dir_path:
-
 
2972
	rb 4096
-
 
2973
;---------------------------------------------------------------------
2952
dir_pach:
2974
dir_path:
2953
	rb 4096
2975
	rb 4096
2954
;---------------------------------------------------------------------
2976
;---------------------------------------------------------------------
2955
text_work_area:
2977
text_work_area:
2956
	rb 1024
2978
	rb 1024
2957
;---------------------------------------------------------------------
2979
;---------------------------------------------------------------------