private void Worker_ItemsRetrieved(object sender, ProgressChangedEventArgs e) { NewItemRetrievedReport report = e.UserState as NewItemRetrievedReport; // Notify the model that we've got some new items if (this.NodesInserted != null) { int newIndex = this.GetItemIndex(report.Item); if (newIndex != -1) { this.NodesInserted(this, new TreeModelEventArgs(this.GetPath(report.Item.Parent), new int[] { report.InsertAtIndex }, new[] { report.Item })); } } // Wake info and icon loaders to read online item data this.RunBackgroundWorkers(); }
private void Worker_ItemsRetrieved(object sender, ProgressChangedEventArgs e) { NewItemRetrievedReport report = e.UserState as NewItemRetrievedReport; // Notify the model that we've got some new items if (this.NodesInserted != null) { int newIndex = this.GetItemIndex(report.Item); bool stillInList = newIndex != -1; if (stillInList) { this.NodesInserted(this, new TreeModelEventArgs(this.GetPath(report.Item.Parent), new int[] { report.InsertAtIndex }, new[] { report.Item })); } } // Wake info loader to read online item data if (!this.itemInfoLoader.IsBusy) { this.itemInfoLoader.RunWorkerAsync(); } }