nautilus/libnautilus-extensions/nautilus-file.h

362 lines
20 KiB
C
Raw Normal View History

/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
nautilus-file.h: Nautilus file model.
Copyright (C) 1999, 2000, 2001 Eazel, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Author: Darin Adler <darin@eazel.com>
*/
#ifndef NAUTILUS_FILE_H
#define NAUTILUS_FILE_H
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
#include <gtk/gtkobject.h>
#include <libgnomevfs/gnome-vfs-types.h>
/* NautilusFile is an object used to represent a single element of a
* NautilusDirectory. It's lightweight and relies on NautilusDirectory
* to do most of the work.
*/
Fixed bug where you'd see the name twice under each icon. Did some work for the new notify hooks that Pavel made. I'll finish those hooks soon. * src/file-manager/fm-icon-view.h: * src/file-manager/fm-icon-text-window.h: * src/file-manager/fm-icon-text-window.c: (set_preference_string), (synch_menus_with_preference), (icon_view_text_attribute_changed_callback), (fm_get_text_attribute_names_preference_or_default): * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_get_icon_text_attribute_names), (text_attribute_names_changed_callback): Moved attribute names default into FMIconTextWindow and made the callers use a new call that gets either the preference or the default if the preference is invalid. Also simplified the code since we don't need to cache the preference in either the FMIconTextWindow or the FMIconView. * libnautilus-extensions/nautilus-directory.c: (is_canonical_uri): Added a function for use in asserts. (nautilus_directory_get): Assert that we successfully made the URI canonical. (parent_directory_if_exists), (file_if_exists): Helper functions for implementing the notify calls. (nautilus_directory_notify_files_added), (nautilus_directory_notify_files_removed), (nautilus_directory_notify_files_moved): Fleshed out the bones of these routines a bit more. They are still not done. Also changed their interfaces so they are not responsible for freeing their parameters. * libnautilus-extensions/nautilus-directory.h: * libnautilus-extensions/nautilus-directory.c: * libnautilus-extensions/nautilus-file.h: (nautilus_directory_contains_file): New call to be used instead of nautilus_file_is_gone for callers that are monitoring a directory. * libnautilus-extensions/nautilus-file-changes-queue.c: (pairs_list_free), (nautilus_file_changes_consume_changes): Make the caller free the list instead of the called function Also reordered the changes so deletions come before additions. * src/file-manager/fm-directory-view.c: (display_pending_files): * src/file-manager/fm-list-view.c: (fm_list_view_file_changed): * src/file-manager/fm-icon-view.c: (fm_icon_view_file_changed): Changed to use nautilus_directory_contains_file instead of nautilus_file_is_gone.
2000-04-18 18:22:43 +00:00
/* NautilusFile is defined both here and in nautilus-directory.h. */
#ifndef NAUTILUS_FILE_DEFINED
#define NAUTILUS_FILE_DEFINED
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
typedef struct NautilusFile NautilusFile;
Fixed bug where you'd see the name twice under each icon. Did some work for the new notify hooks that Pavel made. I'll finish those hooks soon. * src/file-manager/fm-icon-view.h: * src/file-manager/fm-icon-text-window.h: * src/file-manager/fm-icon-text-window.c: (set_preference_string), (synch_menus_with_preference), (icon_view_text_attribute_changed_callback), (fm_get_text_attribute_names_preference_or_default): * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_get_icon_text_attribute_names), (text_attribute_names_changed_callback): Moved attribute names default into FMIconTextWindow and made the callers use a new call that gets either the preference or the default if the preference is invalid. Also simplified the code since we don't need to cache the preference in either the FMIconTextWindow or the FMIconView. * libnautilus-extensions/nautilus-directory.c: (is_canonical_uri): Added a function for use in asserts. (nautilus_directory_get): Assert that we successfully made the URI canonical. (parent_directory_if_exists), (file_if_exists): Helper functions for implementing the notify calls. (nautilus_directory_notify_files_added), (nautilus_directory_notify_files_removed), (nautilus_directory_notify_files_moved): Fleshed out the bones of these routines a bit more. They are still not done. Also changed their interfaces so they are not responsible for freeing their parameters. * libnautilus-extensions/nautilus-directory.h: * libnautilus-extensions/nautilus-directory.c: * libnautilus-extensions/nautilus-file.h: (nautilus_directory_contains_file): New call to be used instead of nautilus_file_is_gone for callers that are monitoring a directory. * libnautilus-extensions/nautilus-file-changes-queue.c: (pairs_list_free), (nautilus_file_changes_consume_changes): Make the caller free the list instead of the called function Also reordered the changes so deletions come before additions. * src/file-manager/fm-directory-view.c: (display_pending_files): * src/file-manager/fm-list-view.c: (fm_list_view_file_changed): * src/file-manager/fm-icon-view.c: (fm_icon_view_file_changed): Changed to use nautilus_directory_contains_file instead of nautilus_file_is_gone.
2000-04-18 18:22:43 +00:00
#endif
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
#define NAUTILUS_TYPE_FILE \
(nautilus_file_get_type ())
#define NAUTILUS_FILE(obj) \
(GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_FILE, NautilusFile))
#define NAUTILUS_FILE_CLASS(klass) \
(GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_FILE, NautilusFileClass))
#define NAUTILUS_IS_FILE(obj) \
(GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_FILE))
#define NAUTILUS_IS_FILE_CLASS(klass) \
(GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_FILE))
typedef enum {
NAUTILUS_FILE_SORT_NONE,
NAUTILUS_FILE_SORT_BY_NAME,
NAUTILUS_FILE_SORT_BY_DIRECTORY,
NAUTILUS_FILE_SORT_BY_SIZE,
NAUTILUS_FILE_SORT_BY_TYPE,
2000-03-31 04:13:34 +00:00
NAUTILUS_FILE_SORT_BY_MTIME,
NAUTILUS_FILE_SORT_BY_EMBLEMS
} NautilusFileSortType;
typedef enum {
NAUTILUS_REQUEST_NOT_STARTED,
NAUTILUS_REQUEST_IN_PROGRESS,
NAUTILUS_REQUEST_DONE
} NautilusRequestStatus;
Fixed bug 1743 (Deleting a file in search results should cause it to update appropriately). The fix for this involved fixing bugs in nautilus_file_is_in_trash and making emblems behave more flexibly. We now have the ability to exclude certain emblems when displaying a file, so that the trash emblem shows up in search results but not regular list view. A happy side effect of the way this works is that the trash emblem now shows up in the sidebar for items (including directories) that are anywhere in the trash. * libnautilus-extensions/nautilus-file.h: Publicized names of emblems NautilusFile adds based on file state, so that file-displaying code could choose to exclude some of them. This included changing their names to start with NAUTILUS_ * libnautilus-extensions/nautilus-file.c: (compare_emblem_names): updated for emblem name changes. (nautilus_file_get_emblem_names): updated for name changes. Also, always include EMBLEM_NAME_TRASH for files in trash, not just when the file is a search result. Soon we will be able to eliminate nautilus_file_is_search_result entirely. (nautilus_file_is_in_trash): Fixed several problems here. Don't bother checking for NULL; use _get_uri not _get_activation_uri so the test works at any point in the life of a NautilusFile; free the uri string; initialize trash_dir_uri so we don't try to unref an uninitialized variable in some cases. * libnautilus-extensions/nautilus-icon-factory.h, * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_emblem_icons_for_file): Added parameter for emblem names to exclude when creating icons. * libnautilus-extensions/nautilus-string-list.c: (nautilus_string_list_new_from_string_list), (nautilus_string_list_free), (nautilus_string_list_contains): Made these functions allow NULL, as GList does. (nautilus_self_check_string_list): Added tests of NULL handling. * src/file-manager/fm-directory-view.h: (get_emblem_names_to_exclude): New function pointer for subclasses to override. (fm_directory_view_get_emblem_names_to_exclude): New function for subclasses to call. * src/file-manager/fm-directory-view.c: (real_get_emblem_names_to_exclude): New function, returns list containing NAUTILUS_FILE_EMBLEM_NAME_TRASH, so directory views by default don't show the trash emblem. (fm_directory_view_initialize_class): Wire up get_emblem_names_to_exclude. (fm_directory_view_get_emblem_names_to_exclude): New function, returns result of possibly overridden function pointer. * src/file-manager/fm-icon-view.c: (get_icon_images_callback): Use fm_directory_view_get_emblem_names_to_exclude when getting emblems for each icon. * src/file-manager/fm-list-view.c: (fm_list_view_get_emblem_pixbufs_for_file): Use fm_directory_view_get_emblem_names_to_exclude when getting emblems for each icon. * src/file-manager/fm-search-list-view.c: (fm_search_list_view_initialize_class): Override get_emblem_names_to_exclude with our real_get_emblem_names_to_exclude. (real_get_emblem_names_to_exclude): New function, returns NULL, so all emblems including the trash emblem will be displayed. * src/nautilus-sidebar-title.c: (update_emblems): Pass NULL for emblems-to-exclude when getting emblems for sidebar.
2000-08-11 20:19:34 +00:00
/* Emblems sometimes displayed for NautilusFiles. Do not localize. */
#define NAUTILUS_FILE_EMBLEM_NAME_SYMBOLIC_LINK "symbolic-link"
#define NAUTILUS_FILE_EMBLEM_NAME_CANT_READ "noread"
#define NAUTILUS_FILE_EMBLEM_NAME_CANT_WRITE "nowrite"
#define NAUTILUS_FILE_EMBLEM_NAME_TRASH "trash"
typedef void (*NautilusFileCallback) (NautilusFile *file,
gpointer callback_data);
typedef void (*NautilusFileOperationCallback) (NautilusFile *file,
GnomeVFSResult result,
gpointer callback_data);
typedef int (*NautilusWidthMeasureCallback) (const char *string,
void *context);
typedef char * (*NautilusTruncateCallback) (const char *string,
int width,
void *context);
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
/* GtkObject requirements. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
GtkType nautilus_file_get_type (void);
/* Getting at a single file. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
NautilusFile * nautilus_file_get (const char *uri);
/* Covers for gtk_object_ref and gtk_object_unref that provide two conveniences:
* 1) You don't have to cast to GtkObject *, so using these is type safe.
* 2) You are allowed to call these with NULL,
*/
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
NautilusFile * nautilus_file_ref (NautilusFile *file);
void nautilus_file_unref (NautilusFile *file);
/* Monitor the file. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
void nautilus_file_monitor_add (NautilusFile *file,
gconstpointer client,
GList *attributes);
void nautilus_file_monitor_remove (NautilusFile *file,
gconstpointer client);
/* Waiting for data that's read asynchronously.
* This interface currently works only for metadata, but could be expanded
* to other attributes as well.
*/
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
void nautilus_file_call_when_ready (NautilusFile *file,
GList *attributes,
NautilusFileCallback callback,
gpointer callback_data);
void nautilus_file_cancel_call_when_ready (NautilusFile *file,
NautilusFileCallback callback,
gpointer callback_data);
gboolean nautilus_file_check_if_ready (NautilusFile *file,
GList *attributes);
void nautilus_file_invalidate_attributes (NautilusFile *file,
GList *attributes);
void nautilus_file_invalidate_all_attributes (NautilusFile *file);
You can now use Set Properties to attach keywords to a file, which will cause it to have emblems attached to its icon. * libnautilus/gnome-icon-container.h, libnautilus/gnome-icon-container.c (gnome_icon_container_update, gnome_icon_container_update_icon), libnautilus/nautilus-directory-private.h, libnautilus/nautilus-directory.c (nautilus_directory_files_changed), libnautilus/nautilus-file.h, libnautilus/nautilus-file.c (nautilus_file_changed), src/file-manager/fm-directory-view.h, src/file-manager/fm-directory-view.c, src/file-manager/fm-directory-view-icons.c, src/file-manager/fm-directory-view-list.c,: Add files_changed machinery in so views will notice changes to a NautilusFile. * libnautilus/nautilus-icon-factory.h, libnautilus/nautilus-icon-factory.c (nautilus_icon_factory_get_thumbnail_uri, nautilus_icon_factor_get_icon_for_file, check_for_thumbnails), libnautilus/nautilus-icons-controller.h, libnautilus/nautilus-icons-controller.c, (nautilus_icons_controller_update_icon), src/file-manager/fm-icons-controller.c (fm_icons_controller_update_icon): Use the files_changed machinery instead of a special case in the icon controller to tell the view about a new thumbnail. * libnautilus/nautilus-icons-view-icon-item.c (emblem_layout_next): Fixed typo that caused emblems to go down one side of the icon instead of going around. * libnautilus/nautilus-directory-private.h, libnautilus/nautilus-directory.c (nautilus_directory_get_file_metadata_node, nautilus_directory_request_write_metafile), libnautilus/nautilus-file.c (nautilus_file_set_keywords): Implemented the set_keywords operation so we can change the keywords for a file. * src/file-manager/fm-icon-text-window.c (create_icon_text_window): Fixed a prototype. * src/file-manager/fm-properties-window.c (property_button_update, property_button_toggled, create_properties_window, fm_properties_window_get_or_create): Implement a first cut at a properties window.
2000-03-09 02:38:16 +00:00
/* Basic attributes for file objects. */
gboolean nautilus_file_contains_text (NautilusFile *file);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
char * nautilus_file_get_name (NautilusFile *file);
char * nautilus_file_get_uri (NautilusFile *file);
char * nautilus_file_get_uri_scheme (NautilusFile *file);
char * nautilus_file_get_parent_uri (NautilusFile *file);
char * nautilus_file_get_parent_uri_for_display (NautilusFile *file);
GnomeVFSFileSize nautilus_file_get_size (NautilusFile *file);
GnomeVFSFileType nautilus_file_get_file_type (NautilusFile *file);
char * nautilus_file_get_mime_type (NautilusFile *file);
gboolean nautilus_file_is_mime_type (NautilusFile *file,
const char *mime_type);
gboolean nautilus_file_is_symbolic_link (NautilusFile *file);
char * nautilus_file_get_symbolic_link_target_path (NautilusFile *file);
gboolean nautilus_file_is_broken_symbolic_link (NautilusFile *file);
gboolean nautilus_file_is_nautilus_link (NautilusFile *file);
gboolean nautilus_file_is_gmc_url (NautilusFile *file);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_is_executable (NautilusFile *file);
gboolean nautilus_file_is_directory (NautilusFile *file);
gboolean nautilus_file_is_in_trash (NautilusFile *file);
gboolean nautilus_file_is_in_desktop (NautilusFile *file);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
GnomeVFSResult nautilus_file_get_file_info_result (NautilusFile *file);
gboolean nautilus_file_get_directory_item_count (NautilusFile *file,
guint *count,
gboolean *count_unreadable);
void nautilus_file_recompute_deep_counts (NautilusFile *file);
NautilusRequestStatus nautilus_file_get_deep_counts (NautilusFile *file,
guint *directory_count,
guint *file_count,
guint *unreadable_directory_count,
GnomeVFSFileSize *total_size);
gboolean nautilus_file_should_show_directory_item_count (NautilusFile *file);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
GList * nautilus_file_get_keywords (NautilusFile *file);
void nautilus_file_set_keywords (NautilusFile *file,
GList *keywords);
GList * nautilus_file_get_emblem_names (NautilusFile *file);
char * nautilus_file_get_top_left_text (NautilusFile *file);
gboolean nautilus_file_get_directory_item_mime_types (NautilusFile *file,
GList **mime_list);
Finished task 547 (show and set permissions in Properties window). It's kinda geeky as unix permissions like to be. As always, I welcome feedback about this UI. * libnautilus-extensions/nautilus-file.h, * libnautilus-extensions/nautilus-file.c: (nautilus_file_can_get_permissions): New function, checks whether the permissions of a file can be determined. (nautilus_file_can_set_permissions): New function, checks whether the current user is capable of changing the permissions of a file. (nautilus_file_denies_access_permission), (nautilus_file_is_executable): Deploy _can_get_permissions. (nautilus_file_get_permissions): New function, returns permissions for file. (nautilus_file_set_permissions): New function, changes permissions for file. Returns GnomeVFSResult that reports whether change succeeded. * src/file-manager/fm-properties-window.c: (add_prompt), (add_prompt_and_separator), (get_pixmap_and_mask_for_properties_window), (install_value_field), (install_title_value_pair), (create_page_with_vbox), (apply_standard_table_padding), (create_attribute_value_table), (create_page_with_table_in_vbox), (create_emblems_page), (permissions_label_update), (add_permissions_row_label), (add_permissions_column_label), (update_permissions_check_button_state), (permissions_check_button_toggled), (add_permissions_checkbox), (create_permissions_page), (create_more_page): Lots of new code and refactoring to display the permissions UI. * src/file-manager/fm-error-reporting.h, * src/file-manager/fm-error-reporting.c: (fm_report_error_setting_permissions): New function to complain to user if attempt to set permissions fails. The UI won't let the user try to set the permissions if nautilus_file_can_set_permissions returns FALSE, but there can always be oddball failures for other reasons.
2000-05-09 20:04:05 +00:00
/* Permissions. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_can_get_permissions (NautilusFile *file);
gboolean nautilus_file_can_set_permissions (NautilusFile *file);
GnomeVFSFilePermissions nautilus_file_get_permissions (NautilusFile *file);
gboolean nautilus_file_can_get_owner (NautilusFile *file);
gboolean nautilus_file_can_set_owner (NautilusFile *file);
gboolean nautilus_file_can_get_group (NautilusFile *file);
gboolean nautilus_file_can_set_group (NautilusFile *file);
char * nautilus_file_get_owner_name (NautilusFile *file);
char * nautilus_file_get_group_name (NautilusFile *file);
GList * nautilus_get_user_names (void);
GList * nautilus_get_group_names (void);
GList * nautilus_file_get_settable_group_names (NautilusFile *file);
Finished task 876 (owner and group should be changeable in Properties window). The only part I didn't get done was using asynch gnome-vfs calls. I made that part of bug 845. * libnautilus-extensions/nautilus-string.h, * libnautilus-extensions/nautilus-string.c: (nautilus_strcasecmp): New NULL-handling form of strcasecmp. * libnautilus-extensions/nautilus-glib-extensions.h, * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_g_str_list_sort), (nautilus_g_str_list_sort_case_insensitive): New functions to sort a list of strings. (compare_strings), (compare_strings_case_insensitive): New helper routines used by the new _sort calls. * src/nautilus-window-manage-views.c: (nautilus_window_report_selection_change): Use nautilus_g_str_list_sort. * libnautilus-extensions/nautilus-file.h, * libnautilus-extensions/nautilus-file.c: (user_has_real_name): New helper function, returns TRUE if a password-file-entry user has a real name distinguishable from the username. (get_user_name_from_id), (get_user_and_real_name_from_id), (get_group_id_from_group_name), (get_ids_from_user_name), (get_user_id_from_user_name), (get_group_id_from_user_name): New helper functions for converting between user & group names & ids. (get_id_from_digit_string): New helper function for converting between an integer as text and an integer. (nautilus_get_user_names): New public function for getting the list of all user names, with the real name (if distinguishable) thrown in for good measure. (nautilus_get_group_names): New public function for getting the list of all group names. (nautilus_file_can_get_owner), (nautilus_file_get_owner_name), (nautilus_file_can_set_owner), (nautilus_file_set_owner), (nautilus_file_can_get_group), (nautilus_file_get_group_name), (nautilus_file_can_set_group), (nautilus_file_set_group): New public functions for reading and setting the group and owner. The setters define an asynch API though currently they're using non-asynch calls internally. (nautilus_file_get_settable_group_names): New public function returning a list of all group names that the current user can set this file's group to. (group_includes_user), (nautilus_get_group_names_including): New helper functions used by _get_settable_group_names. (nautilus_file_get_owner_as_string): Now optionally includes real name in result. (nautilus_file_get_string_attribute): Changed to call _get_owner_as_string with the real name included. * src/file-manager/fm-error-reporting.h: * src/file-manager/fm-error-reporting.c: (fm_report_error_setting_group), (fm_report_error_setting_owner): Error messages for when our predictions fail for whether a group or owner-setting operation will succeed. * src/file-manager/fm-properties-window.c: (file_name_pair_new), (file_name_pair_free): New helper functions for passing around a file and string together (used in callbacks). (group_change_callback), (activate_group_callback), (create_group_menu_item), (synch_groups_menu), (attach_group_menu), (owner_change_callback), (activate_owner_callback), (create_owner_menu_item), (synch_user_menu), (attach_owner_menu): New functions for setting up widgets for display and control of owner and group. (add_special_execution_flags): Use attach_title_field instead of add_permissions_row_label. (permissions_label_update), (add_permissions_row_label): Removed these no-longer-needed functions. (add_permissions_column_label): Change row number constants to match new layout. (create_permissions_page): Use static text for owner & group if non-editable, option menu if editable. (get_property_names): Now calls nautilus_g_str_list_sort.
2000-06-27 00:56:08 +00:00
/* "Capabilities". */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_can_read (NautilusFile *file);
gboolean nautilus_file_can_write (NautilusFile *file);
gboolean nautilus_file_can_execute (NautilusFile *file);
gboolean nautilus_file_can_rename (NautilusFile *file);
Finished task 547 (show and set permissions in Properties window). It's kinda geeky as unix permissions like to be. As always, I welcome feedback about this UI. * libnautilus-extensions/nautilus-file.h, * libnautilus-extensions/nautilus-file.c: (nautilus_file_can_get_permissions): New function, checks whether the permissions of a file can be determined. (nautilus_file_can_set_permissions): New function, checks whether the current user is capable of changing the permissions of a file. (nautilus_file_denies_access_permission), (nautilus_file_is_executable): Deploy _can_get_permissions. (nautilus_file_get_permissions): New function, returns permissions for file. (nautilus_file_set_permissions): New function, changes permissions for file. Returns GnomeVFSResult that reports whether change succeeded. * src/file-manager/fm-properties-window.c: (add_prompt), (add_prompt_and_separator), (get_pixmap_and_mask_for_properties_window), (install_value_field), (install_title_value_pair), (create_page_with_vbox), (apply_standard_table_padding), (create_attribute_value_table), (create_page_with_table_in_vbox), (create_emblems_page), (permissions_label_update), (add_permissions_row_label), (add_permissions_column_label), (update_permissions_check_button_state), (permissions_check_button_toggled), (add_permissions_checkbox), (create_permissions_page), (create_more_page): Lots of new code and refactoring to display the permissions UI. * src/file-manager/fm-error-reporting.h, * src/file-manager/fm-error-reporting.c: (fm_report_error_setting_permissions): New function to complain to user if attempt to set permissions fails. The UI won't let the user try to set the permissions if nautilus_file_can_set_permissions returns FALSE, but there can always be oddball failures for other reasons.
2000-05-09 20:04:05 +00:00
/* Basic operations for file objects. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
void nautilus_file_set_owner (NautilusFile *file,
const char *user_name_or_id,
NautilusFileOperationCallback callback,
gpointer callback_data);
void nautilus_file_set_group (NautilusFile *file,
const char *group_name_or_id,
NautilusFileOperationCallback callback,
gpointer callback_data);
void nautilus_file_set_permissions (NautilusFile *file,
GnomeVFSFilePermissions permissions,
NautilusFileOperationCallback callback,
gpointer callback_data);
void nautilus_file_rename (NautilusFile *file,
const char *new_name,
NautilusFileOperationCallback callback,
gpointer callback_data);
void nautilus_file_cancel (NautilusFile *file,
NautilusFileOperationCallback callback,
gpointer callback_data);
/* Return true if this file has already been deleted.
* This object will be unref'd after sending the files_removed signal,
* but it could hang around longer if someone ref'd it.
*/
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_is_gone (NautilusFile *file);
/* Return true if this file is not confirmed to have ever really
* existed. This is true when the NautilusFile object has been created, but no I/O
* has yet confirmed the existence of a file by that name.
*/
gboolean nautilus_file_is_not_yet_confirmed (NautilusFile *file);
/* Simple getting and setting top-level metadata. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
char * nautilus_file_get_metadata (NautilusFile *file,
const char *key,
const char *default_metadata);
GList * nautilus_file_get_metadata_list (NautilusFile *file,
const char *list_key,
const char *list_subkey);
void nautilus_file_set_metadata (NautilusFile *file,
const char *key,
const char *default_metadata,
const char *metadata);
void nautilus_file_set_metadata_list (NautilusFile *file,
const char *list_key,
const char *list_subkey,
GList *list);
Bye bye to directory metadata. (set_metadata_string_in_metafile): don't * libnautilus-extensions/nautilus-directory-metafile.h, libnautilus-extensions/nautilus-directory-metafile.c (nautilus_directory_get_metadata, nautilus_directory_set_metadata, nautilus_directory_get_metadata_list, nautilus_directory_set_metadata_list, nautilus_directory_get_boolean_metadata, nautilus_directory_set_boolean_metadata, nautilus_directory_get_integer_metadata, nautilus_directory_set_integer__metadata): Bye bye to directory metadata. (set_metadata_string_in_metafile): don't worry about the directory metadata case any more. (nautilus_directory_get_boolean_file_metadata, nautilus_directory_set_boolean_file_metadata, nautilus_directory_get_integer_file_metadata, nautilus_directory_set_integer_file_metadata): Helper functions for implementing NautilusFile metadata convenience wrappers. * libnautilus-extensions/nautilus-file.h, libnautilus-extensions/nautilus-file.c: (nautilus_file_get_boolean_metadata, nautilus_file_get_integer_metadata, nautilus_file_set_boolean_metadata, nautilus_file_set_integer_metadata): Convenience wrappers for boolean or integer file metadata. * libnautilus-extensions/nautilus-directory.h, libnautilus-extensions/nautilus-directory.c (nautilus_directory_initialize_class, nautilus_directory_emit_metadata_changed): removed "metadata_changed" signal. (got_metadata_callback): Don't assert the file list is NULL. (nautilus_self_check_directory): Use file metadata API. * libnautilus-extensions/nautilus-metadata.h: No more per-directory metadata, it's all per file now. * libnautilus-extensions/nautilus-directory-background.h, libnautilus-extensions/nautilus-directory-background.c (nautilus_file_background_set_desktop, nautilus_file_background_is_desktop, nautilus_file_background_peek_theme_source, nautilus_file_background_get_default_settings, nautilus_file_background_read_desktop_settings, nautilus_file_background_write_desktop_settings, nautilus_file_background_write_desktop_default_settings, call_settings_changed, nautilus_file_background_event_filter, desktop_background_destroyed_callback, nautilus_file_background_receive_root_window_changes, nautilus_file_update_root_window, nautilus_file_background_is_set, background_changed_callback, saved_settings_changed_callback, nautilus_file_background_theme_changed, background_reset_callback, background_destroyed_callback, nautilus_connect_background_to_file_metadata, nautilus_connect_desktop_background_to_file_metadata, nautilus_connect_background_to_file_metadata_by_uri): Work off of file metadata, not directory metadata, and thus take a NautilusFile not a NautilusDirectory. * libnautilus-extensions/nautilus-mime-actions.c: (nautilus_file_wait_for_metadata, nautilus_mime_get_default_action_type_for_uri, nautilus_mime_get_default_application_for_uri_internal, nautilus_mime_get_default_component_for_uri_internal, nautilus_mime_get_short_list_applications_for_uri, nautilus_mime_get_short_list_components_for_uri, nautilus_mime_get_all_applications_for_uri, nautilus_mime_get_all_components_for_uri, nautilus_mime_set_default_action_type_for_uri, nautilus_mime_set_default_application_for_uri, nautilus_mime_set_default_component_for_uri, nautilus_mime_set_short_list_applications_for_uri, nautilus_mime_set_short_list_components_for_uri, nautilus_mime_extend_all_applications_for_uri, nautilus_mime_remove_from_all_applications_for_uri, get_explicit_content_view_iids_from_metafile): Use file metadata, not directory metadata. * src/file-manager/fm-directory-view.h, src/file-manager/fm-directory-view.c (fm_directory_view_get_directory_as_file): Function to access the NautilusFile we now keep around that represents the directory itself. (fm_directory_view_initialize_class, files_have_any_custom_images, compute_menu_item_info, fm_directory_view_activate_file, fm_directory_view_load_uri, metadata_ready_callback, disconnect_model_handlers, fm_directory_view_real_is_read_only, showing_trash_directory): Use file metadata, not directory metadata, and use the new `directory_as_file' field where appropriate. (finish_loading_uri): Monitor more files attributes (the ones needed to get an icon, plus ones we might actually display in a directory view. * src/file-manager/fm-desktop-icon-view.c (fm_desktop_icon_view_create_background_context_menu_items): Use file metadata not directory metadata. * src/file-manager/fm-icon-view.h, src/file-manager/fm-icon-view.c: (set_sort_criterion, tighter_layout_callback, fm_icon_view_get_directory_sort_by, fm_icon_view_real_get_directory_sort_by, fm_icon_view_set_directory_sort_by, fm_icon_view_real_set_directory_sort_by, fm_icon_view_get_directory_sort_reversed, fm_icon_view_real_get_directory_sort_reversed, fm_icon_view_set_directory_sort_reversed, fm_icon_view_real_set_directory_sort_reversed, fm_icon_view_get_directory_auto_layout, fm_icon_view_real_get_directory_auto_layout, fm_icon_view_set_directory_auto_layout, fm_icon_view_real_set_directory_auto_layout, fm_icon_view_get_directory_tighter_layout, fm_icon_view_real_get_directory_tighter_layout, fm_icon_view_set_directory_tighter_layout, fm_icon_view_real_set_directory_tighter_layout, set_sort_reversed, fm_icon_view_begin_loading, fm_icon_view_set_zoom_level, sort_direction_callback, layout_changed_callback, icon_container_preview_callback, icon_position_changed_callback): Use file metadata not directory metadata. * src/file-manager/fm-list-view.c: (fm_list_view_begin_loading, fm_list_view_set_zoom_level, fm_list_view_sort_items): Use file metadata not directory metadata. * src/file-manager/fm-search-list-view.c (real_adding_file): Tweak the code that monitors file attributes. * components/music/nautilus-music-view.c (nautilus_music_view_update_from_uri): Use the new nautilus_file_background API.
2000-10-12 16:16:15 +00:00
/* Covers for common data types. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_get_boolean_metadata (NautilusFile *file,
const char *key,
gboolean default_metadata);
void nautilus_file_set_boolean_metadata (NautilusFile *file,
const char *key,
gboolean default_metadata,
gboolean metadata);
int nautilus_file_get_integer_metadata (NautilusFile *file,
const char *key,
int default_metadata);
void nautilus_file_set_integer_metadata (NautilusFile *file,
const char *key,
int default_metadata,
int metadata);
Bye bye to directory metadata. (set_metadata_string_in_metafile): don't * libnautilus-extensions/nautilus-directory-metafile.h, libnautilus-extensions/nautilus-directory-metafile.c (nautilus_directory_get_metadata, nautilus_directory_set_metadata, nautilus_directory_get_metadata_list, nautilus_directory_set_metadata_list, nautilus_directory_get_boolean_metadata, nautilus_directory_set_boolean_metadata, nautilus_directory_get_integer_metadata, nautilus_directory_set_integer__metadata): Bye bye to directory metadata. (set_metadata_string_in_metafile): don't worry about the directory metadata case any more. (nautilus_directory_get_boolean_file_metadata, nautilus_directory_set_boolean_file_metadata, nautilus_directory_get_integer_file_metadata, nautilus_directory_set_integer_file_metadata): Helper functions for implementing NautilusFile metadata convenience wrappers. * libnautilus-extensions/nautilus-file.h, libnautilus-extensions/nautilus-file.c: (nautilus_file_get_boolean_metadata, nautilus_file_get_integer_metadata, nautilus_file_set_boolean_metadata, nautilus_file_set_integer_metadata): Convenience wrappers for boolean or integer file metadata. * libnautilus-extensions/nautilus-directory.h, libnautilus-extensions/nautilus-directory.c (nautilus_directory_initialize_class, nautilus_directory_emit_metadata_changed): removed "metadata_changed" signal. (got_metadata_callback): Don't assert the file list is NULL. (nautilus_self_check_directory): Use file metadata API. * libnautilus-extensions/nautilus-metadata.h: No more per-directory metadata, it's all per file now. * libnautilus-extensions/nautilus-directory-background.h, libnautilus-extensions/nautilus-directory-background.c (nautilus_file_background_set_desktop, nautilus_file_background_is_desktop, nautilus_file_background_peek_theme_source, nautilus_file_background_get_default_settings, nautilus_file_background_read_desktop_settings, nautilus_file_background_write_desktop_settings, nautilus_file_background_write_desktop_default_settings, call_settings_changed, nautilus_file_background_event_filter, desktop_background_destroyed_callback, nautilus_file_background_receive_root_window_changes, nautilus_file_update_root_window, nautilus_file_background_is_set, background_changed_callback, saved_settings_changed_callback, nautilus_file_background_theme_changed, background_reset_callback, background_destroyed_callback, nautilus_connect_background_to_file_metadata, nautilus_connect_desktop_background_to_file_metadata, nautilus_connect_background_to_file_metadata_by_uri): Work off of file metadata, not directory metadata, and thus take a NautilusFile not a NautilusDirectory. * libnautilus-extensions/nautilus-mime-actions.c: (nautilus_file_wait_for_metadata, nautilus_mime_get_default_action_type_for_uri, nautilus_mime_get_default_application_for_uri_internal, nautilus_mime_get_default_component_for_uri_internal, nautilus_mime_get_short_list_applications_for_uri, nautilus_mime_get_short_list_components_for_uri, nautilus_mime_get_all_applications_for_uri, nautilus_mime_get_all_components_for_uri, nautilus_mime_set_default_action_type_for_uri, nautilus_mime_set_default_application_for_uri, nautilus_mime_set_default_component_for_uri, nautilus_mime_set_short_list_applications_for_uri, nautilus_mime_set_short_list_components_for_uri, nautilus_mime_extend_all_applications_for_uri, nautilus_mime_remove_from_all_applications_for_uri, get_explicit_content_view_iids_from_metafile): Use file metadata, not directory metadata. * src/file-manager/fm-directory-view.h, src/file-manager/fm-directory-view.c (fm_directory_view_get_directory_as_file): Function to access the NautilusFile we now keep around that represents the directory itself. (fm_directory_view_initialize_class, files_have_any_custom_images, compute_menu_item_info, fm_directory_view_activate_file, fm_directory_view_load_uri, metadata_ready_callback, disconnect_model_handlers, fm_directory_view_real_is_read_only, showing_trash_directory): Use file metadata, not directory metadata, and use the new `directory_as_file' field where appropriate. (finish_loading_uri): Monitor more files attributes (the ones needed to get an icon, plus ones we might actually display in a directory view. * src/file-manager/fm-desktop-icon-view.c (fm_desktop_icon_view_create_background_context_menu_items): Use file metadata not directory metadata. * src/file-manager/fm-icon-view.h, src/file-manager/fm-icon-view.c: (set_sort_criterion, tighter_layout_callback, fm_icon_view_get_directory_sort_by, fm_icon_view_real_get_directory_sort_by, fm_icon_view_set_directory_sort_by, fm_icon_view_real_set_directory_sort_by, fm_icon_view_get_directory_sort_reversed, fm_icon_view_real_get_directory_sort_reversed, fm_icon_view_set_directory_sort_reversed, fm_icon_view_real_set_directory_sort_reversed, fm_icon_view_get_directory_auto_layout, fm_icon_view_real_get_directory_auto_layout, fm_icon_view_set_directory_auto_layout, fm_icon_view_real_set_directory_auto_layout, fm_icon_view_get_directory_tighter_layout, fm_icon_view_real_get_directory_tighter_layout, fm_icon_view_set_directory_tighter_layout, fm_icon_view_real_set_directory_tighter_layout, set_sort_reversed, fm_icon_view_begin_loading, fm_icon_view_set_zoom_level, sort_direction_callback, layout_changed_callback, icon_container_preview_callback, icon_position_changed_callback): Use file metadata not directory metadata. * src/file-manager/fm-list-view.c: (fm_list_view_begin_loading, fm_list_view_set_zoom_level, fm_list_view_sort_items): Use file metadata not directory metadata. * src/file-manager/fm-search-list-view.c (real_adding_file): Tweak the code that monitors file attributes. * components/music/nautilus-music-view.c (nautilus_music_view_update_from_uri): Use the new nautilus_file_background API.
2000-10-12 16:16:15 +00:00
/* Attributes for file objects as user-displayable strings. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
char * nautilus_file_get_string_attribute (NautilusFile *file,
const char *attribute_name);
char * nautilus_file_get_string_attribute_with_default (NautilusFile *file,
const char *attribute_name);
char * nautilus_file_fit_modified_date_as_string (NautilusFile *file,
int width,
NautilusWidthMeasureCallback measure_callback,
NautilusTruncateCallback truncate_callback,
void *measure_truncate_context);
Some more instructions and cleanup. Removed one gratuitous renaming we * HACKING: Some more instructions and cleanup. * RENAMING: Removed one gratuitous renaming we won't do. * components/html/ntl-web-browser.c: Removed stray "#include <config.h>" that I added by accident. * components/hardware/main.c: (main): * components/help/hyperbola-main.c: (main): * components/html/ntl-web-browser.c: (main): * components/music/main.c: (main): * components/notes/ntl-notes.c: (main): * components/rpmview/main.c: (main): * components/websearch/ntl-web-search.c: (main): * src/file-manager/gnome-desktop.c (main): * src/ntl-main.c (main): Added ifdefs so you don't get warnings when building with localization turned off. Ugly, but needed I think. * components/help/converters/gnome-db2html2/gdb3html.c: (ulink_start_element), (start_element): * components/help/converters/gnome-db2html2/sect-elements.c: (sect_sect_start_element), (sect_sect_end_element), (sect_title_start_element), (sect_xref_start_element), (sect_graphic_start_element), (sect_get_infobox_logo): * components/help/converters/gnome-db2html2/sect-preparse.c: (sect_preparse_sect_start_element), (sect_preparse_title_characters): * components/help/converters/gnome-db2html2/toc-elements.c: (toc_sect_start_element), (toc_title_start_element): * components/help/converters/gnome-info2html2/html.c: (write_node_link_html): * components/help/hyperbola-filefmt.c: (tree_key_compare): * components/help/hyperbola-nav-index.c: (start_element), (end_element), (hyperbola_navigation_index_new): * components/html/ntl-web-browser.c: (browser_submit): Replaced all uses of strcasecmp with g_strcasecmp. Why? Because Michael Meeks said so and that's good enough for me (in this case :-). * components/music/nautilus-music-view.c: (nautilus_music_view_update_from_uri): * libnautilus-extensions/nautilus-file.c: (nautilus_file_get_mime_type_as_string_attribute), (nautilus_file_get_mime_type): * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_regular_file): * src/file-manager/fm-icon-view.c (get_icon_property_callback): * src/ntl-index-panel.c (nautilus_index_panel_update_buttons): * src/ntl-uri-map.c (file_list_to_mime_type_hash_table): Changed get_mime_type to be like all other text functions and return a strdup'd string. John said it was a good idea. * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-directory-async.c: (metafile_read_callback), (metafile_read_some), (set_up_request_by_file_attributes), (nautilus_directory_monitor_add_internal), (directory_list_get_next_position), (directory_load_callback), (ready_callback_call), (nautilus_directory_call_when_ready_internal), (wants_directory_count), (has_problem), (ready_callback_is_satisfied), (is_anyone_monitoring_file_list), (is_anyone_waiting_for_metafile), (is_wanted), (select_needy_file), (start_getting_directory_counts): Reorganize to get ready for adding code to read the top left text. * libnautilus-extensions/nautilus-file-attributes.h: Added name for the "top left text" attribute. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_get_top_left_text): Added call to get the top left text. * libnautilus-extensions/nautilus-icon-canvas-item.c: (draw_embedded_text): Tiny format tweak. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_update_icon): Tiny format tweak. * libnautilus-extensions/nautilus-icon-factory.h: * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_pixbuf_for_file), (nautilus_icon_factory_get_pixmap_and_mask_for_file), (nautilus_icon_factory_embed_text), (nautilus_icon_factory_embed_file_text): Added support for embedded text. Not completely deployed yet.
2000-05-04 15:46:22 +00:00
/* Matching with another URI. */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_matches_uri (NautilusFile *file,
const char *uri);
/* Is the file local? */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_is_local (NautilusFile *file);
/* Comparing two file objects for sorting */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
int nautilus_file_compare_for_sort (NautilusFile *file_1,
NautilusFile *file_2,
reviewed by: Darin Adler <darin@eazel.com> Fixed bug 1853 (Want preference for always sorting folders first) For now, this is a global preference. Making it per-window later is a possibility. Arlo is working on a design for directory view defaults that may incorporate this. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_compare_for_sort_reversed): Eliminated this in favor of a parameter to nautilus_file_compare_for_sort. (nautilus_file_compare_for_sort): Add a parameter for reversed, and another for directories_first. (nautilus_file_compare_for_sort_internal): Former guts of nautilus_file_compare_for_sort moved here. (nautilus_self_check_file): Update compare_for_sort self-checks. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_descriptions), (global_preferences_install_defaults), (global_preferences_install_visibility), (global_preferences_create_dialog): Install an "Always list folders before files" preference in the Icon and List Views section. * src/file-manager/fm-directory-view.h: (sort_directories_first_changed): New function pointer for subclasses to override. * src/file-manager/fm-directory-view.c: (fm_directory_view_should_sort_directories_first): New function for subclasses to call. (sort_directories_first_changed_callback): Call virtual function when preference changes. (fm_directory_view_initialize): Store initial value of preference; install preference callback. (fm_directory_view_destroy): Remove preference callback. * src/file-manager/fm-desktop-icon-view.c: (desktop_icons_compare_callback): Respect preference setting. * src/file-manager/fm-icon-view.c: (icon_container_compare_icons_callback): Update to respect directories_first setting. (icon_container_compare_icons_by_name_callback): Update for API change only. (fm_icon_view_sort_directories_first_changed): Override virtual function; re-sort icon container if in auto-layout mode. (fm_icon_view_initialize_class): Install virtual function override. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class): Install virtual function override. (list_view_compare_files_for_sort): New function, broken out of fm_list_view_compare_rows, and changed to respect directories_first setting. (fm_list_view_compare_rows): Break out list_view_compare_files_for_sort. (compare_rows_by_name): Update for API change only. (real_sort_directories_first_changed): Override virtual function; re-sort list. (fm_list_view_display_pending_files): Update code that sorts pending items before adding them to list. (fm_list_view_sort_items): Add comment.
2001-03-22 18:08:33 +00:00
NautilusFileSortType sort_type,
gboolean directories_first,
gboolean reversed);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
int nautilus_file_compare_name (NautilusFile *file_1,
const char *pattern);
Expand margins around expander by 3 pixels on each side to make it easier * libnautilus-extensions/nautilus-ctree.c (ctree_is_hot_spot): Expand margins around expander by 3 pixels on each side to make it easier to click the disclosure triangle (triangle will prelight when within range), to fix bug 4479 Fix bugs 4497 (Add configuration option to show only folders in tree view) and 2419 (Tree view should track "show hidden files" preference): * components/tree/nautilus-tree-view.c: (nautilus_tree_view_should_skip_file, nautilus_tree_view_insert_model_node, nautilus_tree_view_remove_model_node, nautilus_tree_view_update_model_node): Handle possibly filtering out hidden files, backup files or non-directories. (filtering_changed_callback, nautilus_tree_view_initialize): Initialize from and watch filtering preferences, reload whole tree when prefs change. (nautilus_tree_view_destroy): Stop watching filtering prefs. (reload_model_node, reload_whole_tree, expand_node_for_file, nautilus_tree_view_receive_dropped_icons): Update code for reloading the tree on expand/collapse etc. * components/tree/nautilus-tree-model.c (nautilus_tree_model_directory_files_added_callback): Check if we already have a node for each file before trying to create a new one. This was needed because otherwise chaning the preference settins mentioned above would result in crashes. * libnautilus-extensions/nautilus-file.h, libnautilus-extensions/nautilus-file.c: (nautilus_file_is_hidden_file, nautilus_file_is_backup_file, nautilus_file_should_show, filter_hidden_and_backup_partition_callback, nautilus_file_list_filter_hidden_and_backup): Move hidden file and backup file filtering logic here from fm-directory-view.c. * src/file-manager/fm-directory-view.c (queue_pending_files): Use `nautilus_file_list_filter_hidden_and_backup' to do filtering. * libnautilus-extensions/nautilus-global-preferences.h, libnautilus-extensions/nautilus-global-preferences.c (global_preferences_create_dialog, global_preferences_register): Add a new preference for showing only directories in the tree view. * libnautilus-extensions/nautilus-preferences-dialog.c: Make preferences dialog a bit bigger to accomodate the new setting.
2000-11-13 13:18:43 +00:00
/* filtering functions for use by various directory views */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_is_hidden_file (NautilusFile *file);
gboolean nautilus_file_is_backup_file (NautilusFile *file);
reviewed by: Darin Adler <darin@eazel.com> reviewed by: Darin Adler <darin@eazel.com> * libnautilus-extensions/nautilus-directory-async.c: (is_anyone_waiting_for_metafile), (call_ready_callbacks), (start_or_stop_io), (nautilus_directory_cancel): * libnautilus-extensions/nautilus-directory-metafile-monitor.c: (corba_metafile_ready): * libnautilus-extensions/nautilus-directory-metafile.c: (get_metafile), (nautilus_directory_rename_file_metadata), (nautilus_directory_rename_directory_metadata): * libnautilus-extensions/nautilus-directory-metafile.h: * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_initialize), (nautilus_directory_destroy), (set_directory_uri), (change_directory_uri), (nautilus_self_check_directory): * libnautilus-extensions/nautilus-directory.h: * libnautilus-extensions/nautilus-file-utilities.c: (nautilus_file_name_matches_backup_pattern), (nautilus_file_name_matches_metafile_pattern): * libnautilus-extensions/nautilus-file-utilities.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_is_metafile): * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-metafile-factory.c: (corba_open): * libnautilus-extensions/nautilus-metafile-server.idl: * libnautilus-extensions/nautilus-metafile.c: (nautilus_metafile_class_init), (nautilus_metafile_init), (destroy), (construct_private_metafile_vfs_uri), (nautilus_metafile_set_directory_uri), (nautilus_metafile_new), (nautilus_metafile_get), (schedule_next_read), (async_read_start), (async_read_done), (async_read_cancel), (corba_is_read), (corba_get), (corba_get_list), (corba_set), (corba_set_list), (corba_copy), (corba_remove), (corba_rename), (corba_rename_directory), (corba_register_monitor), (corba_unregister_monitor), (nautilus_metafile_notify_metafile_ready), (call_metafile_changed), (call_metafile_changed_for_all_files_mentioned_in_metafile), (call_metafile_changed_for_one_file), (create_metafile_root), (get_file_node), (get_metadata_string_from_metafile), (get_metadata_list_from_metafile), (set_metadata_string_in_metafile), (set_metadata_list_in_metafile), (set_metadata_in_metafile), (get_metadata_string_from_table), (get_metadata_list_from_table), (set_metadata_eat_value), (metafile_free_metadata), (get_file_metadata), (get_file_metadata_list), (set_file_metadata), (set_file_metadata_list), (metafile_get_file_uri), (rename_file_metadata), (apply_one_change), (apply_file_changes), (nautilus_metafile_apply_pending_changes), (copy_file_metadata), (remove_file_metadata), (nautilus_metafile_set_metafile_contents), (metafile_read_cancel), (can_use_public_metafile), (metafile_read_mark_done), (metafile_read_done), (metafile_read_try_public_metafile), (metafile_read_check_for_directory_callback), (metafile_read_check_for_directory), (metafile_read_failed), (metafile_read_done_callback), (metafile_read_restart), (allow_metafile), (metafile_read_start), (metafile_write_done), (metafile_write_failed), (metafile_write_failure_close_callback), (metafile_write_success_close_callback), (metafile_write_callback), (metafile_write_create_callback), (metafile_write_start), (metafile_write), (metafile_write_idle_callback), (directory_request_write_metafile): * libnautilus-extensions/nautilus-metafile.h: * libnautilus-extensions/nautilus-vfs-directory.c: (vfs_is_not_empty): Factored the metadata reading/writing code out of nautilus-directory - bug 6661.
2001-03-26 23:42:55 +00:00
gboolean nautilus_file_is_metafile (NautilusFile *file);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
gboolean nautilus_file_should_show (NautilusFile *file,
gboolean show_hidden,
gboolean show_backup);
GList *nautilus_file_list_filter_hidden_and_backup (GList *files,
gboolean show_hidden,
gboolean show_backup);
Expand margins around expander by 3 pixels on each side to make it easier * libnautilus-extensions/nautilus-ctree.c (ctree_is_hot_spot): Expand margins around expander by 3 pixels on each side to make it easier to click the disclosure triangle (triangle will prelight when within range), to fix bug 4479 Fix bugs 4497 (Add configuration option to show only folders in tree view) and 2419 (Tree view should track "show hidden files" preference): * components/tree/nautilus-tree-view.c: (nautilus_tree_view_should_skip_file, nautilus_tree_view_insert_model_node, nautilus_tree_view_remove_model_node, nautilus_tree_view_update_model_node): Handle possibly filtering out hidden files, backup files or non-directories. (filtering_changed_callback, nautilus_tree_view_initialize): Initialize from and watch filtering preferences, reload whole tree when prefs change. (nautilus_tree_view_destroy): Stop watching filtering prefs. (reload_model_node, reload_whole_tree, expand_node_for_file, nautilus_tree_view_receive_dropped_icons): Update code for reloading the tree on expand/collapse etc. * components/tree/nautilus-tree-model.c (nautilus_tree_model_directory_files_added_callback): Check if we already have a node for each file before trying to create a new one. This was needed because otherwise chaning the preference settins mentioned above would result in crashes. * libnautilus-extensions/nautilus-file.h, libnautilus-extensions/nautilus-file.c: (nautilus_file_is_hidden_file, nautilus_file_is_backup_file, nautilus_file_should_show, filter_hidden_and_backup_partition_callback, nautilus_file_list_filter_hidden_and_backup): Move hidden file and backup file filtering logic here from fm-directory-view.c. * src/file-manager/fm-directory-view.c (queue_pending_files): Use `nautilus_file_list_filter_hidden_and_backup' to do filtering. * libnautilus-extensions/nautilus-global-preferences.h, libnautilus-extensions/nautilus-global-preferences.c (global_preferences_create_dialog, global_preferences_register): Add a new preference for showing only directories in the tree view. * libnautilus-extensions/nautilus-preferences-dialog.c: Make preferences dialog a bit bigger to accomodate the new setting.
2000-11-13 13:18:43 +00:00
No parameters is indicated by "(void)" instead of "()". * components/help/help-method.c: (help_uri_new): No parameters is indicated by "(void)" instead of "()". (help_uri_to_string): Changed to share more code (I think I might have fixed a leak too). (init_help_module): No parameters is indicated by "(void)" instead of "()". Also fixed a bug where the wrong lock is unlocked. (convert_file_to_uri): Use g_strcasecmp instead of strcmp since we are checking MIME types. (transform_file), (transform_absolute_file), (file_from_path), (find_help_file), (transform_relative_file): Merged these so they share a lot of common code. * components/services/vault/command-line/vault-operations.c: (vault_list): Fixed a g_strconcat that was missing a trailing NULL. * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-file-attributes.h: * libnautilus-extensions/nautilus-directory-async.c: (cancel_top_left_read), (top_left_read_done), (top_left_read_callback), (top_left_read_more_callback), (start_getting_top_lefts), Changed top_left code to use nautilus_read_file calls. (cancel_metafile_read), Changed to reflect name changes in nautilus_read_file calls. (cancel_get_activation_uri), (nautilus_directory_cancel), (set_up_request_by_file_attributes), (nautilus_async_destroying_file), (lacks_activation_uri), (wants_activation_uri), (request_is_satisfied), (activation_uri_found), (activation_uri_nautilus_link_read_callback), (activation_uri_gmc_link_read_callback), (activation_uri_gmc_link_read_more_callback), (start_getting_activation_uris), (nautilus_directory_async_state_changed): Add code to fetch activation URIs for either GMC or Nautilus-style link files. (lacks_top_left): Changed to share common nautilus_file_should_get_top_left_text function so we don't have lots of different code reading the preferences about top-left text. (is_needy): Enhanced and renamed is_wanted so it takes into account files that are and aren't interesting. (start_getting_directory_counts), (deep_count_start): (start_getting_file_info), Change to use is_needy. * libnautilus-extensions/nautilus-directory.h: * libnautilus-extensions/nautilus-directory.c: Tweaked spacing. * libnautilus-extensions/nautilus-file-private.h: Added a self_owned flag so we do better with files that don't have parent directories and the fields to support activation_uri. * libnautilus-extensions/nautilus-file-utilities.h: * libnautilus-extensions/nautilus-file-utilities.c: (read_file_close_callback), (read_file_close), (read_file_succeeded), (read_file_failed), (read_file_read_callback), (read_file_read_chunk), (read_file_open_callback), (nautilus_read_file_async), (nautilus_read_entire_file_async), (nautilus_read_file_cancel): Added a variation of the read file call that takes a function to decide whether to keep reading or not. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_name), (nautilus_file_get), (nautilus_file_get_parent_uri_as_string), (get_file_for_parent_directory), (nautilus_file_rename), (nautilus_file_get_gnome_vfs_uri), (nautilus_file_get_uri), Add code that handles the "self_owned" flag to make files without parents work better. (destroy): Fixed some leaks I noticed. (nautilus_file_get_top_left_text), (nautilus_file_should_get_top_left_text): Added this so that all code can share a single call when deciding whether to get text based on local vs. non-local. (nautilus_file_get_activation_uri): Changed to work with new async. code to fetch this. * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_for_file): Call nautilus_file_should_get_top_left_text. * libnautilus-extensions/nautilus-link.h: * libnautilus-extensions/nautilus-link.c: (nautilus_link_is_link_file_name): Named so it's clear it looks at the file name only. (xml_get_root_property), (nautilus_link_get_root_property): Added these to share a lot of common code. (nautilus_link_get_additional_text): Use the new calls. (make_local_path), (icon_read_done_callback), (nautilus_link_get_image_uri), (nautilus_link_get_link_uri), (nautilus_link_get_display_name): Other cleanup and rewrite. (nautilus_link_get_link_uri_given_file_contents): Add API that can work with the async. I/O version. * libnautilus-extensions/nautilus-stock-dialogs.c: (timed_wait_free), (nautilus_timed_wait_start): Added some asserts. * src/file-manager/fm-directory-view.c: (activate_callback), (fm_directory_view_activate_file): Use call_when_ready and the new async. stuff. * src/file-manager/fm-error-reporting.c: (fm_report_error_setting_group): Added a (low-quality) error message for the case where you aren't alowed to change the group of something. * src/file-manager/fm-icon-view.c: (icon_position_changed_callback): Added missing NULL in a call to g_strconcat. (get_icon_text_callback): Fix storage leak. * src/file-manager/fm-properties-window.c: (activate_owner_callback): Fixed a timed_wait_start/stop mismatch that was causing an assert and other badness when you changed the owner. * src/file-manager/fm-search-list-view.c: (get_attribute_from_column): Added a missing case to prevent a crash, but had to put in a FIXME since the code isn't really working. * src/nautilus-application.c: (nautilus_application_startup): Fixed bug where you wouldn't see error messages on startup. Also improved one of the error messages by adding some blank lines.
2000-07-26 03:07:30 +00:00
/* Get the URI that's used when activating the file.
* Getting this can require reading the contents of the file.
*/
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
char * nautilus_file_get_activation_uri (NautilusFile *file);
Changed to use new call that's for receiving dropped images. * components/music/nautilus-music-view.c: (nautilus_music_view_drag_data_received): * libnautilus-extensions/nautilus-icon-dnd.c: (receive_dropped_tile_image): * src/nautilus-sidebar.c: (receive_dropped_uri_list): Changed to use new call that's for receiving dropped images. * src/nautilus-sidebar.c: (background_settings_changed_callback), (background_appearance_changed_callback), (background_reset_callback), (nautilus_sidebar_update_info): Changed signal handlers to use the normal form instead of connect_object. Changed the reset callback to stop the reset signal from going any further now that there's a default handler for reset. * libnautilus-extensions/nautilus-directory-background.c: (background_reset_callback): Add a call to stop the reset signal from going any further now that there's a default handler for reset. * libnautilus-extensions/nautilus-background.h: * libnautilus-extensions/nautilus-background.c: (nautilus_background_initialize_class), (nautilus_background_receive_dropped_background_image), (nautilus_background_set_tile_image_uri), (nautilus_background_reset), (nautilus_background_real_reset): Made nautilus_background_reset set the color and image to NULL by default instead of doing nothing. Also added a new call to receive a dropped background image and only pay attention to the special "reset" image name there instead of hacking it into _set_tile_image_uri itself. * libnautilus-extensions/nautilus-stock-dialogs.h: * libnautilus-extensions/nautilus-stock-dialogs.c: (find_message_label), (find_message_label_callback), (show_message_box), (show_ok_box), (nautilus_info_dialog), (nautilus_warning_dialog), (nautilus_error_dialog), (clicked_callback), (nautilus_error_dialog_with_details), (nautilus_yes_no_dialog): Change the API for stock dialogs to be a little simpler, getting rid of the separate parented variant. Also added a new dialog for errors that have a second more detailed error message. * libnautilus-extensions/nautilus-program-chooser.c: (nautilus_program_chooser_show_no_choices_message): * libnautilus-extensions/nautilus-program-choosing.c: (nautilus_launch_application_parented): * src/file-manager/fm-error-reporting.c: (fm_report_error_renaming_file), (fm_report_error_setting_group), (fm_report_error_setting_owner), (fm_report_error_setting_permissions): * src/nautilus-property-browser.c: (emblem_image_file_changed), (add_background_to_browser): * src/nautilus-window-manage-views.c: (handle_unreadable_location), (nautilus_window_end_location_change_callback), (report_content_view_failure_to_user): * src/nautilus-window-menus.c: (show_bogus_bookmark_window): Change to use new API for stock dialogs. * src/nautilus-application.c: (create_factory), (nautilus_application_initialize), (nautilus_application_check_user_directories), (nautilus_application_startup): Moved OAF registration to application_startup and added some error handling for the case where we have two copies of Nautilus. * libnautilus-extensions/nautilus-file.h: Move get_mapped_uri out of the "good part" of the header and add a FIXME. * components/services/install/lib/.cvsignore: Ignore some new generated files. Maybe some day I can get Eskil to make these himself as he adds new things.
2000-06-28 22:25:22 +00:00
/* Convenience functions for dealing with a list of NautilusFile objects that each have a ref.
* These are just convenient names for functions that work on lists of GtkObject *.
*/
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
GList * nautilus_file_list_ref (GList *file_list);
void nautilus_file_list_unref (GList *file_list);
void nautilus_file_list_free (GList *file_list);
GList * nautilus_file_list_copy (GList *file_list);
reviewed by: Pavel Cisler <pavel@eazel.com> Finished bug 4875 (design for running arbitrary scripts on selected items) There are lots of ways this could be improved, but I've finished the first pass at this feature. We'll need to get feedback before deciding how to improve it later. Please play with it -- hopefully it is self-explanatory. Start by selecting Scripts > Open Scripts Folder. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (compare_by_name_cover): Simple cover for compare_by_name that casts parameters. (nautilus_file_list_sort_by_name): New public function. * src/file-manager/nautilus-directory-view-ui.xml: Added name to separators before "Open Scripts Folder" so they can be referred to in code (shown/hidden) * src/file-manager/fm-directory-view.c: (get_scripts_directory): Create Scripts directory if it doesn't exist; mark name of scripts directory for localization. (add_numbered_menu_item): Add pixbuf parameter. (add_application_to_bonobo_menu), (add_component_to_bonobo_menu): pass NULL for pixbuf (get_file_names_as_parameter_string): Changed name from get_selected_file_names..., now takes file list as parameter. (get_file_paths_or_uris_as_newline_delimited_string): New function. (get_file_paths_as_newline_delimited_string), (get_file_uris_as_newline_delimited_string): New functions, simple covers for get_file_paths_or_uris... (set_script_environment_variables): New function, sets some environment variables up so scripts can use them. (unset_script_environment_variables): New function, unsets those same environment variables. (run_script_callback): set/unset environment variables around calling script. (add_script_to_menus): add pixbufs for files (reset_scripts_menu): sort scripts by name; hide separator after scripts if there are no scripts (notify_user_if_no_scripts_callback): Explain script behavior and special environment variables in Details part of dialog. (call_when_ready_on_scripts_directory): include attributes required to get icon for file. (open_scripts_folder_callback): Change error message for unexpected case where scripts folder is nonexistent.
2001-03-20 18:47:52 +00:00
GList * nautilus_file_list_sort_by_name (GList *file_list);
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
/* Debugging */
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
void nautilus_file_dump (NautilusFile *file);
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
typedef struct NautilusFileDetails NautilusFileDetails;
struct NautilusFile {
GtkObject parent_slot;
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
NautilusFileDetails *details;
};
reviewed by: John Sullivan <sullivan@eazel.com> Fixed bug 2147 (NautilusFile for trash needs non-empty values for more properties), bug 5652 (MIME type field appears but shouldn't in properties window for Trash), and bug 4620 (trash sidebar should show number of items). * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_relative_uri): Create trash file subclass when appropriate. (nautilus_file_info_missing): Rename so it can be used in other source files. (nautilus_file_get_date): New method that returns numeric dates. (nautilus_file_get_date_as_string): Change to call nautilus_file_get_date to get the numeric date. (nautilus_file_get_file_type): Turn into a method. * libnautilus-extensions/nautilus-merged-directory.h: * libnautilus-extensions/nautilus-merged-directory.c: (merged_call_when_ready): Rolled in the old merged_callback_connect_directory function. (merged_contains_file): Moved down to a more appropriate part of the source file. (nautilus_merged_directory_get_real_directories): New public function for use by trash. * libnautilus-extensions/nautilus-trash-file.c: (trash_callback_hash), (trash_callback_equal), (trash_callback_destroy), (trash_callback_check_done), (trash_callback_remove_file), (ready_callback), (real_file_changed_callback), (monitor_add_file), (add_real_file), (trash_callback_remove_file_cover), (monitor_remove_file), (remove_real_file), (add_real_file_given_directory), (add_directory_callback), (remove_directory_callback), (trash_file_call_when_ready), (trash_file_cancel_call_when_ready), (trash_file_check_if_ready), (trash_file_monitor_add), (trash_file_monitor_remove), (trash_file_get_file_type), (trash_file_get_item_count), (trash_file_get_deep_counts), (trash_file_get_date), (remove_all_real_files), (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): New code. First implementation of getting some attributes for the merged trash. Gets list of directories from the NautilusTrashDirectory object. The code in here is similar to the NautilusMergedDirectory class and at some point perhaps we can make the two share more. * libnautilus-extensions/nautilus-vfs-file.c: (vfs_file_get_file_type), (vfs_file_get_date), (nautilus_vfs_file_initialize_class): Implement the two new methods for the standard vfs case. Fixed various things that affect the properties window for the trash that showed up while I was testing the above work: * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_regular_file), (nautilus_icon_factory_get_icon_name_for_file): Move trash special case out so it doesn't matter what type the trash seems to be. The old code relied on trash not being a directory. * src/file-manager/fm-properties-window.c: (create_properties_window), (create_properties_window_callback), (cancel_create_properties_window_callback), (directory_view_destroyed_callback), (remove_pending_file): Rework code to fix problems where the timed wait or the signal handler wasn't properly cleaned up. Fixed remaining bit of bug 5631 (Tear-offs of right-click menus don't work.): * src/file-manager/nautilus-desktop-icon-view-ui.xml: Mark Disks right-click submenu so it won't get a tear-off item. Fixed bug 5650 (nautilus --quit fails to return to prompt sometimes): * src/nautilus-application.c: (nautilus_application_startup): Add special case so "nautilus --quit" doesn't hang waiting for a response from the (now quit) "server" instance of Nautilus. * src/nautilus-shell-interface.idl: Had to make the quit call no longer be "oneway" to get it to work right, otherwise the quit message could be lost when the sending application exited too fast. Fix bug 5675 (Nitpicks in new "could not be moved to new special location" dialog): * libnautilus-extensions/nautilus-file-operations.c: (handle_transfer_overwrite): Updated message wording as Eli (and Vera) suggest. Other changes: * libnautilus-extensions/nautilus-view-identifier.c: (get_lang_list): Fix comment and a small storage leak in the case where lang_with_locale is non-NULL but empty. * po/POTFILES.ignore: Obsolete file, no longer used. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies): Update comment to help translators understand better. * libnautilus-extensions/nautilus-directory-async.c: (directory_load_callback): Added a new assertion that could help in future gnome-vfs debugging. * libnautilus/nautilus-view-component.idl: Removed long-ago-fixed FIXME comment. * src/nautilus-window-manage-views.c: Tweak spacing.
2001-01-18 19:26:03 +00:00
/* This is actually a "protected" type, but it must be here so we can
* compile the get_date function pointer declaration below.
*/
typedef enum {
NAUTILUS_DATE_TYPE_MODIFIED,
NAUTILUS_DATE_TYPE_CHANGED,
NAUTILUS_DATE_TYPE_ACCESSED,
NAUTILUS_DATE_TYPE_PERMISSIONS_CHANGED
} NautilusDateType;
typedef struct {
GtkObjectClass parent_slot;
Finished task 62 (Set custom icon by drag/drop on index panel) and fixed some problems from my earlier check-ins today. * libnautilus/nautilus-directory.c: (nautilus_directory_monitor_files_ref): Fixed a bad assert from my last check-in. * src/file-manager/fm-list-view.c: (add_to_list): The list view had the same missing ref that I fixed for icon view in my last check-in. * src/nautilus-index-title.c: (release_file), (nautilus_index_title_destroy), (nautilus_index_title_update_icon), (nautilus_index_title_update_label), (nautilus_index_title_update_info), (nautilus_index_title_set_uri): Changed to hold around the NautilusFile object and connect to its "changed" message to update the file information. This causes the icon to get updated right away when the custom icon is changed. * libnautilus/nautilus-directory-private.h: * libnautilus/nautilus-directory.c: * libnautilus/nautilus-file-private.h: * libnautilus/nautilus-file.c: * libnautilus/nautilus-file.h: Converted NautilusFile to be a GtkObject instead of a plain struct, so it can have a "changed" signal. We still recommend using the "files_changed" signal on the directory to avoid the overhead of a signal connection for each file. * libnautilus/nautilus-gtk-extensions.c: * libnautilus/nautilus-gtk-extensions.h: (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref), (nautilus_gtk_object_list_free): Added some functions to be used with a list of GtkObjects. * libnautilus/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file): Had to change the name of nautilus_file_get_type to avoid conflict with the GtkObject standard get_type routine.
2000-03-31 01:59:36 +00:00
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
/* Called when the file notices any change. */
void (* changed) (NautilusFile *file);
/* Called periodically while directory deep count is being computed. */
void (* updated_deep_count_in_progress) (NautilusFile *file);
reviewed by: John Sullivan <sullivan@eazel.com> A cut at an ability to build without Medusa, starting with a patch that Eric Fischer wrote. This change is not fully tested. Fixed bug 5513 ("nautilus --help" displays "Help options" twice). * acconfig.h: Add HAVE_MEDUSA. * configure.in: Add code to detect HAVE_MEDUSA. * libnautilus-extensions/nautilus-customization-data.c: (nautilus_customization_data_destroy), (load_name_map_hash_table): Added a FIXME. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-trash-file.h: * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): * libnautilus-extensions/nautilus-vfs-file.h: * libnautilus-extensions/nautilus-vfs-file.c: (nautilus_vfs_file_initialize), (vfs_destroy), (nautilus_vfs_file_initialize_class): Initial cut at breaking out the special trash version of NautilusFile. Sadly we need this as well as NautilusTrashDirectory. * src/file-manager/fm-search-list-view.c: (load_location_callback): Add _() so things get localized and put the code to compose the indexing message inside ifdef HAVE_MEDUSA. * src/file-manager/nautilus-indexing-info.h: * src/file-manager/nautilus-indexing-info.c: Put HAVE_MEDUSA ifdefs around most of this file. (get_text_for_progress_label): Mark string for translation. (update_progress_display): Remove code to "handle" timeout left around after dialog is destroyed. (update_file_index_callback): Change error messages to be more easily localizable. Use nautilus_error_dialog instead of gnome_error_dialog. (timeout_remove_callback): Get rid of the timeout when the object is destroyed. (show_index_progress_bar): Connect handler to get rid of the timeout when the object is destroyed. (show_indexing_info_dialog): Move code that puts up dialog into a new function. Also use nautilus_gtk_window_present to put up a window. Change the NautilusLabel to use line wrapping. (show_search_service_not_available_dialog): Put this dialog in its own function so you can use it multiple times. (nautilus_indexing_info_request_reindex): Put HAVE_MEDUSA around the content of this function. (nautilus_indexing_info_get_last_index_time): Put HAVE_MEDUSA around the function, with a small simple implementation for the other case. (nautilus_indexing_info_show_dialog): Put HAVE_MEDUSA around the function, with a small invocation of the "not available" dialog. * src/nautilus-main.c: (main): Remove redundant AUTOHELP. * src/nautilus-search-bar-criterion.c: (make_emblem_value_menu): Fix emblem_name storage lifetime problem. * src/file-manager/fm-icon-view.c: Whitespace tweak.
2001-01-09 02:05:41 +00:00
/* Virtual functions (mainly used for trash directory). */
void (* monitor_add) (NautilusFile *file,
gconstpointer client,
GList *attributes);
void (* monitor_remove) (NautilusFile *file,
gconstpointer client);
void (* call_when_ready) (NautilusFile *file,
GList *attributes,
NautilusFileCallback callback,
gpointer callback_data);
void (* cancel_call_when_ready) (NautilusFile *file,
NautilusFileCallback callback,
gpointer callback_data);
gboolean (* check_if_ready) (NautilusFile *file,
GList *attributes);
reviewed by: John Sullivan <sullivan@eazel.com> Fixed bug 2147 (NautilusFile for trash needs non-empty values for more properties), bug 5652 (MIME type field appears but shouldn't in properties window for Trash), and bug 4620 (trash sidebar should show number of items). * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_relative_uri): Create trash file subclass when appropriate. (nautilus_file_info_missing): Rename so it can be used in other source files. (nautilus_file_get_date): New method that returns numeric dates. (nautilus_file_get_date_as_string): Change to call nautilus_file_get_date to get the numeric date. (nautilus_file_get_file_type): Turn into a method. * libnautilus-extensions/nautilus-merged-directory.h: * libnautilus-extensions/nautilus-merged-directory.c: (merged_call_when_ready): Rolled in the old merged_callback_connect_directory function. (merged_contains_file): Moved down to a more appropriate part of the source file. (nautilus_merged_directory_get_real_directories): New public function for use by trash. * libnautilus-extensions/nautilus-trash-file.c: (trash_callback_hash), (trash_callback_equal), (trash_callback_destroy), (trash_callback_check_done), (trash_callback_remove_file), (ready_callback), (real_file_changed_callback), (monitor_add_file), (add_real_file), (trash_callback_remove_file_cover), (monitor_remove_file), (remove_real_file), (add_real_file_given_directory), (add_directory_callback), (remove_directory_callback), (trash_file_call_when_ready), (trash_file_cancel_call_when_ready), (trash_file_check_if_ready), (trash_file_monitor_add), (trash_file_monitor_remove), (trash_file_get_file_type), (trash_file_get_item_count), (trash_file_get_deep_counts), (trash_file_get_date), (remove_all_real_files), (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): New code. First implementation of getting some attributes for the merged trash. Gets list of directories from the NautilusTrashDirectory object. The code in here is similar to the NautilusMergedDirectory class and at some point perhaps we can make the two share more. * libnautilus-extensions/nautilus-vfs-file.c: (vfs_file_get_file_type), (vfs_file_get_date), (nautilus_vfs_file_initialize_class): Implement the two new methods for the standard vfs case. Fixed various things that affect the properties window for the trash that showed up while I was testing the above work: * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_regular_file), (nautilus_icon_factory_get_icon_name_for_file): Move trash special case out so it doesn't matter what type the trash seems to be. The old code relied on trash not being a directory. * src/file-manager/fm-properties-window.c: (create_properties_window), (create_properties_window_callback), (cancel_create_properties_window_callback), (directory_view_destroyed_callback), (remove_pending_file): Rework code to fix problems where the timed wait or the signal handler wasn't properly cleaned up. Fixed remaining bit of bug 5631 (Tear-offs of right-click menus don't work.): * src/file-manager/nautilus-desktop-icon-view-ui.xml: Mark Disks right-click submenu so it won't get a tear-off item. Fixed bug 5650 (nautilus --quit fails to return to prompt sometimes): * src/nautilus-application.c: (nautilus_application_startup): Add special case so "nautilus --quit" doesn't hang waiting for a response from the (now quit) "server" instance of Nautilus. * src/nautilus-shell-interface.idl: Had to make the quit call no longer be "oneway" to get it to work right, otherwise the quit message could be lost when the sending application exited too fast. Fix bug 5675 (Nitpicks in new "could not be moved to new special location" dialog): * libnautilus-extensions/nautilus-file-operations.c: (handle_transfer_overwrite): Updated message wording as Eli (and Vera) suggest. Other changes: * libnautilus-extensions/nautilus-view-identifier.c: (get_lang_list): Fix comment and a small storage leak in the case where lang_with_locale is non-NULL but empty. * po/POTFILES.ignore: Obsolete file, no longer used. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies): Update comment to help translators understand better. * libnautilus-extensions/nautilus-directory-async.c: (directory_load_callback): Added a new assertion that could help in future gnome-vfs debugging. * libnautilus/nautilus-view-component.idl: Removed long-ago-fixed FIXME comment. * src/nautilus-window-manage-views.c: Tweak spacing.
2001-01-18 19:26:03 +00:00
GnomeVFSFileType (* get_file_type) (NautilusFile *file);
Fix bug 5557 (Intermittent crash in Nautilus_View_history_changed): * src/nautilus-view-frame.c: (send_history): Added a check for NULL so we don't try to send a NULL history list through the history machinery. Fix bug 5360 ("menthos's Home" string is hard to translate): * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies): Added comment to help translators understand what to do with "%s's Home". Fix bug 5641 ("xfree" does not work with newer versions of RPM 4 headers): * components/services/install/lib/eazel-package-system-rpm3.c: (eazel_package_system_rpm3_packagedata_fill_from_header): Just use "free" instead of "xfree". Fix bug 5631 (Tear-offs of right-click menus don't work): * src/nautilus-shell-ui.xml: * src/file-manager/nautilus-directory-view-ui.xml: * src/file-manager/nautilus-icon-view-ui.xml: Mark popups and submenus of the popups with tearoff="0" so they don't have tear-off menu items. More work on bug 2147 (NautilusFile for trash needs non-empty values for more properties). * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_relative_uri), (nautilus_file_new_from_info), (nautilus_file_monitor_add), (nautilus_file_monitor_remove), (nautilus_file_get_directory_item_count), (nautilus_file_get_deep_counts), (nautilus_file_check_if_ready), (nautilus_file_call_when_ready), (nautilus_file_cancel_call_when_ready): Put more of the machinery in place to make enough of NautilusFile virtual so that we can implement the trash case. * libnautilus-extensions/nautilus-merged-directory.h: * libnautilus-extensions/nautilus-merged-directory.c: (merged_add_real_directory), (nautilus_merged_directory_add_real_directory), (merged_remove_real_directory), (nautilus_merged_directory_remove_real_directory), (remove_all_real_directories), (nautilus_merged_directory_initialize_class): Make adding and removing directories use signals so we can share this list with the NautilusTrashFile. * libnautilus-extensions/nautilus-trash-file.c: (add_directory_callback), (remove_directory_callback), (nautilus_trash_file_initialize), (trash_destroy): Use a NautilusTrashDirectory object for the list of directories. * libnautilus-extensions/nautilus-vfs-file.c: (vfs_file_monitor_add), (vfs_file_monitor_remove), (vfs_file_call_when_ready), (vfs_file_cancel_call_when_ready), (vfs_file_check_if_ready), (vfs_file_get_item_count), (vfs_file_get_deep_counts), (nautilus_vfs_file_initialize_class): Move the guts of these functions into the "VFS" subclass. Other stuff: * libnautilus-extensions/nautilus-trash-directory.c: (find_directory_start), (find_directory_end), (find_directory_callback), (add_volume), (remove_trash_volume): Fix bug in the recently-added timed-wait, to handle the case where the call is cancelled as well as the case where it succeeds or fails. * src/file-manager/fm-directory-view.c: (zoomable_set_zoom_level_callback): Formatting tweak. * src/nautilus-main.c: (main): Fix the FIXME.
2001-01-15 23:45:04 +00:00
gboolean (* get_item_count) (NautilusFile *file,
guint *count,
gboolean *count_unreadable);
NautilusRequestStatus (* get_deep_counts) (NautilusFile *file,
guint *directory_count,
guint *file_count,
guint *unreadable_directory_count,
GnomeVFSFileSize *total_size);
reviewed by: John Sullivan <sullivan@eazel.com> Fixed bug 2147 (NautilusFile for trash needs non-empty values for more properties), bug 5652 (MIME type field appears but shouldn't in properties window for Trash), and bug 4620 (trash sidebar should show number of items). * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_relative_uri): Create trash file subclass when appropriate. (nautilus_file_info_missing): Rename so it can be used in other source files. (nautilus_file_get_date): New method that returns numeric dates. (nautilus_file_get_date_as_string): Change to call nautilus_file_get_date to get the numeric date. (nautilus_file_get_file_type): Turn into a method. * libnautilus-extensions/nautilus-merged-directory.h: * libnautilus-extensions/nautilus-merged-directory.c: (merged_call_when_ready): Rolled in the old merged_callback_connect_directory function. (merged_contains_file): Moved down to a more appropriate part of the source file. (nautilus_merged_directory_get_real_directories): New public function for use by trash. * libnautilus-extensions/nautilus-trash-file.c: (trash_callback_hash), (trash_callback_equal), (trash_callback_destroy), (trash_callback_check_done), (trash_callback_remove_file), (ready_callback), (real_file_changed_callback), (monitor_add_file), (add_real_file), (trash_callback_remove_file_cover), (monitor_remove_file), (remove_real_file), (add_real_file_given_directory), (add_directory_callback), (remove_directory_callback), (trash_file_call_when_ready), (trash_file_cancel_call_when_ready), (trash_file_check_if_ready), (trash_file_monitor_add), (trash_file_monitor_remove), (trash_file_get_file_type), (trash_file_get_item_count), (trash_file_get_deep_counts), (trash_file_get_date), (remove_all_real_files), (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): New code. First implementation of getting some attributes for the merged trash. Gets list of directories from the NautilusTrashDirectory object. The code in here is similar to the NautilusMergedDirectory class and at some point perhaps we can make the two share more. * libnautilus-extensions/nautilus-vfs-file.c: (vfs_file_get_file_type), (vfs_file_get_date), (nautilus_vfs_file_initialize_class): Implement the two new methods for the standard vfs case. Fixed various things that affect the properties window for the trash that showed up while I was testing the above work: * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_regular_file), (nautilus_icon_factory_get_icon_name_for_file): Move trash special case out so it doesn't matter what type the trash seems to be. The old code relied on trash not being a directory. * src/file-manager/fm-properties-window.c: (create_properties_window), (create_properties_window_callback), (cancel_create_properties_window_callback), (directory_view_destroyed_callback), (remove_pending_file): Rework code to fix problems where the timed wait or the signal handler wasn't properly cleaned up. Fixed remaining bit of bug 5631 (Tear-offs of right-click menus don't work.): * src/file-manager/nautilus-desktop-icon-view-ui.xml: Mark Disks right-click submenu so it won't get a tear-off item. Fixed bug 5650 (nautilus --quit fails to return to prompt sometimes): * src/nautilus-application.c: (nautilus_application_startup): Add special case so "nautilus --quit" doesn't hang waiting for a response from the (now quit) "server" instance of Nautilus. * src/nautilus-shell-interface.idl: Had to make the quit call no longer be "oneway" to get it to work right, otherwise the quit message could be lost when the sending application exited too fast. Fix bug 5675 (Nitpicks in new "could not be moved to new special location" dialog): * libnautilus-extensions/nautilus-file-operations.c: (handle_transfer_overwrite): Updated message wording as Eli (and Vera) suggest. Other changes: * libnautilus-extensions/nautilus-view-identifier.c: (get_lang_list): Fix comment and a small storage leak in the case where lang_with_locale is non-NULL but empty. * po/POTFILES.ignore: Obsolete file, no longer used. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies): Update comment to help translators understand better. * libnautilus-extensions/nautilus-directory-async.c: (directory_load_callback): Added a new assertion that could help in future gnome-vfs debugging. * libnautilus/nautilus-view-component.idl: Removed long-ago-fixed FIXME comment. * src/nautilus-window-manage-views.c: Tweak spacing.
2001-01-18 19:26:03 +00:00
gboolean (* get_date) (NautilusFile *file,
NautilusDateType type,
time_t *date);
char * (* get_where_string) (NautilusFile *file);
Made NautilusFile async. like NautilusDirectory already was. * RENAMING: Added a renaming idea. * libnautilus-extensions/nautilus-directory-async.c: (cancel_get_info), (cancel_metafile_read), (nautilus_directory_cancel): Added the new getting of file info to the cancel logic. (nautilus_compare_file_with_name): Changed to get the name in a way that works with files with no info. (nautilus_async_destroying_file): Handle the cancelling for the get_file_info case. (lacks_info), (wants_info), (request_is_satisfied): Add code to handle the need for file info for a newly created NautilusFile. (get_info_callback), (start_getting_file_info), (state_changed): Add code to get file info for files that lack it. * libnautilus-extensions/nautilus-directory-private.h: Add fields for getting file info for new files. * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_notify_files_moved): Moved the logic about updating the name on a file as it is moved into nautilus-file.c. * libnautilus-extensions/nautilus-file-attributes.h: Added a "deep count" attribute and function as a placeholder for work that I'll be doing for John shortly. * libnautilus-extensions/nautilus-file-private.h: Moved the calls relating to updating an existing NautilusFile so they are private and added one for a name change. * libnautilus-extensions/nautilus-file-utilities.h: Added interface for new nautilus_read_entire_file family of calls that I still need to implement. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_name), (nautilus_file_new_from_info): Added a way to create a file without having GnomeVFSFileInfo yet. (nautilus_file_get): Don't get the GnomeVFSFileInfo; let the async. logic handler that. (rename_update_info_and_metafile): Handle new name field. (nautilus_file_rename): Use new name field. (nautilus_file_get_gnome_vfs_uri): Common code shared in a couple of places. Started fixing the "no file object for root" problem. (nautilus_file_matches_uri): Use nautilus_file_get_gnome_vfs_uri. (nautilus_file_update_info): Handle NULL case and new name field. (nautilus_file_update_name): New function used by move code in nautilus-directory.c. (nautilus_file_compare_by_type): Handle NULL info case. (nautilus_file_compare_for_sort_internal): Handle NULL info case. (nautilus_file_compare_name): Use new name field. (nautilus_file_get_metadata), (nautilus_file_get_metadata_list): Handle NULL file and use new name field. (nautilus_file_set_metadata), (nautilus_file_set_metadata_list): Use new name field. (nautilus_file_get_name): Handle NULL file and use new name field. (nautilus_file_get_uri): Use nautilus_file_get_gnome_vfs_uri. (info_missing): New function to handle NULL file case, NULL info case, and check the valid_fields more thoroughly. (nautilus_file_get_date_as_string), (nautilus_file_get_size), (nautilus_file_can_get_permissions), (nautilus_file_get_owner_as_string), (nautilus_file_get_group_as_string), (nautilus_file_get_size_as_string), (nautilus_file_get_type_as_string), (nautilus_file_get_file_type), (nautilus_file_get_mime_type), (nautilus_file_is_mime_type), (nautilus_file_is_symbolic_link), Use info_missing to handle NULL file and NULL info cases and to do valid_fields checks as needed. (nautilus_file_get_permissions_as_string): Move file check so the NULL case will work properly. (nautilus_file_get_mime_type_as_string_attribute): Got rid of redundant g_free call. (nautilus_file_get_string_attribute): Remove file check so NULL case will work properly. (nautilus_file_get_emblem_names): Handle NULL file case. (nautilus_file_get_keywords): Handle NULL file case. (nautilus_file_is_executable): Remove file check so NULL case will work properly. (nautilus_file_mark_gone): Add code to get rid of info which we don't need to keep around for files that are gone. (nautilus_file_activate_custom): Added FIXME comments. * libnautilus-extensions/nautilus-gdk-extensions.c: (nautilus_get_largest_fitting_font): Changed so it handles the case of NULL for passed-in text properly. * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_for_file): Formatting. (nautilus_icon_factory_get_pixbuf_for_file): Handle NULL file by returning NULL for the pixbuf. (nautilus_icon_factory_get_pixmap_and_mask_for_file): Handle NULL for the pixbuf by return NULL for the pixmap/mask. * src/nautilus-main.c: (print_leaks), (main): Do the leak printing from an atexit function so more of the cleanup will run first. * libnautilus-extensions/nautilus-gtk-extensions.h: * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_pixmap_new_empty): A simple cover for allocating a GtkPixmap before we have a GdkPixmap to display. * src/nautilus-sidebar-title.c: (nautilus_sidebar_title_initialize): Create the widgets when the title is set up instead of creating them "as needed". (update_icon): Always update the icon, even if the file is NULL. (update_title): Always update the title, even if the file is NULL. Also got rid of the line-breaking code. We instead use the line- breaking code inside GtkLabel, which we can tweak as needed by setting a line width. We may need to revisit this, but lets not re-add our own line-break code unless we have to. (append_and_eat), (update_more_info): Always update the info field, even if the file is NULL. I rewrote this. (add_emblem), (update_emblems): Always update the emblems, even if the file is NULL. (update_notes): Always update the notes, even if the file is NULL. (update_all): Update all the pieces separately (the old code was doing them strangely bunched up). (nautilus_sidebar_title_set_uri): Always ask for the directory item count, even when the item is not yet known to be a directory. * src/nautilus-window.c: (nautilus_window_constructed): Get rid of the call to gtk_widget_show_all that was showhing things that were intentionally hidden. (nautilus_window_load_content_view_menu): Removed an unused variable that was set up but never examined.
2000-06-20 22:09:36 +00:00
} NautilusFileClass;
#endif /* NAUTILUS_FILE_H */