From 80ae64dc44278dca0955f2c0c919e7006c60acf2 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sun, 6 Feb 2022 11:44:40 +0000 Subject: [PATCH] fNav: update assoc (thanks for passerby report) Eolite: half-fix of a fise display in Properties dialog for files bigger than 4 Gb (thanks for Mario report) git-svn-id: svn://kolibrios.org@9685 a494cfbc-eb01-0410-851d-a64ba20cac60 --- data/common/File Managers/fNav/FNAV.SET | 2 +- programs/cmm/eolite/include/properties.h | 15 +++++++-------- programs/cmm/lib/fs.h | 10 ++++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/data/common/File Managers/fNav/FNAV.SET b/data/common/File Managers/fNav/FNAV.SET index 63826b570d..fa3bf42164 100644 --- a/data/common/File Managers/fNav/FNAV.SET +++ b/data/common/File Managers/fNav/FNAV.SET @@ -1 +1 @@ -/sys/TinyPad: asm, inc, mac, dat /sys/media/kiv: gif, bmp, png, tga, jpg, ico, cur, tif, tiff, jpeg, ppm, pgm, pbm, pnm, pcx, wbmp, xcf /sys/Network/Webview: htm, html, mht, xhtml, docx, url /sys/fb2read: fb2 /sys/develop/cObj: obj /sys/skincfg: skn, dtp /sys/rtfRead: rtf /sys/develop/cedit: cpp, h, c, c--, pas, set, ext, ini, ob07, lua, txt, log /sys/mgb: mgb /sys/media/pixie: mp3 /sys/media/AC97SND: wav, xm /sys/media/MIDAMP: mid /sys/media/listplay: m3u, lap, asf /sys/shell: sh /sys/3d/view3ds: 3ds, asc /sys/graph: cvs, grf /sys/unz: zip, 7z /sys/unimg: img /sys/table: csv /kolibrios/media/updf: pdf /kolibrios/media/fplay: avi, mpg, mov, flv, wmv, vob, mkv, mp4, mpeg, divx, 3gp, webm /kolibrios/emul/zsnes/zsnes: smc /kolibrios/emul/psx4all: mcr /kolibrios/emul/fceu/fceu: nes /kolibrios/emul/e80/e80: sna /kolibrios/emul/gameboy: gb, gbc /kolibrios/emul/pokemini: min /sys/develop/heed: \ No newline at end of file +/sys/TinyPad: asm, inc, mac, dat /sys/media/kiv: gif, bmp, png, tga, jpg, ico, cur, tif, tiff, jpeg, ppm, pgm, pbm, pnm, pcx, wbmp, xcf /sys/Network/Webview: htm, html, mht, xhtml, docx, url /sys/fb2read: fb2 /sys/develop/cObj: obj /sys/skincfg: skn, dtp /sys/rtfRead: rtf /sys/develop/cedit: cpp, h, c, c--, pas, set, ext, ini, ob07, lua, txt, log /sys/mgb: mgb /sys/media/pixie: mp3, wav, xm /sys/media/MIDAMP: mid /sys/media/listplay: m3u, lap, asf /sys/shell: sh /sys/3d/view3ds: 3ds, asc /sys/graph: cvs, grf /sys/unz: zip, 7z /sys/unimg: img /sys/table: csv /kolibrios/media/updf: pdf /kolibrios/media/fplay: avi, mpg, mov, flv, wmv, vob, mkv, mp4, mpeg, divx, 3gp, webm /kolibrios/emul/zsnes/zsnes: smc /kolibrios/emul/psx4all: mcr /kolibrios/emul/fceu/fceu: nes /kolibrios/emul/e80/e80: sna /kolibrios/emul/gameboy: gb, gbc /kolibrios/emul/pokemini: min /sys/develop/heed: \ No newline at end of file diff --git a/programs/cmm/eolite/include/properties.h b/programs/cmm/eolite/include/properties.h index 9b2d322e22..00ccedc597 100644 --- a/programs/cmm/eolite/include/properties.h +++ b/programs/cmm/eolite/include/properties.h @@ -120,6 +120,7 @@ void GetSizeMoreFiles(dword way) { GetFileInfo(#cur_file, #file_info_dirsize); more_files_count.bytes += file_info_dirsize.sizelo; + more_files_count.bytes += file_info_dirsize.sizehi; more_files_count.files++; } } @@ -219,10 +220,9 @@ void properties_dialog() void DrawPropertiesWindow() { proc_info pform; - char element_size_label[32]; + char size_lbl[32]; char folder_info[200]; dword ext1; - dword element_size; incn y; char temp_path[PATHLEN]; bool show_date = false; @@ -244,8 +244,8 @@ void DrawPropertiesWindow() PropertiesDrawIcon(NULL, ""); sprintf(#folder_info,T_FILES_FOLDERS,more_files_count.files,more_files_count.folders); WriteText(file_name_ed.left+4, 30, 0x90, sc.work_text, #folder_info); - sprintf(#element_size_label,T_PROP_SIZE,ConvertSize64(more_files_count.bytes, NULL),more_files_count.bytes); - WriteText(10, 97, 0x90, sc.work_text, #element_size_label); + sprintf(#size_lbl,T_PROP_SIZE,ConvertSize64(more_files_count.bytes, more_files_count.bytes>>32),more_files_count.bytes); + WriteText(10, 97, 0x90, sc.work_text, #size_lbl); } else { @@ -261,15 +261,14 @@ void DrawPropertiesWindow() DrawEditBox(#file_name_ed); if (!itdir) { - element_size = file_info_general.sizelo; + sprintf(#size_lbl,T_PROP_SIZE,ConvertSize64(file_info_general.sizelo, file_info_general.sizehi),file_info_general.sizelo); } else { sprintf(#folder_info,T_FILES_FOLDERS,dir_size.files,dir_size.folders); WriteText(10, 117, 0x90, sc.work_text, PR_T_CONTAINS); WriteText(120, 117, 0x90, sc.work_text, #folder_info); - element_size = dir_size.bytes; + sprintf(#size_lbl,T_PROP_SIZE,ConvertSize64(dir_size.bytes, dir_size.bytes_high),dir_size.bytes); } - sprintf(#element_size_label,T_PROP_SIZE,ConvertSize64(element_size, NULL),element_size); - WriteText(10, 99, 0x90, sc.work_text, #element_size_label); + WriteText(10, 99, 0x90, sc.work_text, #size_lbl); } if (show_date) { diff --git a/programs/cmm/lib/fs.h b/programs/cmm/lib/fs.h index 91d8818c8b..83e8822551 100644 --- a/programs/cmm/lib/fs.h +++ b/programs/cmm/lib/fs.h @@ -395,9 +395,9 @@ char readbuf[32]; :dword ConvertSize64(dword bytes_lo, bytes_hi) { if (bytes_hi > 0) { - if (bytes_lo>=1073741824) bytes_lo >>= 30; else bytes_lo = 0; - sprintf(#ConvertSize_size_prefix,"%d GB",bytes_hi<<2 + bytes_lo); - return #ConvertSize_size_prefix; + if (bytes_lo>=1073741824) bytes_lo >>= 30; else bytes_lo = 0; + sprintf(#ConvertSize_size_prefix,"%d GB",bytes_hi<<2 + bytes_lo); + return #ConvertSize_size_prefix; } else return ConvertSize(bytes_lo); } @@ -495,13 +495,14 @@ int block_size=1024*1024*4; //copy by 4 MiB dword folders; dword files; dword bytes; + dword bytes_high; dword get(); dword calculate_loop(); }; :dword DIR_SIZE::get(dword way1) { - folders = files = bytes = 0; + folders = files = bytes = bytes_high = 0; if (!way1) return 0; calculate_loop(way1); } @@ -531,6 +532,7 @@ int block_size=1024*1024*4; //copy by 4 MiB { GetFileInfo(cur_file, #dir_info); bytes += dir_info.sizelo; + bytes_high += dir_info.sizehi; files++; } }