Redid the icon factory to fix a few things:
* libnautilus/nautilus-icon-factory.c: Redid the icon factory to fix a few things: - Replaced the existing non-working count-based LRU algorithm with one that works (uses a linked list). - Keep resized icons in the cache. - Hand out a single NautilusScalableIcon when multiple callers ask for the same icon instead of a new one each time. - Fixed one bug where pixbuf's would get an extra ref and never get freed once they are no longer used. * libnautilus/nautilus-metadata.h: * src/nautilus-index-title.c (nautilus_index_title_set_up_info): * libnautilus/nautilus-icon-factory.c (nautilus_icon_factory_get_icon_for_file): Added keys for the two pieces of metadata Andy just added. * libnautilus/gnome-icon-container-private.h: * libnautilus/gnome-icon-container.c: (scroll), (make_icon_visible), (set_scroll_region): Fixed the code that resizes the canvas as items are added and removed to properly handle the case where the canvas extends into negative-coordinate territory. This included removing the width and height that were stored in the private structure. * libnautilus/nautilus-directory.c: (nautilus_directory_get): Tiny formatting tweak.
Showing with 1765 additions and 1320 deletions