114 lines
2.2 KiB
C++
114 lines
2.2 KiB
C++
// 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
|