void ObservableGrepSearchResults_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { List <IGrepResult> toRemove = new List <IGrepResult>(); foreach (var node in SelectedNodes) { FormattedGrepResult item = node as FormattedGrepResult; FormattedGrepLine line = node as FormattedGrepLine; if (item != null && !this.Contains(item)) { toRemove.Add(item); } if (line != null && !this.Contains(line.Parent)) { toRemove.Add(line); } } foreach (var item in toRemove) { SelectedNodes.Remove(item); } if (e.NewItems != null) { foreach (FormattedGrepResult newEntry in e.NewItems.Cast <FormattedGrepResult>()) { string extension = Path.GetExtension(newEntry.GrepResult.FileNameDisplayed); if (extension.Length <= 1) { extension = ".na"; } if (!icons.ContainsKey(extension)) { System.Drawing.Bitmap bitmapIcon = IconHandler.IconFromExtensionShell(extension, IconSize.Small); if (bitmapIcon == null) { bitmapIcon = dnGREP.Common.Properties.Resources.na_icon; } icons[extension] = GetBitmapSource(bitmapIcon); } newEntry.Icon = icons[extension]; } } }
void ObservableGrepSearchResults_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { foreach (FormattedGrepResult newEntry in e.NewItems.Cast <FormattedGrepResult>()) { string extension = Path.GetExtension(newEntry.GrepResult.FileNameDisplayed); if (extension.Length <= 1) { extension = ".na"; } if (!icons.ContainsKey(extension)) { System.Drawing.Bitmap bitmapIcon = IconHandler.IconFromExtensionShell(extension, IconSize.Small); if (bitmapIcon == null) { bitmapIcon = dnGREP.Common.Properties.Resources.na_icon; } icons[extension] = GetBitmapSource(bitmapIcon); } newEntry.Icon = icons[extension]; } } }