/* * CiderPress * Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved. * See the file LICENSE for distribution terms. */ /* * Ask for confirmation before overwriting a file. */ #ifndef APP_CONFIRMOVERWRITEDIALOG_H #define APP_CONFIRMOVERWRITEDIALOG_H #include "resource.h" /* * Accept or reject overwriting an existing file or archive record. */ class ConfirmOverwriteDialog : public CDialog { public: ConfirmOverwriteDialog(CWnd* pParentWnd = NULL) : CDialog(IDD_CONFIRM_OVERWRITE, pParentWnd) { fResultOverwrite = false; fResultApplyToAll = false; fResultRename = false; fAllowRename = true; fNewFileModWhen = -1; fExistingFileModWhen = -1; } ~ConfirmOverwriteDialog(void) {} // name of file in archive (during extraction) or disk (for add) CString fNewFileSource; time_t fNewFileModWhen; // full path of file being extracted onto (or record name for add) CString fExistingFile; time_t fExistingFileModWhen; // result flags: yes/no/yes-all/no-all bool fResultOverwrite; bool fResultApplyToAll; // if this flag is set, try again with updated "fExistingFile" value bool fResultRename; // set this to enable the "Rename" button bool fAllowRename; private: virtual BOOL OnInitDialog(void) override; afx_msg void OnYes(void); afx_msg void OnYesToAll(void); afx_msg void OnNo(void); afx_msg void OnNoToAll(void); afx_msg void OnRename(void); // Handle a click on the question-mark button. afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { return MyApp::HandleHelpInfo(lpHelpInfo); } DECLARE_MESSAGE_MAP() }; /* * Allow the user to rename a file being added or extracted, rather than * overwriting an existing file. ConfirmOverwriteDialog creates one of these * when the "rename" button is clicked on. * * The names of the fields here correspond directly to those in * ConfirmOverwriteDialog. */ class RenameOverwriteDialog : public CDialog { public: RenameOverwriteDialog(CWnd* pParentWnd = NULL) : CDialog(IDD_RENAME_OVERWRITE, pParentWnd) {} ~RenameOverwriteDialog(void) {} // name of file on source medium CString fNewFileSource; // converted name, which already exists in destination medium CString fExistingFile; // result: what the user has renamed it to CString fNewName; private: virtual BOOL OnInitDialog(void) override; virtual void DoDataExchange(CDataExchange* pDX) override; afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { return MyApp::HandleHelpInfo(lpHelpInfo); } DECLARE_MESSAGE_MAP() }; #endif /*APP_CONFIRMOVERWRITEDIALOG_H*/