BOOL CDownloads_VideoPreview::OpenFile()
{
    CloseFile ();

    fsString strFile = m_pActiveDownload->pMgr->get_OutputFilePathName ();

    m_hFile = CreateFile (strFile, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
                          NULL, OPEN_EXISTING, 0, NULL);

    if (m_hFile == INVALID_HANDLE_VALUE)
    {
        char szErr [10000];
        fsErrorToStr (szErr, 10000, NULL);
        CString strErr = LS (L_FAILEDTOOPENFILE);
        strErr += "\n\n";
        strErr += szErr;
        MessageBox (strErr, LS (L_ERR), MB_ICONERROR);
        return FALSE;
    }

    return TRUE;
}
Exemplo n.º 2
0
BOOL CDownloadProperties_GeneralPage::OnApply() 
{
	const int size = m_pvDlds->size ();

	if (size == 1)
	{
		CString strNewUrl;
		CString strNewFile;
		GetDlgItemText (IDC_URL, strNewUrl);
		GetDlgItemText (IDC_SAVEAS, strNewFile);
        if (FALSE == CCreateDownloadDlg::_CheckFolderName (this, IDC_SAVEAS))
			return FALSE;

		
		if (strNewUrl != m_strUrl)
		{
			
			{
				fsURL url;
				
				if (url.Crack (strNewUrl) != IR_SUCCESS || 
					 (url.GetInternetScheme () != INTERNET_SCHEME_FILE && *url.GetHostName () == 0))
				{
					MessageBox (LS (L_CHECKURL), LS (L_INPERR), MB_ICONEXCLAMATION);
					((CEdit*) GetDlgItem (IDC_URL))->SetSel (0, -1);
					GetDlgItem (IDC_URL)->SetFocus ();
					return FALSE;
				}

				m_pvDlds->at (0)->pMgr->GetDownloadMgr ()->CreateByUrl (strNewUrl, TRUE);
				if (*m_pvDlds->at (0)->pMgr->GetDownloadMgr ()->GetDNP ()->pszUserName)
					ReadAuthorization ();
			}
		}

		fsDownload_Properties *dp = m_pvDlds->at (0)->pMgr->GetDownloadMgr ()->GetDP ();

		
		if (strNewFile != dp->pszFileName)
		{
			if (FALSE == m_pvDlds->at (0)->pMgr->GetDownloadMgr ()->MoveFile (strNewFile))
			{
				if (GetLastError () == 0)
				{
					
					MessageBox (LS (L_CANTCHANGEFILENAME), LS (L_ERR), MB_ICONERROR);
				}
				else
				{
					CString strErr;
					CHAR szErr [1000];

					fsErrorToStr (szErr, 1000);

					strErr.Format ("%s\n\n%s: %s", LS (L_CANTRENAME), LS (L_ERR), szErr); 
					MessageBox (strErr, LS (L_ERR), MB_ICONERROR);
				}
			}
		}
	}

	_pwndDownloads->UpdateDownload (m_pvDlds->at (0), TRUE);

	vmsDownloadsGroupSmartPtr pGroup = m_wndGroups.GetSelectedGroup ();
	if (pGroup != NULL)
	{
		for (int i = 0; i < size; i++)
		{
			if (m_pvDlds->at (i)->pGroup->nId != pGroup->nId)
			{
				m_pvDlds->at (i)->pGroup->cDownloads--;
				m_pvDlds->at (i)->pGroup = pGroup;
				pGroup->cDownloads++;
				m_pvDlds->at (i)->pMgr->GetDownloadMgr ()->MoveToFolder (pGroup->strOutFolder);
			}
		}

		m_bNeedUpdateTasks = TRUE;
		_pwndDownloads->UpdateNumbersOfDownloadsInGroups ();
	}
	else
		m_bNeedUpdateTasks = FALSE;

	if (m_bCommentModified)
	{
		CString strComment;
		GetDlgItemText (IDC_COMMENT, strComment);

		for (int i = 0; i < size; i++)
		{
			m_pvDlds->at (i)->strComment = strComment;
			_pwndDownloads->UpdateDownload (m_pvDlds->at (i));
		}

		m_bNeedUpdateTasks = TRUE;
	}

	WriteAuthorization ();

	
	
	return CPropertyPage::OnApply();
}