public void InitDownloadManager()
{
_manager = new DownloadManager(Settings.Instance.SimultaneousDownloads);
_manager.OnProgress += (a) =>
{
if (a.Status==DownloadStatus.Complete)
Follows.Instance.AddDownload(a.Episode);
objDownloads.RefreshObject(a);
if (a==objDownloads.SelectedObject)
RefreshInfo();
};
olvFile.AspectGetter = (x) =>
{
DownloadItem d = (DownloadItem) x;
return d.DownloadInfo.FileName;
};
olvStatus.AspectGetter = (x) =>
{
DownloadItem d = (DownloadItem)x;
return d.Status;
};
olvMessage.AspectGetter = (x) =>
{
DownloadItem d = (DownloadItem) x;
if (!string.IsNullOrEmpty(d.DownloadError))
{
return d.DownloadError;
}
return d.DownloadInfo.Status;
};
objDownloads.FormatCell += (a, b) =>
{
if (b.ColumnIndex == olvMessage.Index)
{
DownloadItem d = (DownloadItem) b.Model;
b.Item.ForeColor = !string.IsNullOrEmpty(d.DownloadError) ? Color.Red : SystemColors.ControlText;
}
};
olvProgress.Renderer = new BarRenderer(0, 1000);
olvProgress.AspectGetter = (x) =>
{
DownloadItem d = (DownloadItem) x;
return (int)(d.DownloadInfo.Percent*10);
};
objDownloads.DragSource = new SimpleDragSource();
objDownloads.DropSink = new DropSink(false,_manager);
}