// ExtractDialog.h | |
#ifndef __EXTRACT_DIALOG_H | |
#define __EXTRACT_DIALOG_H | |
#include "ExtractDialogRes.h" | |
#include "../../../Windows/Control/ComboBox.h" | |
#include "../../../Windows/Control/Edit.h" | |
#include "../Common/ExtractMode.h" | |
#include "../FileManager/DialogSize.h" | |
#ifndef NO_REGISTRY | |
#include "../Common/ZipRegistry.h" | |
#endif | |
namespace NExtractionDialog | |
{ | |
/* | |
namespace NFilesMode | |
{ | |
enum EEnum | |
{ | |
kSelected, | |
kAll, | |
kSpecified | |
}; | |
} | |
*/ | |
} | |
class CExtractDialog: public NWindows::NControl::CModalDialog | |
{ | |
#ifdef NO_REGISTRY | |
NWindows::NControl::CDialogChildControl _path; | |
#else | |
NWindows::NControl::CComboBox _path; | |
#endif | |
#ifndef _SFX | |
NWindows::NControl::CEdit _pathName; | |
NWindows::NControl::CEdit _passwordControl; | |
NWindows::NControl::CComboBox _pathMode; | |
NWindows::NControl::CComboBox _overwriteMode; | |
#endif | |
#ifndef _SFX | |
// int GetFilesMode() const; | |
void UpdatePasswordControl(); | |
#endif | |
void OnButtonSetPath(); | |
void CheckButton_TwoBools(UINT id, const CBoolPair &b1, const CBoolPair &b2); | |
void GetButton_Bools(UINT id, CBoolPair &b1, CBoolPair &b2); | |
virtual bool OnInit(); | |
virtual bool OnButtonClicked(int buttonID, HWND buttonHWND); | |
virtual void OnOK(); | |
#ifndef NO_REGISTRY | |
virtual void OnHelp(); | |
NExtract::CInfo _info; | |
#endif | |
bool IsShowPasswordChecked() const { return IsButtonCheckedBool(IDX_PASSWORD_SHOW); } | |
public: | |
// bool _enableSelectedFilesButton; | |
// bool _enableFilesButton; | |
// NExtractionDialog::NFilesMode::EEnum FilesMode; | |
UString DirPath; | |
UString ArcPath; | |
#ifndef _SFX | |
UString Password; | |
#endif | |
bool PathMode_Force; | |
bool OverwriteMode_Force; | |
NExtract::NPathMode::EEnum PathMode; | |
NExtract::NOverwriteMode::EEnum OverwriteMode; | |
#ifndef _SFX | |
// CBoolPair AltStreams; | |
CBoolPair NtSecurity; | |
#endif | |
CBoolPair ElimDup; | |
INT_PTR Create(HWND aWndParent = 0) | |
{ | |
#ifdef _SFX | |
BIG_DIALOG_SIZE(240, 64); | |
#else | |
BIG_DIALOG_SIZE(300, 160); | |
#endif | |
return CModalDialog::Create(SIZED_DIALOG(IDD_EXTRACT), aWndParent); | |
} | |
CExtractDialog(): | |
PathMode_Force(false), | |
OverwriteMode_Force(false) | |
{ | |
ElimDup.Val = true; | |
} | |
}; | |
#endif |