Esempio n. 1
0
void CDownloads_History::UpdateRecord(int iItem)
{
	fsDLHistoryRecord *rec = (fsDLHistoryRecord*) GetItemData (iItem);
	SetItemText (iItem, 0, rec->strFileName);

	SetItemText (iItem, 1, rec->strURL);

	char sz [1000];
	
	FileTimeToStr (&rec->dateAdded, sz, NULL);
	SetItemText (iItem, 2, sz);

	if (rec->dateDownloaded.dwHighDateTime != 0)
	{
		FileTimeToStr (&rec->dateDownloaded, sz, NULL);
		SetItemText (iItem, 3, sz);
	}
	else
	{
		CString str = LS (L_WASDELETED_);
		FileTimeToStr (&rec->dateRecordAdded, sz, NULL);
		str += " (";
		str += sz;
		str += ')';
		SetItemText (iItem, 3, str);
	}

	CString str;
	if (rec->uFileSize != _UI64_MAX)
	{
		if (FALSE == _pwndDownloads->IsSizesInBytes ())
		{
			float val;
			char szDim [10];
			BytesToXBytes (rec->uFileSize, &val, szDim);
			str.Format ("%.*g %s", val > 999 ? 4 : 3, val, szDim);
		}
		else
			str = fsBytesToStr (rec->uFileSize);
	}
	else
		str = LS (L_UNKNOWN);

	SetItemText (iItem, 4, str);

	SetItemText (iItem, 5, rec->strSavedTo);
	
	str = rec->strComment;
	str.Replace ("\r", " ");
	str.Replace ("\n", " ");
	SetItemText (iItem, 6, str);

	SetItemImage (iItem, GetRecordImage (rec));
}
DWORD WINAPI CCreateTPDownloadDlg::_threadQSize(LPVOID lp)
{
	CCreateTPDownloadDlg *pThis = (CCreateTPDownloadDlg*) lp;

	try{

		CString strSize;
		UINT64 uSize = 0;
		vmsTpDownloadMgr* pMgr = pThis->m_dld->pMgr->GetTpDownloadMgr ();
		if (pMgr->CreateTPDownload (pThis->m_strUrl, "", "", 1))
		{
			pMgr->StartDownloading (FALSE);

			while ((uSize = pMgr->GetTotalFilesSize ()) == 0
				&& pThis->m_bNeedExit == FALSE)
			{
				Sleep (500);
			}
			pMgr->StopDownloading ();
		}

		if (pThis->m_bNeedExit == FALSE)
		{
			if (uSize == _UI64_MAX)
				strSize = LS (L_UNKNOWN);
			else
			{
				if (_pwndDownloads->IsSizesInBytes () == FALSE)
				{
					char szDim [50];
					float fSize;
					BytesToXBytes (uSize, &fSize, szDim);
					if (pMgr->GetPercentDone () == -1)
						strSize.Format ("%s", LS (L_LIVESTREAMING));
					else
						strSize.Format ("%.*g %s", fSize > 999 ? 4 : 3, fSize, szDim);
				}
				else
					strSize = fsBytesToStr (uSize); 
			}

			
			pThis->SetDlgItemText (IDC_QSIZE, strSize);
			pThis->GetDlgItem (IDC_QSIZE)->EnableWindow (TRUE);
		}

		pThis->m_bThread = FALSE;

	}catch (...) {} 

	return 0;
}
Esempio n. 3
0
void CUpdateDlg::OnTimer(UINT )
{
	UINT64 uBytesLeft = _UpdateMgr.m_dldr->GetDownloader ()->GetBytesLeft ();
	UINT uSpeed = _UpdateMgr.m_dldr->GetDownloader ()->GetSpeed ();
	UINT64 uSize = _UpdateMgr.m_dldr->GetDownloader ()->GetSSFileSize ();

	if (uSize != _UI64_MAX && uSize != 0) 
	{
		m_wndProgress.SetPos (100 - (int) (double ((INT64)uBytesLeft) / (INT64)uSize * 100));
		if (uSpeed)
			m_wndTimeLeft.SetWindowText (fsTimeInSecondsToStr (DWORD ((INT64)uBytesLeft / (INT64)uSpeed)));
		else
			m_wndTimeLeft.SetWindowText ("");
	}
	else
	{
		m_wndTimeLeft.SetWindowText ("");
	}

	float val;
	char szDim [100];
	CString str;

	if (uSize != _UI64_MAX)
	{
		BytesToXBytes (uSize, &val, szDim);
		str.Format ("%.*g %s", val > 999 ? 4 : 3, val, szDim);
	}
	else
	{
		str = LS (L_UNKNOWN);
	}
	m_wndSize.SetWindowText (str);

	BytesToXBytes (uSpeed, &val, szDim);
	str.Format ("%.*g %s/s", val > 999 ? 4 : 3, val, szDim);
	m_wndSpeed.SetWindowText (str);
}
Esempio n. 4
0
CString BytesToString (UINT64 uSize)
{
	CString str;

	if (FALSE == _pDllCaller->GetSettings ()->ShowSizesInBytes ())
	{
		float val;
		char szDim [10];
		BytesToXBytes (uSize, &val, szDim);
		str.Format ("%.*g %s", val > 999 ? 4 : 3, val, szDim);
	}
	else
		str = fsBytesToStr (uSize, TRUE);

	return str;
}
Esempio n. 5
0
void CFloatingInfoWnd::UpdateDownloadSpeed(int nItem)
{
try{
	CString str;
	CHAR szDim [10];
	float val;

	bool bUpload = m_wndList.GetItemImage (nItem) == 1;

	fsDownload *dld = (fsDownload*)m_wndList.GetItemData (nItem);

	BytesToXBytes (bUpload ? dld->pMgr->GetBtDownloadMgr ()->GetUploadSpeed () :
		dld->pMgr->GetSpeed (), &val, szDim);
	str.Format ("%.*g %s/s", val > 999 ? 4 : 3, val, szDim);
	m_wndList.SetItemText (nItem, 2, str);
}catch (...){}
}
Esempio n. 6
0
void CDownloads_Deleted::UpdateDownload(int iItem)
{
	vmsDownloadSmartPtr dld = (fsDownload*)GetItemData (iItem);

	CHAR szFile [10000];	
	CDownloads_Tasks::GetFileName (dld, szFile);
	lstrcat (szFile, " (");
	lstrcat (szFile, dld->pMgr->get_URL ());
	lstrcat (szFile, ")");
	SetItemText (iItem, 0, szFile);

	int cSects = dld->pMgr->GetNumberOfSections ();
	UINT64 uSize = dld->pMgr->GetLDFileSize ();
	UINT64 uDone = 0;

	
	SetItemImage (iItem, GetDownloadImage (dld));

	
	
	
	
	uDone = dld->pMgr->GetDownloadedBytesCount ();

	CString str;
	CHAR szDim [10];
	float val;

	

	if (cSects)
	{
		

		if (uSize != _UI64_MAX)
		{
			if (_pwndDownloads->IsSizesInBytes () == FALSE)
			{
				
				BytesToXBytes (uSize, &val, szDim);
				str.Format ("%.*g %s", val > 999 ? 4 : 3, val, szDim);
			}
			else
			{
				
				
				str = fsBytesToStr (uSize);
			}
			SetItemText (iItem, 1, str);
		}
		else
			SetItemText (iItem, 1, "?");	

		

		if (_pwndDownloads->IsSizesInBytes () == FALSE)
		{
			BytesToXBytes (uDone, &val, szDim);
			if (uSize != _UI64_MAX)
				str.Format ("%d%% [%.*g %s]", (int)((double)(INT64)uDone / (INT64)uSize * 100), val > 999 ? 4 : 3, val, szDim);
			else
				str.Format ("%.*g %s", val > 999 ? 4 : 3, val, szDim);
		}
		else
		{
			CString s = fsBytesToStr (uDone);
			if (uSize != _UI64_MAX)
				str.Format ("%d%% [%s]", (int)((double)(INT64)uDone / (INT64)uSize * 100), s);
			else
				str = s;
		}
		SetItemText (iItem, 2, str);
	}
	else
	{
		SetItemText (iItem, 1, "");
		SetItemText (iItem, 2, "");
	}

	

	str.Format ("%d", cSects);
	SetItemText (iItem, 3, str);

	
	str = dld->strComment;
	str.Replace ("\r", " ");
	str.Replace ("\n", " ");
	SetItemText (iItem, 4, str);
}
Esempio n. 7
0
DWORD WINAPI CCreateBatchDownload::_threadCalculateSize(LPVOID lp)
{
	ProcWaitInfo *info = (ProcWaitInfo*) lp;
	CWaitDlg* dlg = (CWaitDlg*) info->lpParam2;
	CCreateBatchDownload* pThis = (CCreateBatchDownload*) info->lpParam1;

	int iFailed = 0;	
	UINT64 uSummSize = 0;	

	
	for (size_t i = 0; i < pThis->m_pvDownloads->size () && info->bNeedStop == FALSE; i++)
	{
		vmsDownloadSmartPtr dld = pThis->m_pvDownloads->at (i);
		if (IR_SUCCESS != dld->pMgr->GetDownloadMgr ()->QuerySize ())	
			iFailed ++;	

		UINT64 uSize = dld->pMgr->GetDownloadMgr ()->GetDownloader ()->GetSSFileSize ();

		
		if (uSize == _UI64_MAX)
		{
			uSummSize = _UI64_MAX;	
			break;
		}

		uSummSize += uSize;

		CString str;
		str.Format ("%s (%d - %s, %d - %s)", LS (L_QUERINGSIZE), i+1, LS (L_DONE), iFailed, LS (L_ERR));
		dlg->SetDlgItemText (IDC_MESSAGE, str);	

		info->iProgress = (int) ((double) i / pThis->m_pvDownloads->size () * 100);
	}

	if (info->bNeedStop == FALSE)
	{
		CString strSize;

		if (uSummSize == _UI64_MAX)
			strSize = LS (L_UNKNOWN);
		else
		{
			if (_pwndDownloads->IsSizesInBytes () == FALSE)
			{
				char szDim [50];
				float fSize;
				BytesToXBytes (uSummSize, &fSize, szDim);
				strSize.Format ("%.*g %s", fSize > 999 ? 4 : 3, fSize, szDim);
			}
			else
				strSize = fsBytesToStr (uSummSize);
		}

		
		pThis->SetDlgItemText (IDC_QUERYSIZE, strSize);
	}
	else
		pThis->SetDlgItemText (IDC_QUERYSIZE, LS (L_QUERYSIZE));

	info->bWaitDone = TRUE;

	return 0;
}
Esempio n. 8
0
void CDlgVidMan::Update()
{
	try
	{
		if (IsWindowVisible () == FALSE)
			return;

		BOOL bPlaying = m_parent->IsPlaying ();

		UINT nIdNow, nStyle; int iImage;
		m_barMan.GetButtonInfo (0, nIdNow, nStyle, iImage);
		UINT nIdReq = bPlaying ? ID_DLD_VID_PAUSE : ID_DLD_VID_PLAY;
		if (nIdNow != nIdReq)
			m_barMan.SetButtonInfo (0, nIdReq, nStyle, bPlaying ? 2 : 0);

		SetDlgItemText (IDC__FILENAME, m_parent->Get_FileName ());

		TCHAR szDim [100];
		CString str;
		UINT64 u;
		float val;

		u = m_parent->Get_FileSize ();
		if (u)
		{
			if (u == _UI64_MAX)
				str = "?";
			else
			{
				BytesToXBytes (u, &val, szDim);
				str.Format (_T("%.*g %s"), val > 999 ? 4 : 3, val, szDim);
			}
		}
		else
			str = "";
		SetDlgItemText (IDC__SIZEVAL, str);

		u = m_parent->Get_AvailFileSize ();
		if (u || m_parent->Get_FileSize ())
		{
			BytesToXBytes (u, &val, szDim);
			str.Format (_T("%.*g %s"), val > 999 ? 4 : 3, val, szDim);
		}
		else
			str = "";
		SetDlgItemText (IDC__SIZEAVAILVAL, str);

		SetDlgItemText (IDC__DURATIONVAL, m_parent->GetDuration ());

		UpdateEnabled ();
	}
	catch (const std::exception& ex)
	{
		ASSERT (FALSE);
		vmsLogger::WriteLog("CDlgVidMan::Update " + std::string(ex.what()));
	}
	catch (...)
	{
		ASSERT (FALSE);
		vmsLogger::WriteLog("CDlgVidMan::Update unknown exception");
	}
}