1*f6dc9357SAndroid Build Coastguard Worker // OverwriteDialog.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_OVERWRITE_DIALOG_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_OVERWRITE_DIALOG_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/Dialog.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "DialogSize.h" 9*f6dc9357SAndroid Build Coastguard Worker #include "OverwriteDialogRes.h" 10*f6dc9357SAndroid Build Coastguard Worker 11*f6dc9357SAndroid Build Coastguard Worker namespace NOverwriteDialog 12*f6dc9357SAndroid Build Coastguard Worker { 13*f6dc9357SAndroid Build Coastguard Worker struct CFileInfo 14*f6dc9357SAndroid Build Coastguard Worker { 15*f6dc9357SAndroid Build Coastguard Worker bool Size_IsDefined; 16*f6dc9357SAndroid Build Coastguard Worker bool Time_IsDefined; 17*f6dc9357SAndroid Build Coastguard Worker bool Is_FileSystemFile; 18*f6dc9357SAndroid Build Coastguard Worker UInt64 Size; 19*f6dc9357SAndroid Build Coastguard Worker FILETIME Time; 20*f6dc9357SAndroid Build Coastguard Worker UString Path; 21*f6dc9357SAndroid Build Coastguard Worker SetTimeCFileInfo22*f6dc9357SAndroid Build Coastguard Worker void SetTime(const FILETIME &t) 23*f6dc9357SAndroid Build Coastguard Worker { 24*f6dc9357SAndroid Build Coastguard Worker Time = t; 25*f6dc9357SAndroid Build Coastguard Worker Time_IsDefined = true; 26*f6dc9357SAndroid Build Coastguard Worker } 27*f6dc9357SAndroid Build Coastguard Worker SetTime2CFileInfo28*f6dc9357SAndroid Build Coastguard Worker void SetTime2(const FILETIME *t) 29*f6dc9357SAndroid Build Coastguard Worker { 30*f6dc9357SAndroid Build Coastguard Worker if (!t) 31*f6dc9357SAndroid Build Coastguard Worker Time_IsDefined = false; 32*f6dc9357SAndroid Build Coastguard Worker else 33*f6dc9357SAndroid Build Coastguard Worker SetTime(*t); 34*f6dc9357SAndroid Build Coastguard Worker } 35*f6dc9357SAndroid Build Coastguard Worker SetSizeCFileInfo36*f6dc9357SAndroid Build Coastguard Worker void SetSize(UInt64 size) 37*f6dc9357SAndroid Build Coastguard Worker { 38*f6dc9357SAndroid Build Coastguard Worker Size = size; 39*f6dc9357SAndroid Build Coastguard Worker Size_IsDefined = true; 40*f6dc9357SAndroid Build Coastguard Worker } 41*f6dc9357SAndroid Build Coastguard Worker SetSize2CFileInfo42*f6dc9357SAndroid Build Coastguard Worker void SetSize2(const UInt64 *size) 43*f6dc9357SAndroid Build Coastguard Worker { 44*f6dc9357SAndroid Build Coastguard Worker if (!size) 45*f6dc9357SAndroid Build Coastguard Worker Size_IsDefined = false; 46*f6dc9357SAndroid Build Coastguard Worker else 47*f6dc9357SAndroid Build Coastguard Worker SetSize(*size); 48*f6dc9357SAndroid Build Coastguard Worker } 49*f6dc9357SAndroid Build Coastguard Worker CFileInfoCFileInfo50*f6dc9357SAndroid Build Coastguard Worker CFileInfo(): 51*f6dc9357SAndroid Build Coastguard Worker Size_IsDefined(false), 52*f6dc9357SAndroid Build Coastguard Worker Time_IsDefined(false), 53*f6dc9357SAndroid Build Coastguard Worker Is_FileSystemFile(false) 54*f6dc9357SAndroid Build Coastguard Worker {} 55*f6dc9357SAndroid Build Coastguard Worker }; 56*f6dc9357SAndroid Build Coastguard Worker } 57*f6dc9357SAndroid Build Coastguard Worker 58*f6dc9357SAndroid Build Coastguard Worker class COverwriteDialog: public NWindows::NControl::CModalDialog 59*f6dc9357SAndroid Build Coastguard Worker { 60*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE 61*f6dc9357SAndroid Build Coastguard Worker bool _isBig; 62*f6dc9357SAndroid Build Coastguard Worker #endif 63*f6dc9357SAndroid Build Coastguard Worker 64*f6dc9357SAndroid Build Coastguard Worker void SetItemIcon(unsigned iconID, HICON hIcon); 65*f6dc9357SAndroid Build Coastguard Worker void SetFileInfoControl(const NOverwriteDialog::CFileInfo &fileInfo, unsigned textID, unsigned iconID, unsigned iconID_2); 66*f6dc9357SAndroid Build Coastguard Worker virtual bool OnInit() Z7_override; 67*f6dc9357SAndroid Build Coastguard Worker virtual bool OnDestroy() Z7_override; 68*f6dc9357SAndroid Build Coastguard Worker virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override; 69*f6dc9357SAndroid Build Coastguard Worker void ReduceString(UString &s); 70*f6dc9357SAndroid Build Coastguard Worker 71*f6dc9357SAndroid Build Coastguard Worker public: 72*f6dc9357SAndroid Build Coastguard Worker bool ShowExtraButtons; 73*f6dc9357SAndroid Build Coastguard Worker bool DefaultButton_is_NO; 74*f6dc9357SAndroid Build Coastguard Worker NOverwriteDialog::CFileInfo OldFileInfo; 75*f6dc9357SAndroid Build Coastguard Worker NOverwriteDialog::CFileInfo NewFileInfo; 76*f6dc9357SAndroid Build Coastguard Worker COverwriteDialog()77*f6dc9357SAndroid Build Coastguard Worker COverwriteDialog(): ShowExtraButtons(true), DefaultButton_is_NO(false) {} 78*f6dc9357SAndroid Build Coastguard Worker 79*f6dc9357SAndroid Build Coastguard Worker INT_PTR Create(HWND parent = NULL) 80*f6dc9357SAndroid Build Coastguard Worker { 81*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE 82*f6dc9357SAndroid Build Coastguard Worker BIG_DIALOG_SIZE(280, 200); 83*f6dc9357SAndroid Build Coastguard Worker _isBig = isBig; 84*f6dc9357SAndroid Build Coastguard Worker #endif 85*f6dc9357SAndroid Build Coastguard Worker return CModalDialog::Create(SIZED_DIALOG(IDD_OVERWRITE), parent); 86*f6dc9357SAndroid Build Coastguard Worker } 87*f6dc9357SAndroid Build Coastguard Worker }; 88*f6dc9357SAndroid Build Coastguard Worker 89*f6dc9357SAndroid Build Coastguard Worker #endif 90