00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "DownloadProperties_MiscPage.h"
00009 #include "DownloadProperties.h"
00010 #include "misc.h"
00011 #include "DownloadsWnd.h"
00012 #include "fsDownloadMgr.h"
00013
00014 #ifdef _DEBUG
00015 #define new DEBUG_NEW
00016 #undef THIS_FILE
00017 static char THIS_FILE[] = __FILE__;
00018 #endif
00019
00020 IMPLEMENT_DYNCREATE(CDownloadProperties_MiscPage, CPropertyPage)
00021
00022 CDownloadProperties_MiscPage::CDownloadProperties_MiscPage() : CPropertyPage(CDownloadProperties_MiscPage::IDD)
00023 {
00024 m_psp.dwFlags |= PSP_USETITLE;
00025 m_psp.pszTitle = LS (L_MISC);
00026 }
00027
00028 CDownloadProperties_MiscPage::~CDownloadProperties_MiscPage()
00029 {
00030 }
00031
00032 void CDownloadProperties_MiscPage::DoDataExchange(CDataExchange* pDX)
00033 {
00034 CPropertyPage::DoDataExchange(pDX);
00035
00036 DDX_Control(pDX, IDC_SCR, m_wndSCR);
00037 DDX_Control(pDX, IDC_AER, m_wndAER);
00038
00039 }
00040
00041 BEGIN_MESSAGE_MAP(CDownloadProperties_MiscPage, CPropertyPage)
00042
00043 ON_CBN_SELCHANGE(IDC_AER, OnSelchangeAer)
00044 ON_CBN_SELCHANGE(IDC_SCR, OnSelchangeScr)
00045 ON_BN_CLICKED(IDC_RESERVESPACE, OnReservespace)
00046 ON_BN_CLICKED(IDC_USEEXT, OnUseext)
00047 ON_EN_CHANGE(IDC_EXT, OnChangeExt)
00048 ON_BN_CLICKED(IDC_DONTRESTARTIFNORESUME, OnDontrestartifnoresume)
00049 ON_BN_CLICKED(IDC_FILENOTFOUND, OnFilenotfound)
00050 ON_BN_CLICKED(IDC_ACCDENIED, OnAccdenied)
00051 ON_WM_CONTEXTMENU()
00052 ON_COMMAND(ID_WHATISTHIS, OnWhatisthis)
00053 ON_WM_HELPINFO()
00054 ON_BN_CLICKED(IDC_USECREATEEXT, OnUsecreateext)
00055 ON_EN_CHANGE(IDC_CREATEEXT, OnChangeCreateext)
00056 ON_BN_CLICKED(IDC_USEHIDDENFLAG, OnUsehiddenflag)
00057 ON_BN_CLICKED(IDC_APPENDCOMMENT, OnAppendcomment)
00058 ON_BN_CLICKED(IDC_LAUNCHWHENDONE, OnLaunchwhendone)
00059 ON_BN_CLICKED(IDC_RETRFILEDATE, OnRetrfiledate)
00060 ON_BN_CLICKED(IDC_GENERATEINFOFILE, OnGenerateinfofile)
00061 ON_BN_CLICKED(IDC_RENAMEATRESTART, OnRenameatrestart)
00062
00063 END_MESSAGE_MAP()
00064
00065 #define DP_OFFSET(member) ( LPBYTE (&dp.member) - LPBYTE (&dp) )
00066 #define DP_SIZEOF(member) ( sizeof (dp.member) )
00067 #define DP_EQ_EX(memOffset, memSize, bString) DPEntry_IsAllEqual (m_pvDlds, memOffset, memSize, bString)
00068 #define DP_EQ_MASK(member, mask) DPEntry_IsAllEqual_BitMask (m_pvDlds, DP_OFFSET (member), mask)
00069 #define DP_EQ(member, bString) DP_EQ_EX (DP_OFFSET (member), DP_SIZEOF (member), bString)
00070 #define DP_SET_EX(memOffset, memSize, bString, NewVal) DPEntry_SetValue (m_pvDlds, memOffset, memSize, bString, NewVal)
00071 #define DP_SET(member, bString, NewVal) DP_SET_EX (DP_OFFSET (member), DP_SIZEOF (member), bString, NewVal)
00072 #define DP_SET_MASK(member, mask) DPEntry_SetValue_BitMask (m_pvDlds, DP_OFFSET (member), mask)
00073 #define DP_UNSET_MASK(member, mask) DPEntry_UnsetValue_BitMask (m_pvDlds, DP_OFFSET (member), mask)
00074
00075 BOOL CDownloadProperties_MiscPage::OnInitDialog()
00076 {
00077 CPropertyPage::OnInitDialog();
00078
00079 fsDownload_Properties dp;
00080 fsDownload_Properties *dp0 = m_pvDlds->at (0)->pMgr->GetDownloadMgr ()->GetDP ();
00081
00082 m_wndAER.AddString (LS (L_ASK));
00083 m_wndAER.AddString (LS (L_REWRITE));
00084 m_wndAER.AddString (LS (L_RENAME));
00085 m_wndAER.AddString (LS (L_RESUME));
00086 m_wndAER.AddString (LS (L_STOP));
00087 if (DP_EQ (enAER, FALSE))
00088 {
00089 int i = dp0->enAER;
00090 if (i == AER_RENAME_2)
00091 {
00092 i = AER_RENAME;
00093 CheckDlgButton (IDC_RENAMEATRESTART, BST_CHECKED);
00094 }
00095 m_wndAER.SetCurSel (i);
00096 }
00097
00098 if (DP_EQ (bReserveDiskSpace, FALSE))
00099 CheckDlgButton (IDC_RESERVESPACE, dp0->bReserveDiskSpace ? BST_CHECKED : BST_UNCHECKED);
00100 else
00101 CheckDlgButton (IDC_RESERVESPACE, BST_INDETERMINATE);
00102
00103 if (DP_EQ (pszAdditionalExt, TRUE))
00104 {
00105 CheckDlgButton (IDC_USEEXT, *dp0->pszAdditionalExt ? BST_CHECKED : BST_UNCHECKED);
00106 SetDlgItemText (IDC_EXT, dp0->pszAdditionalExt);
00107 }
00108 else
00109 {
00110 BOOL bUse = *dp0->pszAdditionalExt != 0;
00111 for (int i = m_pvDlds->size () - 1; i; i--)
00112 {
00113 BOOL bU = *m_pvDlds->at (i)->pMgr->GetDownloadMgr ()->GetDP ()->pszAdditionalExt != 0;
00114 if (bUse != bU)
00115 break;
00116 }
00117
00118 if (i)
00119 CheckDlgButton (IDC_USEEXT, BST_INDETERMINATE);
00120 else
00121 CheckDlgButton (IDC_USEEXT, bUse ? BST_CHECKED : BST_UNCHECKED);
00122 }
00123
00124 if (DP_EQ (pszCreateExt, TRUE))
00125 {
00126 CheckDlgButton (IDC_USECREATEEXT, *dp0->pszCreateExt ? BST_CHECKED : BST_UNCHECKED);
00127 SetDlgItemText (IDC_CREATEEXT, dp0->pszCreateExt);
00128 }
00129 else
00130 {
00131 BOOL bUse = *dp0->pszCreateExt != 0;
00132 for (int i = m_pvDlds->size () - 1; i; i--)
00133 {
00134 BOOL bU = *m_pvDlds->at (i)->pMgr->GetDownloadMgr ()->GetDP ()->pszCreateExt != 0;
00135 if (bUse != bU)
00136 break;
00137 }
00138
00139 if (i)
00140 CheckDlgButton (IDC_USECREATEEXT, BST_INDETERMINATE);
00141 else
00142 CheckDlgButton (IDC_USECREATEEXT, bUse ? BST_CHECKED : BST_UNCHECKED);
00143 }
00144
00145 if (DP_EQ_MASK (dwFlags, DPF_USEHIDDENATTRIB))
00146 CheckDlgButton (IDC_USEHIDDENFLAG, dp0->dwFlags & DPF_USEHIDDENATTRIB ? BST_CHECKED : BST_UNCHECKED);
00147 else
00148 CheckDlgButton (IDC_USEHIDDENFLAG, BST_INDETERMINATE);
00149
00150 if (DP_EQ_MASK (dwFlags, DPF_DONTRESTARTIFNORESUME))
00151 CheckDlgButton (IDC_DONTRESTARTIFNORESUME, dp0->dwFlags & DPF_DONTRESTARTIFNORESUME ? BST_CHECKED : BST_UNCHECKED);
00152 else
00153 CheckDlgButton (IDC_DONTRESTARTIFNORESUME, BST_INDETERMINATE);
00154
00155 if (DP_EQ_MASK (dwFlags, DPF_APPENDCOMMENTTOFILENAME))
00156 CheckDlgButton (IDC_APPENDCOMMENT, dp0->dwFlags & DPF_APPENDCOMMENTTOFILENAME ? BST_CHECKED : BST_UNCHECKED);
00157 else
00158 CheckDlgButton (IDC_APPENDCOMMENT, BST_INDETERMINATE);
00159
00160 if (DP_EQ_MASK (dwFlags, DPF_STARTWHENDONE))
00161 CheckDlgButton (IDC_LAUNCHWHENDONE, dp0->dwFlags & DPF_STARTWHENDONE ? BST_CHECKED : BST_UNCHECKED);
00162 else
00163 CheckDlgButton (IDC_LAUNCHWHENDONE, BST_INDETERMINATE);
00164
00165 if (DP_EQ_MASK (dwFlags, DPF_RETRDATEFROMSERVER))
00166 CheckDlgButton (IDC_RETRFILEDATE, dp0->dwFlags & DPF_RETRDATEFROMSERVER ? BST_CHECKED : BST_UNCHECKED);
00167 else
00168 CheckDlgButton (IDC_RETRFILEDATE, BST_INDETERMINATE);
00169
00170 if (DP_EQ_MASK (dwFlags, DPF_GENERATEDESCFILE))
00171 CheckDlgButton (IDC_GENERATEINFOFILE, dp0->dwFlags & DPF_GENERATEDESCFILE ? BST_CHECKED : BST_UNCHECKED);
00172 else
00173 CheckDlgButton (IDC_GENERATEINFOFILE, BST_INDETERMINATE);
00174
00175 m_wndSCR.AddString (LS (L_ASK));
00176 m_wndSCR.AddString (LS (L_RESTART));
00177 m_wndSCR.AddString (LS (L_ADJUST));
00178 m_wndSCR.AddString (LS (L_STOP));
00179
00180 if (DP_EQ (enSCR, FALSE))
00181 m_wndSCR.SetCurSel (dp0->enSCR);
00182
00183 UINT nID [] = { IDC_FILENOTFOUND, IDC_ACCDENIED };
00184 for (int i = 0; i < sizeof (nID) / sizeof (UINT); i++)
00185 {
00186 if (DP_EQ_EX (DP_OFFSET (aEP)+i*sizeof (fsDownloadFileErrorProcessing), sizeof (fsDownloadFileErrorProcessing), FALSE))
00187 CheckDlgButton (nID [i], dp0->aEP [i] == DFEP_STOP ? BST_CHECKED : BST_UNCHECKED);
00188 else
00189 CheckDlgButton (nID [i], BST_INDETERMINATE);
00190 }
00191
00192 m_bMayRename = TRUE;
00193 for (i = m_pvDlds->size () - 1; i >= 0; i--)
00194 {
00195
00196 if (m_pvDlds->at (i)->pMgr->GetDownloadMgr ()->IsRunning () || m_pvDlds->at (i)->pMgr->GetDownloadMgr ()->GetDownloader ()->GetNumberOfSections ())
00197 m_bMayRename = FALSE;
00198 }
00199
00200 UpdateEnabled ();
00201
00202 m_bExtModified = m_bCreateExtModified = FALSE;
00203
00204 ApplyLanguage ();
00205
00206 return TRUE;
00207 }
00208
00209 void CDownloadProperties_MiscPage::OnSelchangeAer()
00210 {
00211 SetModified ();
00212 UpdateEnabled ();
00213 }
00214
00215 void CDownloadProperties_MiscPage::OnSelchangeScr()
00216 {
00217 SetModified ();
00218 }
00219
00220 void CDownloadProperties_MiscPage::OnReservespace()
00221 {
00222 if (IsDlgButtonChecked (IDC_RESERVESPACE) == BST_INDETERMINATE)
00223 CheckDlgButton (IDC_RESERVESPACE, BST_UNCHECKED);
00224
00225 SetModified ();
00226 }
00227
00228 void CDownloadProperties_MiscPage::OnUseext()
00229 {
00230 if (IsDlgButtonChecked (IDC_USEEXT) == BST_INDETERMINATE)
00231 CheckDlgButton (IDC_USEEXT, BST_UNCHECKED);
00232
00233 UpdateEnabled ();
00234 SetModified ();
00235 m_bExtModified = TRUE;
00236 }
00237
00238 void CDownloadProperties_MiscPage::OnChangeExt()
00239 {
00240 m_bExtModified = TRUE;
00241 SetModified ();
00242 }
00243
00244 void CDownloadProperties_MiscPage::OnDontrestartifnoresume()
00245 {
00246 if (IsDlgButtonChecked (IDC_DONTRESTARTIFNORESUME) == BST_INDETERMINATE)
00247 CheckDlgButton (IDC_DONTRESTARTIFNORESUME, BST_UNCHECKED);
00248
00249 SetModified ();
00250 }
00251
00252 void CDownloadProperties_MiscPage::OnFilenotfound()
00253 {
00254 if (IsDlgButtonChecked (IDC_FILENOTFOUND) == BST_INDETERMINATE)
00255 CheckDlgButton (IDC_FILENOTFOUND, BST_UNCHECKED);
00256
00257 SetModified ();
00258 }
00259
00260 void CDownloadProperties_MiscPage::OnAccdenied()
00261 {
00262 if (IsDlgButtonChecked (IDC_ACCDENIED) == BST_INDETERMINATE)
00263 CheckDlgButton (IDC_ACCDENIED, BST_UNCHECKED);
00264
00265 SetModified ();
00266 }
00267
00268 void CDownloadProperties_MiscPage::UpdateEnabled()
00269 {
00270 GetDlgItem (IDC_EXT)->EnableWindow (m_bMayRename && IsDlgButtonChecked (IDC_USEEXT) == BST_CHECKED);
00271 GetDlgItem (IDC_USEEXT)->EnableWindow (m_bMayRename);
00272 GetDlgItem (IDC_CREATEEXT)->EnableWindow (m_bMayRename && IsDlgButtonChecked (IDC_USECREATEEXT) == BST_CHECKED);
00273 GetDlgItem (IDC_USECREATEEXT)->EnableWindow (m_bMayRename);
00274 GetDlgItem (IDC_RENAMEATRESTART)->EnableWindow (
00275 m_wndAER.GetCurSel () == AER_RENAME);
00276 }
00277
00278 BOOL CDownloadProperties_MiscPage::OnApply()
00279 {
00280 int iCur;
00281 fsDownload_Properties dp;
00282
00283 LOG ("dp_mp: apply: set enAER" << nl);
00284
00285 iCur = m_wndAER.GetCurSel ();
00286 if (iCur != CB_ERR)
00287 {
00288 if (iCur == AER_RENAME &&
00289 IsDlgButtonChecked (IDC_RENAMEATRESTART) == BST_CHECKED)
00290 iCur = AER_RENAME_2;
00291 DP_SET (enAER, FALSE, &iCur);
00292 }
00293
00294 LOG ("dp_mp: apply: set reserve disk space" << nl);
00295
00296 UINT uChecked = IsDlgButtonChecked (IDC_RESERVESPACE);
00297 if (uChecked != BST_INDETERMINATE)
00298 {
00299 BOOL b = uChecked == BST_CHECKED;
00300 DP_SET (bReserveDiskSpace, FALSE, &b);
00301 }
00302
00303 LOG ("dp_mp: apply: set addext" << nl);
00304
00305 uChecked = IsDlgButtonChecked (IDC_USEEXT);
00306 if (uChecked == BST_CHECKED)
00307 {
00308 if (m_bExtModified)
00309 {
00310 CString str;
00311 GetDlgItemText (IDC_EXT, str);
00312 if (str.GetLength () == 0)
00313 {
00314 MessageBox (LS (L_ENTEREXT), LS (L_INPERR), MB_ICONEXCLAMATION);
00315 GetDlgItem (IDC_EXT)->SetFocus ();
00316 return FALSE;
00317 }
00318
00319 DP_SET (pszAdditionalExt, TRUE, str);
00320 }
00321 }
00322 else if (uChecked == BST_UNCHECKED)
00323 DP_SET (pszAdditionalExt, TRUE, "");
00324
00325 LOG ("dp_mp: apply: set createext" << nl);
00326
00327 uChecked = IsDlgButtonChecked (IDC_USECREATEEXT);
00328 if (uChecked == BST_CHECKED)
00329 {
00330 if (m_bCreateExtModified)
00331 {
00332 CString str;
00333 GetDlgItemText (IDC_CREATEEXT, str);
00334 if (str.GetLength () == 0)
00335 {
00336 MessageBox (LS (L_ENTEREXT), LS (L_INPERR), MB_ICONEXCLAMATION);
00337 GetDlgItem (IDC_CREATEEXT)->SetFocus ();
00338 return FALSE;
00339 }
00340
00341 DP_SET (pszCreateExt, TRUE, str);
00342 }
00343 }
00344 else if (uChecked == BST_UNCHECKED)
00345 DP_SET (pszCreateExt, TRUE, "");
00346
00347 LOG ("dp_mp: apply: set hiddenflag" << nl);
00348
00349 uChecked = IsDlgButtonChecked (IDC_USEHIDDENFLAG);
00350 if (uChecked != BST_INDETERMINATE)
00351 {
00352 for (size_t i = 0; i < m_pvDlds->size (); i++)
00353 {
00354 vmsDownloadSmartPtr dld = m_pvDlds->at (i);
00355 LPCSTR pszFile = dld->pMgr->GetDownloadMgr ()->GetDP ()->pszFileName;
00356 DWORD dw = DWORD (-1);
00357 if (pszFile)
00358 dw = GetFileAttributes (pszFile);
00359
00360 BOOL bOK = TRUE;
00361
00362 if (dw != DWORD (-1) && (dw & FILE_ATTRIBUTE_DIRECTORY) == 0 && dld->pMgr->GetDownloadMgr ()->IsDone () == FALSE)
00363 {
00364 if (uChecked == BST_UNCHECKED)
00365 dw &= ~ FILE_ATTRIBUTE_HIDDEN;
00366 else
00367 dw |= FILE_ATTRIBUTE_HIDDEN;
00368
00369 bOK = SetFileAttributes (pszFile, dw);
00370 }
00371
00372 if (bOK)
00373 {
00374 if (uChecked == BST_UNCHECKED)
00375 dld->pMgr->GetDownloadMgr ()->GetDP ()->dwFlags &= ~ DPF_USEHIDDENATTRIB;
00376 else
00377 dld->pMgr->GetDownloadMgr ()->GetDP ()->dwFlags |= DPF_USEHIDDENATTRIB;
00378 }
00379 }
00380 }
00381
00382 LOG ("dp_mp: apply: set don'trestart" << nl);
00383
00384 uChecked = IsDlgButtonChecked (IDC_DONTRESTARTIFNORESUME);
00385 if (uChecked != BST_INDETERMINATE)
00386 {
00387 if (uChecked == BST_CHECKED)
00388 DP_SET_MASK (dwFlags, DPF_DONTRESTARTIFNORESUME);
00389 else
00390 DP_UNSET_MASK (dwFlags, DPF_DONTRESTARTIFNORESUME);
00391 }
00392
00393 LOG ("dp_mp: apply: set append comment" << nl);
00394
00395 uChecked = IsDlgButtonChecked (IDC_APPENDCOMMENT);
00396 if (uChecked != BST_INDETERMINATE)
00397 {
00398 if (uChecked == BST_CHECKED)
00399 DP_SET_MASK (dwFlags, DPF_APPENDCOMMENTTOFILENAME);
00400 else
00401 DP_UNSET_MASK (dwFlags, DPF_APPENDCOMMENTTOFILENAME);
00402 }
00403
00404 uChecked = IsDlgButtonChecked (IDC_RETRFILEDATE);
00405 if (uChecked != BST_INDETERMINATE)
00406 {
00407 if (uChecked == BST_CHECKED)
00408 DP_SET_MASK (dwFlags, DPF_RETRDATEFROMSERVER);
00409 else
00410 DP_UNSET_MASK (dwFlags, DPF_RETRDATEFROMSERVER);
00411 }
00412
00413 uChecked = IsDlgButtonChecked (IDC_GENERATEINFOFILE);
00414 if (uChecked != BST_INDETERMINATE)
00415 {
00416 if (uChecked == BST_CHECKED)
00417 DP_SET_MASK (dwFlags, DPF_GENERATEDESCFILE);
00418 else
00419 DP_UNSET_MASK (dwFlags, DPF_GENERATEDESCFILE);
00420 }
00421
00422 uChecked = IsDlgButtonChecked (IDC_LAUNCHWHENDONE);
00423 if (uChecked != BST_INDETERMINATE)
00424 {
00425 if (uChecked == BST_CHECKED)
00426 DP_SET_MASK (dwFlags, DPF_STARTWHENDONE);
00427 else
00428 DP_UNSET_MASK (dwFlags, DPF_STARTWHENDONE);
00429 }
00430
00431 LOG ("dp_mp: apply: set SCR" << nl);
00432
00433 iCur = m_wndSCR.GetCurSel ();
00434 if (iCur != CB_ERR)
00435 {
00436 DP_SET (enSCR, FALSE, &iCur);
00437 }
00438
00439 LOG ("dp_mp: apply: set filenotfound" << nl);
00440
00441 uChecked = IsDlgButtonChecked (IDC_FILENOTFOUND);
00442 if (uChecked != BST_INDETERMINATE)
00443 {
00444 fsDownloadFileErrorProcessing dfep = uChecked == BST_CHECKED ? DFEP_STOP : DFEP_IGNORE;
00445 DP_SET_EX (DP_OFFSET (aEP) + DFE_NOTFOUND * sizeof (dfep), sizeof (dfep), FALSE, &dfep);
00446 }
00447
00448 LOG ("dp_mp: apply: set accden" << nl);
00449
00450 uChecked = IsDlgButtonChecked (IDC_ACCDENIED);
00451 if (uChecked != BST_INDETERMINATE)
00452 {
00453 fsDownloadFileErrorProcessing dfep = uChecked == BST_CHECKED ? DFEP_STOP : DFEP_IGNORE;
00454 DP_SET_EX (DP_OFFSET (aEP) + DFE_ACCDENIED * sizeof (dfep), sizeof (dfep), FALSE, &dfep);
00455 }
00456
00457 LOG ("dp_mp: apply: done." << nl);
00458
00459 return CPropertyPage::OnApply();
00460 }
00461
00462 void CDownloadProperties_MiscPage::OnContextMenu(CWnd* , CPoint point)
00463 {
00464 PrepareCHMgr (point);
00465 _CHMgr.ShowMenu ();
00466 }
00467
00468 void CDownloadProperties_MiscPage::OnWhatisthis()
00469 {
00470 _CHMgr.OnWT ();
00471 }
00472
00473 void CDownloadProperties_MiscPage::ApplyLanguage()
00474 {
00475 fsDlgLngInfo lnginfo [] = {
00476 fsDlgLngInfo (IDC__LOCALFILE, L_LOCALFILE),
00477 fsDlgLngInfo (IDC__IFEXISTS, L_IFEXISTS),
00478 fsDlgLngInfo (IDC_RESERVESPACE, L_RESERVESPACE),
00479 fsDlgLngInfo (IDC_USEEXT, L_ADDEXT),
00480 fsDlgLngInfo (IDC_APPENDCOMMENT, L_APPENDCOMMENT),
00481 fsDlgLngInfo (IDC_LAUNCHWHENDONE, L_LAUNCHWHENDONE),
00482 fsDlgLngInfo (IDC_USEHIDDENFLAG, L_USEHIDDENATTRIB),
00483 fsDlgLngInfo (IDC_USECREATEEXT, L_CREATEEXT),
00484 fsDlgLngInfo (IDC__INETSERV, L_INETSERV),
00485 fsDlgLngInfo (IDC_DONTRESTARTIFNORESUME, L_DONTRESTARTIFNORESUME),
00486 fsDlgLngInfo (IDC__IFSIZECHANGED, L_IFSIZECHANGED),
00487 fsDlgLngInfo (IDC__STOPONERRS, L_STOPONERRS),
00488 fsDlgLngInfo (IDC_RENAMEATRESTART, L_RENAMEATRESTARTALSO),
00489 fsDlgLngInfo (IDC_RETRFILEDATE, L_RETRDATEFROMSERVER),
00490 fsDlgLngInfo (IDC_GENERATEINFOFILE, L_GENERATEDESCFILE),
00491 };
00492
00493 CString str = '"'; str += LS (L_FILENOTFOUND); str += '"';
00494 SetDlgItemText (IDC_FILENOTFOUND, str);
00495 str = '"'; str += LS (L_ACCDENIED); str += '"';
00496 SetDlgItemText (IDC_ACCDENIED, str);
00497
00498 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), 0);
00499 }
00500
00501 BOOL CDownloadProperties_MiscPage::OnHelpInfo(HELPINFO* pHelpInfo)
00502 {
00503 RECT rc;
00504 CWnd *pItem = GetDlgItem (pHelpInfo->iCtrlId);
00505 if (pItem == NULL)
00506 return TRUE;
00507 pItem->GetWindowRect (&rc);
00508 if (PtInRect (&rc, pHelpInfo->MousePos) == FALSE)
00509 {
00510 pHelpInfo->MousePos.x = rc.left + (rc.right - rc.left) / 2;
00511 pHelpInfo->MousePos.y = rc.top + (rc.bottom - rc.top) / 2;
00512 }
00513 PrepareCHMgr (pHelpInfo->MousePos);
00514 _CHMgr.OnWT ();
00515 return TRUE;
00516 }
00517
00518 void CDownloadProperties_MiscPage::PrepareCHMgr(CPoint point)
00519 {
00520 fsCtrlContextHelp aCH1 [] = {
00521 fsCtrlContextHelp (IDC__IFEXISTS, LS (L_IFEXISTSHERE)),
00522 fsCtrlContextHelp (IDC_AER, LS (L_IFEXISTSHERE)),
00523 fsCtrlContextHelp (IDC_RESERVESPACE, LS (L_RESERVESPACEHERE)),
00524 fsCtrlContextHelp (IDC_USEEXT, LS (L_ADDEXTHERE)),
00525 fsCtrlContextHelp (IDC_EXT, LS (L_ADDEXTHERE)),
00526 fsCtrlContextHelp (IDC_USECREATEEXT, LS (L_CREATEEXTHERE)),
00527 fsCtrlContextHelp (IDC_CREATEEXT, LS (L_CREATEEXTHERE)),
00528 fsCtrlContextHelp (IDC_DONTRESTARTIFNORESUME, LS (L_DONTRESTARTHERE)),
00529 fsCtrlContextHelp (IDC__IFSIZECHANGED, LS (L_IFSIZECHANGEDHERE)),
00530 fsCtrlContextHelp (IDC_SCR, LS (L_IFSIZECHANGEDHERE)),
00531 fsCtrlContextHelp (IDC_FILENOTFOUND, LS (L_FILENOTFOUNDHERE)),
00532 fsCtrlContextHelp (IDC_ACCDENIED, LS (L_ACCDENIEDHERE)),
00533 fsCtrlContextHelp (IDC_RETRFILEDATE, LS (L_RETRDATEFROMSERVER_HERE)),
00534 fsCtrlContextHelp (IDC_GENERATEINFOFILE, LS (L_GENERATEDESCFILE_HERE)),
00535 };
00536
00537 static fsCtrlContextHelp aCH [sizeof (aCH1) / sizeof (fsCtrlContextHelp)];
00538 CopyMemory (aCH, aCH1, sizeof (aCH));
00539
00540 _CHMgr.PrepareContextMenu (this, point, aCH, sizeof (aCH) / sizeof (fsCtrlContextHelp));
00541 }
00542
00543 void CDownloadProperties_MiscPage::OnUsecreateext()
00544 {
00545 if (IsDlgButtonChecked (IDC_USECREATEEXT) == BST_INDETERMINATE)
00546 CheckDlgButton (IDC_USECREATEEXT, BST_UNCHECKED);
00547
00548 UpdateEnabled ();
00549 SetModified ();
00550 m_bCreateExtModified = TRUE;
00551 }
00552
00553 void CDownloadProperties_MiscPage::OnChangeCreateext()
00554 {
00555 SetModified ();
00556 m_bCreateExtModified = TRUE;
00557 }
00558
00559 void CDownloadProperties_MiscPage::OnUsehiddenflag()
00560 {
00561 if (IsDlgButtonChecked (IDC_USEHIDDENFLAG) == BST_INDETERMINATE)
00562 CheckDlgButton (IDC_USEHIDDENFLAG, BST_UNCHECKED);
00563
00564 SetModified ();
00565 }
00566
00567 void CDownloadProperties_MiscPage::OnAppendcomment()
00568 {
00569 if (IsDlgButtonChecked (IDC_APPENDCOMMENT) == BST_INDETERMINATE)
00570 CheckDlgButton (IDC_APPENDCOMMENT, BST_UNCHECKED);
00571
00572 SetModified ();
00573 }
00574
00575 void CDownloadProperties_MiscPage::OnLaunchwhendone()
00576 {
00577 if (IsDlgButtonChecked (IDC_LAUNCHWHENDONE) == BST_INDETERMINATE)
00578 CheckDlgButton (IDC_LAUNCHWHENDONE, BST_UNCHECKED);
00579
00580 SetModified ();
00581 }
00582
00583 void CDownloadProperties_MiscPage::OnRetrfiledate()
00584 {
00585 if (IsDlgButtonChecked (IDC_RETRFILEDATE) == BST_INDETERMINATE)
00586 CheckDlgButton (IDC_RETRFILEDATE, BST_UNCHECKED);
00587
00588 SetModified ();
00589 }
00590
00591 void CDownloadProperties_MiscPage::OnGenerateinfofile()
00592 {
00593 if (IsDlgButtonChecked (IDC_GENERATEINFOFILE) == BST_INDETERMINATE)
00594 CheckDlgButton (IDC_GENERATEINFOFILE, BST_UNCHECKED);
00595
00596 SetModified ();
00597 }
00598
00599 void CDownloadProperties_MiscPage::OnRenameatrestart()
00600 {
00601 SetModified ();
00602 }