diff --git a/data/Tupfile.lua b/data/Tupfile.lua index aaee66781..c11877fb0 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -294,8 +294,8 @@ extra_files = { {"kolibrios/utils/cnc_editor/cnc_editor", VAR_PROGS .. "/other/cnc_editor/cnc_editor"}, {"kolibrios/utils/cnc_editor/kolibri.NC", SRC_PROGS .. "/other/cnc_editor/kolibri.NC"}, {"kolibrios/utils/kfm/kfm.ini", "common/File Managers/kfm.ini"}, - {"kolibrios/utils/kfm/kfm_keys_eng.txt", SRC_PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"}, - {"kolibrios/utils/kfm/kfm_keys_rus.txt", SRC_PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"}, + {"kolibrios/utils/kfm/kfm_keys_eng.txt", SRC_PROGS .. "/fs/kfm/docs/english/kfm_keys.txt"}, + {"kolibrios/utils/kfm/kfm_keys_rus.txt", SRC_PROGS .. "/fs/kfm/docs/russian/dos_kolibri/kfm_keys.txt"}, {"kolibrios/utils/fNav/", "common/File Managers/fNav/*"}, {"kolibrios/utils/NDN/", "common/File Managers/ndn/*"}, {"kolibrios/utils/NDN/COLORS/", "common/File Managers/ndn/COLORS/*"}, @@ -628,7 +628,7 @@ tup.append_table(extra_files, { {"kolibrios/media/zsea/plugins/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"}, {"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"}, {"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"}, - {"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"}, + {"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/kfm"}, {"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"}, {"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"} }) diff --git a/programs/fs/kfm/trunk/Tupfile.lua b/programs/fs/kfm/Tupfile.lua similarity index 79% rename from programs/fs/kfm/trunk/Tupfile.lua rename to programs/fs/kfm/Tupfile.lua index ac093a8c0..cfef73761 100644 --- a/programs/fs/kfm/trunk/Tupfile.lua +++ b/programs/fs/kfm/Tupfile.lua @@ -1,5 +1,5 @@ if tup.getconfig("NO_FASM") ~= "" then return end -HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") +HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR") tup.include(HELPERDIR .. "/use_fasm.lua") add_include(tup.getvariantdir()) diff --git a/programs/fs/kfm/trunk/build.bat b/programs/fs/kfm/build.bat similarity index 100% rename from programs/fs/kfm/trunk/build.bat rename to programs/fs/kfm/build.bat diff --git a/programs/fs/kfm/trunk/build.sh b/programs/fs/kfm/build.sh similarity index 100% rename from programs/fs/kfm/trunk/build.sh rename to programs/fs/kfm/build.sh diff --git a/programs/fs/kfm/trunk/button.inc b/programs/fs/kfm/button.inc similarity index 100% rename from programs/fs/kfm/trunk/button.inc rename to programs/fs/kfm/button.inc diff --git a/programs/fs/kfm/trunk/confirm.inc b/programs/fs/kfm/confirm.inc similarity index 100% rename from programs/fs/kfm/trunk/confirm.inc rename to programs/fs/kfm/confirm.inc diff --git a/programs/fs/kfm/trunk/conv_bmp.inc b/programs/fs/kfm/conv_bmp.inc similarity index 100% rename from programs/fs/kfm/trunk/conv_bmp.inc rename to programs/fs/kfm/conv_bmp.inc diff --git a/programs/fs/kfm/trunk/convchar.inc b/programs/fs/kfm/convchar.inc similarity index 100% rename from programs/fs/kfm/trunk/convchar.inc rename to programs/fs/kfm/convchar.inc diff --git a/programs/fs/kfm/trunk/copy.inc b/programs/fs/kfm/copy.inc similarity index 100% rename from programs/fs/kfm/trunk/copy.inc rename to programs/fs/kfm/copy.inc diff --git a/programs/fs/kfm/trunk/creatdir.inc b/programs/fs/kfm/creatdir.inc similarity index 100% rename from programs/fs/kfm/trunk/creatdir.inc rename to programs/fs/kfm/creatdir.inc diff --git a/programs/fs/kfm/trunk/creatfile.inc b/programs/fs/kfm/creatfile.inc similarity index 100% rename from programs/fs/kfm/trunk/creatfile.inc rename to programs/fs/kfm/creatfile.inc diff --git a/programs/fs/kfm/trunk/data.inc b/programs/fs/kfm/data.inc similarity index 100% rename from programs/fs/kfm/trunk/data.inc rename to programs/fs/kfm/data.inc diff --git a/programs/fs/kfm/trunk/delete.inc b/programs/fs/kfm/delete.inc similarity index 100% rename from programs/fs/kfm/trunk/delete.inc rename to programs/fs/kfm/delete.inc diff --git a/programs/fs/kfm/trunk/detect.inc b/programs/fs/kfm/detect.inc similarity index 100% rename from programs/fs/kfm/trunk/detect.inc rename to programs/fs/kfm/detect.inc diff --git a/programs/fs/kfm/trunk/docs/english/history.txt b/programs/fs/kfm/docs/english/history.txt similarity index 100% rename from programs/fs/kfm/trunk/docs/english/history.txt rename to programs/fs/kfm/docs/english/history.txt diff --git a/programs/fs/kfm/trunk/docs/english/kfm_keys.txt b/programs/fs/kfm/docs/english/kfm_keys.txt similarity index 100% rename from programs/fs/kfm/trunk/docs/english/kfm_keys.txt rename to programs/fs/kfm/docs/english/kfm_keys.txt diff --git a/programs/fs/kfm/trunk/docs/russian/dos_kolibri/history.txt b/programs/fs/kfm/docs/russian/dos_kolibri/history.txt similarity index 100% rename from programs/fs/kfm/trunk/docs/russian/dos_kolibri/history.txt rename to programs/fs/kfm/docs/russian/dos_kolibri/history.txt diff --git a/programs/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt b/programs/fs/kfm/docs/russian/dos_kolibri/kfm_keys.txt similarity index 100% rename from programs/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt rename to programs/fs/kfm/docs/russian/dos_kolibri/kfm_keys.txt diff --git a/programs/fs/kfm/trunk/docs/russian/windows/history.txt b/programs/fs/kfm/docs/russian/windows/history.txt similarity index 100% rename from programs/fs/kfm/trunk/docs/russian/windows/history.txt rename to programs/fs/kfm/docs/russian/windows/history.txt diff --git a/programs/fs/kfm/trunk/docs/russian/windows/kfm_keys.txt b/programs/fs/kfm/docs/russian/windows/kfm_keys.txt similarity index 100% rename from programs/fs/kfm/trunk/docs/russian/windows/kfm_keys.txt rename to programs/fs/kfm/docs/russian/windows/kfm_keys.txt diff --git a/programs/fs/kfm/trunk/draw.inc b/programs/fs/kfm/draw.inc similarity index 100% rename from programs/fs/kfm/trunk/draw.inc rename to programs/fs/kfm/draw.inc diff --git a/programs/fs/kfm/trunk/drw_dbut.inc b/programs/fs/kfm/drw_dbut.inc similarity index 100% rename from programs/fs/kfm/trunk/drw_dbut.inc rename to programs/fs/kfm/drw_dbut.inc diff --git a/programs/fs/kfm/trunk/editbox.inc b/programs/fs/kfm/editbox.inc similarity index 100% rename from programs/fs/kfm/trunk/editbox.inc rename to programs/fs/kfm/editbox.inc diff --git a/programs/fs/kfm/trunk/editbox.mac b/programs/fs/kfm/editbox.mac similarity index 100% rename from programs/fs/kfm/trunk/editbox.mac rename to programs/fs/kfm/editbox.mac diff --git a/programs/fs/kfm/trunk/err_wind.inc b/programs/fs/kfm/err_wind.inc similarity index 100% rename from programs/fs/kfm/trunk/err_wind.inc rename to programs/fs/kfm/err_wind.inc diff --git a/programs/fs/kfm/trunk/file_inf.inc b/programs/fs/kfm/file_inf.inc similarity index 100% rename from programs/fs/kfm/trunk/file_inf.inc rename to programs/fs/kfm/file_inf.inc diff --git a/programs/fs/kfm/trunk/files.inc b/programs/fs/kfm/files.inc similarity index 100% rename from programs/fs/kfm/trunk/files.inc rename to programs/fs/kfm/files.inc diff --git a/programs/fs/kfm/trunk/help.inc b/programs/fs/kfm/help.inc similarity index 100% rename from programs/fs/kfm/trunk/help.inc rename to programs/fs/kfm/help.inc diff --git a/programs/fs/kfm/trunk/images/buttons.bmp b/programs/fs/kfm/images/buttons.bmp similarity index 100% rename from programs/fs/kfm/trunk/images/buttons.bmp rename to programs/fs/kfm/images/buttons.bmp diff --git a/programs/fs/kfm/trunk/images/buttons.raw b/programs/fs/kfm/images/buttons.raw similarity index 100% rename from programs/fs/kfm/trunk/images/buttons.raw rename to programs/fs/kfm/images/buttons.raw diff --git a/programs/fs/kfm/trunk/images/icons.bmp b/programs/fs/kfm/images/icons.bmp similarity index 100% rename from programs/fs/kfm/trunk/images/icons.bmp rename to programs/fs/kfm/images/icons.bmp diff --git a/programs/fs/kfm/trunk/images/icons.raw b/programs/fs/kfm/images/icons.raw similarity index 100% rename from programs/fs/kfm/trunk/images/icons.raw rename to programs/fs/kfm/images/icons.raw diff --git a/programs/fs/kfm/trunk/images/icons2.bmp b/programs/fs/kfm/images/icons2.bmp similarity index 100% rename from programs/fs/kfm/trunk/images/icons2.bmp rename to programs/fs/kfm/images/icons2.bmp diff --git a/programs/fs/kfm/trunk/key.inc b/programs/fs/kfm/key.inc similarity index 100% rename from programs/fs/kfm/trunk/key.inc rename to programs/fs/kfm/key.inc diff --git a/programs/fs/kfm/trunk/kfm.asm b/programs/fs/kfm/kfm.asm similarity index 94% rename from programs/fs/kfm/trunk/kfm.asm rename to programs/fs/kfm/kfm.asm index 2b0d765c9..ec69ca0bf 100644 --- a/programs/fs/kfm/trunk/kfm.asm +++ b/programs/fs/kfm/kfm.asm @@ -1,399 +1,402 @@ -;***************************************************************************** -; KFM - Kolibri File Manager -; Copyright (c) 2006 - 2014, Marat Zakiyanov aka Mario79, aka Mario -; All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the distribution. -; * Neither the name of the nor the -; names of its contributors may be used to endorse or promote products -; derived from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY -; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -; DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;***************************************************************************** -; KFM v0.48d 23/12/2021 -;--------------------------------------------------------------------- -use32 -org 0x0 - - db 'MENUET01' - dd 0x01 - dd START - dd I_END - dd mem - dd stacktop - dd 0x0 - dd path - -;include 'lang.inc' -;include 'kglobals.inc' -;include 'macros.inc' -include '../../../macros.inc' -include '../../../config.inc' ;for nightbuild -;include '../../../debug.inc' ;for nightbuild - -;define __DEBUG__ 1 -;define __DEBUG_LEVEL__ 1 -;include '../../../debug-fdo.inc' - -include 'editbox.inc' -;use_edit_box -use_edit_box procinfo -;include 'ASCGL.INC' -;--------------------------------------------------------------------- -include 'files.inc' -;--------------------------------------------------------------------- -STRLEN = 1024 -;--------------------------------------------------------------------- -START: - mcall 9,procinfo,-1 - mov ecx,[ebx+30] ; PID - mcall 18,21 - mov [active_process],eax ; WINDOW SLOT - mov [appl_memory],mem - mov ax,[select_disk_char] - mov [read_folder_name],ax - mov [read_folder_1_name],ax - call load_initiation_file - call add_memory_for_folders - call device_detect_f70 - call select_starting_directories - mcall 66, 1, 1 - mov eax,1 - mov [left_sort_flag],eax - mov [right_sort_flag],eax - - call proc_read_left_folder - test eax,eax - jz @f - - cmp eax,6 - jne read_folder_error -@@: - call proc_read_right_folder - test eax,eax - jz @f - - cmp eax,6 - je @f -; if /hd read error for start then use /rd - mov esi,retrieved_devices_table+1 - call copy_folder_name_1 - call proc_read_right_folder - test eax,eax - jz @f - - cmp eax,6 - jne read_folder_1_error -@@: - mcall 40, 0x27 - jmp red_1 -;--------------------------------------------------------------------- -red: - call get_window_param - test [window_status],10b - jnz red_1 ;still - test [window_status],100b - jnz red_1 - cmp [window_high],180 - ja @f - mov esi,180 - mcall 67,-1,ebx,ebx -@@: - cmp [window_width],495 - ja red_1 - mov edx,495 - mcall 67,-1,ebx, ,ebx -red_1: - call draw_window -;--------------------------------------------------------------------- -still: - mcall 10 - - call check_active_process_for_clear_all_flags - - cmp eax,1 - je red - cmp eax,2 - je key - cmp eax,3 - je button - cmp eax,6 - je mouse - jmp still -;--------------------------------------------------------------------- -check_active_process_for_clear_all_flags: - push eax - mcall 18,7 - cmp [active_process],eax - je .exit - - xor eax,eax - cmp [shift_flag],al - jne .clear_all_flags - - cmp [ctrl_flag],al - jne .clear_all_flags - - cmp [ctrl_flag],al - je .exit -;-------------------------------------- -.clear_all_flags: - mov [shift_flag],al - mov [ctrl_flag],al - mov [alt_flag],al - call erase_fbutton - call draw_fbutton -;-------------------------------------- -.exit: - pop eax - ret -;--------------------------------------------------------------------- -get_window_param: - mcall 9, procinfo, -1 - mov eax,[ebx+46] - mov [window_high],eax - mov eax,[ebx+42] - mov [window_width],eax - mov eax,[ebx+70] - mov [window_status],eax - mcall 48,4 - mov [skin_high],eax - ret -;--------------------------------------------------------------------- -draw_window: - mcall 12, 1 - xor esi,esi - mcall 0, <20,728>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0 - call get_window_param - - mcall 71, 1, header_text - - test [window_status],100b ; window is rolled up - jnz .exit - - test [window_status],10b ; window is minimized to panel - jnz .exit - - ; create_dir_name - ; start_parameter - ; file_name - ; [temp_edi] - ; header - ; delete_file_data.name - ; start_file_data.name - ; start_parameter - ; start_file_data.name - ; read_icon_file.name - ; read_file_features.name ;path ;header - - cmp [window_high],180 - jb .exit - cmp [window_width],495 - jb .exit - - call draw_fbutton - call draw_left_panel - call draw_right_panel - call draw_device_button - call draw_left_select_disk_button - call draw_left_sort_button - call draw_right_select_disk_button - call draw_right_sort_button - call draw_menu_bar - call draw_buttons_panel -.exit: - mcall 12, 2 - ret -;--------------------------------------------------------------------- -prepare_load_data: - mov esi,path - mov edi,file_name - call copy_path - call get_file_size - test eax,eax - ret -;--------------------------------------------------------------------- -prepare_load_data_1: - mov [read_file.return],eax - mov ebp,eax -prepare_load_data_4: - call load_file - test eax,eax - ret -;--------------------------------------------------------------------- -prepare_load_data_2: - call add_application_memory -prepare_load_data_3: - call add_application_memory - mov eax,[file_features_temp_area+32] - mov [read_file.size],eax - ret -;--------------------------------------------------------------------- -load_initiation_file: - mov ebx,ini_file_name - call prepare_load_data - jnz initiation_error - call prepare_load_data_3 - mov eax,[appl_memory] - mov [left_folder_data],eax - sub eax,[read_file.size] - mov [read_file.return],eax - mov [ini_file_start],eax - call load_file - test eax,eax - jnz initiation_error - mov ebp,icons_associations - call search_star_and_end_tags - mov eax,[end_tag] - mov [icons_end_tag],eax - ret -;--------------------------------------------------------------------- -add_memory_for_folders: - mov ecx,[appl_memory] - add ecx,304*32+32 - mov [right_folder_data],ecx - add ecx,304*32+32 - mov [appl_memory],ecx - 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 -;--------------------------------------------------------------------- -copy_path: - xor eax,eax -@@: - cld - lodsb - stosb - test eax,eax - jnz @b - mov esi,edi -@@: - std - lodsb - cmp al,'/' - jnz @b - mov edi,esi - add edi,2 - mov esi,ebx -@@: - cld - lodsb - stosb - test eax,eax - jnz @b - ret -;--------------------------------------------------------------------- -copy_path_1: - xor eax,eax -@@: - cld - lodsb - stosb - test eax,eax - jnz @b - mov esi,ebx - mov [edi-1],byte '/' -@@: - cld - lodsb - stosb - test eax,eax - jnz @b - ret -;--------------------------------------------------------------------- -add_application_memory: - mov ecx,[file_features_temp_area+32] -.1: - add ecx,[appl_memory] - mov [appl_memory],ecx - mcall 64,1 - ret -;--------------------------------------------------------------------- -sub_application_memory: - mov ecx,[appl_memory] - sub ecx,[file_features_temp_area+32] -.1: - mov [appl_memory],ecx - mcall 64,1 - ret -;--------------------------------------------------------------------- -exit_apl: - mov [confirmation_type],exit_type - call confirmation_action - cmp [work_confirmation_yes],1 - jne red - mcall -1 -;--------------------------------------------------------------------- -include 'key.inc' -;--------------------------------------------------------------------- -include 'markfile.inc' -;--------------------------------------------------------------------- -include 'button.inc' -;--------------------------------------------------------------------- -include 'mouse.inc' -;--------------------------------------------------------------------- -include 'openfile.inc' -;--------------------------------------------------------------------- -include 'draw.inc' -;--------------------------------------------------------------------- -include 'drw_dbut.inc' -;--------------------------------------------------------------------- -include 'menu_bar.inc' -;--------------------------------------------------------------------- -include 'menu_drv.inc' -;--------------------------------------------------------------------- -include 'delete.inc' -;--------------------------------------------------------------------- -include 'copy.inc' -;--------------------------------------------------------------------- -include 'creatdir.inc' -;--------------------------------------------------------------------- -include 'creatfile.inc' -;--------------------------------------------------------------------- -include 'confirm.inc' -;--------------------------------------------------------------------- -include 'err_wind.inc' -;--------------------------------------------------------------------- -include 'detect.inc' -;--------------------------------------------------------------------- -include 'tran_ini.inc' -;--------------------------------------------------------------------- -include 'help.inc' -;--------------------------------------------------------------------- -include 'convchar.inc' -;--------------------------------------------------------------------- -include 'sort.inc' -;--------------------------------------------------------------------- -include 'progrbar.inc' -;--------------------------------------------------------------------- -include 'scroll.inc' -;--------------------------------------------------------------------- -include 'file_inf.inc' -;--------------------------------------------------------------------- -include 'text.inc' -;--------------------------------------------------------------------- -;include_debug_strings -I_END: -;--------------------------------------------------------------------- -include 'data.inc' -;--------------------------------------------------------------------- -mem: +; SPDX-License-Identifier: NOASSERTION +; + +;***************************************************************************** +; KFM - Kolibri File Manager +; Copyright (c) 2006 - 2014, Marat Zakiyanov aka Mario79, aka Mario +; All rights reserved. +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions are met: +; * Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; * Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the distribution. +; * Neither the name of the nor the +; names of its contributors may be used to endorse or promote products +; derived from this software without specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY +; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +; DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;***************************************************************************** +; KFM v0.48d 23/12/2021 +;--------------------------------------------------------------------- +use32 +org 0x0 + + db 'MENUET01' + dd 0x01 + dd START + dd I_END + dd mem + dd stacktop + dd 0x0 + dd path + +;include 'lang.inc' +;include 'kglobals.inc' +;include 'macros.inc' +include '../../macros.inc' +include '../../config.inc' ;for nightbuild +;include '../../debug.inc' ;for nightbuild + +;define __DEBUG__ 1 +;define __DEBUG_LEVEL__ 1 +;include '../../debug-fdo.inc' + +include 'editbox.inc' +;use_edit_box +use_edit_box procinfo +;include 'ASCGL.INC' +;--------------------------------------------------------------------- +include 'files.inc' +;--------------------------------------------------------------------- +STRLEN = 1024 +;--------------------------------------------------------------------- +START: + mcall 9,procinfo,-1 + mov ecx,[ebx+30] ; PID + mcall 18,21 + mov [active_process],eax ; WINDOW SLOT + mov [appl_memory],mem + mov ax,[select_disk_char] + mov [read_folder_name],ax + mov [read_folder_1_name],ax + call load_initiation_file + call add_memory_for_folders + call device_detect_f70 + call select_starting_directories + mcall 66, 1, 1 + mov eax,1 + mov [left_sort_flag],eax + mov [right_sort_flag],eax + + call proc_read_left_folder + test eax,eax + jz @f + + cmp eax,6 + jne read_folder_error +@@: + call proc_read_right_folder + test eax,eax + jz @f + + cmp eax,6 + je @f +; if /hd read error for start then use /rd + mov esi,retrieved_devices_table+1 + call copy_folder_name_1 + call proc_read_right_folder + test eax,eax + jz @f + + cmp eax,6 + jne read_folder_1_error +@@: + mcall 40, 0x27 + jmp red_1 +;--------------------------------------------------------------------- +red: + call get_window_param + test [window_status],10b + jnz red_1 ;still + test [window_status],100b + jnz red_1 + cmp [window_high],180 + ja @f + mov esi,180 + mcall 67,-1,ebx,ebx +@@: + cmp [window_width],495 + ja red_1 + mov edx,495 + mcall 67,-1,ebx, ,ebx +red_1: + call draw_window +;--------------------------------------------------------------------- +still: + mcall 10 + + call check_active_process_for_clear_all_flags + + cmp eax,1 + je red + cmp eax,2 + je key + cmp eax,3 + je button + cmp eax,6 + je mouse + jmp still +;--------------------------------------------------------------------- +check_active_process_for_clear_all_flags: + push eax + mcall 18,7 + cmp [active_process],eax + je .exit + + xor eax,eax + cmp [shift_flag],al + jne .clear_all_flags + + cmp [ctrl_flag],al + jne .clear_all_flags + + cmp [ctrl_flag],al + je .exit +;-------------------------------------- +.clear_all_flags: + mov [shift_flag],al + mov [ctrl_flag],al + mov [alt_flag],al + call erase_fbutton + call draw_fbutton +;-------------------------------------- +.exit: + pop eax + ret +;--------------------------------------------------------------------- +get_window_param: + mcall 9, procinfo, -1 + mov eax,[ebx+46] + mov [window_high],eax + mov eax,[ebx+42] + mov [window_width],eax + mov eax,[ebx+70] + mov [window_status],eax + mcall 48,4 + mov [skin_high],eax + ret +;--------------------------------------------------------------------- +draw_window: + mcall 12, 1 + xor esi,esi + mcall 0, <20,728>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0 + call get_window_param + + mcall 71, 1, header_text + + test [window_status],100b ; window is rolled up + jnz .exit + + test [window_status],10b ; window is minimized to panel + jnz .exit + + ; create_dir_name + ; start_parameter + ; file_name + ; [temp_edi] + ; header + ; delete_file_data.name + ; start_file_data.name + ; start_parameter + ; start_file_data.name + ; read_icon_file.name + ; read_file_features.name ;path ;header + + cmp [window_high],180 + jb .exit + cmp [window_width],495 + jb .exit + + call draw_fbutton + call draw_left_panel + call draw_right_panel + call draw_device_button + call draw_left_select_disk_button + call draw_left_sort_button + call draw_right_select_disk_button + call draw_right_sort_button + call draw_menu_bar + call draw_buttons_panel +.exit: + mcall 12, 2 + ret +;--------------------------------------------------------------------- +prepare_load_data: + mov esi,path + mov edi,file_name + call copy_path + call get_file_size + test eax,eax + ret +;--------------------------------------------------------------------- +prepare_load_data_1: + mov [read_file.return],eax + mov ebp,eax +prepare_load_data_4: + call load_file + test eax,eax + ret +;--------------------------------------------------------------------- +prepare_load_data_2: + call add_application_memory +prepare_load_data_3: + call add_application_memory + mov eax,[file_features_temp_area+32] + mov [read_file.size],eax + ret +;--------------------------------------------------------------------- +load_initiation_file: + mov ebx,ini_file_name + call prepare_load_data + jnz initiation_error + call prepare_load_data_3 + mov eax,[appl_memory] + mov [left_folder_data],eax + sub eax,[read_file.size] + mov [read_file.return],eax + mov [ini_file_start],eax + call load_file + test eax,eax + jnz initiation_error + mov ebp,icons_associations + call search_star_and_end_tags + mov eax,[end_tag] + mov [icons_end_tag],eax + ret +;--------------------------------------------------------------------- +add_memory_for_folders: + mov ecx,[appl_memory] + add ecx,304*32+32 + mov [right_folder_data],ecx + add ecx,304*32+32 + mov [appl_memory],ecx + 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 +;--------------------------------------------------------------------- +copy_path: + xor eax,eax +@@: + cld + lodsb + stosb + test eax,eax + jnz @b + mov esi,edi +@@: + std + lodsb + cmp al,'/' + jnz @b + mov edi,esi + add edi,2 + mov esi,ebx +@@: + cld + lodsb + stosb + test eax,eax + jnz @b + ret +;--------------------------------------------------------------------- +copy_path_1: + xor eax,eax +@@: + cld + lodsb + stosb + test eax,eax + jnz @b + mov esi,ebx + mov [edi-1],byte '/' +@@: + cld + lodsb + stosb + test eax,eax + jnz @b + ret +;--------------------------------------------------------------------- +add_application_memory: + mov ecx,[file_features_temp_area+32] +.1: + add ecx,[appl_memory] + mov [appl_memory],ecx + mcall 64,1 + ret +;--------------------------------------------------------------------- +sub_application_memory: + mov ecx,[appl_memory] + sub ecx,[file_features_temp_area+32] +.1: + mov [appl_memory],ecx + mcall 64,1 + ret +;--------------------------------------------------------------------- +exit_apl: + mov [confirmation_type],exit_type + call confirmation_action + cmp [work_confirmation_yes],1 + jne red + mcall -1 +;--------------------------------------------------------------------- +include 'key.inc' +;--------------------------------------------------------------------- +include 'markfile.inc' +;--------------------------------------------------------------------- +include 'button.inc' +;--------------------------------------------------------------------- +include 'mouse.inc' +;--------------------------------------------------------------------- +include 'openfile.inc' +;--------------------------------------------------------------------- +include 'draw.inc' +;--------------------------------------------------------------------- +include 'drw_dbut.inc' +;--------------------------------------------------------------------- +include 'menu_bar.inc' +;--------------------------------------------------------------------- +include 'menu_drv.inc' +;--------------------------------------------------------------------- +include 'delete.inc' +;--------------------------------------------------------------------- +include 'copy.inc' +;--------------------------------------------------------------------- +include 'creatdir.inc' +;--------------------------------------------------------------------- +include 'creatfile.inc' +;--------------------------------------------------------------------- +include 'confirm.inc' +;--------------------------------------------------------------------- +include 'err_wind.inc' +;--------------------------------------------------------------------- +include 'detect.inc' +;--------------------------------------------------------------------- +include 'tran_ini.inc' +;--------------------------------------------------------------------- +include 'help.inc' +;--------------------------------------------------------------------- +include 'convchar.inc' +;--------------------------------------------------------------------- +include 'sort.inc' +;--------------------------------------------------------------------- +include 'progrbar.inc' +;--------------------------------------------------------------------- +include 'scroll.inc' +;--------------------------------------------------------------------- +include 'file_inf.inc' +;--------------------------------------------------------------------- +include 'text.inc' +;--------------------------------------------------------------------- +;include_debug_strings +I_END: +;--------------------------------------------------------------------- +include 'data.inc' +;--------------------------------------------------------------------- +mem: diff --git a/programs/fs/kfm/trunk/markfile.inc b/programs/fs/kfm/markfile.inc similarity index 100% rename from programs/fs/kfm/trunk/markfile.inc rename to programs/fs/kfm/markfile.inc diff --git a/programs/fs/kfm/trunk/menu_bar.inc b/programs/fs/kfm/menu_bar.inc similarity index 100% rename from programs/fs/kfm/trunk/menu_bar.inc rename to programs/fs/kfm/menu_bar.inc diff --git a/programs/fs/kfm/trunk/menu_drv.inc b/programs/fs/kfm/menu_drv.inc similarity index 100% rename from programs/fs/kfm/trunk/menu_drv.inc rename to programs/fs/kfm/menu_drv.inc diff --git a/programs/fs/kfm/trunk/mouse.inc b/programs/fs/kfm/mouse.inc similarity index 100% rename from programs/fs/kfm/trunk/mouse.inc rename to programs/fs/kfm/mouse.inc diff --git a/programs/fs/kfm/trunk/openfile.inc b/programs/fs/kfm/openfile.inc similarity index 100% rename from programs/fs/kfm/trunk/openfile.inc rename to programs/fs/kfm/openfile.inc diff --git a/programs/fs/kfm/trunk/progrbar.inc b/programs/fs/kfm/progrbar.inc similarity index 100% rename from programs/fs/kfm/trunk/progrbar.inc rename to programs/fs/kfm/progrbar.inc diff --git a/programs/fs/kfm/trunk/resource.inc b/programs/fs/kfm/resource.inc similarity index 100% rename from programs/fs/kfm/trunk/resource.inc rename to programs/fs/kfm/resource.inc diff --git a/programs/fs/kfm/trunk/scroll.inc b/programs/fs/kfm/scroll.inc similarity index 100% rename from programs/fs/kfm/trunk/scroll.inc rename to programs/fs/kfm/scroll.inc diff --git a/programs/fs/kfm/trunk/sort.inc b/programs/fs/kfm/sort.inc similarity index 100% rename from programs/fs/kfm/trunk/sort.inc rename to programs/fs/kfm/sort.inc diff --git a/programs/fs/kfm/trunk/text.inc b/programs/fs/kfm/text.inc similarity index 100% rename from programs/fs/kfm/trunk/text.inc rename to programs/fs/kfm/text.inc diff --git a/programs/fs/kfm/trunk/tran_ini.inc b/programs/fs/kfm/tran_ini.inc similarity index 100% rename from programs/fs/kfm/trunk/tran_ini.inc rename to programs/fs/kfm/tran_ini.inc