00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "DownloadAlrExistsDlg.h"
00009
00010 #ifdef _DEBUG
00011 #define new DEBUG_NEW
00012 #undef THIS_FILE
00013 static char THIS_FILE[] = __FILE__;
00014 #endif
00015
00016 CDownloadAlrExistsDlg::CDownloadAlrExistsDlg(CWnd* pParent )
00017 : CDialog(CDownloadAlrExistsDlg::IDD, pParent)
00018 {
00019 m_bNeedTopMost = FALSE;
00020 }
00021
00022 void CDownloadAlrExistsDlg::DoDataExchange(CDataExchange* pDX)
00023 {
00024 CDialog::DoDataExchange(pDX);
00025
00026
00027
00028 }
00029
00030 BEGIN_MESSAGE_MAP(CDownloadAlrExistsDlg, CDialog)
00031
00032 ON_BN_CLICKED(IDC_RESUME, OnResume)
00033 ON_BN_CLICKED(IDC_RESTART, OnRestart)
00034 ON_BN_CLICKED(IDC_LAUNCH, OnLaunch)
00035 ON_WM_CONTEXTMENU()
00036 ON_WM_HELPINFO()
00037
00038 END_MESSAGE_MAP()
00039
00040 void CDownloadAlrExistsDlg::OnResume()
00041 {
00042 EndDialog (IDC_RESUME);
00043 }
00044
00045 void CDownloadAlrExistsDlg::OnRestart()
00046 {
00047 EndDialog (IDC_RESTART);
00048 }
00049
00050 void CDownloadAlrExistsDlg::OnLaunch()
00051 {
00052 EndDialog (IDC_LAUNCH);
00053 }
00054
00055 BOOL CDownloadAlrExistsDlg::OnInitDialog()
00056 {
00057 CDialog::OnInitDialog();
00058
00059
00060 ((CStatic*) GetDlgItem (IDC_DLGICON))->SetIcon (LoadIcon (NULL, IDI_QUESTION));
00061
00062 if (m_dld->pMgr->IsRunning ())
00063 GetDlgItem (IDC_RESTART)->EnableWindow (FALSE);
00064
00065 if (m_dld->pMgr->IsDone () == FALSE)
00066 {
00067
00068 GetDlgItem (IDC_LAUNCH)->EnableWindow (FALSE);
00069 }
00070
00071 ApplyLanguage ();
00072
00073 if (m_bNeedTopMost)
00074 {
00075 fsSetForegroundWindow (m_hWnd);
00076 ::SetWindowPos (m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
00077 }
00078
00079 return TRUE;
00080 }
00081
00082 void CDownloadAlrExistsDlg::ApplyLanguage()
00083 {
00084 fsDlgLngInfo lnginfo [] = {
00085 fsDlgLngInfo (IDC__MSG, L_DLDALREXISTS),
00086 fsDlgLngInfo (IDC_RESUME, L_RESUME),
00087 fsDlgLngInfo (IDC_RESTART, L_RESTART),
00088 fsDlgLngInfo (IDC_LAUNCH, L_LAUNCH),
00089 fsDlgLngInfo (IDCANCEL, L_CANCEL),
00090 };
00091
00092 CString str = LS (L_COMMENT); str += ':';
00093 SetDlgItemText (IDC__COMMENT, str);
00094
00095 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), L_NEWDLD);
00096 }
00097
00098 void CDownloadAlrExistsDlg::OnContextMenu(CWnd* , CPoint point)
00099 {
00100 PrepareCHMgr (point);
00101 _CHMgr.ShowMenu ();
00102 }
00103
00104 void CDownloadAlrExistsDlg::PrepareCHMgr(CPoint point)
00105 {
00106 fsCtrlContextHelp aCH1 [] = {
00107 fsCtrlContextHelp (IDC_RESUME, LS (L_RESUMEHERE)),
00108 fsCtrlContextHelp (IDC_RESTART, LS (L_RESTARTHERE)),
00109 fsCtrlContextHelp (IDC_LAUNCH, LS (L_LAUNCHHERE)),
00110 };
00111
00112 static fsCtrlContextHelp aCH [sizeof (aCH1) / sizeof (fsCtrlContextHelp)];
00113 CopyMemory (aCH, aCH1, sizeof (aCH));
00114
00115 _CHMgr.PrepareContextMenu (this, point, aCH, sizeof (aCH) / sizeof (fsCtrlContextHelp));
00116 }
00117
00118 BOOL CDownloadAlrExistsDlg::OnHelpInfo(HELPINFO* pHelpInfo)
00119 {
00120 RECT rc;
00121 CWnd *pItem = GetDlgItem (pHelpInfo->iCtrlId);
00122 if (pItem == NULL)
00123 return TRUE;
00124 pItem->GetWindowRect (&rc);
00125 if (PtInRect (&rc, pHelpInfo->MousePos) == FALSE)
00126 {
00127 pHelpInfo->MousePos.x = rc.left + (rc.right - rc.left) / 2;
00128 pHelpInfo->MousePos.y = rc.top + (rc.bottom - rc.top) / 2;
00129 }
00130 PrepareCHMgr (pHelpInfo->MousePos);
00131 _CHMgr.OnWT ();
00132 return TRUE;
00133 }