2 * @file PropBackups.cpp
4 * @brief Implementation of PropBackups propertysheet
8 #include "PropBackups.h"
9 #include "OptionsDef.h"
10 #include "OptionsMgr.h"
11 #include "OptionsPanel.h"
12 #include "FileOrFolderSelect.h"
20 * @brief Constructor taking OptionsManager parameter.
21 * @param [in] optionsMgr Pointer to OptionsManager.
23 PropBackups::PropBackups(COptionsMgr *optionsMgr)
24 : OptionsPanel(optionsMgr, PropBackups::IDD)
25 , m_bCreateForFolderCmp(false)
26 , m_bCreateForFileCmp(false)
28 , m_bAppendTime(false)
33 void PropBackups::DoDataExchange(CDataExchange* pDX)
35 CDialog::DoDataExchange(pDX);
36 DDX_Check(pDX, IDC_BACKUP_FOLDERCMP, m_bCreateForFolderCmp);
37 DDX_Check(pDX, IDC_BACKUP_FILECMP, m_bCreateForFileCmp);
38 DDX_Text(pDX, IDC_BACKUP_FOLDER, m_sGlobalFolder);
39 DDX_Check(pDX, IDC_BACKUP_APPEND_BAK, m_bAppendBak);
40 DDX_Check(pDX, IDC_BACKUP_APPEND_TIME, m_bAppendTime);
41 DDX_Radio(pDX, IDC_BACKUP_ORIGFOLD, m_nBackupFolder);
45 BEGIN_MESSAGE_MAP(PropBackups, OptionsPanel)
46 ON_BN_CLICKED(IDC_BACKUP_BROWSE, OnBnClickedBackupBrowse)
51 * @brief Reads options values from storage to UI.
53 void PropBackups::ReadOptions()
55 m_bCreateForFolderCmp = GetOptionsMgr()->GetBool(OPT_BACKUP_FOLDERCMP);
56 m_bCreateForFileCmp = GetOptionsMgr()->GetBool(OPT_BACKUP_FILECMP);
57 m_nBackupFolder = GetOptionsMgr()->GetInt(OPT_BACKUP_LOCATION);
58 m_sGlobalFolder = GetOptionsMgr()->GetString(OPT_BACKUP_GLOBALFOLDER);
59 m_bAppendBak = GetOptionsMgr()->GetBool(OPT_BACKUP_ADD_BAK);
60 m_bAppendTime = GetOptionsMgr()->GetBool(OPT_BACKUP_ADD_TIME);
64 * @brief Writes options values from UI to storage.
66 void PropBackups::WriteOptions()
68 m_sGlobalFolder = strutils::trim_ws(m_sGlobalFolder);
69 if (m_sGlobalFolder.length() > 3)
70 m_sGlobalFolder = paths::AddTrailingSlash(m_sGlobalFolder);
72 GetOptionsMgr()->SaveOption(OPT_BACKUP_FOLDERCMP, m_bCreateForFolderCmp);
73 GetOptionsMgr()->SaveOption(OPT_BACKUP_FILECMP, m_bCreateForFileCmp);
74 GetOptionsMgr()->SaveOption(OPT_BACKUP_LOCATION, m_nBackupFolder);
75 GetOptionsMgr()->SaveOption(OPT_BACKUP_GLOBALFOLDER, m_sGlobalFolder);
76 GetOptionsMgr()->SaveOption(OPT_BACKUP_ADD_BAK, m_bAppendBak);
77 GetOptionsMgr()->SaveOption(OPT_BACKUP_ADD_TIME, m_bAppendTime);
81 * @brief Called when user selects Browse-button.
83 void PropBackups::OnBnClickedBackupBrowse()
86 if (SelectFolder(path, m_sGlobalFolder.c_str(), _T(""), GetSafeHwnd()))
88 SetDlgItemText(IDC_BACKUP_FOLDER, path);