void progress_changed(object sender, ProgressChangedEventArgs e)
{
this.contributions._list.Items.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
new System.Action(() =>
{
try
{
loading_progress progress = (loading_progress)e.UserState;
//collection_listbox_item cli = (collection_listbox_item)this.contributions._list.Items[this.contributions._list.Items.Count - 1];
string progress_text = " (loading " + (e.ProgressPercentage).ToString() + " of " + progress.total + ")";
string[] title = this.parent.get_title().Split(new string[] { " (" }, StringSplitOptions.RemoveEmptyEntries);
this.parent.set_title(title[0] + progress_text);
if (progress.current_progress == 0)
{
this.contributions._list.Items.Clear();
for (int counter = 0; counter < progress.total; counter++)
{
collection_listbox_item c = new collection_listbox_item();
c.img.Source = configurations.img_loading_image_pic;
//c.img.GifSource = configurations.GetAbsoluteImagePath() + "loading1.gif";
c.img.Tag = null;
//c.percentage.Visibility = System.Windows.Visibility.Collapsed;
//c.percentage.Text = (e.ProgressPercentage).ToString() + " of " + progress.total + " contribution(s) downloaded.";
c.drag.Visibility = System.Windows.Visibility.Collapsed;
this.contributions._list.Items.Add(c);
}
}
else
{
////load the item
collection_item i = progress.loaded_items[progress.current_progress - 1];
collection_listbox_item cli2 = new collection_listbox_item();
//Image img = new Image();
if (window_manager.thumbnails.ContainsKey(i._contribution.id))
{
cli2.img.Source = window_manager.thumbnails[i._contribution.id];
cli2.img.Tag = i;
cli2.drag.Source = configurations.img_drag_icon;
}
else
{
cli2.img.Source = configurations.img_not_found_image_pic;
cli2.img.Tag = null;
}
this.contributions._list.Items.RemoveAt(progress.current_progress - 1);
this.contributions._list.Items.Insert(progress.current_progress - 1, cli2);
}
this.contributions._list.Items.Refresh();
}
catch (Exception) { }
}));
}