// OverwriteDialog.h
#ifndef __OVERWRITE_DIALOG_H
#define __OVERWRITE_DIALOG_H
#include "../../../Windows/Control/Dialog.h"
#include "DialogSize.h"
#include "OverwriteDialogRes.h"
namespace NOverwriteDialog
{
struct CFileInfo
{
bool SizeIsDefined;
bool TimeIsDefined;
UInt64 Size;
FILETIME Time;
UString Name;
void SetTime(const FILETIME *t)
{
if (t == 0)
TimeIsDefined = false;
else
{
TimeIsDefined = true;
Time = *t;
}
}
void SetSize(const UInt64 *size)
{
if (size == 0)
SizeIsDefined = false;
else
{
SizeIsDefined = true;
Size = *size;
}
}
};
}
class COverwriteDialog: public NWindows::NControl::CModalDialog
{
bool _isBig;
void SetFileInfoControl(int textID, int iconID, const NOverwriteDialog::CFileInfo &fileInfo);
virtual bool OnInit();
bool OnButtonClicked(int buttonID, HWND buttonHWND);
void ReduceString(UString &s);
public:
INT_PTR Create(HWND parent = 0)
{
BIG_DIALOG_SIZE(280, 200);
#ifdef UNDER_CE
_isBig = isBig;
#else
_isBig = true;
#endif
return CModalDialog::Create(SIZED_DIALOG(IDD_OVERWRITE), parent);
}
NOverwriteDialog::CFileInfo OldFileInfo;
NOverwriteDialog::CFileInfo NewFileInfo;
};
#endif