KFM - Processing "window is rolled up".

git-svn-id: svn://kolibrios.org@2584 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2012-04-07 15:21:20 +00:00
parent 67caa74d28
commit 953b8091f9
4 changed files with 195 additions and 155 deletions

View File

@ -1,220 +1,241 @@
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
files_information_window_x: dd 100 shl 16 + 250 align 4
files_information_window_y: dd 100 shl 16 + 300 files_counter rd 1
;--------------------------------------------------------------------- directories_counter rd 1
error_window_x: dd 100 shl 16 + 250
error_window_y: dd 100 shl 16 + 80
;---------------------------------------------------------------------
mouse_key_delay dd 100
;---------------------------------------------------------------------
files_counter dd 0
directories_counter dd 0
files_size: files_size:
.low dd 0 .low rd 1
.high dd 0 .high rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
open_param dd 0 open_param rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
PID dd 0 align 4
active_process dd 0 PID rd 1
active_process rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
window_high dd 0 align 4
window_width dd 0 window_high rd 1
window_status dd 0 window_width rd 1
skin_high dd 0 window_status rd 1
fbutton_width dd 0 skin_high rd 1
drawing_panel_folder db 0 ; 1-left, 2 right fbutton_width rd 1
left_panel_x: left_panel_x:
.size_x dw 0 .size_x rw 1
.start_x dw 0 .start_x rw 1
left_panel_y: left_panel_y:
.size_y dw 0 .size_y rw 1
.start_y dw 0 .start_y rw 1
right_panel_x: right_panel_x:
.size_x dw 0 .size_x rw 1
.start_x dw 0 .start_x rw 1
right_panel_y: right_panel_y:
.size_y dw 0 .size_y rw 1
.start_y dw 0 .start_y rw 1
drawing_panel_folder rb 1 ; 1-left, 2 right
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
mouse_position: mouse_position:
.y dw 0 .y rw 1
.x dw 0 .x rw 1
mouse_keys dd 0 mouse_keys rd 1
mouse_keys_delta db 0 mouse_keys_tick rd 1
mouse_keys_delta_1 db 0
scroll_bar_event db 0
scroll_pointer db 0
scroll_pointer_1 db 0
mouse_keys_tick dd 0
mouse_scroll_data: mouse_scroll_data:
.vertical dw 0 .vertical rw 1
.horizontal dw 0 .horizontal rw 1
left_scroll_compens dd 0 left_scroll_compens rd 1
right_scroll_compens dd 0 right_scroll_compens rd 1
mouse_keys_delta rb 1
mouse_keys_delta_1 rb 1
scroll_bar_event rb 1
scroll_pointer rb 1
scroll_pointer_1 rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
device_present: device_present:
.rd db 0 .rd rb 1
.fd db 0 .fd rb 1
.hd0 db 0 .hd0 rb 1
.hd1 db 0 .hd1 rb 1
.hd2 db 0 .hd2 rb 1
.hd3 db 0 .hd3 rb 1
.cd0 db 0 .cd0 rb 1
.cd1 db 0 .cd1 rb 1
.cd2 db 0 .cd2 rb 1
.cd3 db 0 .cd3 rb 1
;device_present_text_counter dd 0 ;device_present_text_counter rd 1
device_present_buffer: device_present_buffer:
.fd db 0 .fd rb 1
.hd_cd db 0 .hd_cd rb 1
.hd0_part db 0 .hd0_part rb 1
.hd1_part db 0 .hd1_part rb 1
.hd2_part db 0 .hd2_part rb 1
.hd3_part db 0 .hd3_part rb 1
rb 4 rb 4
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
copy_many_files: align 4
db 0 max_progress_value rd 1
max_progress_value dd 0 current_progress_value rd 1
current_progress_value dd 0 current_progress_value_1 rd 1
current_progress_value_1 dd 0
temp_progress_value: temp_progress_value:
dd 0 rd 1
draw_all_progressbar db 0 amount_output_numbers rd 1
amount_output_numbers dd 0 draw_all_progressbar rb 1
copy_many_files:
rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
max_panel_line dd 0 align 4
temp_panel_end dd 0 max_panel_line rd 1
temp_panel_end rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
left_start_draw_line dd 0 align 4
left_folder_block dd 0 left_start_draw_line rd 1
left_start_draw_cursor_line dw 0 left_folder_block rd 1
;left_panel_clear_all db 0 left_start_draw_cursor_line rw 1
;left_panel_clear_all rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
right_start_draw_line dd 0 align 4
right_folder_block dd 0 right_start_draw_line rd 1
right_start_draw_cursor_line dw 0 right_folder_block rd 1
;right_panel_clear_all db 0 right_start_draw_cursor_line rw 1
;right_panel_clear_all rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
sort_counter dd 0 align 4
sorting_low_limit dd 0 sort_counter rd 1
sorting_high_limit dd 0 sorting_low_limit rd 1
dir_or_file db 0 sorting_high_limit rd 1
dir_temp_counter dd 0 dir_temp_counter rd 1
dir_temp_counter_1 dd 0 dir_temp_counter_1 rd 1
draw_scroll_character db 0 draw_scroll_character rb 1
nesting_direction db 0 nesting_direction rb 1
dir_or_file rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
left_marked_counter dd 0 align 4
right_marked_counter dd 0 left_marked_counter rd 1
marked_file db 0 right_marked_counter rd 1
marked_action db 0 confirmation_type rd 1
mark_action_counter db 0 recursive_pointer rd 1
work_confirmation db 0 marked_file rb 1
work_confirmation_yes db 0 marked_action rb 1
delete_marked_yes db 0 mark_action_counter rb 1
inf_marked_yes db 0 work_confirmation rb 1
confirmation_type dd 0 work_confirmation_yes rb 1
move_file_flag db 0 delete_marked_yes rb 1
recursive_pointer dd 0 inf_marked_yes rb 1
move_file_flag rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
search_pre_folder db 0 align 4
not_clear_lines db 0 start_draw_menu_cursor_line rd 1
select_panel_counter db 0 search_pre_folder rb 1
extended_key db 0 not_clear_lines rb 1
start_draw_menu_cursor_line dd 0 select_panel_counter rb 1
press_enter_menu db 0 extended_key rb 1
close_menu db 0 press_enter_menu rb 1
extension_start dd 0 close_menu rb 1
extension_size dd 0
file_name_length dd 0
temp_counter_dword dd 0
error_pointer dd 0
file_system_error dd 0
exit_to_dir db 0
exit_dir db 0
end_tag dd 0
icons_end_tag dd 0
use_patch db 0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
appl_memory dd 0 align 4
appl_memory_old dd 0 extension_start rd 1
buttons_img_start dd 0 extension_size rd 1
ini_file_start dd 0 file_name_length rd 1
left_folder_data dd 0 temp_counter_dword rd 1
right_folder_data dd 0 error_pointer rd 1
file_system_error rd 1
end_tag rd 1
icons_end_tag rd 1
exit_to_dir rb 1
exit_dir rb 1
use_patch rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
shift_flag db 0 align 4
ctrl_flag db 0 appl_memory rd 1
alt_flag db 0 appl_memory_old rd 1
buttons_img_start rd 1
ini_file_start rd 1
left_folder_data rd 1
right_folder_data rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
left_sort_flag dd 0 shift_flag rb 1
right_sort_flag dd 0 ctrl_flag rb 1
alt_flag rb 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
retrieved_devices_table_counter dd 0 align 4
temp_counter db 0 left_sort_flag rd 1
temp_counter_1 dd 0 right_sort_flag rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
retrieved_devices_table_counter rd 1
temp_counter_1 rd 1
temp_counter rb 1
;---------------------------------------------------------------------
align 4
; for EDITBOX ; for EDITBOX
mouse_flag: dd 0x0 mouse_flag: rd 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
create_dir_name: create_dir_name:
db 0 rb 1
rb 256 rb 256
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
retrieved_devices_table: retrieved_devices_table:
rb 10*100 rb 10*100
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
procinfo: procinfo:
rb 1024 rb 1024
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
type_name: type_name:
rb 512 rb 512
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
type_size_string: type_size_string:
rb 32 rb 32
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
type_files_string: type_files_string:
rb 16 rb 16
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
type_directories_string: type_directories_string:
rb 16 rb 16
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
delete_dir_data: delete_dir_data:
rb 32 rb 32
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
;stack ;stack
align 4 align 4
rb 512 rb 512
stacktop: stacktop:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4 align 4
rb 4096 rb 4096
thread_stack: thread_stack:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
file_features_temp_area: file_features_temp_area:
rb 40 rb 40
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
initial_data: initial_data:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
path: path:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
file_name: file_name:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
start_parameter: start_parameter:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
read_folder_name: read_folder_name:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4
read_folder_1_name: read_folder_1_name:
rb 4096 rb 4096
;---------------------------------------------------------------------
; for EDITBOX
;structure_of_potock:
; rb 1024
;--------------------------------------------------------------------- ;---------------------------------------------------------------------

