Files
nsis-plugin-ns7zip/versions/25.01/CPP/7zip/UI/FileManager/OverwriteDialog.h
T
Simone d074cc7c07 chore: initial commit (extracted from Launchers monorepo)
Plugin: ns7zip v2.0.0
Architectures: x86-ansi, x86-unicode, amd64-unicode
License: LGPL-2.1-or-later
2026-04-29 14:07:51 +02:00

90 lines
1.8 KiB
C++

// OverwriteDialog.h
#ifndef ZIP7_INC_OVERWRITE_DIALOG_H
#define ZIP7_INC_OVERWRITE_DIALOG_H
#include "../../../Windows/Control/Dialog.h"
#include "DialogSize.h"
#include "OverwriteDialogRes.h"
namespace NOverwriteDialog
{
struct CFileInfo
{
bool Size_IsDefined;
bool Time_IsDefined;
bool Is_FileSystemFile;
UInt64 Size;
FILETIME Time;
UString Path;
void SetTime(const FILETIME &t)
{
Time = t;
Time_IsDefined = true;
}
void SetTime2(const FILETIME *t)
{
if (!t)
Time_IsDefined = false;
else
SetTime(*t);
}
void SetSize(UInt64 size)
{
Size = size;
Size_IsDefined = true;
}
void SetSize2(const UInt64 *size)
{
if (!size)
Size_IsDefined = false;
else
SetSize(*size);
}
CFileInfo():
Size_IsDefined(false),
Time_IsDefined(false),
Is_FileSystemFile(false)
{}
};
}
class COverwriteDialog: public NWindows::NControl::CModalDialog
{
#ifdef UNDER_CE
bool _isBig;
#endif
void SetItemIcon(unsigned iconID, HICON hIcon);
void SetFileInfoControl(const NOverwriteDialog::CFileInfo &fileInfo, unsigned textID, unsigned iconID, unsigned iconID_2);
virtual bool OnInit() Z7_override;
virtual bool OnDestroy() Z7_override;
virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override;
void ReduceString(UString &s);
public:
bool ShowExtraButtons;
bool DefaultButton_is_NO;
NOverwriteDialog::CFileInfo OldFileInfo;
NOverwriteDialog::CFileInfo NewFileInfo;
COverwriteDialog(): ShowExtraButtons(true), DefaultButton_is_NO(false) {}
INT_PTR Create(HWND parent = NULL)
{
#ifdef UNDER_CE
BIG_DIALOG_SIZE(280, 200);
_isBig = isBig;
#endif
return CModalDialog::Create(SIZED_DIALOG(IDD_OVERWRITE), parent);
}
};
#endif