00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "WPDS_WebPagesPage.h"
00009 #include "Dlg_WPD_IgnoreList.h"
00010
00011 #ifdef _DEBUG
00012 #define new DEBUG_NEW
00013 #undef THIS_FILE
00014 static char THIS_FILE[] = __FILE__;
00015 #endif
00016
00017 IMPLEMENT_DYNCREATE(CWPDS_WebPagesPage, CPropertyPage)
00018
00019 CWPDS_WebPagesPage::CWPDS_WebPagesPage() : CPropertyPage(CWPDS_WebPagesPage::IDD)
00020 {
00021 m_psp.dwFlags |= PSP_USETITLE;
00022 m_psp.pszTitle = LS (L_WEBPAGES);
00023 m_bUsedAsSetDefaults = false;
00024 }
00025
00026 CWPDS_WebPagesPage::~CWPDS_WebPagesPage()
00027 {
00028 }
00029
00030 void CWPDS_WebPagesPage::DoDataExchange(CDataExchange* pDX)
00031 {
00032 CPropertyPage::DoDataExchange(pDX);
00033
00034 CString strHTMLExts = m_wpds->strHTMLExts;
00035 BOOL bDLAll = !m_wpds->bNotAllPages;
00036 BOOL bHTM = m_wpds->bSavePagesUnderHTM;
00037 int iDepth = m_wpds->iDepth;
00038
00039
00040 DDX_Control(pDX, IDC_DEPTHSPIN, m_wndDepthSpin);
00041
00042
00043 DDX_Text (pDX, IDC_HTMLEXTS, strHTMLExts);
00044
00045 if (strHTMLExts == "")
00046 {
00047 MessageBox (LS (L_ENTEREXTS), LS (L_INPERR), MB_ICONEXCLAMATION);
00048 GetDlgItem (IDC_HTMLEXTS)->SetFocus ();
00049 pDX->Fail ();
00050 return;
00051 }
00052
00053 DDX_Text (pDX, IDC_DEPTH, iDepth);
00054
00055 DDX_Check (pDX, IDC_DLSTYLES, m_wpds->bDownloadStyles);
00056 DDX_Check (pDX, IDC_DLWPFROMOTHERSITES, bDLAll);
00057 DDX_Check (pDX, IDC_USEHTM, bHTM);
00058
00059 m_wpds->strHTMLExts = strHTMLExts;
00060 m_wpds->iDepth = iDepth;
00061 m_wpds->bNotAllPages = !bDLAll;
00062 m_wpds->bSavePagesUnderHTM = bHTM;
00063 }
00064
00065 BEGIN_MESSAGE_MAP(CWPDS_WebPagesPage, CPropertyPage)
00066
00067 ON_WM_CONTEXTMENU()
00068 ON_COMMAND(ID_WHATISTHIS, OnWhatisthis)
00069 ON_EN_CHANGE(IDC_HTMLEXTS, OnChangeHtmlexts)
00070 ON_BN_CLICKED(IDC_DLSTYLES, OnDlstyles)
00071 ON_BN_CLICKED(IDC_DLWPFROMOTHERSITES, OnDlwpfromothersites)
00072 ON_EN_CHANGE(IDC_DEPTH, OnChangeDepth)
00073 ON_WM_HELPINFO()
00074 ON_BN_CLICKED(IDC_USEHTM, OnUsehtm)
00075 ON_BN_CLICKED(IDC_IGNORELIST, OnIgnorelist)
00076
00077 END_MESSAGE_MAP()
00078
00079 BOOL CWPDS_WebPagesPage::OnInitDialog()
00080 {
00081 CPropertyPage::OnInitDialog();
00082
00083 m_wndDepthSpin.SetRange (0, UD_MAXVAL);
00084
00085 if (m_bUsedAsSetDefaults)
00086 GetDlgItem (IDC_IGNORELIST)->EnableWindow (FALSE);
00087
00088 ApplyLanguage ();
00089
00090 return TRUE;
00091 }
00092
00093 void CWPDS_WebPagesPage::ApplyLanguage()
00094 {
00095 fsDlgLngInfo lnginfo [] = {
00096 fsDlgLngInfo (IDC__PAGES, L_PAGES),
00097 fsDlgLngInfo (IDC__HTMLEXTS, L_HTMLEXTS),
00098 fsDlgLngInfo (IDC_DLSTYLES, L_DLWPSTYLES),
00099 fsDlgLngInfo (IDC_DLWPFROMOTHERSITES, L_DLWPFROMOTHERSITES),
00100 fsDlgLngInfo (IDC__DEPTH, L_DLDEPTH),
00101 fsDlgLngInfo (IDC_USEHTM, L_SAVEUNDERHTM),
00102 fsDlgLngInfo (IDC_IGNORELIST, L_IGNORELIST),
00103 };
00104
00105 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), 0);
00106 }
00107
00108 void CWPDS_WebPagesPage::OnContextMenu(CWnd* , CPoint point)
00109 {
00110 PrepareCHMgr (point);
00111 _CHMgr.ShowMenu ();
00112 }
00113
00114 void CWPDS_WebPagesPage::OnWhatisthis()
00115 {
00116 _CHMgr.OnWT ();
00117 }
00118
00119 void CWPDS_WebPagesPage::OnChangeHtmlexts()
00120 {
00121 SetModified ();
00122 }
00123
00124 void CWPDS_WebPagesPage::OnDlstyles()
00125 {
00126 SetModified ();
00127 }
00128
00129 void CWPDS_WebPagesPage::OnDlwpfromothersites()
00130 {
00131 SetModified ();
00132 }
00133
00134 void CWPDS_WebPagesPage::OnChangeDepth()
00135 {
00136 SetModified ();
00137 }
00138
00139 void CWPDS_WebPagesPage::PrepareCHMgr(CPoint point)
00140 {
00141 fsCtrlContextHelp aCH1 [] = {
00142 fsCtrlContextHelp (IDC__HTMLEXTS, LS (L_HTMLEXTSHERE)),
00143 fsCtrlContextHelp (IDC_HTMLEXTS, LS (L_HTMLEXTSHERE)),
00144 fsCtrlContextHelp (IDC_DLSTYLES, LS (L_DLSTYLESHERE)),
00145 fsCtrlContextHelp (IDC_DLWPFROMOTHERSITES, LS (L_DLWPFROMHERE)),
00146 fsCtrlContextHelp (IDC__DEPTH, LS (L_DLDEPTHHERE)),
00147 fsCtrlContextHelp (IDC_DEPTH, LS (L_DLDEPTHHERE)),
00148 fsCtrlContextHelp (IDC_USEHTM, LS (L_USEHTMHERE)),
00149 fsCtrlContextHelp (IDC_IGNORELIST, LS (L_IGNORELISTHERE)),
00150 };
00151
00152 static fsCtrlContextHelp aCH [sizeof (aCH1) / sizeof (fsCtrlContextHelp)];
00153 CopyMemory (aCH, aCH1, sizeof (aCH));
00154
00155 _CHMgr.PrepareContextMenu (this, point, aCH, sizeof (aCH) / sizeof (fsCtrlContextHelp));
00156 }
00157
00158 BOOL CWPDS_WebPagesPage::OnHelpInfo(HELPINFO* pHelpInfo)
00159 {
00160 RECT rc;
00161 CWnd *pItem = GetDlgItem (pHelpInfo->iCtrlId);
00162 if (pItem == NULL)
00163 return TRUE;
00164 pItem->GetWindowRect (&rc);
00165 if (PtInRect (&rc, pHelpInfo->MousePos) == FALSE)
00166 {
00167 pHelpInfo->MousePos.x = rc.left + (rc.right - rc.left) / 2;
00168 pHelpInfo->MousePos.y = rc.top + (rc.bottom - rc.top) / 2;
00169 }
00170 PrepareCHMgr (pHelpInfo->MousePos);
00171 _CHMgr.OnWT ();
00172 return TRUE;
00173 }
00174
00175 void CWPDS_WebPagesPage::OnUsehtm()
00176 {
00177 SetModified ();
00178 }
00179
00180 void CWPDS_WebPagesPage::OnIgnorelist()
00181 {
00182 CDlg_WPD_IgnoreList dlg (m_wpds, this);
00183 if (IDOK == _DlgMgr.DoModal (&dlg))
00184 SetModified ();
00185 }