1*f6dc9357SAndroid Build Coastguard Worker // ExtractDialog.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_EXTRACT_DIALOG_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_EXTRACT_DIALOG_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "ExtractDialogRes.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/ComboBox.h" 9*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/Edit.h" 10*f6dc9357SAndroid Build Coastguard Worker 11*f6dc9357SAndroid Build Coastguard Worker #include "../Common/ExtractMode.h" 12*f6dc9357SAndroid Build Coastguard Worker 13*f6dc9357SAndroid Build Coastguard Worker #include "../FileManager/DialogSize.h" 14*f6dc9357SAndroid Build Coastguard Worker 15*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_REGISTRY 16*f6dc9357SAndroid Build Coastguard Worker #include "../Common/ZipRegistry.h" 17*f6dc9357SAndroid Build Coastguard Worker #endif 18*f6dc9357SAndroid Build Coastguard Worker 19*f6dc9357SAndroid Build Coastguard Worker namespace NExtractionDialog 20*f6dc9357SAndroid Build Coastguard Worker { 21*f6dc9357SAndroid Build Coastguard Worker /* 22*f6dc9357SAndroid Build Coastguard Worker namespace NFilesMode 23*f6dc9357SAndroid Build Coastguard Worker { 24*f6dc9357SAndroid Build Coastguard Worker enum EEnum 25*f6dc9357SAndroid Build Coastguard Worker { 26*f6dc9357SAndroid Build Coastguard Worker kSelected, 27*f6dc9357SAndroid Build Coastguard Worker kAll, 28*f6dc9357SAndroid Build Coastguard Worker kSpecified 29*f6dc9357SAndroid Build Coastguard Worker }; 30*f6dc9357SAndroid Build Coastguard Worker } 31*f6dc9357SAndroid Build Coastguard Worker */ 32*f6dc9357SAndroid Build Coastguard Worker } 33*f6dc9357SAndroid Build Coastguard Worker 34*f6dc9357SAndroid Build Coastguard Worker class CExtractDialog: public NWindows::NControl::CModalDialog 35*f6dc9357SAndroid Build Coastguard Worker { 36*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_NO_REGISTRY 37*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CDialogChildControl _path; 38*f6dc9357SAndroid Build Coastguard Worker #else 39*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CComboBox _path; 40*f6dc9357SAndroid Build Coastguard Worker #endif 41*f6dc9357SAndroid Build Coastguard Worker 42*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_SFX 43*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CEdit _pathName; 44*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CEdit _passwordControl; 45*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CComboBox _pathMode; 46*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CComboBox _overwriteMode; 47*f6dc9357SAndroid Build Coastguard Worker #endif 48*f6dc9357SAndroid Build Coastguard Worker 49*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_SFX 50*f6dc9357SAndroid Build Coastguard Worker // int GetFilesMode() const; 51*f6dc9357SAndroid Build Coastguard Worker void UpdatePasswordControl(); 52*f6dc9357SAndroid Build Coastguard Worker #endif 53*f6dc9357SAndroid Build Coastguard Worker 54*f6dc9357SAndroid Build Coastguard Worker void OnButtonSetPath(); 55*f6dc9357SAndroid Build Coastguard Worker 56*f6dc9357SAndroid Build Coastguard Worker void CheckButton_TwoBools(UINT id, const CBoolPair &b1, const CBoolPair &b2); 57*f6dc9357SAndroid Build Coastguard Worker void GetButton_Bools(UINT id, CBoolPair &b1, CBoolPair &b2); 58*f6dc9357SAndroid Build Coastguard Worker virtual bool OnInit() Z7_override; 59*f6dc9357SAndroid Build Coastguard Worker virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override; 60*f6dc9357SAndroid Build Coastguard Worker virtual void OnOK() Z7_override; 61*f6dc9357SAndroid Build Coastguard Worker 62*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_REGISTRY 63*f6dc9357SAndroid Build Coastguard Worker 64*f6dc9357SAndroid Build Coastguard Worker virtual void OnHelp() Z7_override; 65*f6dc9357SAndroid Build Coastguard Worker 66*f6dc9357SAndroid Build Coastguard Worker NExtract::CInfo _info; 67*f6dc9357SAndroid Build Coastguard Worker 68*f6dc9357SAndroid Build Coastguard Worker #endif 69*f6dc9357SAndroid Build Coastguard Worker IsShowPasswordChecked()70*f6dc9357SAndroid Build Coastguard Worker bool IsShowPasswordChecked() const { return IsButtonCheckedBool(IDX_PASSWORD_SHOW); } 71*f6dc9357SAndroid Build Coastguard Worker public: 72*f6dc9357SAndroid Build Coastguard Worker // bool _enableSelectedFilesButton; 73*f6dc9357SAndroid Build Coastguard Worker // bool _enableFilesButton; 74*f6dc9357SAndroid Build Coastguard Worker // NExtractionDialog::NFilesMode::EEnum FilesMode; 75*f6dc9357SAndroid Build Coastguard Worker 76*f6dc9357SAndroid Build Coastguard Worker UString DirPath; 77*f6dc9357SAndroid Build Coastguard Worker UString ArcPath; 78*f6dc9357SAndroid Build Coastguard Worker 79*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_SFX 80*f6dc9357SAndroid Build Coastguard Worker UString Password; 81*f6dc9357SAndroid Build Coastguard Worker #endif 82*f6dc9357SAndroid Build Coastguard Worker bool PathMode_Force; 83*f6dc9357SAndroid Build Coastguard Worker bool OverwriteMode_Force; 84*f6dc9357SAndroid Build Coastguard Worker NExtract::NPathMode::EEnum PathMode; 85*f6dc9357SAndroid Build Coastguard Worker NExtract::NOverwriteMode::EEnum OverwriteMode; 86*f6dc9357SAndroid Build Coastguard Worker 87*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_SFX 88*f6dc9357SAndroid Build Coastguard Worker // CBoolPair AltStreams; 89*f6dc9357SAndroid Build Coastguard Worker CBoolPair NtSecurity; 90*f6dc9357SAndroid Build Coastguard Worker #endif 91*f6dc9357SAndroid Build Coastguard Worker 92*f6dc9357SAndroid Build Coastguard Worker CBoolPair ElimDup; 93*f6dc9357SAndroid Build Coastguard Worker 94*f6dc9357SAndroid Build Coastguard Worker INT_PTR Create(HWND aWndParent = NULL) 95*f6dc9357SAndroid Build Coastguard Worker { 96*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_SFX 97*f6dc9357SAndroid Build Coastguard Worker BIG_DIALOG_SIZE(240, 64); 98*f6dc9357SAndroid Build Coastguard Worker #else 99*f6dc9357SAndroid Build Coastguard Worker BIG_DIALOG_SIZE(300, 160); 100*f6dc9357SAndroid Build Coastguard Worker #endif 101*f6dc9357SAndroid Build Coastguard Worker return CModalDialog::Create(SIZED_DIALOG(IDD_EXTRACT), aWndParent); 102*f6dc9357SAndroid Build Coastguard Worker } 103*f6dc9357SAndroid Build Coastguard Worker CExtractDialog()104*f6dc9357SAndroid Build Coastguard Worker CExtractDialog(): 105*f6dc9357SAndroid Build Coastguard Worker PathMode_Force(false), 106*f6dc9357SAndroid Build Coastguard Worker OverwriteMode_Force(false) 107*f6dc9357SAndroid Build Coastguard Worker { 108*f6dc9357SAndroid Build Coastguard Worker ElimDup.Val = true; 109*f6dc9357SAndroid Build Coastguard Worker } 110*f6dc9357SAndroid Build Coastguard Worker 111*f6dc9357SAndroid Build Coastguard Worker }; 112*f6dc9357SAndroid Build Coastguard Worker 113*f6dc9357SAndroid Build Coastguard Worker #endif 114