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];
                }
            }
        }
Example #2
0
 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];
         }
     }
 }