コード例 #1
0
ファイル: downloads_deleted.cpp プロジェクト: pedia/raidget
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);
		}
	}
}
コード例 #2
0
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;
}
コード例 #3
0
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;
	}
}
コード例 #4
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);
}
コード例 #5
0
void CFVDownloads_Tasks::OnFvdldPasstodlds() 
{
	DLDS_LIST v;
	GetSelectedDownloads (v);
	if (v.size ())
	{
		_pwndDownloads->ShowDownloads (v);
		((CMainFrame*)AfxGetApp ()->m_pMainWnd)->SetActivePlugin (0);
	}
}
コード例 #6
0
ファイル: Dlg_Download.cpp プロジェクト: naroya/fdm
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);	
}
コード例 #7
0
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);	
}
コード例 #8
0
ファイル: urlwithlogindlg.cpp プロジェクト: pedia/raidget
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);
}
コード例 #9
0
ファイル: CreateBatchDownload.cpp プロジェクト: DragonZX/fdm2
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;
}
コード例 #10
0
ファイル: Torrents_Tasks.cpp プロジェクト: naroya/fdm
void CTorrents_Tasks::OnBtdldAutostart() 
{
	DLDS_LIST v;
	GetSelectedDownloads (v);
	if (v.size () == 0)
		return;
	
	BOOL b = TRUE;
	vmsDownloadsListHelper::GetStat (v, NULL, NULL, NULL, NULL, &b);
	
	for (size_t i = 0; i < v.size (); i++)
		v [i]->bAutoStart = b;	
	
	_pwndDownloads->UpdateAllDownloads ();
	_DldsMgr.ProcessDownloads ();	
}
コード例 #11
0
void CFVDownloads_Tasks::DeleteSelected(BOOL bDontConfirmFileDeleting)
{
	if (bDontConfirmFileDeleting || _App.Deleted_ConfirmDeletion ())
	if (IDNO == MessageBox (bDontConfirmFileDeleting ? LS (L_DLDWBDELETEDFROMDISK) : LS (L_AREYOUSURE), LS (L_CONFIRMATION), MB_YESNO|MB_ICONQUESTION))
	{
		SetFocus ();
		return;
	}

	DLDS_LIST v;
	GetSelectedDownloads (v);
	if (v.size () == 0)
		return;

	_pwndDownloads->DeleteDownloads (v, TRUE, bDontConfirmFileDeleting);
	UpdateActiveDownload (0);
}
コード例 #12
0
void CFVDownloads_Tasks::OnFvdldAutostart() 
{
	DLDS_LIST v;
	GetSelectedDownloads (v);
	if (v.size () == 0)
		return;

	BOOL b = TRUE;
	vmsDownloadsListHelper::GetStat (v, NULL, NULL, NULL, NULL, &b);

	for (size_t i = 0; i < v.size (); i++) {
		v [i]->bAutoStart = b;
		v [i]->setDirty();
	}

	_pwndDownloads->UpdateAllDownloads ();
	_DldsMgr.setNeedProcessDownloads ();
}
コード例 #13
0
ファイル: Torrents_Tasks.cpp プロジェクト: naroya/fdm
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);	
}
コード例 #14
0
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 ();
}
コード例 #15
0
ファイル: CreateBatchDownload.cpp プロジェクト: DragonZX/fdm2
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);	
}
コード例 #16
0
ファイル: downloads_deleted.cpp プロジェクト: pedia/raidget
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);
	}	
}
コード例 #17
0
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);
    }
}
コード例 #18
0
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);

}
void vmsDownloadList::Copy(DLDS_LIST& v)
{
	for (size_t szIndex = 0; szIndex < m_vObj.size(); szIndex++)
		v.push_back (m_vObj [szIndex]);
}
コード例 #20
0
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;
}