2 * @file PropCompareWebPage.cpp
4 * @brief Implementation of PropCompareWebPage propertysheet
8 #include "PropCompareWebPage.h"
9 #include "OptionsDef.h"
10 #include "OptionsMgr.h"
11 #include "OptionsPanel.h"
19 * @param [in] optionsMgr Pointer to COptionsMgr.
21 PropCompareWebPage::PropCompareWebPage(COptionsMgr *optionsMgr)
22 : OptionsPanel(optionsMgr, PropCompareWebPage::IDD)
23 , m_nUserDataFolderType(0)
24 , m_bUserDataFolderPerPane(true)
28 void PropCompareWebPage::DoDataExchange(CDataExchange* pDX)
30 CPropertyPage::DoDataExchange(pDX);
31 //{{AFX_DATA_MAP(PropCompareWebPage)
32 DDX_Text(pDX, IDC_COMPAREWEBPAGE_URLPATTERNTOINCLUDE, m_sURLPatternToInclude);
33 DDX_Text(pDX, IDC_COMPAREWEBPAGE_URLPATTERNTOEXCLUDE, m_sURLPatternToExclude);
34 DDX_CBIndex(pDX, IDC_COMPAREWEBPAGE_USERDATAFOLDER_TYPE, m_nUserDataFolderType);
35 DDX_Check(pDX, IDC_COMPAREWEBPAGE_USERDATAFOLDER_PERPANE, m_bUserDataFolderPerPane);
40 BEGIN_MESSAGE_MAP(PropCompareWebPage, OptionsPanel)
41 //{{AFX_MSG_MAP(PropCompareWebPage)
42 ON_BN_CLICKED(IDC_COMPARE_DEFAULTS, OnDefaults)
47 * @brief Reads options values from storage to UI.
48 * Property sheet calls this before displaying GUI to load values
51 void PropCompareWebPage::ReadOptions()
53 m_sURLPatternToInclude = GetOptionsMgr()->GetString(OPT_CMP_WEB_URL_PATTERN_TO_INCLUDE);
54 m_sURLPatternToExclude = GetOptionsMgr()->GetString(OPT_CMP_WEB_URL_PATTERN_TO_EXCLUDE);
55 m_nUserDataFolderType = GetOptionsMgr()->GetInt(OPT_CMP_WEB_USERDATAFOLDER_TYPE);
56 m_bUserDataFolderPerPane = GetOptionsMgr()->GetBool(OPT_CMP_WEB_USERDATAFOLDER_PERPANE);
60 * @brief Writes options values from UI to storage.
61 * Property sheet calls this after dialog is closed with OK button to
62 * store values in member variables.
64 void PropCompareWebPage::WriteOptions()
66 GetOptionsMgr()->SaveOption(OPT_CMP_WEB_URL_PATTERN_TO_INCLUDE, m_sURLPatternToInclude);
67 GetOptionsMgr()->SaveOption(OPT_CMP_WEB_URL_PATTERN_TO_EXCLUDE, m_sURLPatternToExclude);
68 GetOptionsMgr()->SaveOption(OPT_CMP_WEB_USERDATAFOLDER_TYPE, m_nUserDataFolderType);
69 GetOptionsMgr()->SaveOption(OPT_CMP_WEB_USERDATAFOLDER_PERPANE, m_bUserDataFolderPerPane);
73 * @brief Called before propertysheet is drawn.
75 BOOL PropCompareWebPage::OnInitDialog()
77 SetDlgItemComboBoxList(IDC_COMPAREWEBPAGE_USERDATAFOLDER_TYPE,
78 { _("AppData folder"), _("Install folder") });
80 OptionsPanel::OnInitDialog();
81 return TRUE; // return TRUE unless you set the focus to a control
85 * @brief Sets options to defaults
87 void PropCompareWebPage::OnDefaults()
89 m_sURLPatternToInclude = GetOptionsMgr()->GetDefault<String>(OPT_CMP_WEB_URL_PATTERN_TO_INCLUDE);
90 m_sURLPatternToExclude = GetOptionsMgr()->GetDefault<String>(OPT_CMP_WEB_URL_PATTERN_TO_EXCLUDE);
91 m_bUserDataFolderPerPane = GetOptionsMgr()->GetDefault<bool>(OPT_CMP_WEB_USERDATAFOLDER_PERPANE);
92 m_nUserDataFolderType = GetOptionsMgr()->GetDefault<unsigned>(OPT_CMP_WEB_USERDATAFOLDER_TYPE);