View File

@ -1021,6 +1021,12 @@ erase_fbutton:
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
draw_fbutton: draw_fbutton:
test [window_status],100b ; window is rolled up
jnz .exit
test [window_status],10b ; window is minimized to panel
jnz .exit
mov ecx,[window_high] mov ecx,[window_high]
sub ecx,20 sub ecx,20
shl ecx,16 shl ecx,16
@ -1082,6 +1088,7 @@ draw_fbutton:
rol ebx,16 rol ebx,16
add ebx,[fbutton_width] add ebx,[fbutton_width]
ror ebx,16 ror ebx,16
.exit:
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
draw_fbutton_name: draw_fbutton_name:

View File

@ -25,7 +25,7 @@
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;***************************************************************************** ;*****************************************************************************
; KFM v0.47c 05.02.2012 ; KFM v0.47d 07.04.2012
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
use32 use32
org 0x0 org 0x0
@ -151,8 +151,12 @@ draw_window:
mcall 0, <20,620>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0 mcall 0, <20,620>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0
call get_window_param call get_window_param
; mov ecx,[temp_esi] ; mov ecx,[temp_esi]
test [window_status],10b test [window_status],100b ; window is rolled up
jnz @f jnz .exit
test [window_status],10b ; window is minimized to panel
jnz .exit
mcall 71, 1 , header_text mcall 71, 1 , header_text
; create_dir_name ; create_dir_name
; start_parameter ; start_parameter
@ -167,9 +171,9 @@ draw_window:
; read_file_features.name ;path ;header ; read_file_features.name ;path ;header
cmp [window_high],180 cmp [window_high],180
jb @f jb .exit
cmp [window_width],495 cmp [window_width],495
jb @f jb .exit
; pusha ; pusha
; mcall 4,<15,25>,0,read_folder.name,100 ; mcall 4,<15,25>,0,read_folder.name,100
@ -234,7 +238,7 @@ draw_window:
; mcall 4,<150,3>,0x80000000 ; mcall 4,<150,3>,0x80000000
; mov edx,[temp_counter_dword] ; mov edx,[temp_counter_dword]
; mcall 4,<5,3>,0x80000000 ; mcall 4,<5,3>,0x80000000
@@: .exit:
mcall 12, 2 mcall 12, 2
ret ret
;temp_eax dd 0 ;temp_eax dd 0

View File

@ -1,4 +1,4 @@
header_text db 'KFM - Kolibri File Manager v0.47c',0 header_text db 'KFM - Kolibri File Manager v0.47d',0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
fbutton_name: fbutton_name:
.f1 db '1 Help',0 .f1 db '1 Help',0
@ -191,6 +191,14 @@ background_tile:
background_stretch: background_stretch:
db '\S ' db '\S '
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
files_information_window_x: dd 100 shl 16 + 250
files_information_window_y: dd 100 shl 16 + 300
;---------------------------------------------------------------------
error_window_x: dd 100 shl 16 + 250
error_window_y: dd 100 shl 16 + 80
;---------------------------------------------------------------------
mouse_key_delay dd 100
;---------------------------------------------------------------------
copy_editboxes: copy_editboxes:
create_editboxes: create_editboxes:
edit1 edit_box 150,10,10,0xffffff,0xbbddff,0,0,0,255,create_dir_name,ed_focus+ed_always_focus,0 edit1 edit_box 150,10,10,0xffffff,0xbbddff,0,0,0,255,create_dir_name,ed_focus+ed_always_focus,0