1370b324cSopenharmony_ci// ExtractDialog.h 2370b324cSopenharmony_ci 3370b324cSopenharmony_ci#ifndef ZIP7_INC_EXTRACT_DIALOG_H 4370b324cSopenharmony_ci#define ZIP7_INC_EXTRACT_DIALOG_H 5370b324cSopenharmony_ci 6370b324cSopenharmony_ci#include "ExtractDialogRes.h" 7370b324cSopenharmony_ci 8370b324cSopenharmony_ci#include "../../../Windows/Control/ComboBox.h" 9370b324cSopenharmony_ci#include "../../../Windows/Control/Edit.h" 10370b324cSopenharmony_ci 11370b324cSopenharmony_ci#include "../Common/ExtractMode.h" 12370b324cSopenharmony_ci 13370b324cSopenharmony_ci#include "../FileManager/DialogSize.h" 14370b324cSopenharmony_ci 15370b324cSopenharmony_ci#ifndef Z7_NO_REGISTRY 16370b324cSopenharmony_ci#include "../Common/ZipRegistry.h" 17370b324cSopenharmony_ci#endif 18370b324cSopenharmony_ci 19370b324cSopenharmony_cinamespace NExtractionDialog 20370b324cSopenharmony_ci{ 21370b324cSopenharmony_ci /* 22370b324cSopenharmony_ci namespace NFilesMode 23370b324cSopenharmony_ci { 24370b324cSopenharmony_ci enum EEnum 25370b324cSopenharmony_ci { 26370b324cSopenharmony_ci kSelected, 27370b324cSopenharmony_ci kAll, 28370b324cSopenharmony_ci kSpecified 29370b324cSopenharmony_ci }; 30370b324cSopenharmony_ci } 31370b324cSopenharmony_ci */ 32370b324cSopenharmony_ci} 33370b324cSopenharmony_ci 34370b324cSopenharmony_ciclass CExtractDialog: public NWindows::NControl::CModalDialog 35370b324cSopenharmony_ci{ 36370b324cSopenharmony_ci #ifdef Z7_NO_REGISTRY 37370b324cSopenharmony_ci NWindows::NControl::CDialogChildControl _path; 38370b324cSopenharmony_ci #else 39370b324cSopenharmony_ci NWindows::NControl::CComboBox _path; 40370b324cSopenharmony_ci #endif 41370b324cSopenharmony_ci 42370b324cSopenharmony_ci #ifndef Z7_SFX 43370b324cSopenharmony_ci NWindows::NControl::CEdit _pathName; 44370b324cSopenharmony_ci NWindows::NControl::CEdit _passwordControl; 45370b324cSopenharmony_ci NWindows::NControl::CComboBox _pathMode; 46370b324cSopenharmony_ci NWindows::NControl::CComboBox _overwriteMode; 47370b324cSopenharmony_ci #endif 48370b324cSopenharmony_ci 49370b324cSopenharmony_ci #ifndef Z7_SFX 50370b324cSopenharmony_ci // int GetFilesMode() const; 51370b324cSopenharmony_ci void UpdatePasswordControl(); 52370b324cSopenharmony_ci #endif 53370b324cSopenharmony_ci 54370b324cSopenharmony_ci void OnButtonSetPath(); 55370b324cSopenharmony_ci 56370b324cSopenharmony_ci void CheckButton_TwoBools(UINT id, const CBoolPair &b1, const CBoolPair &b2); 57370b324cSopenharmony_ci void GetButton_Bools(UINT id, CBoolPair &b1, CBoolPair &b2); 58370b324cSopenharmony_ci virtual bool OnInit() Z7_override; 59370b324cSopenharmony_ci virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override; 60370b324cSopenharmony_ci virtual void OnOK() Z7_override; 61370b324cSopenharmony_ci 62370b324cSopenharmony_ci #ifndef Z7_NO_REGISTRY 63370b324cSopenharmony_ci 64370b324cSopenharmony_ci virtual void OnHelp() Z7_override; 65370b324cSopenharmony_ci 66370b324cSopenharmony_ci NExtract::CInfo _info; 67370b324cSopenharmony_ci 68370b324cSopenharmony_ci #endif 69370b324cSopenharmony_ci 70370b324cSopenharmony_ci bool IsShowPasswordChecked() const { return IsButtonCheckedBool(IDX_PASSWORD_SHOW); } 71370b324cSopenharmony_cipublic: 72370b324cSopenharmony_ci // bool _enableSelectedFilesButton; 73370b324cSopenharmony_ci // bool _enableFilesButton; 74370b324cSopenharmony_ci // NExtractionDialog::NFilesMode::EEnum FilesMode; 75370b324cSopenharmony_ci 76370b324cSopenharmony_ci UString DirPath; 77370b324cSopenharmony_ci UString ArcPath; 78370b324cSopenharmony_ci 79370b324cSopenharmony_ci #ifndef Z7_SFX 80370b324cSopenharmony_ci UString Password; 81370b324cSopenharmony_ci #endif 82370b324cSopenharmony_ci bool PathMode_Force; 83370b324cSopenharmony_ci bool OverwriteMode_Force; 84370b324cSopenharmony_ci NExtract::NPathMode::EEnum PathMode; 85370b324cSopenharmony_ci NExtract::NOverwriteMode::EEnum OverwriteMode; 86370b324cSopenharmony_ci 87370b324cSopenharmony_ci #ifndef Z7_SFX 88370b324cSopenharmony_ci // CBoolPair AltStreams; 89370b324cSopenharmony_ci CBoolPair NtSecurity; 90370b324cSopenharmony_ci #endif 91370b324cSopenharmony_ci 92370b324cSopenharmony_ci CBoolPair ElimDup; 93370b324cSopenharmony_ci 94370b324cSopenharmony_ci INT_PTR Create(HWND aWndParent = NULL) 95370b324cSopenharmony_ci { 96370b324cSopenharmony_ci #ifdef Z7_SFX 97370b324cSopenharmony_ci BIG_DIALOG_SIZE(240, 64); 98370b324cSopenharmony_ci #else 99370b324cSopenharmony_ci BIG_DIALOG_SIZE(300, 160); 100370b324cSopenharmony_ci #endif 101370b324cSopenharmony_ci return CModalDialog::Create(SIZED_DIALOG(IDD_EXTRACT), aWndParent); 102370b324cSopenharmony_ci } 103370b324cSopenharmony_ci 104370b324cSopenharmony_ci CExtractDialog(): 105370b324cSopenharmony_ci PathMode_Force(false), 106370b324cSopenharmony_ci OverwriteMode_Force(false) 107370b324cSopenharmony_ci { 108370b324cSopenharmony_ci ElimDup.Val = true; 109370b324cSopenharmony_ci } 110370b324cSopenharmony_ci 111370b324cSopenharmony_ci}; 112370b324cSopenharmony_ci 113370b324cSopenharmony_ci#endif 114