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