summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-thumbnails.h
Commit message (Collapse)AuthorAgeFilesLines
* Better handling of icon sizes, including framing of large file-as-iconAlexander Larsson2004-12-151-0/+1
| | | | | | | | | | | | | | | | 2004-12-15 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-icon-container.c: (nautilus_icon_container_update_icon): * libnautilus-private/nautilus-icon-factory.c: (load_icon_file): * libnautilus-private/nautilus-thumbnails.c: (nautilus_thumbnail_frame_image), (nautilus_thumbnail_load_framed_image): * libnautilus-private/nautilus-thumbnails.h: Better handling of icon sizes, including framing of large file-as-icon images. Patches from Jaap Haitsma <jaap@haitsma.org>
* Keep track of whether the file is being thumbnailed. If it is atAlexander Larsson2003-03-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-12 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-file-private.h: * libnautilus-private/nautilus-file.c: (finalize), (nautilus_file_invalidate_attributes_internal), (nautilus_file_is_thumbnailing), (nautilus_file_set_is_thumbnailing): * libnautilus-private/nautilus-file.h: Keep track of whether the file is being thumbnailed. If it is at finalization, remove from the thumbnail queue. * libnautilus-private/nautilus-icon-container.h: * libnautilus-private/nautilus-icon-container.c: (redo_layout_internal), (realize), (nautilus_icon_container_instance_init), (nautilus_icon_container_prioritize_thumbnailing), (nautilus_icon_container_prioritize_thumbnailing_for_visible_icons) , (handle_vadjustment_changed): Prioritize thumbnailing for icons visibile on the screen. * libnautilus-private/nautilus-icon-factory.c: (show_thumbnails_changed_callback): Remove all thumbnails from queue when thumbnails are disabled. * libnautilus-private/nautilus-thumbnails.h: * libnautilus-private/nautilus-thumbnails.c: (free_thumbnail_info), (nautilus_thumbnail_remove_from_queue), (nautilus_thumbnail_remove_all_from_queue), (nautilus_thumbnail_prioritize), (thumbnail_thread_notify_file_changed), (nautilus_create_thumbnail), (thumbnail_thread_start): New functions to remove thumbnails from the queue and to prioritize them. * src/file-manager/fm-icon-container.c: (fm_icon_container_prioritize_thumbnailing), (fm_icon_container_class_init): Implement prioritize_thumbnailing.
* Merge the new-icon-factory-branch branch to HEAD.Alexander Larsson2002-09-181-2/+1
| | | | | | 2002-09-18 Alexander Larsson <alexl@redhat.com> Merge the new-icon-factory-branch branch to HEAD.
* Remove nautilus-desktop-file-loader.[ch]. Remove. Remove.Darin Adler2002-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus-private/Makefile.am: Remove nautilus-desktop-file-loader.[ch]. * libnautilus-private/nautilus-desktop-file-loader.c: Remove. * libnautilus-private/nautilus-desktop-file-loader.h: Remove. * libnautilus-private/nautilus-directory-async.c: (link_info_nautilus_link_read_callback): Pass in NULL for the new optional URI parameter for parsing existing link files. * libnautilus-private/nautilus-link-desktop-file.h: * libnautilus-private/nautilus-link-desktop-file.c: Change to use GnomeDesktopItem instead of NautilusDesktopFile. * libnautilus-private/nautilus-link.h: * libnautilus-private/nautilus-link.c: (nautilus_link_get_link_uri_given_file_contents), (nautilus_link_get_link_name_given_file_contents), (nautilus_link_get_link_icon_given_file_contents): Add optional URI parameter for parsing existing link files. This is passed down to the GnomeDesktopItem level, which can sometimes do a better job if it knows the URI. * src/file-manager/fm-directory-view.c: (activate_callback): Change to use GnomeDesktopItem instead of NautilusDesktopFile. Also, simplify error handling. * Many files: Fix includes to use <> style in headers more consistently, and remove unnecessarily includes.
* Get rid of code that passes around the "optimize for AA" flag.Darin Adler2002-01-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * components/tree/nautilus-tree-view.c: (nautilus_tree_view_insert_model_node), (nautilus_tree_view_update_model_node): * libnautilus-private/nautilus-bookmark.c: (nautilus_bookmark_get_pixbuf): * libnautilus-private/nautilus-find-icon-image.c: (read_details), (get_themed_icon_file_path), (theme_has_icon), (nautilus_get_icon_file_name): * libnautilus-private/nautilus-find-icon-image.h: * libnautilus-private/nautilus-icon-container.c: (nautilus_icon_container_update_icon): * libnautilus-private/nautilus-icon-factory-private.h: * libnautilus-private/nautilus-icon-factory.c: (load_thumbnail_frame), (nautilus_icon_factory_init), (nautilus_icon_factory_destroy), (icon_theme_changed_callback), (should_display_image_file_as_itself), (nautilus_icon_factory_get_icon_for_file), (load_icon_from_path), (load_named_icon), (load_specific_icon), (load_icon_for_scaling), (load_icon_scale_if_necessary), (get_icon_from_cache), (nautilus_icon_factory_get_pixbuf_for_icon), (cache_key_hash), (cache_key_equal), (nautilus_icon_factory_get_pixbuf_for_file), (nautilus_icon_factory_get_pixbuf_from_name), (nautilus_icon_factory_get_thumbnail_frame): * libnautilus-private/nautilus-icon-factory.h: * libnautilus-private/nautilus-thumbnails.c: (nautilus_thumbnail_load_framed_image): * libnautilus-private/nautilus-thumbnails.h: * src/file-manager/fm-directory-view.c: (add_script_to_script_menus), (add_submenu_to_script_menus): * src/file-manager/fm-list-model.c: (fm_list_model_get_value): * src/file-manager/fm-properties-window.c: (get_pixbuf_for_properties_window): * src/nautilus-sidebar-title.c: (update_icon), (update_emblems): Get rid of code that passes around the "optimize for AA" flag. * cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.c: * cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.h: * cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.c: * cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.h: Roll in the latest version from gimp source tree. * icons: Overwrite all the non-aa versions with the aa versions. Remove all the aa versions.
* Remove eel_ prefix from name. (background_get_desktop_background_window):Darin Adler2001-07-241-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus-private/nautilus-directory-background.c: (background_is_desktop): Remove eel_ prefix from name. (background_get_desktop_background_window): Remove eel_ prefix from name. * libnautilus-private/nautilus-icon-factory.c: (should_display_image_file_as_itself), (nautilus_icon_factory_get_icon_for_file), (load_icon_from_path): * libnautilus-private/nautilus-thumbnails.h: * libnautilus-private/nautilus-thumbnails.c: (make_thumbnail_uri), (nautilus_thumbnail_has_invalid_thumbnail), (nautilus_get_thumbnail_uri), (nautilus_update_thumbnail_file_renamed), (nautilus_remove_thumbnail_for_file), (check_for_thumbnails), (make_thumbnails), (nautilus_thumbnail_load_framed_image): Remove anti-aliased parameter from most functions, since the thumbnails are now the same either way. * THANKS: * check-THANKS.pl: Some more THANKS updates. * RPMs-README: No need for this any more.
* changed thumbnailing to not draw the frame into the thumbnail imagesAndy Hertzfeld2001-07-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changed thumbnailing to not draw the frame into the thumbnail images themselves anymore; instead, draw it at the time they're loaded. This makes anti-aliased thumbnail variants no longer necessary, so they're no longer used. There's a cheap test so old thumbnails aren't framed twice. * libnautilus-private/nautilus-thumbnails.c: (make_thumbnail_uri), (make_thumbnails), (pixel_matches_value), (pixbuf_is_framed), (nautilus_thumbnail_load_framed_image): don't frame the thumbnails at creation time; instead, provide a routine to frame them at load time if necessary. * libnautilus-private/nautilus-thumbnails.h: added nautilus_thumbnail_load_framed_image * libnautilus-private/nautilus-icon-factory-private.h: added nautilus_icon_factory_get_thumbnail_frame * libnautilus-private/nautilus-icon-factory.c: (load_thumbnail_frames), (nautilus_icon_factory_initialize), (nautilus_icon_factory_destroy), (icon_theme_changed_callback), (load_icon_from_path), (load_named_icon), (load_specific_icon), (nautilus_icon_factory_get_thumbnail_frame): made it call nautilus_thumbnail_load_framed_image to load thumbnails; made the icon factory load the thumbnail frames so it doesn't have to be done repeatedly; changed how the aa flag is passed around a little, although this could be cleaned up more now.
* Made the thumbnail mechanism respect the "PUBLIC_METADATA"John Sullivan2001-05-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | preference, so if you change "Make Folder Appearance Details Public" to Never (in Speed Tradeoffs at Advanced user level), thumbnails will always be created in ~/.nautilus/thumbnails, instead of in a .thumbnails subdirectory in each directory. Thanks to Michael Rothwell <rothwell@holly-springs.nc.us> for the idea and a first pass at the code. * libnautilus-private/nautilus-thumbnails.h: * libnautilus-private/nautilus-thumbnails.c: (uri_is_local): New convenience function, calls gnome_vfs_uri_is_local (prefer_global_thumbnails_location): New function that checks preference value. (make_thumbnail_uri): Call preference-checking function. (first_file_more_recent), (nautilus_thumbnail_has_invalid_thumbnail), (nautilus_get_thumbnail_uri), (nautilus_update_thumbnail_file_renamed_one), (nautilus_update_thumbnail_file_renamed), (nautilus_remove_thumbnail_for_file_one), (nautilus_remove_thumbnail_for_file): Use uri_is_local () to reduce duplicated code; change some parameter names for clarity.
* fixed bugs 5674, 5697 and 5699, Nautilus shows a broken image icon insteadAndy Hertzfeld2001-01-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | fixed bugs 5674, 5697 and 5699, Nautilus shows a broken image icon instead of a mime-type icon for image types that it doesn't support. Fixed by generating a zero-length placeholder thumbnail instead of the broken image icon; the icon factory tests for the placeholder and uses the proper mime-type icon when it's present. * libnautilus-extensions/nautilus-icon-factory.c: (should_display_image_file_as_itself), (nautilus_icon_factory_get_icon_for_file): made should_display_image_file_as_itself return FALSE when the placeholder is present. * libnautilus-extensions/nautilus-thumbnails.c: (make_invalid_thumbnail_uri), (nautilus_thumbnail_has_invalid_thumbnail), (check_for_thumbnails): added routine to test if a placeholder is present, and made it generate the placeholder when thumbnailing fails. * libnautilus-extensions/nautilus-thumbnails.h: added nautilus_thumbnail_has_invalid_thumbnail
* reviewed by: Maciej Stachowiak <mjs@eazel.com>Pavel Cisler2000-11-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-21 Pavel Cisler <pavel@eazel.com> reviewed by: Maciej Stachowiak <mjs@eazel.com> Fixed bugzilla 855 - Renaming a file with thumbnails does not affect the thumbnails and 4654 - Old thumbnails cause problems with renaming. * libnautilus-extensions/nautilus-directory-metafile.c: (nautilus_directory_rename_file_metadata), (nautilus_directory_remove_file_metadata): Finish the metafile rename and metafile remove operation by updating thumbnail files correspondingly, if they exist. * libnautilus-extensions/nautilus-directory.c: * libnautilus-extensions/nautilus-directory.h: (nautilus_directory_get_file_uri): Added a convenience routine. * libnautilus-extensions/nautilus-thumbnails.c: (vfs_file_exists): Tweaked to use the right GnomeVFS call. * libnautilus-extensions/nautilus-thumbnails.h: * libnautilus-extensions/nautilus-thumbnails.c: (nautilus_update_thumbnail_file_renamed_one), (nautilus_update_thumbnail_file_renamed), (nautilus_remove_thumbnail_for_file_one), (nautilus_remove_thumbnail_for_file): Look for an existing thumbnail for a file, if present, rename or remove it respectively to update it to the new state. * libnautilus-extensions/nautilus-thumbnails.c: (make_thumbnail_path), (nautilus_get_thumbnail_uri), (check_for_thumbnails), (make_thumbnails): Added a create_parents_if_needed parameter used by the new thumbnail updating calls.
* Fixed bug 640 (icon cache never frees images (awaiting GdkPixbufDarin Adler2000-09-201-0/+33
fix)). Also took care of bug 3145 (zillions of 'main_loops != NULL' assertion failures when quitting) and bug 3138 (Some code in the icon factory is cut and pasted from elsewhere). And a few unrelated things that came up while I was busy working on these. * configure.in: Applied patch from Dan Winship to fix handling of CFLAGS and LDFLAGS. Fixes some missing quoting and other mistakes. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-icon-factory-private.h: * libnautilus-extensions/nautilus-thumbnails.c: * libnautilus-extensions/nautilus-thumbnails.h: Broke out the thumbnailing code into its own source file for clarity. * libnautilus-extensions/nautilus-directory.c: * libnautilus-extensions/nautilus-file-utilities.h: * libnautilus-extensions/nautilus-file-utilities.c: (nautilus_make_directory_and_parents): Moved nautilus_make_directory_and_parents into a place where the thumbnail code can share it instead of requiring its own copy. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (destroy_global_prefs_dialog), (global_preferences_get_dialog), (nautilus_global_preferences_dialog_update), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_initialize_if_needed), (preferences_shutdown): * src/nautilus-application.c: (nautilus_application_destroy): Changed code so that it cleans up with g_atexit instead of with an explicit shutdown call. This makes it sequence correctly with other atexit code. * libnautilus-extensions/nautilus-icon-canvas-item.h: * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_destroy), (nautilus_icon_canvas_item_set_attach_points), (emblem_layout_next): * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_update_icon): Added a Nautilus prefix to the EmblemAttachPoints typedef, since it's public. * libnautilus-extensions/nautilus-icon-factory.h: * libnautilus-extensions/nautilus-icon-factory.c: Changed the icon factory structure so that it will actually free pixbufs when done with them. Made some other small fixes to the icon factory in passing, including removing some redundant code and fixing the logic for getting custom icons and deleting the icon factory and g_atexit time. * src/file-manager/fm-icon-view.c: (play_file), (preview_sound): Restructured the logic for playing sound previews a little to get rid of compiler warnings and close some loopholes in the old code. * src/nautilus-main.c: (is_event_loop_needed), (quit_if_in_main_loop), (nautilus_gtk_main_quit_all), (event_loop_unregister), (nautilus_main_event_loop_register), (nautilus_main_is_event_loop_mainstay), (nautilus_main_event_loop_quit), (main): Fixed the main loop quitting logic so that it is a bit simpler and works with the gnome-vfs code that runs event handling after the last main loop is gone.