void vmsFdmApiDownloadImpl::PerformCommand(vmsFdmApiDownloadCommand enCmd) { if (m_dld->dwFlags & DLD_WAS_DELETED) return; switch (enCmd) { case FADC_START: { DLDS_LIST v; v.push_back (m_dld); _DldsMgr.StartDownloads (v, TRUE); return; } case FADC_STOP: { DLDS_LIST v; v.push_back (m_dld); _DldsMgr.StopDownloads (v, TRUE); return; } case FADC_RESTART: _pwndDownloads->RestartDownload (m_dld, FALSE); return; case FADC_OPEN_FOLDER: m_dld->pMgr->Do_OpenFolder (); return; case FADC_LAUNCH_FILE: _DldsMgr.LaunchDownload (m_dld); return; } }
void CFVDownloads_Tasks::ShowSelectedDldsProperties() { POSITION pos = GetFirstSelectedItemPosition (); DLDS_LIST vDlds; DLDS_LIST vBtDlds; if (pos == NULL) return; while (pos) { int iItem = GetNextSelectedItem (pos); vmsDownloadSmartPtr dld = m_vDlds [iItem]; if (dld->pMgr->GetDownloadMgr () != NULL) vDlds.push_back (dld); else if (dld->pMgr->GetBtDownloadMgr () != NULL) vBtDlds.push_back (dld); } if (vDlds.size () >= vBtDlds.size ()) _pwndDownloads->OnDownloadProperties (vDlds); else _pwndDownloads->OnBtDownloadProperties (vBtDlds); SetFocus (); }
void CDownloads_Deleted::OnDeletedDelete() { DLDS_LIST v; POSITION pos = GetFirstSelectedItemPosition (); while (pos) { int iItem = GetNextSelectedItem (pos); vmsDownloadSmartPtr dld = (fsDownload*) GetItemData (iItem); v.push_back (dld); } if (v.size ()) { if (IDYES == MessageBox (LS (L_AREYOUSURE), LS (L_CONFIRMATION), MB_ICONQUESTION | MB_YESNO)) { if (_pwndDownloads->Get_DWWN () == DWWN_DELETED) _pwndDownloads->m_wndDeleted.ShowWindow (SW_HIDE); try { _DldsMgr.DeleteDeletedDownloads (v); } catch (...) {} if (_pwndDownloads->Get_DWWN () == DWWN_DELETED) _pwndDownloads->m_wndDeleted.ShowWindow (SW_SHOW); } } }
int CFlashVideoDownloadsWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CWnd::OnCreate(lpCreateStruct) == -1) return -1; m_wndTasks.Create (this); m_wndPreview.Create (this); m_splitter.Create (AfxGetInstanceHandle (), m_hWnd, WST_HORIZONTAL); m_splitter.SetWnd1 (m_wndTasks.m_hWnd); m_splitter.SetWnd2 (m_wndPreview.m_hWnd); m_splitter.SetMinDimensions (50, 50); float fRatio = _App.View_SplitterRatio ("FVDownloads_DL_PREVIEW"); if (fRatio < 0.1f) fRatio = 0.1f; m_splitter.SetRatio (fRatio); m_wndPreview.ShowWindow (SW_SHOW); DLDS_LIST v; _DldsMgr.LockList (true); size_t nCount = _DldsMgr.GetCount (); for (size_t i = 0; i < nCount; i++) { if (_DldsMgr.GetDownload (i)->dwFlags & DLD_FLASH_VIDEO) v.push_back (_DldsMgr.GetDownload (i)); } _DldsMgr.UnlockList (true); for (size_t i = 0; i < v.size (); i++) m_wndTasks.AddDownload (v [i], TRUE); return 0; }
void CCreateDownloadFromTorrentFileDlg::OnAdvanced() { CBtDldSheet sheet (LS (L_ADVANCED), this); DLDS_LIST v; v.push_back (m_dld); sheet.Init (&v, BTDS_FILES_PAGE | BTDS_MISC_PAGE); _DlgMgr.DoModal (&sheet); }
void CDlg_Download::OnStop() { DLDS_LIST vDlds; vDlds.push_back (m_dld); if (m_dld->pMgr->IsRunning ()) _DldsMgr.StopDownloads (vDlds, TRUE); else _DldsMgr.StartDownloads (vDlds, TRUE); }
void CFVDownloads_Tasks::OnFvdldStart() { DLDS_LIST v; POSITION pos = GetFirstSelectedItemPosition (); while (pos) { int nItem = GetNextSelectedItem (pos); v.push_back (m_vDlds [nItem]); } _DldsMgr.StartDownloads (v, TRUE); }
void CUrlWithLoginDlg::OnAdvanced() { if (FALSE == UpdateDNP ()) return; DLDS_LIST v; v.push_back (m_dld); CDownloadPropertiesSheet sheet (LS (L_ADVANCED), this); sheet.Init (&v, DPS_SHP_PROTOCOL|DPS_SHP_PROXY); _DlgMgr.OnDoModal (&sheet); sheet.DoModal (); _DlgMgr.OnEndDialog (&sheet); }
DLDS_LIST* CCreateBatchDownload::GenerateDownloads() { DLDS_LIST *vpDlds = new DLDS_LIST; for (int i = 0; i < m_bl.get_ResultCount (); i++) { vmsDownloadSmartPtr dld; Download_CreateInstance (dld); dld->pMgr->GetDownloadMgr ()->CreateByUrl (m_bl.get_Result (i), TRUE); vpDlds->push_back (dld); } return vpDlds; }
void CTorrents_Tasks::OnBtdldStop() { DLDS_LIST v; POSITION pos = GetFirstSelectedItemPosition (); while (pos) { int nItem = GetNextSelectedItem (pos); vmsDownloadSmartPtr dld = m_vDlds [nItem]; if (dld->pMgr->IsRunning ()) v.push_back (dld); else if (dld->bAutoStart) { dld->bAutoStart = FALSE; _pwndDownloads->UpdateDownload (dld); } } if (v.size ()) _DldsMgr.StopDownloads (v, TRUE); }
void CCreateBatchDownload::OnAdvanced() { DLDS_LIST v; v.push_back (m_dld); GetDlgItemText (IDC_URL, m_strUrl); fsURL url; if (url.Crack (m_strUrl) != IR_SUCCESS) { WrongUrl (); return; } m_dld->pMgr->GetDownloadMgr ()->GetDNP ()->enProtocol = fsSchemeToNP (url.GetInternetScheme ()); CDownloadPropertiesSheet sheet (LS (L_ADVANCED), this); sheet.Init (&v, DPS_SHP_NOGENERALNOMIRR); _DlgMgr.OnDoModal (&sheet); sheet.DoModal (); _DlgMgr.OnEndDialog (&sheet); }
void CDownloads_Deleted::OnDeletedRestore() { DLDS_LIST v; POSITION pos = GetFirstSelectedItemPosition (); while (pos) { int iItem = GetNextSelectedItem (pos); vmsDownloadSmartPtr dld = (fsDownload*) GetItemData (iItem); v.push_back (dld); } if (v.size ()) { if (_pwndDownloads->Get_DWWN () == DWWN_DELETED) _pwndDownloads->m_wndDeleted.ShowWindow (SW_HIDE); try { _DldsMgr.RestoreDownloads (v); } catch (...) {} if (_pwndDownloads->Get_DWWN () == DWWN_DELETED) _pwndDownloads->m_wndDeleted.ShowWindow (SW_SHOW); } }
void vmsDownloadList::Copy(DLDS_LIST& v) { for (size_t szIndex = 0; szIndex < m_vObj.size(); szIndex++) v.push_back (m_vObj [szIndex]); }
void CDlgExportDownloads::ExportDownloads(int iWhich, BOOL bNoDone, BOOL bAppend) { DLDS_LIST vpDlds; switch (iWhich) { case 0: { _DldsMgr.LockList (true); size_t nCount = _DldsMgr.GetCount (); for (size_t i = 0; i < nCount; i++) { vmsDownloadSmartPtr dld = _DldsMgr.GetDownload (i); if (bNoDone && dld->pMgr->IsDone ()) continue; vpDlds.push_back (dld); } _DldsMgr.UnlockList (true); } break; case 1: { CDownloads_Tasks* list = &_pwndDownloads->m_wndDownloads.m_tasks; int cItems = list->GetItemCount (); for (int i = 0; i < cItems; i++) { vmsDownloadSmartPtr dld; try { dld = (fsDownload*) list->GetItemData (i); if (bNoDone && dld->pMgr->IsDone ()) dld = NULL; } catch (const std::exception& ex) { ASSERT (FALSE); vmsLogger::WriteLog("CDlgExportDownloads::ExportDownloads " + tstring(ex.what())); dld = NULL; } catch (...) { ASSERT (FALSE); vmsLogger::WriteLog("CDlgExportDownloads::ExportDownloads unknown exception"); dld = NULL; } if (dld) vpDlds.push_back (dld); } } break; case 2: { CDownloads_Tasks* list = &_pwndDownloads->m_wndDownloads.m_tasks; POSITION pos = list->GetFirstSelectedItemPosition (); while (pos) { int iItem = list->GetNextSelectedItem (pos); vmsDownloadSmartPtr dld; try { dld = (fsDownload*) list->GetItemData (iItem); if (bNoDone && dld->pMgr->IsDone ()) dld = NULL; } catch (const std::exception& ex) { ASSERT (FALSE); vmsLogger::WriteLog("CDlgExportDownloads::ExportDownloads " + tstring(ex.what())); dld = NULL; } catch (...) { ASSERT (FALSE); vmsLogger::WriteLog("CDlgExportDownloads::ExportDownloads unknown exception"); dld = NULL; } if (dld) vpDlds.push_back (dld); } } break; } if (vpDlds.empty ()) { AfxGetApp ()->m_pMainWnd->MessageBox (LS (L_NODLDSTOEXPORT), NULL, MB_ICONEXCLAMATION); } else { CString strFilter; strFilter.Format ("%s (*.txt)|*.txt|%s (*.xml)|*.xml||", LS (L_URLLISTFILES), LS (L_DLINFOLISTFILES)); UINT flags = OFN_NOCHANGEDIR; if (bAppend == FALSE) flags |= OFN_OVERWRITEPROMPT; CFileDialog dlg (FALSE, "txt", NULL, flags, strFilter, NULL); if (_DlgMgr.DoModal (&dlg) == IDCANCEL) return; if (dlg.GetFileExt ().CollateNoCase ("txt") == 0) ExportDownloads_ToURLListFile (dlg.GetPathName (), &vpDlds, bAppend); else ExportDownloads_ToDLInfoListFile (dlg.GetPathName (), &vpDlds, bAppend); } }
void COrbitSupplier::processDldImportedFromOrbit(const TOrbitDownload& tOrbitDownload, TImportResult& tImportResult) const { CImportResultGuard resultGuard(tImportResult); CString sDownloadFilePath; if (!retrieveDownloadFilePath(tOrbitDownload, sDownloadFilePath)) { return; } if (tOrbitDownload.sUrl.IsEmpty()) { return; } vmsDownloadSmartPtr dld; Download_CreateInstance (dld); if (FALSE == _pwndDownloads->CreateDownloadWithDefSettings (dld, tOrbitDownload.sUrl)) { return; } configureDownloadFileName(sDownloadFilePath, dld); if (!tOrbitDownload.bIsComplete) { ATLASSERT(false); } else { HANDLE hFile = CreateFile ((LPCTSTR)sDownloadFilePath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); DWORD dwSize = GetFileSize(hFile, NULL); CloseHandle(hFile); dld->pMgr->GetDownloadMgr ()->CreateCompleteDownload((UINT64)dwSize); } DLDS_LIST v; v.push_back (dld); _pwndDownloads->CreateDownloads (v, NULL); resultGuard.Success(true); }
int CCreateTPDownloadDlg::_CheckDownloadAlrExists(vmsDownloadSmartPtr dld, BOOL bNeedTopMost, BOOL bShowUI) { fsURL url1, url2; if (dld->pMgr->GetTpDownloadMgr () == NULL) return 0; for (size_t i = 0; i < _DldsMgr.GetCount (); i++) { vmsDownloadSmartPtr d = _DldsMgr.GetDownload (i); if (d->pMgr->GetTpDownloadMgr () == NULL) continue; if (m_strUrl == d->pMgr->GetTpDownloadMgr ()->get_URL()) { UINT nRet = IDCANCEL; if (bShowUI) { CDownloadAlrExistsDlg dlg; dlg.m_dld = d; dlg.m_bNeedTopMost = bNeedTopMost; _DlgMgr.OnDoModal (&dlg); nRet = dlg.DoModal (); _DlgMgr.OnEndDialog (&dlg); } switch (nRet) { case IDC_RESUME: if (d->pMgr->GetTpDownloadMgr ()->IsRunning () == FALSE) { DLDS_LIST v; v.push_back (d); _DldsMgr.StartDownloads (v, TRUE); } break; case IDC_RESTART: _pwndDownloads->RestartDownload (d, TRUE); break; case IDC_LAUNCH: if (d->pMgr->GetDownloadMgr ()->IsDone ()) ShellExecute (::GetDesktopWindow (), "open", d->pMgr->GetTpDownloadMgr ()->get_OutputFilePathName() , NULL, NULL, SW_SHOW); break; case IDCANCEL: return 2; } return 1; } } return 0; }