// 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