bool CCollectionFile::InitFromLink(CString sLink) { CED2KLink* pLink = NULL; CED2KFileLink* pFileLink = NULL; try { pLink = CED2KLink::CreateLinkFromUrl(sLink); if(!pLink) throw GetResString(IDS_ERR_NOTAFILELINK); pFileLink = pLink->GetFileLink(); if (!pFileLink) throw GetResString(IDS_ERR_NOTAFILELINK); } catch (CString error) { CString strBuffer; strBuffer.Format(GetResString(IDS_ERR_INVALIDLINK),error); LogError(LOG_STATUSBAR, GetResString(IDS_ERR_LINKERROR), strBuffer); return false; } taglist.Add(new CTag(FT_FILEHASH, pFileLink->GetHashKey())); md4cpy(m_abyFileHash, pFileLink->GetHashKey()); taglist.Add(new CTag(FT_FILESIZE, pFileLink->GetSize())); SetFileSize(pFileLink->GetSize()); taglist.Add(new CTag(FT_FILENAME, pFileLink->GetName())); SetFileName(pFileLink->GetName(), false, false); delete pLink; return true; }
void CDlgAddTask::AddTask(const CFileHashKey &key, const CAddTaskDoc::SItem &item) { if (!IsDlgPopedUp()) { if (!thePrefs.m_bShowNewTaskDlg) { int iState = CGlobalVariable::filemgr.GetFileState((const uchar*)&key); CString strPrompt; CString strFileName; m_uAddState = 1; switch (iState) { case FILESTATE_DOWNLOADING: strFileName = CGlobalVariable::filemgr.GetFileName(item.strLinkText); strPrompt = GetResString(IDS_TASK_IN_DOWNLOADING); //strPrompt += item.strLinkText; strPrompt += strFileName; CGlobalVariable::ShowNotifier(strPrompt,TBN_IMPORTANTEVENT); break; case FILESTATE_COMPLETED: case FILESTATE_HASH: case FILESTATE_LOCAL_SHARE: case FILESTATE_DOWNLOADED_SHARE: case FILESTATE_SHARE_TASK_DELED: //case FILESTATE_ZEROSIZE_DOWNLOADED: strFileName = CGlobalVariable::filemgr.GetFileName(item.strLinkText); strPrompt = GetResString(IDS_ALREADY_DOWNLOAD); //strPrompt += item.strLinkText; strPrompt += strFileName; CGlobalVariable::ShowNotifier(strPrompt,TBN_IMPORTANTEVENT); break; case FILESTATE_DELETED: strFileName = CGlobalVariable::filemgr.GetFileName(item.strLinkText); strPrompt = GetResString(IDS_DOWN_DELED_LINKS); //strPrompt += item.strLinkText; strPrompt += strFileName; if(IDNO == MessageBox(strPrompt,GetResString(IDS_CAPTION),MB_YESNO)) break; case FILESTATE_NOT_EXIST: CED2KFileLink *pFilelink = NULL; //MODIFIED by VC-yavey on 2010-04-16 <begin> pFilelink = CreateFileLinkFromUrl(item.strLinkText); if( pFilelink && pFilelink->GetSize()> OLD_MAX_EMULE_FILE_SIZE && !thePrefs.CanFSHandleLargeFiles()) { CString strMessage = GetResString(IDS_ERR_FSCANTHANDLEFILE); strMessage += _T("\n"); strMessage += pFilelink->GetName(); ::AfxMessageBox(strMessage); break; } //MODIFIED by VC-yavey on 2010-04-16 <end> SAFE_DELETE(pFilelink); CGlobalVariable::filemgr.NewDownloadFile(item.strLinkText, thePrefs.GetMuleDirectory(EMULE_INCOMINGDIR), item.iCategory); CCmdGotoPage cmdGotoPage; if(thePrefs.bringtoforeground == 1) cmdGotoPage.GotoDownloading(); break; } return; } else { PopupDlg(); } } m_doc.SetItem(key, item); }