added easy7zip features#490
Conversation
Port abandoned Easy 7-Zip features (e7z.org, LGPL) UI features: free-space labels, "Open" button + path-history sharing in Extract/Copy dialogs, post-extract checkboxes (Open / Delete source / Close 7-Zip), tray background mode with animated icon, resizable progress + dialogs, percent label, context menu icons default on. Generic vanilla extensions used by these features: - CDialog: OnGetMinMaxInfo virtual + _minTrackSize + helper - NDir::DeleteFileIfArchive - BrowseDialog: FreeSpace_ConvertSizeToString + FormatPathFreeSpace - ViewSettings: SaveBoolVal / ReadBoolVal
|
Hello @3V0S8N - it looks like you added some UI changes, can you add some screenshots of the new things? |
|
* ZipRegistry: MenuIcons defaults ON when no registry value
(Key_Get_BoolPair_true, matches Cascaded/ElimDup).
* ContextMenu.cpp: drop the ci.MenuIcons.Val conditional — shell
context-menu icons are now unconditional.
* g_bProcessError -> ProgressDialog_SetError()/HadError() pair backed
by a function-local static in an anonymous namespace (3x S5421).
Callers in App.cpp and ExtractGUI.cpp updated.
* CProgressDialog: extract 3 SysTray methods + state into a CSysTray
helper struct (Icons, IconArrayId, Menu, LoadIcons, UpdateIcon,
BuildPopupMenu). Class falls 38 -> 35 methods, fixes S1448.
In-class default-init for Icons{}, IconArrayId, Menu;
CSysTray() = default replaces out-of-line ctor (2x S3230).
UpdateIcon: int newIconId -> const auto + static_cast<int> (S5827).
Behavior unchanged.
* wchar_t buf[N] -> std::array<wchar_t, N> in BrowseDialog (szFree,
szTotal), ProgressDialog2 (szPercent, tip): 4x S5945.
* HICON[] -> std::array<HICON, N> (S5945), std::size for szTip
(S7127), range-for loops for icon arrays (2x S5566).
* CopyDialog.h: CCopyDialog() = default (S3490).
* ExtractDialog.h: PathMode_Force in-class init, ctor body-only (S3230).
* App.cpp + BrowseDialog.cpp: collapse local DWORD into if-init-statement
(2x S6004).
* *Res.h headers: NOSONAR cpp:S5028 — Win32 rc.exe only parses #define
macros, so const/constexpr/enum are not valid for resource IDs.
Affects CopyDialogRes, ProgressDialog2IconRes, ProgressDialog2Res,
ExtractDialogRes (28 lines, all Easy-additions).
|
this should be fine now |
|
Would we have certain "conflict" with 36ae34f? |
IDX_EXTRACT_OPEN_TRG_FLD 104 the e7z stuff is 105, 107, 108,109. I think I took care of all issues. But let me know if I'm wrong |
|
I didn't mean a conflict by ID of some resource, I meant the feature "Open target folder" which seems to be (re)implemented as "Open output folder"... so we shall not have 2 different things doing the same. |
* ZipRegistry: add standalone Save_OpnTrgFold/Read_OpnTrgFold helpers in NExtract (analog to Save_ShowPassword/Read_ShowPassword), backed by Igor's existing kOpnTrgFold registry value in the Extraction key. * CopyDialog: route OpenOutputFolder through NExtract::Save_OpnTrgFold /Read_OpnTrgFold instead of Easy's FM-key Save_OpenOutputFolder /Read_OpenOutputFolder. * ViewSettings: drop now-dead Save_OpenOutputFolder/Read_OpenOutputFolder and kOpenOutputFolderValueName. Effect: the Extract dialog (vanilla, Igor's checkbox) and the FM Copy/ Move dialog (F5/F6) now share one persisted setting at HKCU\...\ Extraction\OpnTrgFold instead of two parallel registry values. Addresses maintainer feedback on duplicated "Open output folder" semantics.
Ok yes thats stupid, I ported most of the stuff over as is without thinking about it. I'm currently at work I let the clanker do the commit. At a glance it looks good. |
|
7ea09d4 to
4d79dd7
Compare








Port abandoned Easy 7-Zip features (e7z.org, LGPL)
UI features: free-space labels, "Open" button + path-history sharing in Extract/Copy dialogs, post-extract checkboxes (Open / Delete source / Close 7-Zip), tray background mode with animated icon, resizable progress
Generic vanilla extensions used by these features: