forked from KolibriOS/kolibrios
KFM - rebuilding the device list before calling the menu "select disk", it is necessary to support the reconnection of devices (usb, tmp, etc.)
git-svn-id: svn://kolibrios.org@3755 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1dc693eed6
commit
eabaacbe1b
@ -91,12 +91,14 @@ left_start_draw_line rd 1
|
|||||||
left_folder_block rd 1
|
left_folder_block rd 1
|
||||||
left_start_draw_cursor_line rw 1
|
left_start_draw_cursor_line rw 1
|
||||||
;left_panel_clear_all rb 1
|
;left_panel_clear_all rb 1
|
||||||
|
left_folder_block_1 rd 1
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
right_start_draw_line rd 1
|
right_start_draw_line rd 1
|
||||||
right_folder_block rd 1
|
right_folder_block rd 1
|
||||||
right_start_draw_cursor_line rw 1
|
right_start_draw_cursor_line rw 1
|
||||||
;right_panel_clear_all rb 1
|
;right_panel_clear_all rb 1
|
||||||
|
right_folder_block_1 rd 1
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
sort_counter rd 1
|
sort_counter rd 1
|
||||||
@ -175,6 +177,14 @@ create_dir_name:
|
|||||||
rb 256
|
rb 256
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
|
left_folder_data_1:
|
||||||
|
rb 304*32+32
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
right_folder_data_1:
|
||||||
|
rb 304*32+32
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
retrieved_devices_table:
|
retrieved_devices_table:
|
||||||
rb 10*100
|
rb 10*100
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -243,3 +253,11 @@ align 4
|
|||||||
read_folder_1_name:
|
read_folder_1_name:
|
||||||
rb 4096
|
rb 4096
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
read_folder_2_name:
|
||||||
|
rb 64
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
read_folder_3_name:
|
||||||
|
rb 64
|
||||||
|
;---------------------------------------------------------------------
|
@ -49,34 +49,37 @@ device_detect: ; f1811
|
|||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
device_detect_f70:
|
device_detect_f70:
|
||||||
mov eax,[left_folder_data]
|
mov ax,[select_disk_char]
|
||||||
mov [read_folder.return],eax
|
mov [read_folder_2_name],ax
|
||||||
mcall 70, read_folder
|
mov [read_folder_3_name],ax
|
||||||
|
; mov eax,left_folder_data_1
|
||||||
|
; mov [read_folder_2.return],eax
|
||||||
|
mcall 70, read_folder_2
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
cmp eax,6
|
cmp eax,6
|
||||||
jne read_folder_error
|
jne read_folder_error
|
||||||
@@:
|
@@:
|
||||||
mov [left_folder_block],ebx
|
mov [left_folder_block_1],ebx
|
||||||
mov [temp_counter_1],0
|
mov [temp_counter_1],0
|
||||||
mov [retrieved_devices_table_counter],0
|
mov [retrieved_devices_table_counter],0
|
||||||
.start_temp_counter_1:
|
.start_temp_counter_1:
|
||||||
imul esi,[temp_counter_1],304
|
imul esi,[temp_counter_1],304
|
||||||
add esi,[left_folder_data]
|
add esi,left_folder_data_1
|
||||||
add esi,32+40 ;[eax+32+40]
|
add esi,32+40 ;[eax+32+40]
|
||||||
call copy_folder_name_1
|
call copy_folder_name_3
|
||||||
mov eax,[right_folder_data]
|
; mov eax,right_folder_data_1
|
||||||
mov [read_folder_1.return],eax
|
; mov [read_folder_3.return],eax
|
||||||
mcall 70, read_folder_1
|
mcall 70, read_folder_3
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
cmp eax,6
|
cmp eax,6
|
||||||
jne read_folder_1_error
|
jne read_folder_1_error
|
||||||
@@:
|
@@:
|
||||||
mov eax,[right_folder_data]
|
mov eax,right_folder_data_1
|
||||||
cmp [eax+4],dword 0
|
cmp [eax+4],dword 0
|
||||||
je .continue
|
je .continue
|
||||||
mov [right_folder_block],ebx
|
mov [right_folder_block_1],ebx
|
||||||
mov ebp,0
|
mov ebp,0
|
||||||
.start_copy_device_patch:
|
.start_copy_device_patch:
|
||||||
imul edi,[retrieved_devices_table_counter],10
|
imul edi,[retrieved_devices_table_counter],10
|
||||||
@ -84,22 +87,22 @@ device_detect_f70:
|
|||||||
mov [edi],byte '/'
|
mov [edi],byte '/'
|
||||||
inc edi
|
inc edi
|
||||||
imul esi,[temp_counter_1],304
|
imul esi,[temp_counter_1],304
|
||||||
add esi,[left_folder_data]
|
add esi,left_folder_data_1
|
||||||
add esi,32+40 ;[eax+32+40]
|
add esi,32+40 ;[eax+32+40]
|
||||||
call proc_copy_patch
|
call proc_copy_patch
|
||||||
imul esi,ebp,304
|
imul esi,ebp,304
|
||||||
add esi,[right_folder_data]
|
add esi,right_folder_data_1
|
||||||
add esi,32+40 ;[eax+32+40]
|
add esi,32+40 ;[eax+32+40]
|
||||||
mov [edi-1],byte '/'
|
mov [edi-1],byte '/'
|
||||||
call proc_copy_patch
|
call proc_copy_patch
|
||||||
inc [retrieved_devices_table_counter]
|
inc [retrieved_devices_table_counter]
|
||||||
inc ebp
|
inc ebp
|
||||||
cmp ebp,[right_folder_block]
|
cmp ebp,[right_folder_block_1]
|
||||||
jb .start_copy_device_patch
|
jb .start_copy_device_patch
|
||||||
.continue:
|
.continue:
|
||||||
inc [temp_counter_1]
|
inc [temp_counter_1]
|
||||||
mov eax,[temp_counter_1]
|
mov eax,[temp_counter_1]
|
||||||
cmp eax,[left_folder_block]
|
cmp eax,[left_folder_block_1]
|
||||||
jb .start_temp_counter_1
|
jb .start_temp_counter_1
|
||||||
mov esi,retrieved_devices_table+1
|
mov esi,retrieved_devices_table+1
|
||||||
call copy_folder_name
|
call copy_folder_name
|
||||||
|
@ -365,9 +365,10 @@ proc_read_folder_1:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
copy_folder_name:
|
copy_folder_name:
|
||||||
mov edi,read_folder_name+1 ;read_folder.name+1
|
mov edi,read_folder_name+1
|
||||||
@@:
|
.1:
|
||||||
cld
|
cld
|
||||||
|
@@:
|
||||||
lodsb
|
lodsb
|
||||||
stosb
|
stosb
|
||||||
cmp al,0
|
cmp al,0
|
||||||
@ -375,21 +376,23 @@ copy_folder_name:
|
|||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
copy_folder_name_1:
|
copy_folder_name_1:
|
||||||
mov edi,read_folder_1_name+1 ;read_folder_1.name+1
|
mov edi,read_folder_1_name+1
|
||||||
@@:
|
jmp copy_folder_name.1
|
||||||
cld
|
;---------------------------------------------------------------------
|
||||||
lodsb
|
copy_folder_name_2:
|
||||||
stosb
|
mov edi,read_folder_2_name+1
|
||||||
cmp al,0
|
jmp copy_folder_name.1
|
||||||
jne @r
|
;---------------------------------------------------------------------
|
||||||
ret
|
copy_folder_name_3:
|
||||||
|
mov edi,read_folder_3_name+1
|
||||||
|
jmp copy_folder_name.1
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
read_folder:
|
read_folder:
|
||||||
.subfunction dd 1
|
.subfunction dd 1
|
||||||
.start dd 0
|
.start dd 0
|
||||||
.flags dd 0
|
.flags dd 0
|
||||||
.size dd 5000
|
.size dd 5000
|
||||||
.return dd 0 ;folder_data
|
.return dd 0
|
||||||
db 0
|
db 0
|
||||||
.name: dd read_folder_name
|
.name: dd read_folder_name
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -398,10 +401,28 @@ read_folder_1:
|
|||||||
.start dd 0
|
.start dd 0
|
||||||
.flags dd 0
|
.flags dd 0
|
||||||
.size dd 5000
|
.size dd 5000
|
||||||
.return dd 0 ;folder_data_1
|
.return dd 0
|
||||||
db 0
|
db 0
|
||||||
.name: dd read_folder_1_name
|
.name: dd read_folder_1_name
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
read_folder_2:
|
||||||
|
.subfunction dd 1
|
||||||
|
.start dd 0
|
||||||
|
.flags dd 0
|
||||||
|
.size dd 5000
|
||||||
|
.return dd left_folder_data_1
|
||||||
|
db 0
|
||||||
|
.name: dd read_folder_2_name
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
read_folder_3:
|
||||||
|
.subfunction dd 1
|
||||||
|
.start dd 0
|
||||||
|
.flags dd 0
|
||||||
|
.size dd 5000
|
||||||
|
.return dd right_folder_data_1
|
||||||
|
db 0
|
||||||
|
.name: dd read_folder_3_name
|
||||||
|
;---------------------------------------------------------------------
|
||||||
read_file_features:
|
read_file_features:
|
||||||
.subfunction dd 5
|
.subfunction dd 5
|
||||||
.Offset dd 0
|
.Offset dd 0
|
||||||
|
@ -364,6 +364,11 @@ add_memory_for_folders:
|
|||||||
add ecx,304*32+32
|
add ecx,304*32+32
|
||||||
mov [appl_memory],ecx
|
mov [appl_memory],ecx
|
||||||
mcall 64,1
|
mcall 64,1
|
||||||
|
|
||||||
|
mov eax,[left_folder_data]
|
||||||
|
mov [read_folder.return],eax
|
||||||
|
mov eax,[right_folder_data]
|
||||||
|
mov [read_folder_1.return],eax
|
||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
copy_path:
|
copy_path:
|
||||||
|
@ -226,6 +226,7 @@ key_menu_right:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
draw_left_select_disk_menu:
|
draw_left_select_disk_menu:
|
||||||
|
call device_detect_f70
|
||||||
mov [select_panel_counter],0
|
mov [select_panel_counter],0
|
||||||
call draw_left_panel
|
call draw_left_panel
|
||||||
call draw_right_panel
|
call draw_right_panel
|
||||||
@ -248,6 +249,7 @@ draw_left_select_disk_menu:
|
|||||||
jmp button
|
jmp button
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
draw_right_select_disk_menu:
|
draw_right_select_disk_menu:
|
||||||
|
call device_detect_f70
|
||||||
mov [select_panel_counter],1
|
mov [select_panel_counter],1
|
||||||
call draw_left_panel
|
call draw_left_panel
|
||||||
call draw_right_panel
|
call draw_right_panel
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
header_text db 'KFM - Kolibri File Manager v0.47e',0
|
header_text db 'Kolibri File Manager v0.47f 04/07/2013',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
fbutton_name:
|
fbutton_name:
|
||||||
.f1 db '1 Help',0
|
.f1 db '1 Help',0
|
||||||
|
Loading…
Reference in New Issue
Block a user