Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
            }
        }