summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamiro Estrugo <ramiro@src.gnome.org>2001-04-04 11:29:08 +0000
committerRamiro Estrugo <ramiro@src.gnome.org>2001-04-04 11:29:08 +0000
commit55bc3d9a83d7ca7d6dbca116e7471f638e40d371 (patch)
tree7177c6822d15f369a786d69409129acece52ae1f
parent79b2a4e377c837458af676ebe34c8cdc866a5bfd (diff)
downloadnautilus-55bc3d9a83d7ca7d6dbca116e7471f638e40d371.tar.gz
Move vfs extensions to eel.
* libnautilus-extensions/nautilus-file-utilities.c: * libnautilus-extensions/nautilus-file-utilities.h: Move vfs extensions to eel. * components/services/install-view/nautilus-service-install-view.c: * components/services/install/server/main.c: * components/services/inventory/eazel-inventory-collect-hardware.c: (add_info): * components/services/inventory/eazel-inventory-service.c: (impl_Trilobite_Eazel_Inventory_upload): * components/text/nautilus-text-view.c: (handle_service_menu_item): * components/tree/nautilus-tree-view.c: (select_current_location), (tree_load_location_callback), (got_activation_uri_callback): * libnautilus-extensions/nautilus-bookmark.c: (nautilus_bookmark_compare_with), (nautilus_bookmark_compare_uris), (bookmark_file_changed_callback): * libnautilus-extensions/nautilus-directory-async.c: (top_left_cancel), (activation_uri_cancel), (top_left_start), (activation_uri_start): * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_make_uri_canonical), (nautilus_directory_new), (nautilus_directory_notify_files_moved), (nautilus_self_check_directory): * libnautilus-extensions/nautilus-drag.c: (nautilus_drag_items_in_trash), (nautilus_drag_default_drop_action_for_icons): * libnautilus-extensions/nautilus-file-operations.c: (format_and_ellipsize_uri_for_dialog), (nautilus_file_operations_copy_move): * libnautilus-extensions/nautilus-file.c: (nautilus_file_get_internal), (nautilus_file_get_parent_uri_for_display), (nautilus_file_can_rename), (nautilus_file_get_uri_scheme), (nautilus_file_is_in_trash), (nautilus_self_check_file): * libnautilus-extensions/nautilus-icon-dnd.c: (nautilus_icon_container_selection_items_local): * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_file), (nautilus_icon_factory_get_emblem_icons_for_file): * libnautilus-extensions/nautilus-link.c: (nautilus_link_local_get_image_uri): * libnautilus-extensions/nautilus-metafile.c: (construct_private_metafile_vfs_uri), (metafile_read_cancel), (metafile_read_restart): * libnautilus-extensions/nautilus-tabs.c: * libnautilus-extensions/nautilus-theme.c: * libnautilus-extensions/nautilus-thumbnails.c: (make_thumbnail_uri): * libnautilus-extensions/nautilus-trash-file.c: (nautilus_trash_file_initialize): * libnautilus-extensions/nautilus-trash-monitor.c: (nautilus_trash_files_changed_callback), (nautilus_trash_monitor_initialize): * src/file-manager/fm-desktop-icon-view.c: (update_trash_link_and_delete_copies): * src/file-manager/fm-directory-view.c: (show_trash_callback), (trash_or_delete_files_common), (fm_directory_view_trash_or_delete_files), (fm_directory_view_move_copy_items): * src/file-manager/fm-properties-window.c: (is_merged_trash_directory): * src/nautilus-application.c: (nautilus_make_uri_list_from_shell_strv): * src/nautilus-first-time-druid.c: (read_file_handle_cancel_cover), (initiate_file_download): * src/nautilus-location-bar.c: (try_to_expand_path), (nautilus_location_bar_set_location), (nautilus_location_bar_get_location), (nautilus_location_bar_update_label): * src/nautilus-profiler.c: (nautilus_profiler_bonobo_ui_report_callback): * src/nautilus-property-browser.c: (add_pattern_to_browser), (emblem_dialog_clicked): * src/nautilus-sidebar.c: (receive_dropped_uri_list): * src/nautilus-theme-selector.c: (add_theme_to_icons): * src/nautilus-window-manage-views.c: (set_displayed_location), (check_bookmark_location_matches), (handle_go_elsewhere), (viewed_file_changed_callback), (determined_initial_view_callback), (open_location_prefer_existing_window_callback), (report_redirect_callback): * src/nautilus-window-menus.c: (show_bogus_bookmark_window): Update for vfs extensions move to eel. Also cleanup the #include state of some of these files. Removed unused #includes. Remove some cut-n-paste code in services components and use the extensions in eel directly.
-rw-r--r--ChangeLog89
-rw-r--r--components/services/install-view/nautilus-service-install-view.c1
-rw-r--r--components/services/install/server/main.c4
-rw-r--r--components/services/inventory/eazel-inventory-collect-hardware.c27
-rw-r--r--components/services/inventory/eazel-inventory-service.c30
-rw-r--r--components/text/nautilus-text-view.c31
-rw-r--r--components/tree/nautilus-tree-view.c15
-rw-r--r--libnautilus-extensions/nautilus-bookmark.c14
-rw-r--r--libnautilus-extensions/nautilus-directory-async.c14
-rw-r--r--libnautilus-extensions/nautilus-directory-private.h2
-rw-r--r--libnautilus-extensions/nautilus-directory.c14
-rw-r--r--libnautilus-extensions/nautilus-drag.c23
-rw-r--r--libnautilus-extensions/nautilus-file-operations.c13
-rw-r--r--libnautilus-extensions/nautilus-file-utilities.c1623
-rw-r--r--libnautilus-extensions/nautilus-file-utilities.h100
-rw-r--r--libnautilus-extensions/nautilus-file.c13
-rw-r--r--libnautilus-extensions/nautilus-icon-dnd.c4
-rw-r--r--libnautilus-extensions/nautilus-icon-factory.c5
-rw-r--r--libnautilus-extensions/nautilus-link.c13
-rw-r--r--libnautilus-extensions/nautilus-metafile.c42
-rw-r--r--libnautilus-extensions/nautilus-tabs.c1
-rw-r--r--libnautilus-extensions/nautilus-theme.c1
-rw-r--r--libnautilus-extensions/nautilus-thumbnails.c22
-rw-r--r--libnautilus-extensions/nautilus-trash-file.c2
-rw-r--r--libnautilus-extensions/nautilus-trash-monitor.c10
-rw-r--r--libnautilus-private/nautilus-bookmark.c14
-rw-r--r--libnautilus-private/nautilus-directory-async.c14
-rw-r--r--libnautilus-private/nautilus-directory-private.h2
-rw-r--r--libnautilus-private/nautilus-directory.c14
-rw-r--r--libnautilus-private/nautilus-drag.c23
-rw-r--r--libnautilus-private/nautilus-file-operations.c13
-rw-r--r--libnautilus-private/nautilus-file-utilities.c1623
-rw-r--r--libnautilus-private/nautilus-file-utilities.h100
-rw-r--r--libnautilus-private/nautilus-file.c13
-rw-r--r--libnautilus-private/nautilus-icon-dnd.c4
-rw-r--r--libnautilus-private/nautilus-icon-factory.c5
-rw-r--r--libnautilus-private/nautilus-link.c13
-rw-r--r--libnautilus-private/nautilus-metafile.c42
-rw-r--r--libnautilus-private/nautilus-tabs.c1
-rw-r--r--libnautilus-private/nautilus-theme.c1
-rw-r--r--libnautilus-private/nautilus-thumbnails.c22
-rw-r--r--libnautilus-private/nautilus-trash-file.c2
-rw-r--r--libnautilus-private/nautilus-trash-monitor.c10
-rw-r--r--src/file-manager/fm-desktop-icon-view.c21
-rw-r--r--src/file-manager/fm-directory-view.c25
-rw-r--r--src/file-manager/fm-properties-window.c28
-rw-r--r--src/nautilus-application.c17
-rw-r--r--src/nautilus-first-time-druid.c28
-rw-r--r--src/nautilus-information-panel.c18
-rw-r--r--src/nautilus-location-bar.c26
-rw-r--r--src/nautilus-navigation-window-menus.c17
-rw-r--r--src/nautilus-profiler.c2
-rw-r--r--src/nautilus-property-browser.c38
-rw-r--r--src/nautilus-sidebar.c18
-rw-r--r--src/nautilus-theme-selector.c36
-rw-r--r--src/nautilus-window-manage-views.c37
-rw-r--r--src/nautilus-window-menus.c17
57 files changed, 519 insertions, 3838 deletions
diff --git a/ChangeLog b/ChangeLog
index efe008f62..3daa75dd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,94 @@
2001-04-04 Ramiro Estrugo <ramiro@eazel.com>
+ * libnautilus-extensions/nautilus-file-utilities.c:
+ * libnautilus-extensions/nautilus-file-utilities.h:
+ Move vfs extensions to eel.
+
+ * components/services/install-view/nautilus-service-install-view.c:
+ * components/services/install/server/main.c:
+ * components/services/inventory/eazel-inventory-collect-hardware.c:
+ (add_info):
+ * components/services/inventory/eazel-inventory-service.c:
+ (impl_Trilobite_Eazel_Inventory_upload):
+ * components/text/nautilus-text-view.c: (handle_service_menu_item):
+ * components/tree/nautilus-tree-view.c: (select_current_location),
+ (tree_load_location_callback), (got_activation_uri_callback):
+ * libnautilus-extensions/nautilus-bookmark.c:
+ (nautilus_bookmark_compare_with), (nautilus_bookmark_compare_uris),
+ (bookmark_file_changed_callback):
+ * libnautilus-extensions/nautilus-directory-async.c:
+ (top_left_cancel), (activation_uri_cancel), (top_left_start),
+ (activation_uri_start):
+ * libnautilus-extensions/nautilus-directory-private.h:
+ * libnautilus-extensions/nautilus-directory.c:
+ (nautilus_directory_make_uri_canonical), (nautilus_directory_new),
+ (nautilus_directory_notify_files_moved),
+ (nautilus_self_check_directory):
+ * libnautilus-extensions/nautilus-drag.c:
+ (nautilus_drag_items_in_trash),
+ (nautilus_drag_default_drop_action_for_icons):
+ * libnautilus-extensions/nautilus-file-operations.c:
+ (format_and_ellipsize_uri_for_dialog),
+ (nautilus_file_operations_copy_move):
+ * libnautilus-extensions/nautilus-file.c:
+ (nautilus_file_get_internal),
+ (nautilus_file_get_parent_uri_for_display),
+ (nautilus_file_can_rename), (nautilus_file_get_uri_scheme),
+ (nautilus_file_is_in_trash), (nautilus_self_check_file):
+ * libnautilus-extensions/nautilus-icon-dnd.c:
+ (nautilus_icon_container_selection_items_local):
+ * libnautilus-extensions/nautilus-icon-factory.c:
+ (nautilus_icon_factory_get_icon_name_for_file),
+ (nautilus_icon_factory_get_emblem_icons_for_file):
+ * libnautilus-extensions/nautilus-link.c:
+ (nautilus_link_local_get_image_uri):
+ * libnautilus-extensions/nautilus-metafile.c:
+ (construct_private_metafile_vfs_uri), (metafile_read_cancel),
+ (metafile_read_restart):
+ * libnautilus-extensions/nautilus-tabs.c:
+ * libnautilus-extensions/nautilus-theme.c:
+ * libnautilus-extensions/nautilus-thumbnails.c:
+ (make_thumbnail_uri):
+ * libnautilus-extensions/nautilus-trash-file.c:
+ (nautilus_trash_file_initialize):
+ * libnautilus-extensions/nautilus-trash-monitor.c:
+ (nautilus_trash_files_changed_callback),
+ (nautilus_trash_monitor_initialize):
+ * src/file-manager/fm-desktop-icon-view.c:
+ (update_trash_link_and_delete_copies):
+ * src/file-manager/fm-directory-view.c: (show_trash_callback),
+ (trash_or_delete_files_common),
+ (fm_directory_view_trash_or_delete_files),
+ (fm_directory_view_move_copy_items):
+ * src/file-manager/fm-properties-window.c:
+ (is_merged_trash_directory):
+ * src/nautilus-application.c:
+ (nautilus_make_uri_list_from_shell_strv):
+ * src/nautilus-first-time-druid.c: (read_file_handle_cancel_cover),
+ (initiate_file_download):
+ * src/nautilus-location-bar.c: (try_to_expand_path),
+ (nautilus_location_bar_set_location),
+ (nautilus_location_bar_get_location),
+ (nautilus_location_bar_update_label):
+ * src/nautilus-profiler.c:
+ (nautilus_profiler_bonobo_ui_report_callback):
+ * src/nautilus-property-browser.c: (add_pattern_to_browser),
+ (emblem_dialog_clicked):
+ * src/nautilus-sidebar.c: (receive_dropped_uri_list):
+ * src/nautilus-theme-selector.c: (add_theme_to_icons):
+ * src/nautilus-window-manage-views.c: (set_displayed_location),
+ (check_bookmark_location_matches), (handle_go_elsewhere),
+ (viewed_file_changed_callback), (determined_initial_view_callback),
+ (open_location_prefer_existing_window_callback),
+ (report_redirect_callback):
+ * src/nautilus-window-menus.c: (show_bogus_bookmark_window):
+ Update for vfs extensions move to eel. Also cleanup the #include
+ state of some of these files. Removed unused #includes. Remove
+ some cut-n-paste code in services components and use the
+ extensions in eel directly.
+
+2001-04-04 Ramiro Estrugo <ramiro@eazel.com>
+
* README:
Add new librsvg and eel dependency entries.
diff --git a/components/services/install-view/nautilus-service-install-view.c b/components/services/install-view/nautilus-service-install-view.c
index 7547217b8..012577baf 100644
--- a/components/services/install-view/nautilus-service-install-view.c
+++ b/components/services/install-view/nautilus-service-install-view.c
@@ -40,7 +40,6 @@
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
#include <eel/eel-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <eel/eel-string.h>
#include <eel/eel-label.h>
#include <eel/eel-gdk-extensions.h>
diff --git a/components/services/install/server/main.c b/components/services/install/server/main.c
index f458252e4..000402d4b 100644
--- a/components/services/install/server/main.c
+++ b/components/services/install/server/main.c
@@ -34,8 +34,8 @@
#ifdef STOP_IN_DEBUG
/* Also add
- $(top_builddir)/libnautilus-extensions/nautilus-debug.o \
-to the ldadd line in Makefile.am
+ $(EEL_LIBS) \
+ to the LDADD line in Makefile.am
*/
#include <eel/eel-debug.h>
#endif
diff --git a/components/services/inventory/eazel-inventory-collect-hardware.c b/components/services/inventory/eazel-inventory-collect-hardware.c
index 042622356..9458654b5 100644
--- a/components/services/inventory/eazel-inventory-collect-hardware.c
+++ b/components/services/inventory/eazel-inventory-collect-hardware.c
@@ -28,6 +28,8 @@
#include "eazel-inventory-collect-hardware.h"
+#include <eel/eel-string.h>
+
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -404,29 +406,6 @@ Host: scsi0 Channel: 00 Id: 04 Lun: 00
return bus_node;
}
-
-/* ripped straight out of libnautilus-extensions because we didn't want the
- * dependency for one small function
- */
-static gboolean
-str_has_prefix (const char *haystack, const char *needle)
-{
- const char *h, *n;
-
- /* Eat one character at a time. */
- h = haystack == NULL ? "" : haystack;
- n = needle == NULL ? "" : needle;
- do {
- if (*n == '\0') {
- return TRUE;
- }
- if (*h == '\0') {
- return FALSE;
- }
- } while (*h++ == *n++);
- return FALSE;
-}
-
/* utility routine to extract information from a string and add it to an XML node */
static void
add_info (xmlNodePtr node_ptr,
@@ -447,7 +426,7 @@ add_info (xmlNodePtr node_ptr,
for (index = 0; index < 32; index++) {
if (info_array[index] == NULL)
break;
- if (str_has_prefix (info_array[index], field_name)) {
+ if (eel_str_has_prefix (info_array[index], field_name)) {
field_data = info_array[index] + strlen (field_name);
field_data = strchr (field_data, ':') + 1;
field_data = g_strchug (field_data);
diff --git a/components/services/inventory/eazel-inventory-service.c b/components/services/inventory/eazel-inventory-service.c
index fe28a14c8..9958bf300 100644
--- a/components/services/inventory/eazel-inventory-service.c
+++ b/components/services/inventory/eazel-inventory-service.c
@@ -22,31 +22,25 @@
*/
#include <config.h>
-#include <gnome.h>
-#include <liboaf/liboaf.h>
+#include "eazel-inventory-service.h"
+
+#include "eazel-inventory-service-interface.h"
+#include "eazel-inventory-utils.h"
#include <bonobo.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gconf/gconf-client.h>
#include <ghttp.h>
-
+#include <gnome.h>
#include <libgnomevfs/gnome-vfs.h>
-
-#define DEBUG(X...) g_print("eazel-inventory-service: " X)
-
-
-#include <gconf/gconf-client.h>
-
-#include <libtrilobite/libtrilobite.h>
+#include <liboaf/liboaf.h>
+#include <libtrilobite/libammonite.h>
#include <libtrilobite/libtrilobite-service.h>
-
-#include <libnautilus-extensions/nautilus-file-utilities.h>
+#include <libtrilobite/libtrilobite.h>
/* FIXME: crack */
/*#include <libammonite/libammonite.h>*/
-#include <libtrilobite/libammonite.h>
-
-#include "eazel-inventory-utils.h"
-#include "eazel-inventory-service.h"
-#include "eazel-inventory-service-interface.h"
+#define DEBUG(X...) g_print("eazel-inventory-service: " X)
#define KEY_GCONF_EAZEL_INVENTORY_ENABLED "/apps/eazel-trilobite/inventory/enabled"
@@ -264,7 +258,7 @@ impl_Trilobite_Eazel_Inventory_upload (PortableServer_Servant servant,
/* TODO: store new MD5 */
path = eazel_inventory_local_path ();
- result = nautilus_read_entire_file (path, &file_size, &file_contents);
+ result = eel_read_entire_file (path, &file_size, &file_contents);
g_free (path);
if (result != GNOME_VFS_OK) {
/* g_warning(_("can't open tempory file hell\n")); */
diff --git a/components/text/nautilus-text-view.c b/components/text/nautilus-text-view.c
index df9024c6a..dd3d48139 100644
--- a/components/text/nautilus-text-view.c
+++ b/components/text/nautilus-text-view.c
@@ -26,35 +26,32 @@
#include <config.h>
#include "nautilus-text-view.h"
-#include <gnome-xml/parser.h>
-#include <gnome-xml/xmlmemory.h>
-
-#include <bonobo/bonobo-zoomable.h>
#include <bonobo/bonobo-control.h>
-
-#include <libnautilus/libnautilus.h>
-#include <libnautilus/nautilus-clipboard.h>
+#include <bonobo/bonobo-zoomable.h>
#include <eel/eel-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-file.h>
#include <eel/eel-gdk-extensions.h>
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
-#include <eel/eel-string.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-xml-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-
+#include <ghttp.h>
+#include <gnome-xml/parser.h>
+#include <gnome-xml/xmlmemory.h>
#include <gnome.h>
#include <gtk/gtkeventbox.h>
#include <libgnome/gnome-i18n.h>
#include <libgnomevfs/gnome-vfs.h>
-#include <ghttp.h>
-
+#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
+#include <libnautilus-extensions/nautilus-file-utilities.h>
+#include <libnautilus-extensions/nautilus-file.h>
+#include <libnautilus-extensions/nautilus-font-factory.h>
+#include <libnautilus-extensions/nautilus-global-preferences.h>
+#include <libnautilus/libnautilus.h>
+#include <libnautilus/nautilus-clipboard.h>
#include <limits.h>
#define MAX_SERVICE_ITEMS 32
@@ -495,7 +492,7 @@ handle_service_menu_item (BonoboUIComponent *ui, gpointer user_data, const char
/* load the resultant page through gnome-vfs */
/* FIXME: This uses sync. I/O. */
- if (nautilus_read_entire_file (uri, &text_size, &text_ptr) == GNOME_VFS_OK) {
+ if (eel_read_entire_file (uri, &text_size, &text_ptr) == GNOME_VFS_OK) {
gtk_editable_delete_text (GTK_EDITABLE (parameters->text_view->details->text_display), 0, -1);
gtk_text_insert (GTK_TEXT (parameters->text_view->details->text_display),
NULL, NULL, NULL,
diff --git a/components/tree/nautilus-tree-view.c b/components/tree/nautilus-tree-view.c
index 94ffaf294..a3a6965bf 100644
--- a/components/tree/nautilus-tree-view.c
+++ b/components/tree/nautilus-tree-view.c
@@ -30,6 +30,11 @@
#include "nautilus-tree-view-private.h"
#include <bonobo/bonobo-control.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gtk/gtkmain.h>
#include <gtk/gtkscrolledwindow.h>
@@ -39,12 +44,8 @@
#include <libnautilus-extensions/nautilus-file-attributes.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <libnautilus-extensions/nautilus-file.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-icon-factory.h>
-#include <eel/eel-string.h>
#include <stdio.h>
#define DISPLAY_TIMEOUT_INTERVAL_MSECS 500
@@ -1357,7 +1358,7 @@ select_current_location (NautilusTreeView *view)
cancel_selection_in_progress (view);
/* FIXME bugzilla.eazel.com 6801: it seems likely that either
- * nautilus_uris_match or nautilus_uris_match_ignore_fragments
+ * eel_uris_match or eel_uris_match_ignore_fragments
* should be used here.
*/
if (eel_strcmp (view->details->current_main_view_uri,
@@ -1380,7 +1381,7 @@ tree_load_location_callback (NautilusView *nautilus_view,
nautilus_view_report_load_complete (nautilus_view);
g_free (view->details->current_main_view_uri);
- view->details->current_main_view_uri = nautilus_make_uri_canonical (location);
+ view->details->current_main_view_uri = eel_make_uri_canonical (location);
select_current_location (view);
}
@@ -1528,7 +1529,7 @@ got_activation_uri_callback (NautilusFile *file,
uri = nautilus_file_get_activation_uri (file);
if (uri != NULL &&
- !nautilus_uris_match_ignore_fragments (view->details->current_main_view_uri, uri) &&
+ !eel_uris_match_ignore_fragments (view->details->current_main_view_uri, uri) &&
strncmp (uri, "command:", strlen ("command:")) != 0) {
nautilus_view_open_location_in_this_window (NAUTILUS_VIEW (view), uri);
g_free (view->details->selected_uri);
diff --git a/libnautilus-extensions/nautilus-bookmark.c b/libnautilus-extensions/nautilus-bookmark.c
index 02d69c176..9c383e0ab 100644
--- a/libnautilus-extensions/nautilus-bookmark.c
+++ b/libnautilus-extensions/nautilus-bookmark.c
@@ -25,9 +25,12 @@
#include <config.h>
#include "nautilus-bookmark.h"
-#include <eel/eel-gtk-macros.h>
#include "nautilus-icon-factory.h"
+#include <eel/eel-gdk-pixbuf-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtkaccellabel.h>
#include <gtk/gtksignal.h>
#include <libgnome/gnome-defs.h>
@@ -36,9 +39,6 @@
#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <eel/eel-gtk-extensions.h>
enum {
APPEARANCE_CHANGED,
@@ -152,7 +152,7 @@ nautilus_bookmark_compare_with (gconstpointer a, gconstpointer b)
return 1;
}
- if (!nautilus_uris_match (bookmark_a->details->uri,
+ if (!eel_uris_match (bookmark_a->details->uri,
bookmark_b->details->uri)) {
return 1;
}
@@ -182,7 +182,7 @@ nautilus_bookmark_compare_uris (gconstpointer a, gconstpointer b)
bookmark_a = NAUTILUS_BOOKMARK (a);
bookmark_b = NAUTILUS_BOOKMARK (b);
- return !nautilus_uris_match (bookmark_a->details->uri,
+ return !eel_uris_match (bookmark_a->details->uri,
bookmark_b->details->uri);
}
@@ -380,7 +380,7 @@ bookmark_file_changed_callback (NautilusFile *file, NautilusBookmark *bookmark)
should_emit_contents_changed_signal = FALSE;
file_uri = nautilus_file_get_uri (file);
- if (!nautilus_uris_match (bookmark->details->uri, file_uri)) {
+ if (!eel_uris_match (bookmark->details->uri, file_uri)) {
g_free (bookmark->details->uri);
bookmark->details->uri = file_uri;
should_emit_contents_changed_signal = TRUE;
diff --git a/libnautilus-extensions/nautilus-directory-async.c b/libnautilus-extensions/nautilus-directory-async.c
index 6377e80ca..745d2b48d 100644
--- a/libnautilus-extensions/nautilus-directory-async.c
+++ b/libnautilus-extensions/nautilus-directory-async.c
@@ -65,12 +65,12 @@
struct TopLeftTextReadState {
NautilusFile *file;
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
};
struct ActivationURIReadState {
NautilusFile *file;
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
};
typedef struct {
@@ -367,7 +367,7 @@ static void
top_left_cancel (NautilusDirectory *directory)
{
if (directory->details->top_left_read_state != NULL) {
- nautilus_read_file_cancel (directory->details->top_left_read_state->handle);
+ eel_read_file_cancel (directory->details->top_left_read_state->handle);
g_free (directory->details->top_left_read_state);
directory->details->top_left_read_state = NULL;
@@ -379,7 +379,7 @@ static void
activation_uri_cancel (NautilusDirectory *directory)
{
if (directory->details->activation_uri_read_state != NULL) {
- nautilus_read_file_cancel (directory->details->activation_uri_read_state->handle);
+ eel_read_file_cancel (directory->details->activation_uri_read_state->handle);
g_free (directory->details->activation_uri_read_state);
directory->details->activation_uri_read_state = NULL;
@@ -2467,7 +2467,7 @@ top_left_start (NautilusDirectory *directory)
directory->details->top_left_read_state = g_new0 (TopLeftTextReadState, 1);
directory->details->top_left_read_state->file = file;
uri = nautilus_file_get_uri (file);
- directory->details->top_left_read_state->handle = nautilus_read_file_async
+ directory->details->top_left_read_state->handle = eel_read_file_async
(uri,
top_left_read_callback,
top_left_read_more_callback,
@@ -2751,13 +2751,13 @@ activation_uri_start (NautilusDirectory *directory)
directory->details->activation_uri_read_state->file = file;
uri = nautilus_file_get_uri (file);
if (gmc_style_link) {
- directory->details->activation_uri_read_state->handle = nautilus_read_file_async
+ directory->details->activation_uri_read_state->handle = eel_read_file_async
(uri,
activation_uri_gmc_link_read_callback,
activation_uri_gmc_link_read_more_callback,
directory);
} else {
- directory->details->activation_uri_read_state->handle = nautilus_read_entire_file_async
+ directory->details->activation_uri_read_state->handle = eel_read_entire_file_async
(uri,
activation_uri_nautilus_link_read_callback,
directory);
diff --git a/libnautilus-extensions/nautilus-directory-private.h b/libnautilus-extensions/nautilus-directory-private.h
index 68e239869..d11030d15 100644
--- a/libnautilus-extensions/nautilus-directory-private.h
+++ b/libnautilus-extensions/nautilus-directory-private.h
@@ -31,7 +31,7 @@
#include <gnome-xml/tree.h>
#include "nautilus-file.h"
-#include "nautilus-file-utilities.h"
+#include <eel/eel-vfs-extensions.h>
#include "nautilus-directory-metafile-monitor.h"
#include "nautilus-metafile-server.h"
#include <libnautilus/nautilus-idle-queue.h>
diff --git a/libnautilus-extensions/nautilus-directory.c b/libnautilus-extensions/nautilus-directory.c
index fe5a3ba9a..9166fa4d9 100644
--- a/libnautilus-extensions/nautilus-directory.c
+++ b/libnautilus-extensions/nautilus-directory.c
@@ -316,7 +316,7 @@ nautilus_directory_make_uri_canonical (const char *uri)
char *with_slashes;
size_t length;
- canonical_maybe_trailing_slash = nautilus_make_uri_canonical (uri);
+ canonical_maybe_trailing_slash = eel_make_uri_canonical (uri);
/* To NautilusDirectory, a uri with or without a trailing
* / is equivalent. This is necessary to prevent separate
@@ -495,7 +495,7 @@ nautilus_directory_new (const char *uri)
g_assert (uri != NULL);
- if (nautilus_uri_is_trash (uri)) {
+ if (eel_uri_is_trash (uri)) {
directory = NAUTILUS_DIRECTORY (gtk_object_new (NAUTILUS_TYPE_TRASH_DIRECTORY, NULL));
} else {
directory = NAUTILUS_DIRECTORY (gtk_object_new (NAUTILUS_TYPE_VFS_DIRECTORY, NULL));
@@ -1208,7 +1208,7 @@ nautilus_directory_notify_files_moved (GList *uri_pairs)
nautilus_directory_unref (new_directory);
/* Update the file's name. */
- name = nautilus_uri_get_basename (pair->to_uri);
+ name = eel_uri_get_basename (pair->to_uri);
nautilus_file_update_name (file, name);
g_free (name);
@@ -1631,10 +1631,10 @@ nautilus_self_check_directory (void)
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical (""), "file:///");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:/"), "file:///");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:///"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("trash:xxx"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("GNOME-TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("gnome-trash:xxx"), NAUTILUS_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("TRASH:XXX"), EEL_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("trash:xxx"), EEL_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("GNOME-TRASH:XXX"), EEL_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("gnome-trash:xxx"), EEL_TRASH_URI);
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:///home/mathieu/"), "file:///home/mathieu");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:///home/mathieu"), "file:///home/mathieu");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("ftp://mathieu:password@le-hackeur.org"), "ftp://mathieu:password@le-hackeur.org");
diff --git a/libnautilus-extensions/nautilus-drag.c b/libnautilus-extensions/nautilus-drag.c
index 5735c1b44..e609993b3 100644
--- a/libnautilus-extensions/nautilus-drag.c
+++ b/libnautilus-extensions/nautilus-drag.c
@@ -27,22 +27,21 @@
#include <config.h>
#include "nautilus-drag.h"
+#include "nautilus-link.h"
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gtk/gtkmain.h>
+#include <libgnome/gnome-i18n.h>
+#include <libgnomeui/gnome-popup-menu.h>
+#include <libgnomeui/gnome-uidefs.h>
#include <libgnomevfs/gnome-vfs-find-directory.h>
+#include <libgnomevfs/gnome-vfs-ops.h>
#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
-#include <libgnomevfs/gnome-vfs-ops.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <libgnomeui/gnome-uidefs.h>
-#include <libgnomeui/gnome-popup-menu.h>
-#include <libgnome/gnome-i18n.h>
#include <stdio.h>
#include <string.h>
-#include <gtk/gtkmain.h>
-
-#include <eel/eel-glib-extensions.h>
-#include "nautilus-link.h"
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-string.h>
#define NAUTILUS_COMMAND_SPECIFIER "command:"
@@ -225,7 +224,7 @@ nautilus_drag_items_in_trash (const GList *selection_list)
* we should really test each item but that would be slow for large selections
* and currently dropped items can only be from the same container
*/
- return nautilus_uri_is_in_trash (((DragSelectionItem *)selection_list->data)->uri);
+ return eel_uri_is_in_trash (((DragSelectionItem *)selection_list->data)->uri);
}
gboolean
@@ -314,7 +313,7 @@ nautilus_drag_default_drop_action_for_icons (GdkDragContext *context,
}
/* Check for trash URI. We do a find_directory for any Trash directory. */
- if (nautilus_uri_is_trash (target_uri_string)) {
+ if (eel_uri_is_trash (target_uri_string)) {
result = gnome_vfs_find_directory (NULL, GNOME_VFS_DIRECTORY_KIND_TRASH,
&target_uri, FALSE, FALSE, 0777);
if (result != GNOME_VFS_OK) {
diff --git a/libnautilus-extensions/nautilus-file-operations.c b/libnautilus-extensions/nautilus-file-operations.c
index df0b46da5..3f9afe920 100644
--- a/libnautilus-extensions/nautilus-file-operations.c
+++ b/libnautilus-extensions/nautilus-file-operations.c
@@ -34,6 +34,8 @@
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-vfs-extensions.h>
+
#include <gnome.h>
#include <gtk/gtklabel.h>
#include <libgnomevfs/gnome-vfs-async-ops.h>
@@ -43,10 +45,9 @@
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <libnautilus-extensions/nautilus-file-changes-queue.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-link.h>
-#include <libnautilus-extensions/nautilus-trash-monitor.h>
+#include "nautilus-global-preferences.h"
+#include "nautilus-link.h"
+#include "nautilus-trash-monitor.h"
typedef enum {
TRANSFER_MOVE,
@@ -247,7 +248,7 @@ format_and_ellipsize_uri_for_dialog (const char *uri)
{
char *unescaped, *result;
- unescaped = nautilus_format_uri_for_display (uri);
+ unescaped = eel_format_uri_for_display (uri);
result = ellipsize_string_for_dialog (unescaped);
g_free (unescaped);
@@ -1726,7 +1727,7 @@ nautilus_file_operations_copy_move (const GList *item_uris,
move_options = GNOME_VFS_XFER_RECURSIVE;
if (target_dir != NULL) {
- if (nautilus_uri_is_trash (target_dir)) {
+ if (eel_uri_is_trash (target_dir)) {
target_is_trash = TRUE;
} else {
target_dir_uri = gnome_vfs_uri_new (target_dir);
diff --git a/libnautilus-extensions/nautilus-file-utilities.c b/libnautilus-extensions/nautilus-file-utilities.c
index d93f8a75a..e63df3514 100644
--- a/libnautilus-extensions/nautilus-file-utilities.c
+++ b/libnautilus-extensions/nautilus-file-utilities.c
@@ -56,794 +56,6 @@
#define NAUTILUS_USER_MAIN_DIRECTORY_NAME "Nautilus"
-#define READ_CHUNK_SIZE 8192
-
-struct NautilusReadFileHandle {
- GnomeVFSAsyncHandle *handle;
- NautilusReadFileCallback callback;
- NautilusReadMoreCallback read_more_callback;
- gpointer callback_data;
- gboolean is_open;
- char *buffer;
- GnomeVFSFileSize bytes_read;
-};
-
-#undef PTHREAD_ASYNC_READ
-
-#ifndef PTHREAD_ASYNC_READ
-static void read_file_read_chunk (NautilusReadFileHandle *handle);
-#endif
-
-/**
- * nautilus_format_uri_for_display:
- *
- * Filter, modify, unescape and change URIs to make them appropriate
- * to display to users.
- *
- * Rules:
- * file: URI's without fragments should appear as local paths
- * file: URI's with fragments should appear as file: URI's
- * All other URI's appear as expected
- *
- * @uri: a URI
- *
- * returns a g_malloc'd string
- **/
-char *
-nautilus_format_uri_for_display (const char *uri)
-{
- char *canonical_uri, *path;
-
- g_return_val_if_fail (uri != NULL, g_strdup (""));
-
- canonical_uri = nautilus_make_uri_canonical (uri);
-
- /* If there's no fragment and it's a local path. */
- path = gnome_vfs_get_local_path_from_uri (canonical_uri);
- if (path != NULL) {
- g_free (canonical_uri);
- return path;
- }
-
- g_free (path);
- return canonical_uri;
-}
-
-static gboolean
-is_valid_scheme_character (char c)
-{
- return isalnum ((guchar) c) || c == '+' || c == '-' || c == '.';
-}
-
-static gboolean
-has_valid_scheme (const char *uri)
-{
- const char *p;
-
- p = uri;
-
- if (!is_valid_scheme_character (*p)) {
- return FALSE;
- }
-
- do {
- p++;
- } while (is_valid_scheme_character (*p));
-
- return *p == ':';
-}
-
-/**
- * nautilus_make_uri_from_input:
- *
- * Takes a user input path/URI and makes a valid URI
- * out of it
- *
- * @location: a possibly mangled "uri"
- *
- * returns a newly allocated uri
- *
- **/
-char *
-nautilus_make_uri_from_input (const char *location)
-{
- char *stripped, *path, *uri;
-
- g_return_val_if_fail (location != NULL, g_strdup (""));
-
- /* Strip off leading and trailing spaces.
- * This makes copy/paste of URIs less error-prone.
- */
- stripped = g_strstrip (g_strdup (location));
-
- switch (stripped[0]) {
- case '\0':
- uri = g_strdup ("");
- break;
- case '/':
- uri = gnome_vfs_get_uri_from_local_path (stripped);
- break;
- case '~':
- path = gnome_vfs_expand_initial_tilde (stripped);
- /* deliberately falling into default case on fail */
- if (*path == '/') {
- uri = gnome_vfs_get_uri_from_local_path (path);
- g_free (path);
- break;
- }
- g_free (path);
- /* don't insert break here, read above comment */
- default:
- if (has_valid_scheme (stripped)) {
- uri = g_strdup (stripped);
- } else {
- uri = g_strconcat ("http://", stripped, NULL);
- }
- }
-
- g_free (stripped);
-
- return uri;
-}
-
-/* Note that NULL's and full paths are also handled by this function.
- * A NULL location will return the current working directory
- */
-static char *
-file_uri_from_local_relative_path (const char *location)
-{
- char *current_dir;
- char *base_uri, *base_uri_slash;
- char *location_escaped;
- char *uri;
-
- current_dir = g_get_current_dir ();
- base_uri = gnome_vfs_get_uri_from_local_path (current_dir);
- /* g_get_current_dir returns w/o trailing / */
- base_uri_slash = g_strconcat (base_uri, "/", NULL);
-
- location_escaped = gnome_vfs_escape_path_string (location);
-
- uri = nautilus_uri_make_full_from_relative (base_uri_slash, location_escaped);
-
- g_free (location_escaped);
- g_free (base_uri_slash);
- g_free (base_uri);
- g_free (current_dir);
-
- return uri;
-}
-
-/**
- * nautilus_make_uri_from_shell_arg:
- *
- * Similar to nautilus_make_uri_from_input, except that:
- *
- * 1) guesses relative paths instead of http domains
- * 2) doesn't bother stripping leading/trailing white space
- * 3) doesn't bother with ~ expansion--that's done by the shell
- *
- * @location: a possibly mangled "uri"
- *
- * returns a newly allocated uri
- *
- **/
-char *
-nautilus_make_uri_from_shell_arg (const char *location)
-{
- char *uri;
-
- g_return_val_if_fail (location != NULL, g_strdup (""));
-
- switch (location[0]) {
- case '\0':
- uri = g_strdup ("");
- break;
- case '/':
- uri = gnome_vfs_get_uri_from_local_path (location);
- break;
- default:
- if (has_valid_scheme (location)) {
- uri = g_strdup (location);
- } else {
- uri = file_uri_from_local_relative_path (location);
- }
- }
-
- return uri;
-}
-
-char *
-nautilus_uri_get_basename (const char *uri)
-{
- GnomeVFSURI *vfs_uri;
- char *name;
-
- /* Make VFS version of URI. */
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return NULL;
- }
-
- /* Extract name part. */
- name = gnome_vfs_uri_extract_short_name (vfs_uri);
- gnome_vfs_uri_unref (vfs_uri);
-
- return name;
-}
-
-char *
-nautilus_uri_get_scheme (const char *uri)
-{
- char *colon;
-
- g_return_val_if_fail (uri != NULL, NULL);
-
- colon = strchr (uri, ':');
-
- if (colon == NULL) {
- return NULL;
- }
-
- return g_strndup (uri, colon - uri);
-}
-
-
-static gboolean
-is_uri_partial (const char *uri)
-{
- const char *current;
-
- /* RFC 2396 section 3.1 */
- for (current = uri ;
- *current
- && ((*current >= 'a' && *current <= 'z')
- || (*current >= 'A' && *current <= 'Z')
- || (*current >= '0' && *current <= '9')
- || ('-' == *current)
- || ('+' == *current)
- || ('.' == *current)) ;
- current++);
-
- return !(':' == *current);
-}
-
-/*
- * Remove "./" segments
- * Compact "../" segments inside the URI
- * Remove "." at the end of the URL
- * Leave any ".."'s at the beginning of the URI
- */
-
-/*
- * FIXME this is not the simplest or most time-efficent way
- * to do this. Probably a far more clear way of doing this processing
- * is to split the path into segments, rather than doing the processing
- * in place.
- */
-static void
-remove_internal_relative_components (char *uri_current)
-{
- char *segment_prev, *segment_cur;
- size_t len_prev, len_cur;
-
- len_prev = len_cur = 0;
- segment_prev = NULL;
-
- g_return_if_fail (uri_current != NULL);
-
- segment_cur = uri_current;
-
- while (*segment_cur) {
- len_cur = strcspn (segment_cur, "/");
-
- if (len_cur == 1 && segment_cur[0] == '.') {
- /* Remove "." 's */
- if (segment_cur[1] == '\0') {
- segment_cur[0] = '\0';
- break;
- } else {
- memmove (segment_cur, segment_cur + 2, strlen (segment_cur + 2) + 1);
- continue;
- }
- } else if (len_cur == 2 && segment_cur[0] == '.' && segment_cur[1] == '.' ) {
- /* Remove ".."'s (and the component to the left of it) that aren't at the
- * beginning or to the right of other ..'s
- */
- if (segment_prev) {
- if (! (len_prev == 2
- && segment_prev[0] == '.'
- && segment_prev[1] == '.')) {
- if (segment_cur[2] == '\0') {
- segment_prev[0] = '\0';
- break;
- } else {
- memmove (segment_prev, segment_cur + 3, strlen (segment_cur + 3) + 1);
-
- segment_cur = segment_prev;
- len_cur = len_prev;
-
- /* now we find the previous segment_prev */
- if (segment_prev == uri_current) {
- segment_prev = NULL;
- } else if (segment_prev - uri_current >= 2) {
- segment_prev -= 2;
- for ( ; segment_prev > uri_current && segment_prev[0] != '/'
- ; segment_prev-- );
- if (segment_prev[0] == '/') {
- segment_prev++;
- }
- }
- continue;
- }
- }
- }
- }
-
- /*Forward to next segment */
-
- if (segment_cur [len_cur] == '\0') {
- break;
- }
-
- segment_prev = segment_cur;
- len_prev = len_cur;
- segment_cur += len_cur + 1;
- }
-}
-
-
-/**
- * nautilus_uri_make_full_from_relative:
- *
- * Returns a full URI given a full base URI, and a secondary URI which may
- * be relative.
- *
- * Return value: the URI (NULL for some bad errors).
- *
- * FIXME: This code has been copied from nautilus-mozilla-content-view
- * because nautilus-mozilla-content-view cannot link with libnautilus-extensions
- * due to lame license issues. Really, this belongs in gnome-vfs, but was added
- * after the Gnome 1.4 gnome-vfs API freeze
- **/
-
-char *
-nautilus_uri_make_full_from_relative (const char *base_uri, const char *relative_uri)
-{
- char *result = NULL;
-
- /* See section 5.2 in RFC 2396 */
-
- if (base_uri == NULL && relative_uri == NULL) {
- result = NULL;
- } else if (base_uri == NULL) {
- result = g_strdup (relative_uri);
- } else if (relative_uri == NULL) {
- result = g_strdup (base_uri);
- } else if (!is_uri_partial (relative_uri)) {
- result = g_strdup (relative_uri);
- } else {
- char *mutable_base_uri;
- char *mutable_uri;
-
- char *uri_current;
- size_t base_uri_length;
- char *separator;
-
- mutable_base_uri = g_strdup (base_uri);
- uri_current = mutable_uri = g_strdup (relative_uri);
-
- /* Chew off Fragment and Query from the base_url */
-
- separator = strrchr (mutable_base_uri, '#');
-
- if (separator) {
- *separator = '\0';
- }
-
- separator = strrchr (mutable_base_uri, '?');
-
- if (separator) {
- *separator = '\0';
- }
-
- if ('/' == uri_current[0] && '/' == uri_current [1]) {
- /* Relative URI's beginning with the authority
- * component inherit only the scheme from their parents
- */
-
- separator = strchr (mutable_base_uri, ':');
-
- if (separator) {
- separator[1] = '\0';
- }
- } else if ('/' == uri_current[0]) {
- /* Relative URI's beginning with '/' absolute-path based
- * at the root of the base uri
- */
-
- separator = strchr (mutable_base_uri, ':');
-
- /* g_assert (separator), really */
- if (separator) {
- /* If we start with //, skip past the authority section */
- if ('/' == separator[1] && '/' == separator[2]) {
- separator = strchr (separator + 3, '/');
- if (separator) {
- separator[0] = '\0';
- }
- } else {
- /* If there's no //, just assume the scheme is the root */
- separator[1] = '\0';
- }
- }
- } else if ('#' != uri_current[0]) {
- /* Handle the ".." convention for relative uri's */
-
- /* If there's a trailing '/' on base_url, treat base_url
- * as a directory path.
- * Otherwise, treat it as a file path, and chop off the filename
- */
-
- base_uri_length = strlen (mutable_base_uri);
- if ('/' == mutable_base_uri[base_uri_length-1]) {
- /* Trim off '/' for the operation below */
- mutable_base_uri[base_uri_length-1] = 0;
- } else {
- separator = strrchr (mutable_base_uri, '/');
- if (separator) {
- *separator = '\0';
- }
- }
-
- remove_internal_relative_components (uri_current);
-
- /* handle the "../"'s at the beginning of the relative URI */
- while (0 == strncmp ("../", uri_current, 3)) {
- uri_current += 3;
- separator = strrchr (mutable_base_uri, '/');
- if (separator) {
- *separator = '\0';
- } else {
- /* <shrug> */
- break;
- }
- }
-
- /* handle a ".." at the end */
- if (uri_current[0] == '.' && uri_current[1] == '.'
- && uri_current[2] == '\0') {
-
- uri_current += 2;
- separator = strrchr (mutable_base_uri, '/');
- if (separator) {
- *separator = '\0';
- }
- }
-
- /* Re-append the '/' */
- mutable_base_uri [strlen(mutable_base_uri)+1] = '\0';
- mutable_base_uri [strlen(mutable_base_uri)] = '/';
- }
-
- result = g_strconcat (mutable_base_uri, uri_current, NULL);
- g_free (mutable_base_uri);
- g_free (mutable_uri);
- }
-
- return result;
-}
-
-
-gboolean
-nautilus_uri_is_trash (const char *uri)
-{
- return eel_istr_has_prefix (uri, "trash:")
- || eel_istr_has_prefix (uri, "gnome-trash:");
-}
-
-gboolean
-nautilus_uri_is_trash_folder (const char *uri)
-{
- GnomeVFSURI *vfs_uri, *trash_vfs_uri;
- gboolean result;
-
- /* Use a check for the actual trash first so that the trash
- * itself will be "in trash". There are fancier ways to do
- * this, but lets start with this.
- */
- if (nautilus_uri_is_trash (uri)) {
- return TRUE;
- }
-
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return FALSE;
- }
-
- result = gnome_vfs_find_directory
- (vfs_uri, GNOME_VFS_DIRECTORY_KIND_TRASH,
- &trash_vfs_uri, FALSE, FALSE, 0777) == GNOME_VFS_OK;
-
- if (result) {
- result = gnome_vfs_uri_equal (trash_vfs_uri, vfs_uri);
- gnome_vfs_uri_unref (trash_vfs_uri);
- }
-
- gnome_vfs_uri_unref (vfs_uri);
-
- return result;
-}
-
-
-gboolean
-nautilus_uri_is_in_trash (const char *uri)
-{
- GnomeVFSURI *vfs_uri, *trash_vfs_uri;
- gboolean result;
-
- /* Use a check for the actual trash first so that the trash
- * itself will be "in trash". There are fancier ways to do
- * this, but lets start with this.
- */
- if (nautilus_uri_is_trash (uri)) {
- return TRUE;
- }
-
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return FALSE;
- }
-
- result = gnome_vfs_find_directory
- (vfs_uri, GNOME_VFS_DIRECTORY_KIND_TRASH,
- &trash_vfs_uri, FALSE, FALSE, 0777) == GNOME_VFS_OK;
-
- if (result) {
- result = gnome_vfs_uri_equal (trash_vfs_uri, vfs_uri)
- || gnome_vfs_uri_is_parent (trash_vfs_uri, vfs_uri, TRUE);
- gnome_vfs_uri_unref (trash_vfs_uri);
- }
-
- gnome_vfs_uri_unref (vfs_uri);
-
- return result;
-}
-
-
-static gboolean
-nautilus_uri_is_local_scheme (const char *uri)
-{
- gboolean is_local_scheme;
- char *temp_scheme;
- int i;
- char *local_schemes[] = {"file:", "help:", "ghelp:", "gnome-help:",
- "trash:", "man:", "info:",
- "hardware:", "search:", "pipe:",
- "gnome-trash:", NULL};
-
- is_local_scheme = FALSE;
- for (temp_scheme = *local_schemes, i = 0; temp_scheme != NULL; i++, temp_scheme = local_schemes[i]) {
- is_local_scheme = eel_istr_has_prefix (uri, temp_scheme);
- if (is_local_scheme) {
- break;
- }
- }
-
-
- return is_local_scheme;
-}
-
-static char *
-nautilus_handle_trailing_slashes (const char *uri)
-{
- char *temp, *uri_copy;
- gboolean previous_char_is_column, previous_chars_are_slashes_without_column;
- gboolean previous_chars_are_slashes_with_column;
- gboolean is_local_scheme;
-
- g_assert (uri != NULL);
-
- uri_copy = g_strdup (uri);
- if (strlen (uri_copy) <= 2) {
- return uri_copy;
- }
-
- is_local_scheme = nautilus_uri_is_local_scheme (uri);
-
- previous_char_is_column = FALSE;
- previous_chars_are_slashes_without_column = FALSE;
- previous_chars_are_slashes_with_column = FALSE;
-
- /* remove multiple trailing slashes */
- for (temp = uri_copy; *temp != '\0'; temp++) {
- if (*temp == '/' && !previous_char_is_column) {
- previous_chars_are_slashes_without_column = TRUE;
- } else if (*temp == '/' && previous_char_is_column) {
- previous_chars_are_slashes_without_column = FALSE;
- previous_char_is_column = TRUE;
- previous_chars_are_slashes_with_column = TRUE;
- } else {
- previous_chars_are_slashes_without_column = FALSE;
- previous_char_is_column = FALSE;
- previous_chars_are_slashes_with_column = FALSE;
- }
-
- if (*temp == ':') {
- previous_char_is_column = TRUE;
- }
- }
-
- if (*temp == '\0' && previous_chars_are_slashes_without_column) {
- if (is_local_scheme) {
- /* go back till you remove them all. */
- for (temp--; *(temp) == '/'; temp--) {
- *temp = '\0';
- }
- } else {
- /* go back till you remove them all but one. */
- for (temp--; *(temp - 1) == '/'; temp--) {
- *temp = '\0';
- }
- }
- }
-
- if (*temp == '\0' && previous_chars_are_slashes_with_column) {
- /* go back till you remove them all but three. */
- for (temp--; *(temp - 3) != ':' && *(temp - 2) != ':' && *(temp - 1) != ':'; temp--) {
- *temp = '\0';
- }
- }
-
-
- return uri_copy;
-}
-
-char *
-nautilus_make_uri_canonical (const char *uri)
-{
- char *canonical_uri, *old_uri, *p;
- gboolean relative_uri;
-
- relative_uri = FALSE;
-
- if (uri == NULL) {
- return NULL;
- }
-
- /* Convert "gnome-trash:<anything>" and "trash:<anything>" to
- * "trash:".
- */
- if (nautilus_uri_is_trash (uri)) {
- return g_strdup (NAUTILUS_TRASH_URI);
- }
-
- /* FIXME bugzilla.eazel.com 648:
- * This currently ignores the issue of two uris that are not identical but point
- * to the same data except for the specific cases of trailing '/' characters,
- * file:/ and file:///, and "lack of file:".
- */
-
- canonical_uri = nautilus_handle_trailing_slashes (uri);
-
- /* Note: In some cases, a trailing slash means nothing, and can
- * be considered equivalent to no trailing slash. But this is
- * not true in every case; specifically not for web addresses passed
- * to a web-browser. So we don't have the trailing-slash-equivalence
- * logic here, but we do use that logic in NautilusDirectory where
- * the rules are more strict.
- */
-
- /* Add file: if there is no scheme. */
- if (strchr (canonical_uri, ':') == NULL) {
- old_uri = canonical_uri;
-
- if (old_uri[0] != '/') {
- /* FIXME bugzilla.eazel.com 5069:
- * bandaid alert. Is this really the right thing to do?
- *
- * We got what really is a relative path. We do a little bit of
- * a stretch here and assume it was meant to be a cryptic absolute path,
- * and convert it to one. Since we can't call gnome_vfs_uri_new and
- * gnome_vfs_uri_to_string to do the right make-canonical conversion,
- * we have to do it ourselves.
- */
- relative_uri = TRUE;
- canonical_uri = gnome_vfs_make_path_name_canonical (old_uri);
- g_free (old_uri);
- old_uri = canonical_uri;
- canonical_uri = g_strconcat ("file:///", old_uri, NULL);
- } else {
- canonical_uri = g_strconcat ("file:", old_uri, NULL);
- }
- g_free (old_uri);
- }
-
- /* Lower-case the scheme. */
- for (p = canonical_uri; *p != ':'; p++) {
- g_assert (*p != '\0');
- if (isupper (*p)) {
- *p = tolower (*p);
- }
- }
-
- if (!relative_uri) {
- old_uri = canonical_uri;
- canonical_uri = gnome_vfs_make_uri_canonical (canonical_uri);
- if (canonical_uri != NULL) {
- g_free (old_uri);
- } else {
- canonical_uri = old_uri;
- }
- }
-
- /* FIXME bugzilla.eazel.com 2802:
- * Work around gnome-vfs's desire to convert file:foo into file://foo
- * by converting to file:///foo here. When you remove this, check that
- * typing "foo" into location bar does not crash and returns an error
- * rather than displaying the contents of /
- */
- if (eel_str_has_prefix (canonical_uri, "file://")
- && !eel_str_has_prefix (canonical_uri, "file:///")) {
- old_uri = canonical_uri;
- canonical_uri = g_strconcat ("file:/", old_uri + 5, NULL);
- g_free (old_uri);
- }
-
- return canonical_uri;
-}
-
-char *
-nautilus_make_uri_canonical_strip_fragment (const char *uri)
-{
- const char *fragment;
- char *without_fragment, *canonical;
-
- fragment = strchr (uri, '#');
- if (fragment == NULL) {
- return nautilus_make_uri_canonical (uri);
- }
-
- without_fragment = g_strndup (uri, fragment - uri);
- canonical = nautilus_make_uri_canonical (without_fragment);
- g_free (without_fragment);
- return canonical;
-}
-
-static gboolean
-uris_match (const char *uri_1, const char *uri_2, gboolean ignore_fragments)
-{
- char *canonical_1, *canonical_2;
- gboolean result;
-
- if (ignore_fragments) {
- canonical_1 = nautilus_make_uri_canonical_strip_fragment (uri_1);
- canonical_2 = nautilus_make_uri_canonical_strip_fragment (uri_2);
- } else {
- canonical_1 = nautilus_make_uri_canonical (uri_1);
- canonical_2 = nautilus_make_uri_canonical (uri_2);
- }
-
- result = eel_str_is_equal (canonical_1, canonical_2);
-
- g_free (canonical_1);
- g_free (canonical_2);
-
- return result;
-}
-
-gboolean
-nautilus_uris_match (const char *uri_1, const char *uri_2)
-{
- return uris_match (uri_1, uri_2, FALSE);
-}
-
-gboolean
-nautilus_uris_match_ignore_fragments (const char *uri_1, const char *uri_2)
-{
- return uris_match (uri_1, uri_2, TRUE);
-}
-
gboolean
nautilus_file_name_matches_hidden_pattern (const char *name_or_relative_uri)
{
@@ -1046,20 +258,6 @@ nautilus_get_pixmap_directory (void)
return g_strdup (DATADIR "/pixmaps/nautilus");
}
-/* convenience routine to use gnome-vfs to test if a string is a remote uri */
-gboolean
-nautilus_is_remote_uri (const char *uri)
-{
- gboolean is_local;
- GnomeVFSURI *vfs_uri;
-
- vfs_uri = gnome_vfs_uri_new (uri);
- is_local = gnome_vfs_uri_is_local (vfs_uri);
- gnome_vfs_uri_unref(vfs_uri);
- return !is_local;
-}
-
-
/* FIXME bugzilla.eazel.com 2423:
* Callers just use this and dereference so we core dump if
* pixmaps are missing. That is lame.
@@ -1086,571 +284,6 @@ nautilus_pixmap_file (const char *partial_path)
return NULL;
}
-GnomeVFSResult
-nautilus_read_entire_file (const char *uri,
- int *file_size,
- char **file_contents)
-{
- GnomeVFSResult result;
- GnomeVFSHandle *handle;
- char *buffer;
- GnomeVFSFileSize total_bytes_read;
- GnomeVFSFileSize bytes_read;
-
- *file_size = 0;
- *file_contents = NULL;
-
- /* Open the file. */
- result = gnome_vfs_open (&handle, uri, GNOME_VFS_OPEN_READ);
- if (result != GNOME_VFS_OK) {
- return result;
- }
-
- /* Read the whole thing. */
- buffer = NULL;
- total_bytes_read = 0;
- do {
- buffer = g_realloc (buffer, total_bytes_read + READ_CHUNK_SIZE);
- result = gnome_vfs_read (handle,
- buffer + total_bytes_read,
- READ_CHUNK_SIZE,
- &bytes_read);
- if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_EOF) {
- g_free (buffer);
- gnome_vfs_close (handle);
- return result;
- }
-
- /* Check for overflow. */
- if (total_bytes_read + bytes_read < total_bytes_read) {
- g_free (buffer);
- gnome_vfs_close (handle);
- return GNOME_VFS_ERROR_TOO_BIG;
- }
-
- total_bytes_read += bytes_read;
- } while (result == GNOME_VFS_OK);
-
- /* Close the file. */
- result = gnome_vfs_close (handle);
- if (result != GNOME_VFS_OK) {
- g_free (buffer);
- return result;
- }
-
- /* Return the file. */
- *file_size = total_bytes_read;
- *file_contents = g_realloc (buffer, total_bytes_read);
- return GNOME_VFS_OK;
-}
-
-#ifndef PTHREAD_ASYNC_READ
-/* When close is complete, there's no more work to do. */
-static void
-read_file_close_callback (GnomeVFSAsyncHandle *handle,
- GnomeVFSResult result,
- gpointer callback_data)
-{
-}
-
-/* Do a close if it's needed.
- * Be sure to get this right, or we have extra threads hanging around.
- */
-static void
-read_file_close (NautilusReadFileHandle *read_handle)
-{
- if (read_handle->is_open) {
- gnome_vfs_async_close (read_handle->handle,
- read_file_close_callback,
- NULL);
- read_handle->is_open = FALSE;
- }
-}
-
-/* Close the file and then tell the caller we succeeded, handing off
- * the buffer to the caller.
- */
-static void
-read_file_succeeded (NautilusReadFileHandle *read_handle)
-{
- read_file_close (read_handle);
-
- /* Reallocate the buffer to the exact size since it might be
- * around for a while.
- */
- (* read_handle->callback) (GNOME_VFS_OK,
- read_handle->bytes_read,
- g_realloc (read_handle->buffer,
- read_handle->bytes_read),
- read_handle->callback_data);
-
- g_free (read_handle);
-}
-
-/* Tell the caller we failed. */
-static void
-read_file_failed (NautilusReadFileHandle *read_handle, GnomeVFSResult result)
-{
- read_file_close (read_handle);
- g_free (read_handle->buffer);
-
- (* read_handle->callback) (result, 0, NULL, read_handle->callback_data);
- g_free (read_handle);
-}
-
-/* A read is complete, so we might or might not be done. */
-static void
-read_file_read_callback (GnomeVFSAsyncHandle *handle,
- GnomeVFSResult result,
- gpointer buffer,
- GnomeVFSFileSize bytes_requested,
- GnomeVFSFileSize bytes_read,
- gpointer callback_data)
-{
- NautilusReadFileHandle *read_handle;
- gboolean read_more;
-
- /* Do a few reality checks. */
- g_assert (bytes_requested == READ_CHUNK_SIZE);
- read_handle = callback_data;
- g_assert (read_handle->handle == handle);
- g_assert (read_handle->buffer + read_handle->bytes_read == buffer);
- g_assert (bytes_read <= bytes_requested);
-
- /* Check for a failure. */
- if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_EOF) {
- read_file_failed (read_handle, result);
- return;
- }
-
- /* Check for the extremely unlikely case where the file size overflows. */
- if (read_handle->bytes_read + bytes_read < read_handle->bytes_read) {
- read_file_failed (read_handle, GNOME_VFS_ERROR_TOO_BIG);
- return;
- }
-
- /* Bump the size. */
- read_handle->bytes_read += bytes_read;
-
- /* Read more unless we are at the end of the file. */
- if (bytes_read == 0 || result != GNOME_VFS_OK) {
- read_more = FALSE;
- } else {
- if (read_handle->read_more_callback == NULL) {
- read_more = TRUE;
- } else {
- read_more = (* read_handle->read_more_callback)
- (read_handle->bytes_read,
- read_handle->buffer,
- read_handle->callback_data);
- }
- }
- if (read_more) {
- read_file_read_chunk (read_handle);
- return;
- }
-
- /* If at the end of the file, we win! */
- read_file_succeeded (read_handle);
-}
-
-/* Start reading a chunk. */
-static void
-read_file_read_chunk (NautilusReadFileHandle *handle)
-{
- handle->buffer = g_realloc (handle->buffer, handle->bytes_read + READ_CHUNK_SIZE);
- gnome_vfs_async_read (handle->handle,
- handle->buffer + handle->bytes_read,
- READ_CHUNK_SIZE,
- read_file_read_callback,
- handle);
-}
-
-/* Once the open is finished, read a first chunk. */
-static void
-read_file_open_callback (GnomeVFSAsyncHandle *handle,
- GnomeVFSResult result,
- gpointer callback_data)
-{
- NautilusReadFileHandle *read_handle;
-
- read_handle = callback_data;
- g_assert (read_handle->handle == handle);
-
- /* Handle the failure case. */
- if (result != GNOME_VFS_OK) {
- read_file_failed (read_handle, result);
- return;
- }
-
- /* Handle success by reading the first chunk. */
- read_handle->is_open = TRUE;
- read_file_read_chunk (read_handle);
-}
-
-#else
-
-typedef struct {
- NautilusReadFileCallback callback;
- NautilusReadMoreCallback more_callback;
- gpointer callback_data;
- pthread_mutex_t *callback_result_ready_semaphore;
- gboolean synch_callback_result;
-
- GnomeVFSResult result;
- GnomeVFSFileSize file_size;
- char *buffer;
-} NautilusAsyncReadFileCallbackData;
-
-static int
-pthread_nautilus_read_file_callback_idle_binder (void *cast_to_context)
-{
- NautilusAsyncReadFileCallbackData *context;
-
- context = (NautilusAsyncReadFileCallbackData *)cast_to_context;
-
- if (context->more_callback) {
- g_assert (context->callback_result_ready_semaphore != NULL);
- /* Synchronous callback flavor, wait for the return value. */
- context->synch_callback_result = (* context->more_callback) (context->file_size,
- context->buffer, context->callback_data);
- /* Got the result, release the master thread */
- pthread_mutex_unlock (context->callback_result_ready_semaphore);
- } else {
- /* Asynchronous callback flavor, don't wait for the result. */
- (* context->callback) (context->result, context->file_size,
- context->buffer, context->callback_data);
-
- /* We assume ownership of data here in the async call and have to
- * free it.
- */
- g_free (context);
- }
-
- return FALSE;
-}
-
-static gboolean
-pthread_nautilus_read_file_callback_common (NautilusReadFileCallback callback,
- NautilusReadMoreCallback more_callback, gpointer callback_data,
- GnomeVFSResult error, GnomeVFSFileSize file_size,
- char *buffer, pthread_mutex_t *callback_result_ready_semaphore)
-{
- NautilusAsyncReadFileCallbackData *data;
- gboolean result;
-
- g_assert ((callback == NULL) != (more_callback == NULL));
- g_assert ((more_callback != NULL) == (callback_result_ready_semaphore != NULL));
-
- result = FALSE;
- data = g_new0 (NautilusAsyncReadFileCallbackData, 1);
- data->callback = callback;
- data->more_callback = more_callback;
- data->callback_data = callback_data;
- data->callback_result_ready_semaphore = callback_result_ready_semaphore;
- data->result = error;
- data->file_size = file_size;
- data->buffer = buffer;
-
- /* Set up the callback to get called in the main thread. */
- g_idle_add (pthread_nautilus_read_file_callback_idle_binder, data);
-
- if (callback_result_ready_semaphore != NULL) {
- /* Block until callback deposits the return value. This is not optimal but we do it
- * to emulate the nautilus_read_file_async call behavior.
- */
- pthread_mutex_lock (callback_result_ready_semaphore);
- result = data->synch_callback_result;
-
- /* In the synch call we still own data here and need to free it. */
- g_free (data);
-
- }
-
- return result;
-}
-
-static gboolean
-pthread_nautilus_read_file_synchronous_callback (NautilusReadMoreCallback callback,
- gpointer callback_data, GnomeVFSFileSize file_size,
- char *buffer, pthread_mutex_t *callback_result_ready_semaphore)
-{
- return pthread_nautilus_read_file_callback_common(NULL, callback,
- callback_data, GNOME_VFS_OK, file_size, buffer, callback_result_ready_semaphore);
-}
-
-static void
-pthread_nautilus_read_file_asynchronous_callback (NautilusReadFileCallback callback,
- gpointer callback_data, GnomeVFSResult result, GnomeVFSFileSize file_size,
- char *buffer)
-{
- pthread_nautilus_read_file_callback_common(callback, NULL,
- callback_data, result, file_size, buffer, NULL);
-}
-
-typedef struct {
- NautilusReadFileHandle handle;
- char *uri;
- volatile gboolean cancel_requested;
- /* Expose the synch callback semaphore to allow the cancel call to unlock it. */
- pthread_mutex_t *callback_result_ready_semaphore;
-} NautilusAsyncReadFileData;
-
-static void *
-pthread_nautilus_read_file_thread_entry (void *cast_to_data)
-{
- NautilusAsyncReadFileData *data;
- GnomeVFSResult result;
- char *buffer;
- GnomeVFSFileSize total_bytes_read;
- GnomeVFSFileSize bytes_read;
- pthread_mutex_t callback_result_ready_semaphore;
-
- data = (NautilusAsyncReadFileData *)cast_to_data;
- buffer = NULL;
- total_bytes_read = 0;
-
- result = gnome_vfs_open ((GnomeVFSHandle **)&data->handle.handle, data->uri, GNOME_VFS_OPEN_READ);
- if (result == GNOME_VFS_OK) {
-
- if (data->handle.read_more_callback != NULL) {
- /* read_more_callback is a synchronous callback, allocate a semaphore
- * to provide for synchoronization with the callback.
- * We are using the default mutex attributes that give us a fast mutex
- * that behaves like a semaphore.
- */
- pthread_mutex_init (&callback_result_ready_semaphore, NULL);
- /* Grab the semaphore -- the next lock will block us and
- * we will need the callback to unblock the semaphore.
- */
- pthread_mutex_lock (&callback_result_ready_semaphore);
- data->callback_result_ready_semaphore = &callback_result_ready_semaphore;
- }
- for (;;) {
- if (data->cancel_requested) {
- /* Cancelled by the master. */
- result = GNOME_VFS_ERROR_INTERRUPTED;
- break;
- }
-
- buffer = g_realloc (buffer, total_bytes_read + READ_CHUNK_SIZE);
- /* FIXME bugzilla.eazel.com 5070:
- * For a better cancellation granularity we should use gnome_vfs_read_cancellable
- * here, adding a GnomeVFSContext to NautilusAsyncReadFileData.
- */
- result = gnome_vfs_read ((GnomeVFSHandle *)data->handle.handle, buffer + total_bytes_read,
- READ_CHUNK_SIZE, &bytes_read);
-
- total_bytes_read += bytes_read;
-
- if (data->cancel_requested) {
- /* Cancelled by the master. */
- result = GNOME_VFS_ERROR_INTERRUPTED;
- break;
- }
-
- if (result != GNOME_VFS_OK) {
- if (result == GNOME_VFS_ERROR_EOF) {
- /* not really an error, just done reading */
- result = GNOME_VFS_OK;
- }
- break;
- }
-
- if (data->handle.read_more_callback != NULL
- && !pthread_nautilus_read_file_synchronous_callback (data->handle.read_more_callback,
- data->handle.callback_data, total_bytes_read, buffer,
- &callback_result_ready_semaphore)) {
- /* callback doesn't want any more data */
- break;
- }
-
- }
- gnome_vfs_close ((GnomeVFSHandle *)data->handle.handle);
- }
-
- if (result != GNOME_VFS_OK) {
- /* Because of the error or cancellation, nobody will take the data we read,
- * delete the buffer here instead.
- */
- g_free (buffer);
- buffer = NULL;
- total_bytes_read = 0;
- }
-
- /* Call the final callback.
- * If everything is OK, pass in the data read.
- * We are handing off the read buffer -- trim it to the actual size we need first
- * so that it doesn't take up more space than needed.
- */
- pthread_nautilus_read_file_asynchronous_callback(data->handle.callback,
- data->handle.callback_data, result, total_bytes_read,
- g_realloc (buffer, total_bytes_read));
-
- if (data->handle.read_more_callback != NULL) {
- pthread_mutex_destroy (&callback_result_ready_semaphore);
- }
-
- g_free (data->uri);
- g_free (data);
-
- return NULL;
-}
-
-static NautilusReadFileHandle *
-pthread_nautilus_read_file_async(const char *uri, NautilusReadFileCallback callback,
- NautilusReadMoreCallback read_more_callback, gpointer callback_data)
-{
- NautilusAsyncReadFileData *data;
- pthread_attr_t thread_attr;
- pthread_t thread;
-
- data = g_new0 (NautilusAsyncReadFileData, 1);
-
- data->handle.callback = callback;
- data->handle.read_more_callback = read_more_callback;
- data->handle.callback_data = callback_data;
- data->cancel_requested = FALSE;
- data->uri = g_strdup (uri);
-
- pthread_attr_init (&thread_attr);
- pthread_attr_setdetachstate (&thread_attr, PTHREAD_CREATE_DETACHED);
- if (pthread_create (&thread, &thread_attr, pthread_nautilus_read_file_thread_entry, data) != 0) {
- /* FIXME bugzilla.eazel.com 5071:
- * Would be cleaner to call through an idle callback here.
- */
- (*callback) (GNOME_VFS_ERROR_INTERNAL, 0, NULL, NULL);
- g_free (data);
- return NULL;
- }
-
- return (NautilusReadFileHandle *)data;
-}
-
-static void
-pthread_nautilus_read_file_async_cancel (NautilusReadFileHandle *handle)
-{
- /* Must call this before the final callback kicks in. */
- NautilusAsyncReadFileData *data;
-
- data = (NautilusAsyncReadFileData *)handle;
- data->cancel_requested = TRUE;
- if (data->callback_result_ready_semaphore != NULL) {
- pthread_mutex_unlock (data->callback_result_ready_semaphore);
- }
-
- /* now the thread will die on it's own and clean up after itself */
-}
-
-#endif
-
-/* Set up the read handle and start reading. */
-NautilusReadFileHandle *
-nautilus_read_file_async (const char *uri,
- NautilusReadFileCallback callback,
- NautilusReadMoreCallback read_more_callback,
- gpointer callback_data)
-{
-#ifndef PTHREAD_ASYNC_READ
- NautilusReadFileHandle *handle;
-
- handle = g_new0 (NautilusReadFileHandle, 1);
-
- handle->callback = callback;
- handle->read_more_callback = read_more_callback;
- handle->callback_data = callback_data;
-
- gnome_vfs_async_open (&handle->handle,
- uri,
- GNOME_VFS_OPEN_READ,
- read_file_open_callback,
- handle);
- return handle;
-#else
- return pthread_nautilus_read_file_async(uri, callback,
- read_more_callback, callback_data);
-#endif
-}
-
-/* Set up the read handle and start reading. */
-NautilusReadFileHandle *
-nautilus_read_entire_file_async (const char *uri,
- NautilusReadFileCallback callback,
- gpointer callback_data)
-{
- return nautilus_read_file_async (uri, callback, NULL, callback_data);
-}
-
-/* Stop the presses! */
-void
-nautilus_read_file_cancel (NautilusReadFileHandle *handle)
-{
-#ifndef PTHREAD_ASYNC_READ
- gnome_vfs_async_cancel (handle->handle);
- read_file_close (handle);
- g_free (handle->buffer);
- g_free (handle);
-#else
-
- pthread_nautilus_read_file_async_cancel (handle);
-#endif
-}
-
-GnomeVFSResult
-nautilus_make_directory_and_parents (GnomeVFSURI *uri, guint permissions)
-{
- GnomeVFSResult result;
- GnomeVFSURI *parent_uri;
-
- /* Make the directory, and return right away unless there's
- a possible problem with the parent.
- */
- result = gnome_vfs_make_directory_for_uri (uri, permissions);
- if (result != GNOME_VFS_ERROR_NOT_FOUND) {
- return result;
- }
-
- /* If we can't get a parent, we are done. */
- parent_uri = gnome_vfs_uri_get_parent (uri);
- if (parent_uri == NULL) {
- return result;
- }
-
- /* If we can get a parent, use a recursive call to create
- the parent and its parents.
- */
- result = nautilus_make_directory_and_parents (parent_uri, permissions);
- gnome_vfs_uri_unref (parent_uri);
- if (result != GNOME_VFS_OK) {
- return result;
- }
-
- /* A second try at making the directory after the parents
- have all been created.
- */
- result = gnome_vfs_make_directory_for_uri (uri, permissions);
- return result;
-}
-
-GnomeVFSResult
-nautilus_copy_uri_simple ( const char *source_uri, const char *dest_uri)
-{
- GnomeVFSResult result;
- GnomeVFSURI *real_source_uri, *real_dest_uri;
- real_source_uri = gnome_vfs_uri_new (source_uri);
- real_dest_uri = gnome_vfs_uri_new (dest_uri);
-
- result = gnome_vfs_xfer_uri (real_source_uri, real_dest_uri,
- GNOME_VFS_XFER_RECURSIVE, GNOME_VFS_XFER_ERROR_MODE_ABORT,
- GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE,
- NULL, NULL);
-
- gnome_vfs_uri_unref (real_source_uri);
- gnome_vfs_uri_unref (real_dest_uri);
-
- return result;
-}
-
char *
nautilus_unique_temporary_file_name (void)
{
@@ -1693,262 +326,6 @@ nautilus_get_build_message (void)
void
nautilus_self_check_file_utilities (void)
{
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (""), "");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" "), "");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" / "), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" /"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" /home\n\n"), "file:///home");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" \n\t"), "");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("!"), "http://!");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("#"), "http://#");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/ "), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/!"), "file:///!");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/#"), "file:///%23");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/%20"), "file:///%2520");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/%25"), "file:///%2525");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/:"), "file:///%3A");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/home"), "file:///home");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/home/darin"), "file:///home/darin");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (":"), "http://:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("::"), "http://::");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (":://:://:::::::::::::::::"), "http://:://:://:::::::::::::::::");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:"), "file:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///%20"), "file:///%20");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///%3F"), "file:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///:"), "file:///:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///?"), "file:///?");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///home/joe/some file"), "file:///home/joe/some file");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file://home/joe/some file"), "file://home/joe/some file");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:::::////"), "file:::::////");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("foo://foobar.txt"), "foo://foobar.txt");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("home"), "http://home");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://null.stanford.edu"), "http://null.stanford.edu");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://null.stanford.edu:80"), "http://null.stanford.edu:80");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://seth@null.stanford.edu:80"), "http://seth@null.stanford.edu:80");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http:::::::::"), "http:::::::::");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("www.eazel.com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://null.stanford.edu/some file"), "http://null.stanford.edu/some file");
-
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme ("file:///var/tmp"), "file");
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme (""), NULL);
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme ("file:///var/tmp::"), "file");
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme ("man:ls"), "man");
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uri_is_local_scheme ("file:///var/tmp"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uri_is_local_scheme ("http://www.yahoo.com"), FALSE);
-
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file:///////"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file://foo/"), "file://foo");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file://foo"), "file://foo");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file://"), "file://");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file:/"), "file:/");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("http://le-hacker.org"), "http://le-hacker.org");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("http://le-hacker.org/dir//////"), "http://le-hacker.org/dir/");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("http://le-hacker.org/////"), "http://le-hacker.org/");
-
- /* nautilus_make_uri_canonical */
-
- /* FIXME bugzilla.eazel.com 5072: this is a bizarre result from an empty string */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (""), "file:///");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:/"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///home/mathieu/"), "file:///home/mathieu");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///home/mathieu"), "file:///home/mathieu");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://mathieu:password@le-hackeur.org"), "ftp://mathieu:password@le-hackeur.org");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://mathieu:password@le-hackeur.org/"), "ftp://mathieu:password@le-hackeur.org/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org"), "http://le-hackeur.org");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org/"), "http://le-hackeur.org/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org/dir"), "http://le-hackeur.org/dir");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org/dir/"), "http://le-hackeur.org/dir/");
-
- /* FIXME bugzilla.eazel.com 5068: the "nested" URI loses some characters here. Maybe that's OK because we escape them in practice? */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("search://[file://]file_name contains stuff"), "search://[file/]file_name contains stuff");
-#ifdef EAZEL_SERVICES
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("eazel-services:/~turtle"), "eazel-services:///~turtle");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("eazel-services:///~turtle"), "eazel-services:///~turtle");
-#endif
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/./."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/.//."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/.///."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a"), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a///"), "file:///a/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a"), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("../a"), "file:///../a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("..//a"), "file:///../a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a//."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (".//a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a//."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a//.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (".//a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a//.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (".//a//.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/./a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/./b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/b/./.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/b/../."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/../.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/b/../.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("././a/b/../.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/c/../.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/c/../../d"), "file:///a/d");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/../../d"), "file:///d");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/../../d"), "file:///../d");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/.././.././c"), "file:///c");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/.././.././b/c"), "file:///../b/c");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com/"), "http://www.eazel.com/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com/dir"), "http://www.eazel.com/dir");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com/dir/"), "http://www.eazel.com/dir/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://yakk:womble@www.eazel.com:42/blah/"), "http://yakk:womble@www.eazel.com:42/blah/");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("FILE:///"), "file:///");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///trash"), "file:///trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///Users/mikef"), "file:///Users/mikef");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/trash"), "file:///trash");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("//root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("///root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("////root"), "file:///root");
-
- /* Test cases related to escaping. */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///%3F"), "file:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///%78"), "file:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///?"), "file:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///x"), "file:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///%3F"), "glorb:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///%78"), "glorb:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///?"), "glorb:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///x"), "glorb:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///%3F"), "http:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///%78"), "http:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///?"), "http:///?");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///x"), "http:///x");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.Eazel.Com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.Eazel.Com/xXx"), "http://www.eazel.com/xXx");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://Darin@www.Eazel.Com/xXx"), "ftp://Darin@www.eazel.com/xXx");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.Eazel.Com:80/xXx"), "http://www.eazel.com:80/xXx");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://Darin@www.Eazel.Com:80/xXx"), "ftp://Darin@www.eazel.com:80/xXx");
-
- /* FIXME bugzilla.eazel.com 4101: Why append a slash in this case, but not in the http://www.eazel.com case? */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com:80"), "http://www.eazel.com:80/");
-
- /* Note: these cases behave differently here than in
- * gnome-vfs. In some cases because of bugs in gnome-vfs, but
- * in other cases because we just want them handled
- * differently.
- */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:trash"), "file:trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("//trash"), "file:///trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:"), "file:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("trash"), "file:///trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorp:"), "glorp:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("trash:xxx"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("GNOME-TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("gnome-trash:xxx"), NAUTILUS_TRASH_URI);
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("pipe:gnome-info2html2 as"), "pipe:gnome-info2html2 as");
-
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative (NULL, NULL), NULL);
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative ("http://a/b/c/d;p?q", NULL), "http://a/b/c/d;p?q");
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative (NULL, "http://a/b/c/d;p?q"), "http://a/b/c/d;p?q");
-
- /* These test cases are from RFC 2396. */
-#define TEST_PARTIAL(partial, result) \
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative \
- ("http://a/b/c/d;p?q", partial), result)
-
- TEST_PARTIAL ("g", "http://a/b/c/g");
- TEST_PARTIAL ("./g", "http://a/b/c/g");
- TEST_PARTIAL ("g/", "http://a/b/c/g/");
- TEST_PARTIAL ("/g", "http://a/g");
-
- TEST_PARTIAL ("//g", "http://g");
-
- TEST_PARTIAL ("?y", "http://a/b/c/?y");
- TEST_PARTIAL ("g?y", "http://a/b/c/g?y");
- TEST_PARTIAL ("#s", "http://a/b/c/d;p#s");
- TEST_PARTIAL ("g#s", "http://a/b/c/g#s");
- TEST_PARTIAL ("g?y#s", "http://a/b/c/g?y#s");
- TEST_PARTIAL (";x", "http://a/b/c/;x");
- TEST_PARTIAL ("g;x", "http://a/b/c/g;x");
- TEST_PARTIAL ("g;x?y#s", "http://a/b/c/g;x?y#s");
-
- TEST_PARTIAL (".", "http://a/b/c/");
- TEST_PARTIAL ("./", "http://a/b/c/");
-
- TEST_PARTIAL ("..", "http://a/b/");
- TEST_PARTIAL ("../g", "http://a/b/g");
- TEST_PARTIAL ("../..", "http://a/");
- TEST_PARTIAL ("../../", "http://a/");
- TEST_PARTIAL ("../../g", "http://a/g");
-
- /* Others */
- TEST_PARTIAL ("g/..", "http://a/b/c/");
- TEST_PARTIAL ("g/../", "http://a/b/c/");
- TEST_PARTIAL ("g/../g", "http://a/b/c/g");
-
-#undef TEST_PARTIAL
-
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display (""), "/");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display (":"), ":");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///h/user"), "/h/user");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///%68/user/foo%2ehtml"), "/h/user/foo.html");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///h/user/foo.html#fragment"), "file:///h/user/foo.html#fragment");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("http://www.eazel.com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("http://www.eazel.com/jobs#Engineering"), "http://www.eazel.com/jobs#Engineering");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file"), "/file");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///#"), "file:///#");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///"), "/");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///%20%23"), "/ #");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///%20%23#"), "file:///%20%23#");
-
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("", ""), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match (":", ":"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("file:///h/user/file#gunzip:///", "file:///h/user/file#gunzip:///"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("file:///h/user/file#gunzip:///", "file:///h/user/file#gzip:///"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("http://www.Eazel.Com", "http://www.eazel.com"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("http://www.Eazel.Com:80", "http://www.eazel.com:80"), TRUE);
-
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("", ""), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments (":", ":"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file#gunzip:///"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file#gzip:///"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("http://www.Eazel.Com", "http://www.eazel.com"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("http://www.Eazel.Com:80", "http://www.eazel.com:80"), TRUE);
-
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user", "file:///h/user"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user#frag", "file:///h/user"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user#frag", "file:///h/user/"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user#frag", "file:///h/user%23frag"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/", "file:///h/user"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/", "http:///h/user"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/", "http://www.eazel.com"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file.html.gz#gunzip:///#fragment", "file:///h/user/file.html.gz"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/#frag", "file:///h/user/"), TRUE);
-
- /* Since it's illegal to have a # in a scheme name, it doesn't really matter what these cases do */
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("fi#le:///h/user/file", "fi"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("fi#le:///h/user/file", "fi#le:"), TRUE);
}
#endif /* !NAUTILUS_OMIT_SELF_CHECK */
diff --git a/libnautilus-extensions/nautilus-file-utilities.h b/libnautilus-extensions/nautilus-file-utilities.h
index 37149623e..79e39a295 100644
--- a/libnautilus-extensions/nautilus-file-utilities.h
+++ b/libnautilus-extensions/nautilus-file-utilities.h
@@ -27,71 +27,30 @@
#include <libgnomevfs/gnome-vfs-types.h>
-#define NAUTILUS_TRASH_URI "trash:"
-
-typedef void (* NautilusReadFileCallback) (GnomeVFSResult result,
- GnomeVFSFileSize file_size,
- char *file_contents,
- gpointer callback_data);
-typedef gboolean (* NautilusReadMoreCallback) (GnomeVFSFileSize file_size,
- const char *file_contents,
- gpointer callback_data);
-
-typedef struct NautilusReadFileHandle NautilusReadFileHandle;
-
-char * nautilus_format_uri_for_display (const char *uri);
-char * nautilus_make_uri_from_input (const char *location);
-char * nautilus_make_uri_from_shell_arg (const char *location);
-gboolean nautilus_uri_is_trash (const char *uri);
-gboolean nautilus_uri_is_trash_folder (const char *uri);
-gboolean nautilus_uri_is_in_trash (const char *uri);
-char * nautilus_make_uri_canonical (const char *uri);
-char * nautilus_make_uri_canonical_strip_fragment (const char *uri);
-gboolean nautilus_uris_match (const char *uri_1,
- const char *uri_2);
-gboolean nautilus_uris_match_ignore_fragments (const char *uri_1,
- const char *uri_2);
-char * nautilus_uri_get_basename (const char *uri);
-char * nautilus_uri_get_scheme (const char *uri);
-char * nautilus_uri_make_full_from_relative (const char *base_uri,
- const char *uri);
-
/* Recognizing special file names. */
-gboolean nautilus_file_name_matches_hidden_pattern (const char *name_or_relative_uri);
-gboolean nautilus_file_name_matches_backup_pattern (const char *name_or_relative_uri);
-gboolean nautilus_file_name_matches_metafile_pattern(const char *name_or_relative_uri);
-
+gboolean nautilus_file_name_matches_hidden_pattern (const char *name_or_relative_uri);
+gboolean nautilus_file_name_matches_backup_pattern (const char *name_or_relative_uri);
+gboolean nautilus_file_name_matches_metafile_pattern (const char *name_or_relative_uri);
/* FIXME bugzilla.eazel.com 2424:
* This is the same as gnome-libs g_concat_dir_and_file except
* for handling path == NULL.
*/
-char * nautilus_make_path (const char *path,
- const char *name);
-
-
-
+char * nautilus_make_path (const char *path,
+ const char *name);
/* These functions all return something something that needs to be
* freed with g_free, is not NULL, and is guaranteed to exist.
*/
-char * nautilus_get_user_directory (void);
-char * nautilus_get_user_main_directory (void);
-char * nautilus_get_desktop_directory (void);
-char * nautilus_get_pixmap_directory (void);
-
+char * nautilus_get_user_directory (void);
+char * nautilus_get_user_main_directory (void);
+char * nautilus_get_desktop_directory (void);
+char * nautilus_get_pixmap_directory (void);
/* See if the user_main_directory exists. This should be called before
* nautilus_get_user_main_directory, which creates the directory.
*/
-gboolean nautilus_user_main_directory_exists (void);
-
-
-
-/* Convenience routine to test if a string is a remote URI. */
-gboolean nautilus_is_remote_uri (const char *uri);
-
-
+gboolean nautilus_user_main_directory_exists (void);
/* A version of gnome's gnome_pixmap_file that works for the nautilus prefix.
* Otherwise similar to gnome_pixmap_file in that it checks to see if the file
@@ -101,49 +60,22 @@ gboolean nautilus_is_remote_uri (const char
* We might not need this once we get on gnome-libs 2.0 which handles
* gnome_pixmap_file better, using GNOME_PATH.
*/
-char * nautilus_pixmap_file (const char *partial_path);
-
-
-
-/* Read an entire file at once with gnome-vfs. */
-GnomeVFSResult nautilus_read_entire_file (const char *uri,
- int *file_size,
- char **file_contents);
-NautilusReadFileHandle *nautilus_read_entire_file_async (const char *uri,
- NautilusReadFileCallback callback,
- gpointer callback_data);
-NautilusReadFileHandle *nautilus_read_file_async (const char *uri,
- NautilusReadFileCallback callback,
- NautilusReadMoreCallback read_more_callback,
- gpointer callback_data);
-void nautilus_read_file_cancel (NautilusReadFileHandle *handle);
-
-
-
-/* Convenience routine for simple file copying using text-based uris */
-GnomeVFSResult nautilus_copy_uri_simple (const char *source_uri,
- const char *dest_uri);
-
-
-
-/* gnome-vfs cover to make a directory and parents */
-GnomeVFSResult nautilus_make_directory_and_parents (GnomeVFSURI *uri,
- guint permissions);
+char * nautilus_pixmap_file (const char *partial_path);
/* Returns the build time stamp the Nautilus binary.
* This is useful to be able to tell builds apart.
* A return value of NULL means unknown time stamp.
*/
-char * nautilus_get_build_time_stamp (void);
+char * nautilus_get_build_time_stamp (void);
/* Returns the "build message", which provides some information on build
* context. May return NULL.
*/
-char * nautilus_get_build_message (void);
+char * nautilus_get_build_message (void);
/* Return an allocated file name that is guranteed to be unique. */
-char * nautilus_unique_temporary_file_name (void);
-char * nautilus_find_file_in_gnome_path (char *file);
-GList * nautilus_find_all_files_in_gnome_path (char *file);
+char * nautilus_unique_temporary_file_name (void);
+char * nautilus_find_file_in_gnome_path (char *file);
+GList * nautilus_find_all_files_in_gnome_path (char *file);
#endif /* NAUTILUS_FILE_UTILITIES_H */
diff --git a/libnautilus-extensions/nautilus-file.c b/libnautilus-extensions/nautilus-file.c
index baadf21aa..c4c469110 100644
--- a/libnautilus-extensions/nautilus-file.c
+++ b/libnautilus-extensions/nautilus-file.c
@@ -36,6 +36,7 @@
#include "nautilus-trash-directory.h"
#include "nautilus-trash-file.h"
#include "nautilus-vfs-file.h"
+#include "nautilus-file-utilities.h"
#include <ctype.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
@@ -302,7 +303,7 @@ nautilus_file_get_internal (const char *uri, gboolean create)
/* Maybe we wouldn't need this if the gnome-vfs canonical
* stuff was strong enough.
*/
- canonical_uri = nautilus_make_uri_canonical (uri);
+ canonical_uri = eel_make_uri_canonical (uri);
/* Make VFS version of URI. */
vfs_uri = gnome_vfs_uri_new (canonical_uri);
@@ -497,7 +498,7 @@ nautilus_file_get_parent_uri_for_display (NautilusFile *file)
g_assert (NAUTILUS_IS_FILE (file));
raw_uri = nautilus_file_get_parent_uri (file);
- result = nautilus_format_uri_for_display (raw_uri);
+ result = eel_format_uri_for_display (raw_uri);
g_free (raw_uri);
return result;
@@ -754,7 +755,7 @@ nautilus_file_can_rename (NautilusFile *file)
}
/* Nautilus trash directories cannot be renamed */
- if (nautilus_uri_is_trash_folder (uri)) {
+ if (eel_uri_is_trash_folder (uri)) {
can_rename = FALSE;
}
@@ -2175,7 +2176,7 @@ nautilus_file_get_uri_scheme (NautilusFile *file)
return NULL;
}
- return nautilus_uri_get_scheme (file->details->directory->details->uri);
+ return eel_uri_get_scheme (file->details->directory->details->uri);
}
gboolean
@@ -4121,7 +4122,7 @@ nautilus_file_is_in_trash (NautilusFile *file)
{
g_return_val_if_fail (NAUTILUS_IS_FILE (file), FALSE);
- return nautilus_uri_is_in_trash (file->details->directory->details->uri);
+ return eel_uri_is_in_trash (file->details->directory->details->uri);
}
GnomeVFSResult
@@ -4830,7 +4831,7 @@ nautilus_self_check_file (void)
EEL_CHECK_STRING_RESULT (nautilus_file_get_name (file_1), "eazel");
nautilus_file_unref (file_1);
- file_1 = nautilus_file_get (NAUTILUS_TRASH_URI);
+ file_1 = nautilus_file_get (EEL_TRASH_URI);
EEL_CHECK_STRING_RESULT (nautilus_file_get_name (file_1), _("Trash"));
nautilus_file_unref (file_1);
diff --git a/libnautilus-extensions/nautilus-icon-dnd.c b/libnautilus-extensions/nautilus-icon-dnd.c
index e09d50a31..61265e19b 100644
--- a/libnautilus-extensions/nautilus-icon-dnd.c
+++ b/libnautilus-extensions/nautilus-icon-dnd.c
@@ -31,13 +31,13 @@
#include "nautilus-icon-dnd.h"
#include <eel/eel-background.h>
-#include "nautilus-file-utilities.h"
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gnome-extensions.h>
#include <eel/eel-graphic-effects.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
+#include <eel/eel-vfs-extensions.h>
#include "nautilus-icon-private.h"
#include "nautilus-link.h"
#include <eel/eel-stock-dialogs.h>
@@ -586,7 +586,7 @@ nautilus_icon_container_selection_items_local (const NautilusIconContainer *cont
/* get the URI associated with the container */
container_uri_string = get_container_uri (container);
- if (nautilus_uri_is_trash (container_uri_string)) {
+ if (eel_uri_is_trash (container_uri_string)) {
/* Special-case "trash:" because the nautilus_drag_items_local
* would not work for it.
*/
diff --git a/libnautilus-extensions/nautilus-icon-factory.c b/libnautilus-extensions/nautilus-icon-factory.c
index 38ce60f79..abc1d247e 100644
--- a/libnautilus-extensions/nautilus-icon-factory.c
+++ b/libnautilus-extensions/nautilus-icon-factory.c
@@ -48,6 +48,7 @@
#include <eel/eel-smooth-text-layout.h>
#include <eel/eel-string.h>
#include <eel/eel-xml-extensions.h>
+#include <eel/eel-vfs-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtksignal.h>
@@ -807,7 +808,7 @@ nautilus_icon_factory_get_icon_name_for_file (NautilusFile *file)
char *uri;
uri = nautilus_file_get_uri (file);
- if (strcmp (uri, NAUTILUS_TRASH_URI) == 0) {
+ if (strcmp (uri, EEL_TRASH_URI) == 0) {
g_free (uri);
return nautilus_trash_monitor_is_empty ()
? ICON_NAME_TRASH_EMPTY : ICON_NAME_TRASH_NOT_EMPTY;
@@ -1547,7 +1548,7 @@ nautilus_icon_factory_get_emblem_icons_for_file (NautilusFile *file,
* lily.
*/
uri = nautilus_file_get_uri (file);
- file_is_trash = strcmp (uri, NAUTILUS_TRASH_URI) == 0;
+ file_is_trash = strcmp (uri, EEL_TRASH_URI) == 0;
g_free (uri);
icons = NULL;
diff --git a/libnautilus-extensions/nautilus-link.c b/libnautilus-extensions/nautilus-link.c
index 5dfb1278f..8fd7fcaba 100644
--- a/libnautilus-extensions/nautilus-link.c
+++ b/libnautilus-extensions/nautilus-link.c
@@ -27,15 +27,14 @@
#include "nautilus-directory-notify.h"
#include "nautilus-directory.h"
-#include "nautilus-file-utilities.h"
-#include "nautilus-file.h"
#include "nautilus-file-attributes.h"
-#include "nautilus-global-preferences.h"
-#include <eel/eel-gnome-extensions.h>
+#include "nautilus-file.h"
#include "nautilus-metadata.h"
-#include "nautilus-preferences.h"
+#include "nautilus-file-utilities.h"
+#include <eel/eel-gnome-extensions.h>
#include <eel/eel-stock-dialogs.h>
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
@@ -418,7 +417,7 @@ nautilus_link_local_get_image_uri (const char *path)
}
/* if the image is remote, see if we can find it in our local cache */
- if (nautilus_is_remote_uri (icon_uri)) {
+ if (eel_is_remote_uri (icon_uri)) {
local_path = make_local_path (icon_uri);
if (local_path == NULL) {
g_free (icon_uri);
@@ -435,7 +434,7 @@ nautilus_link_local_get_image_uri (const char *path)
info = g_new0 (NautilusLinkIconNotificationInfo, 1);
info->link_uri = gnome_vfs_get_uri_from_local_path (path);
info->file_path = g_strdup (local_path);
- nautilus_read_entire_file_async (icon_uri, icon_read_done_callback, info);
+ eel_read_entire_file_async (icon_uri, icon_read_done_callback, info);
g_free (icon_uri);
g_free (local_path);
diff --git a/libnautilus-extensions/nautilus-metafile.c b/libnautilus-extensions/nautilus-metafile.c
index c16926d43..eac730a09 100644
--- a/libnautilus-extensions/nautilus-metafile.c
+++ b/libnautilus-extensions/nautilus-metafile.c
@@ -1,4 +1,4 @@
-/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: 8; c-basic-offset: 8 -*- */
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-*/
/* nautilus-metafile.c - server side of Nautilus::Metafile
*
@@ -23,29 +23,27 @@
#include <config.h>
#include "nautilus-metafile.h"
-#include <eel/eel-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-directory.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus/nautilus-bonobo-workarounds.h>
-
-#include <libgnomevfs/gnome-vfs-types.h>
-#include <libgnomevfs/gnome-vfs-uri.h>
-#include <libgnomevfs/gnome-vfs-file-info.h>
-
-#include <eel/eel-string.h>
-#include "nautilus-metadata.h"
-#include "nautilus-thumbnails.h"
-#include <eel/eel-xml-extensions.h>
-#include <eel/eel-glib-extensions.h>
+#include "nautilus-bonobo-extensions.h"
+#include "nautilus-directory.h"
#include "nautilus-directory.h"
-#include "nautilus-global-preferences.h"
#include "nautilus-file-private.h"
+#include "nautilus-global-preferences.h"
+#include "nautilus-metadata.h"
#include "nautilus-search-uri.h"
-
-#include <stdlib.h>
+#include "nautilus-thumbnails.h"
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtkmain.h>
+#include <libgnomevfs/gnome-vfs-file-info.h>
+#include <libgnomevfs/gnome-vfs-types.h>
+#include <libgnomevfs/gnome-vfs-uri.h>
+#include <libnautilus/nautilus-bonobo-workarounds.h>
+#include <stdlib.h>
#define METAFILE_XML_VERSION "1.0"
@@ -162,7 +160,7 @@ NAUTILUS_BONOBO_X_BOILERPLATE (NautilusMetafile, Nautilus_Metafile, BONOBO_X_OBJ
typedef struct MetafileReadState {
gboolean use_public_metafile;
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
GnomeVFSAsyncHandle *get_file_info_handle;
} MetafileReadState;
@@ -270,7 +268,7 @@ construct_private_metafile_vfs_uri (const char *uri)
metafiles_directory_uri = gnome_vfs_uri_append_file_name (user_directory_uri,
METAFILES_DIRECTORY_NAME);
gnome_vfs_uri_unref (user_directory_uri);
- result = nautilus_make_directory_and_parents (metafiles_directory_uri,
+ result = eel_make_directory_and_parents (metafiles_directory_uri,
METAFILES_DIRECTORY_PERMISSIONS);
if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_FILE_EXISTS) {
gnome_vfs_uri_unref (metafiles_directory_uri);
@@ -1658,7 +1656,7 @@ metafile_read_cancel (NautilusMetafile *metafile)
{
if (metafile->details->read_state != NULL) {
if (metafile->details->read_state->handle != NULL) {
- nautilus_read_file_cancel (metafile->details->read_state->handle);
+ eel_read_file_cancel (metafile->details->read_state->handle);
}
if (metafile->details->read_state->get_file_info_handle != NULL) {
gnome_vfs_async_cancel (metafile->details->read_state->get_file_info_handle);
@@ -1869,7 +1867,7 @@ metafile_read_restart (NautilusMetafile *metafile)
: metafile->details->private_vfs_uri,
GNOME_VFS_URI_HIDE_NONE);
- metafile->details->read_state->handle = nautilus_read_entire_file_async
+ metafile->details->read_state->handle = eel_read_entire_file_async
(text_uri, metafile_read_done_callback, metafile);
g_free (text_uri);
diff --git a/libnautilus-extensions/nautilus-tabs.c b/libnautilus-extensions/nautilus-tabs.c
index a1a16b3f7..e708e4c0d 100644
--- a/libnautilus-extensions/nautilus-tabs.c
+++ b/libnautilus-extensions/nautilus-tabs.c
@@ -33,7 +33,6 @@
#include <eel/eel-gdk-extensions.h>
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
#include <eel/eel-gnome-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
diff --git a/libnautilus-extensions/nautilus-theme.c b/libnautilus-extensions/nautilus-theme.c
index 0fb37d839..c236bd8c9 100644
--- a/libnautilus-extensions/nautilus-theme.c
+++ b/libnautilus-extensions/nautilus-theme.c
@@ -31,6 +31,7 @@
#include "nautilus-metadata.h"
#include "nautilus-preferences.h"
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-xml-extensions.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gnome-xml/parser.h>
diff --git a/libnautilus-extensions/nautilus-thumbnails.c b/libnautilus-extensions/nautilus-thumbnails.c
index 00b464a51..3ae99e7aa 100644
--- a/libnautilus-extensions/nautilus-thumbnails.c
+++ b/libnautilus-extensions/nautilus-thumbnails.c
@@ -25,20 +25,20 @@
#include <config.h>
#include "nautilus-thumbnails.h"
-#include <libgnomevfs/gnome-vfs-file-info.h>
-#include <string.h>
-#include "nautilus-file-utilities.h"
-#include <eel/eel-string.h>
-#include <gtk/gtkmain.h>
-#include "nautilus-icon-factory-private.h"
#include "nautilus-directory-notify.h"
+#include "nautilus-icon-factory-private.h"
#include "nautilus-theme.h"
-#include <stdio.h>
#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <librsvg/rsvg.h>
#include <eel/eel-graphic-effects.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gtk/gtkmain.h>
+#include <libgnomevfs/gnome-vfs-file-info.h>
+#include <librsvg/rsvg.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
/* permissions for thumbnail directory */
#define THUMBNAIL_DIR_PERMISSIONS (GNOME_VFS_PERM_USER_ALL \
@@ -128,7 +128,7 @@ make_thumbnail_uri (const char *image_uri, gboolean directory_only, gboolean use
looks like the URI will be local-only, but best to
make sure. */
- result = nautilus_make_directory_and_parents (thumbnail_directory_uri, THUMBNAIL_DIR_PERMISSIONS);
+ result = eel_make_directory_and_parents (thumbnail_directory_uri, THUMBNAIL_DIR_PERMISSIONS);
gnome_vfs_uri_unref (thumbnail_directory_uri);
}
diff --git a/libnautilus-extensions/nautilus-trash-file.c b/libnautilus-extensions/nautilus-trash-file.c
index 12aa4fcb6..b4f33a439 100644
--- a/libnautilus-extensions/nautilus-trash-file.c
+++ b/libnautilus-extensions/nautilus-trash-file.c
@@ -743,7 +743,7 @@ nautilus_trash_file_initialize (gpointer object, gpointer klass)
trash_file = NAUTILUS_TRASH_FILE (object);
- trash_directory = NAUTILUS_TRASH_DIRECTORY (nautilus_directory_get (NAUTILUS_TRASH_URI));
+ trash_directory = NAUTILUS_TRASH_DIRECTORY (nautilus_directory_get (EEL_TRASH_URI));
trash_file->details = g_new0 (NautilusTrashFileDetails, 1);
trash_file->details->trash_directory = trash_directory;
diff --git a/libnautilus-extensions/nautilus-trash-monitor.c b/libnautilus-extensions/nautilus-trash-monitor.c
index 6b6a54abb..f10d7e540 100644
--- a/libnautilus-extensions/nautilus-trash-monitor.c
+++ b/libnautilus-extensions/nautilus-trash-monitor.c
@@ -26,12 +26,12 @@
#include <config.h>
#include "nautilus-trash-monitor.h"
-#include "nautilus-directory.h"
#include "nautilus-directory-notify.h"
+#include "nautilus-directory.h"
#include "nautilus-file-attributes.h"
-#include "nautilus-file-utilities.h"
-#include <eel/eel-gtk-macros.h>
#include "nautilus-volume-monitor.h"
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtksignal.h>
#include <libgnomevfs/gnome-vfs-find-directory.h>
#include <libgnomevfs/gnome-vfs-types.h>
@@ -97,7 +97,7 @@ nautilus_trash_files_changed_callback (NautilusDirectory *directory, GList *file
trash_monitor->details->empty = !nautilus_directory_is_not_empty (directory);
if (old_empty_state != trash_monitor->details->empty) {
- file = nautilus_file_get (NAUTILUS_TRASH_URI);
+ file = nautilus_file_get (EEL_TRASH_URI);
nautilus_file_changed (file);
nautilus_file_unref (file);
@@ -119,7 +119,7 @@ nautilus_trash_monitor_initialize (gpointer object, gpointer klass)
/* set up a NautilusDirectory for the Trash directory to monitor */
- trash_directory = nautilus_directory_get (NAUTILUS_TRASH_URI);
+ trash_directory = nautilus_directory_get (EEL_TRASH_URI);
trash_monitor->details = g_new0 (NautilusTrashMonitorDetails, 1);
trash_monitor->details->trash_directory = trash_directory;
diff --git a/libnautilus-private/nautilus-bookmark.c b/libnautilus-private/nautilus-bookmark.c
index 02d69c176..9c383e0ab 100644
--- a/libnautilus-private/nautilus-bookmark.c
+++ b/libnautilus-private/nautilus-bookmark.c
@@ -25,9 +25,12 @@
#include <config.h>
#include "nautilus-bookmark.h"
-#include <eel/eel-gtk-macros.h>
#include "nautilus-icon-factory.h"
+#include <eel/eel-gdk-pixbuf-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtkaccellabel.h>
#include <gtk/gtksignal.h>
#include <libgnome/gnome-defs.h>
@@ -36,9 +39,6 @@
#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <eel/eel-gtk-extensions.h>
enum {
APPEARANCE_CHANGED,
@@ -152,7 +152,7 @@ nautilus_bookmark_compare_with (gconstpointer a, gconstpointer b)
return 1;
}
- if (!nautilus_uris_match (bookmark_a->details->uri,
+ if (!eel_uris_match (bookmark_a->details->uri,
bookmark_b->details->uri)) {
return 1;
}
@@ -182,7 +182,7 @@ nautilus_bookmark_compare_uris (gconstpointer a, gconstpointer b)
bookmark_a = NAUTILUS_BOOKMARK (a);
bookmark_b = NAUTILUS_BOOKMARK (b);
- return !nautilus_uris_match (bookmark_a->details->uri,
+ return !eel_uris_match (bookmark_a->details->uri,
bookmark_b->details->uri);
}
@@ -380,7 +380,7 @@ bookmark_file_changed_callback (NautilusFile *file, NautilusBookmark *bookmark)
should_emit_contents_changed_signal = FALSE;
file_uri = nautilus_file_get_uri (file);
- if (!nautilus_uris_match (bookmark->details->uri, file_uri)) {
+ if (!eel_uris_match (bookmark->details->uri, file_uri)) {
g_free (bookmark->details->uri);
bookmark->details->uri = file_uri;
should_emit_contents_changed_signal = TRUE;
diff --git a/libnautilus-private/nautilus-directory-async.c b/libnautilus-private/nautilus-directory-async.c
index 6377e80ca..745d2b48d 100644
--- a/libnautilus-private/nautilus-directory-async.c
+++ b/libnautilus-private/nautilus-directory-async.c
@@ -65,12 +65,12 @@
struct TopLeftTextReadState {
NautilusFile *file;
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
};
struct ActivationURIReadState {
NautilusFile *file;
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
};
typedef struct {
@@ -367,7 +367,7 @@ static void
top_left_cancel (NautilusDirectory *directory)
{
if (directory->details->top_left_read_state != NULL) {
- nautilus_read_file_cancel (directory->details->top_left_read_state->handle);
+ eel_read_file_cancel (directory->details->top_left_read_state->handle);
g_free (directory->details->top_left_read_state);
directory->details->top_left_read_state = NULL;
@@ -379,7 +379,7 @@ static void
activation_uri_cancel (NautilusDirectory *directory)
{
if (directory->details->activation_uri_read_state != NULL) {
- nautilus_read_file_cancel (directory->details->activation_uri_read_state->handle);
+ eel_read_file_cancel (directory->details->activation_uri_read_state->handle);
g_free (directory->details->activation_uri_read_state);
directory->details->activation_uri_read_state = NULL;
@@ -2467,7 +2467,7 @@ top_left_start (NautilusDirectory *directory)
directory->details->top_left_read_state = g_new0 (TopLeftTextReadState, 1);
directory->details->top_left_read_state->file = file;
uri = nautilus_file_get_uri (file);
- directory->details->top_left_read_state->handle = nautilus_read_file_async
+ directory->details->top_left_read_state->handle = eel_read_file_async
(uri,
top_left_read_callback,
top_left_read_more_callback,
@@ -2751,13 +2751,13 @@ activation_uri_start (NautilusDirectory *directory)
directory->details->activation_uri_read_state->file = file;
uri = nautilus_file_get_uri (file);
if (gmc_style_link) {
- directory->details->activation_uri_read_state->handle = nautilus_read_file_async
+ directory->details->activation_uri_read_state->handle = eel_read_file_async
(uri,
activation_uri_gmc_link_read_callback,
activation_uri_gmc_link_read_more_callback,
directory);
} else {
- directory->details->activation_uri_read_state->handle = nautilus_read_entire_file_async
+ directory->details->activation_uri_read_state->handle = eel_read_entire_file_async
(uri,
activation_uri_nautilus_link_read_callback,
directory);
diff --git a/libnautilus-private/nautilus-directory-private.h b/libnautilus-private/nautilus-directory-private.h
index 68e239869..d11030d15 100644
--- a/libnautilus-private/nautilus-directory-private.h
+++ b/libnautilus-private/nautilus-directory-private.h
@@ -31,7 +31,7 @@
#include <gnome-xml/tree.h>
#include "nautilus-file.h"
-#include "nautilus-file-utilities.h"
+#include <eel/eel-vfs-extensions.h>
#include "nautilus-directory-metafile-monitor.h"
#include "nautilus-metafile-server.h"
#include <libnautilus/nautilus-idle-queue.h>
diff --git a/libnautilus-private/nautilus-directory.c b/libnautilus-private/nautilus-directory.c
index fe5a3ba9a..9166fa4d9 100644
--- a/libnautilus-private/nautilus-directory.c
+++ b/libnautilus-private/nautilus-directory.c
@@ -316,7 +316,7 @@ nautilus_directory_make_uri_canonical (const char *uri)
char *with_slashes;
size_t length;
- canonical_maybe_trailing_slash = nautilus_make_uri_canonical (uri);
+ canonical_maybe_trailing_slash = eel_make_uri_canonical (uri);
/* To NautilusDirectory, a uri with or without a trailing
* / is equivalent. This is necessary to prevent separate
@@ -495,7 +495,7 @@ nautilus_directory_new (const char *uri)
g_assert (uri != NULL);
- if (nautilus_uri_is_trash (uri)) {
+ if (eel_uri_is_trash (uri)) {
directory = NAUTILUS_DIRECTORY (gtk_object_new (NAUTILUS_TYPE_TRASH_DIRECTORY, NULL));
} else {
directory = NAUTILUS_DIRECTORY (gtk_object_new (NAUTILUS_TYPE_VFS_DIRECTORY, NULL));
@@ -1208,7 +1208,7 @@ nautilus_directory_notify_files_moved (GList *uri_pairs)
nautilus_directory_unref (new_directory);
/* Update the file's name. */
- name = nautilus_uri_get_basename (pair->to_uri);
+ name = eel_uri_get_basename (pair->to_uri);
nautilus_file_update_name (file, name);
g_free (name);
@@ -1631,10 +1631,10 @@ nautilus_self_check_directory (void)
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical (""), "file:///");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:/"), "file:///");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:///"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("trash:xxx"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("GNOME-TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("gnome-trash:xxx"), NAUTILUS_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("TRASH:XXX"), EEL_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("trash:xxx"), EEL_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("GNOME-TRASH:XXX"), EEL_TRASH_URI);
+ EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("gnome-trash:xxx"), EEL_TRASH_URI);
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:///home/mathieu/"), "file:///home/mathieu");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("file:///home/mathieu"), "file:///home/mathieu");
EEL_CHECK_STRING_RESULT (nautilus_directory_make_uri_canonical ("ftp://mathieu:password@le-hackeur.org"), "ftp://mathieu:password@le-hackeur.org");
diff --git a/libnautilus-private/nautilus-drag.c b/libnautilus-private/nautilus-drag.c
index 5735c1b44..e609993b3 100644
--- a/libnautilus-private/nautilus-drag.c
+++ b/libnautilus-private/nautilus-drag.c
@@ -27,22 +27,21 @@
#include <config.h>
#include "nautilus-drag.h"
+#include "nautilus-link.h"
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gtk/gtkmain.h>
+#include <libgnome/gnome-i18n.h>
+#include <libgnomeui/gnome-popup-menu.h>
+#include <libgnomeui/gnome-uidefs.h>
#include <libgnomevfs/gnome-vfs-find-directory.h>
+#include <libgnomevfs/gnome-vfs-ops.h>
#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
-#include <libgnomevfs/gnome-vfs-ops.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <libgnomeui/gnome-uidefs.h>
-#include <libgnomeui/gnome-popup-menu.h>
-#include <libgnome/gnome-i18n.h>
#include <stdio.h>
#include <string.h>
-#include <gtk/gtkmain.h>
-
-#include <eel/eel-glib-extensions.h>
-#include "nautilus-link.h"
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-string.h>
#define NAUTILUS_COMMAND_SPECIFIER "command:"
@@ -225,7 +224,7 @@ nautilus_drag_items_in_trash (const GList *selection_list)
* we should really test each item but that would be slow for large selections
* and currently dropped items can only be from the same container
*/
- return nautilus_uri_is_in_trash (((DragSelectionItem *)selection_list->data)->uri);
+ return eel_uri_is_in_trash (((DragSelectionItem *)selection_list->data)->uri);
}
gboolean
@@ -314,7 +313,7 @@ nautilus_drag_default_drop_action_for_icons (GdkDragContext *context,
}
/* Check for trash URI. We do a find_directory for any Trash directory. */
- if (nautilus_uri_is_trash (target_uri_string)) {
+ if (eel_uri_is_trash (target_uri_string)) {
result = gnome_vfs_find_directory (NULL, GNOME_VFS_DIRECTORY_KIND_TRASH,
&target_uri, FALSE, FALSE, 0777);
if (result != GNOME_VFS_OK) {
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c
index df0b46da5..3f9afe920 100644
--- a/libnautilus-private/nautilus-file-operations.c
+++ b/libnautilus-private/nautilus-file-operations.c
@@ -34,6 +34,8 @@
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-vfs-extensions.h>
+
#include <gnome.h>
#include <gtk/gtklabel.h>
#include <libgnomevfs/gnome-vfs-async-ops.h>
@@ -43,10 +45,9 @@
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <libnautilus-extensions/nautilus-file-changes-queue.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-link.h>
-#include <libnautilus-extensions/nautilus-trash-monitor.h>
+#include "nautilus-global-preferences.h"
+#include "nautilus-link.h"
+#include "nautilus-trash-monitor.h"
typedef enum {
TRANSFER_MOVE,
@@ -247,7 +248,7 @@ format_and_ellipsize_uri_for_dialog (const char *uri)
{
char *unescaped, *result;
- unescaped = nautilus_format_uri_for_display (uri);
+ unescaped = eel_format_uri_for_display (uri);
result = ellipsize_string_for_dialog (unescaped);
g_free (unescaped);
@@ -1726,7 +1727,7 @@ nautilus_file_operations_copy_move (const GList *item_uris,
move_options = GNOME_VFS_XFER_RECURSIVE;
if (target_dir != NULL) {
- if (nautilus_uri_is_trash (target_dir)) {
+ if (eel_uri_is_trash (target_dir)) {
target_is_trash = TRUE;
} else {
target_dir_uri = gnome_vfs_uri_new (target_dir);
diff --git a/libnautilus-private/nautilus-file-utilities.c b/libnautilus-private/nautilus-file-utilities.c
index d93f8a75a..e63df3514 100644
--- a/libnautilus-private/nautilus-file-utilities.c
+++ b/libnautilus-private/nautilus-file-utilities.c
@@ -56,794 +56,6 @@
#define NAUTILUS_USER_MAIN_DIRECTORY_NAME "Nautilus"
-#define READ_CHUNK_SIZE 8192
-
-struct NautilusReadFileHandle {
- GnomeVFSAsyncHandle *handle;
- NautilusReadFileCallback callback;
- NautilusReadMoreCallback read_more_callback;
- gpointer callback_data;
- gboolean is_open;
- char *buffer;
- GnomeVFSFileSize bytes_read;
-};
-
-#undef PTHREAD_ASYNC_READ
-
-#ifndef PTHREAD_ASYNC_READ
-static void read_file_read_chunk (NautilusReadFileHandle *handle);
-#endif
-
-/**
- * nautilus_format_uri_for_display:
- *
- * Filter, modify, unescape and change URIs to make them appropriate
- * to display to users.
- *
- * Rules:
- * file: URI's without fragments should appear as local paths
- * file: URI's with fragments should appear as file: URI's
- * All other URI's appear as expected
- *
- * @uri: a URI
- *
- * returns a g_malloc'd string
- **/
-char *
-nautilus_format_uri_for_display (const char *uri)
-{
- char *canonical_uri, *path;
-
- g_return_val_if_fail (uri != NULL, g_strdup (""));
-
- canonical_uri = nautilus_make_uri_canonical (uri);
-
- /* If there's no fragment and it's a local path. */
- path = gnome_vfs_get_local_path_from_uri (canonical_uri);
- if (path != NULL) {
- g_free (canonical_uri);
- return path;
- }
-
- g_free (path);
- return canonical_uri;
-}
-
-static gboolean
-is_valid_scheme_character (char c)
-{
- return isalnum ((guchar) c) || c == '+' || c == '-' || c == '.';
-}
-
-static gboolean
-has_valid_scheme (const char *uri)
-{
- const char *p;
-
- p = uri;
-
- if (!is_valid_scheme_character (*p)) {
- return FALSE;
- }
-
- do {
- p++;
- } while (is_valid_scheme_character (*p));
-
- return *p == ':';
-}
-
-/**
- * nautilus_make_uri_from_input:
- *
- * Takes a user input path/URI and makes a valid URI
- * out of it
- *
- * @location: a possibly mangled "uri"
- *
- * returns a newly allocated uri
- *
- **/
-char *
-nautilus_make_uri_from_input (const char *location)
-{
- char *stripped, *path, *uri;
-
- g_return_val_if_fail (location != NULL, g_strdup (""));
-
- /* Strip off leading and trailing spaces.
- * This makes copy/paste of URIs less error-prone.
- */
- stripped = g_strstrip (g_strdup (location));
-
- switch (stripped[0]) {
- case '\0':
- uri = g_strdup ("");
- break;
- case '/':
- uri = gnome_vfs_get_uri_from_local_path (stripped);
- break;
- case '~':
- path = gnome_vfs_expand_initial_tilde (stripped);
- /* deliberately falling into default case on fail */
- if (*path == '/') {
- uri = gnome_vfs_get_uri_from_local_path (path);
- g_free (path);
- break;
- }
- g_free (path);
- /* don't insert break here, read above comment */
- default:
- if (has_valid_scheme (stripped)) {
- uri = g_strdup (stripped);
- } else {
- uri = g_strconcat ("http://", stripped, NULL);
- }
- }
-
- g_free (stripped);
-
- return uri;
-}
-
-/* Note that NULL's and full paths are also handled by this function.
- * A NULL location will return the current working directory
- */
-static char *
-file_uri_from_local_relative_path (const char *location)
-{
- char *current_dir;
- char *base_uri, *base_uri_slash;
- char *location_escaped;
- char *uri;
-
- current_dir = g_get_current_dir ();
- base_uri = gnome_vfs_get_uri_from_local_path (current_dir);
- /* g_get_current_dir returns w/o trailing / */
- base_uri_slash = g_strconcat (base_uri, "/", NULL);
-
- location_escaped = gnome_vfs_escape_path_string (location);
-
- uri = nautilus_uri_make_full_from_relative (base_uri_slash, location_escaped);
-
- g_free (location_escaped);
- g_free (base_uri_slash);
- g_free (base_uri);
- g_free (current_dir);
-
- return uri;
-}
-
-/**
- * nautilus_make_uri_from_shell_arg:
- *
- * Similar to nautilus_make_uri_from_input, except that:
- *
- * 1) guesses relative paths instead of http domains
- * 2) doesn't bother stripping leading/trailing white space
- * 3) doesn't bother with ~ expansion--that's done by the shell
- *
- * @location: a possibly mangled "uri"
- *
- * returns a newly allocated uri
- *
- **/
-char *
-nautilus_make_uri_from_shell_arg (const char *location)
-{
- char *uri;
-
- g_return_val_if_fail (location != NULL, g_strdup (""));
-
- switch (location[0]) {
- case '\0':
- uri = g_strdup ("");
- break;
- case '/':
- uri = gnome_vfs_get_uri_from_local_path (location);
- break;
- default:
- if (has_valid_scheme (location)) {
- uri = g_strdup (location);
- } else {
- uri = file_uri_from_local_relative_path (location);
- }
- }
-
- return uri;
-}
-
-char *
-nautilus_uri_get_basename (const char *uri)
-{
- GnomeVFSURI *vfs_uri;
- char *name;
-
- /* Make VFS version of URI. */
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return NULL;
- }
-
- /* Extract name part. */
- name = gnome_vfs_uri_extract_short_name (vfs_uri);
- gnome_vfs_uri_unref (vfs_uri);
-
- return name;
-}
-
-char *
-nautilus_uri_get_scheme (const char *uri)
-{
- char *colon;
-
- g_return_val_if_fail (uri != NULL, NULL);
-
- colon = strchr (uri, ':');
-
- if (colon == NULL) {
- return NULL;
- }
-
- return g_strndup (uri, colon - uri);
-}
-
-
-static gboolean
-is_uri_partial (const char *uri)
-{
- const char *current;
-
- /* RFC 2396 section 3.1 */
- for (current = uri ;
- *current
- && ((*current >= 'a' && *current <= 'z')
- || (*current >= 'A' && *current <= 'Z')
- || (*current >= '0' && *current <= '9')
- || ('-' == *current)
- || ('+' == *current)
- || ('.' == *current)) ;
- current++);
-
- return !(':' == *current);
-}
-
-/*
- * Remove "./" segments
- * Compact "../" segments inside the URI
- * Remove "." at the end of the URL
- * Leave any ".."'s at the beginning of the URI
- */
-
-/*
- * FIXME this is not the simplest or most time-efficent way
- * to do this. Probably a far more clear way of doing this processing
- * is to split the path into segments, rather than doing the processing
- * in place.
- */
-static void
-remove_internal_relative_components (char *uri_current)
-{
- char *segment_prev, *segment_cur;
- size_t len_prev, len_cur;
-
- len_prev = len_cur = 0;
- segment_prev = NULL;
-
- g_return_if_fail (uri_current != NULL);
-
- segment_cur = uri_current;
-
- while (*segment_cur) {
- len_cur = strcspn (segment_cur, "/");
-
- if (len_cur == 1 && segment_cur[0] == '.') {
- /* Remove "." 's */
- if (segment_cur[1] == '\0') {
- segment_cur[0] = '\0';
- break;
- } else {
- memmove (segment_cur, segment_cur + 2, strlen (segment_cur + 2) + 1);
- continue;
- }
- } else if (len_cur == 2 && segment_cur[0] == '.' && segment_cur[1] == '.' ) {
- /* Remove ".."'s (and the component to the left of it) that aren't at the
- * beginning or to the right of other ..'s
- */
- if (segment_prev) {
- if (! (len_prev == 2
- && segment_prev[0] == '.'
- && segment_prev[1] == '.')) {
- if (segment_cur[2] == '\0') {
- segment_prev[0] = '\0';
- break;
- } else {
- memmove (segment_prev, segment_cur + 3, strlen (segment_cur + 3) + 1);
-
- segment_cur = segment_prev;
- len_cur = len_prev;
-
- /* now we find the previous segment_prev */
- if (segment_prev == uri_current) {
- segment_prev = NULL;
- } else if (segment_prev - uri_current >= 2) {
- segment_prev -= 2;
- for ( ; segment_prev > uri_current && segment_prev[0] != '/'
- ; segment_prev-- );
- if (segment_prev[0] == '/') {
- segment_prev++;
- }
- }
- continue;
- }
- }
- }
- }
-
- /*Forward to next segment */
-
- if (segment_cur [len_cur] == '\0') {
- break;
- }
-
- segment_prev = segment_cur;
- len_prev = len_cur;
- segment_cur += len_cur + 1;
- }
-}
-
-
-/**
- * nautilus_uri_make_full_from_relative:
- *
- * Returns a full URI given a full base URI, and a secondary URI which may
- * be relative.
- *
- * Return value: the URI (NULL for some bad errors).
- *
- * FIXME: This code has been copied from nautilus-mozilla-content-view
- * because nautilus-mozilla-content-view cannot link with libnautilus-extensions
- * due to lame license issues. Really, this belongs in gnome-vfs, but was added
- * after the Gnome 1.4 gnome-vfs API freeze
- **/
-
-char *
-nautilus_uri_make_full_from_relative (const char *base_uri, const char *relative_uri)
-{
- char *result = NULL;
-
- /* See section 5.2 in RFC 2396 */
-
- if (base_uri == NULL && relative_uri == NULL) {
- result = NULL;
- } else if (base_uri == NULL) {
- result = g_strdup (relative_uri);
- } else if (relative_uri == NULL) {
- result = g_strdup (base_uri);
- } else if (!is_uri_partial (relative_uri)) {
- result = g_strdup (relative_uri);
- } else {
- char *mutable_base_uri;
- char *mutable_uri;
-
- char *uri_current;
- size_t base_uri_length;
- char *separator;
-
- mutable_base_uri = g_strdup (base_uri);
- uri_current = mutable_uri = g_strdup (relative_uri);
-
- /* Chew off Fragment and Query from the base_url */
-
- separator = strrchr (mutable_base_uri, '#');
-
- if (separator) {
- *separator = '\0';
- }
-
- separator = strrchr (mutable_base_uri, '?');
-
- if (separator) {
- *separator = '\0';
- }
-
- if ('/' == uri_current[0] && '/' == uri_current [1]) {
- /* Relative URI's beginning with the authority
- * component inherit only the scheme from their parents
- */
-
- separator = strchr (mutable_base_uri, ':');
-
- if (separator) {
- separator[1] = '\0';
- }
- } else if ('/' == uri_current[0]) {
- /* Relative URI's beginning with '/' absolute-path based
- * at the root of the base uri
- */
-
- separator = strchr (mutable_base_uri, ':');
-
- /* g_assert (separator), really */
- if (separator) {
- /* If we start with //, skip past the authority section */
- if ('/' == separator[1] && '/' == separator[2]) {
- separator = strchr (separator + 3, '/');
- if (separator) {
- separator[0] = '\0';
- }
- } else {
- /* If there's no //, just assume the scheme is the root */
- separator[1] = '\0';
- }
- }
- } else if ('#' != uri_current[0]) {
- /* Handle the ".." convention for relative uri's */
-
- /* If there's a trailing '/' on base_url, treat base_url
- * as a directory path.
- * Otherwise, treat it as a file path, and chop off the filename
- */
-
- base_uri_length = strlen (mutable_base_uri);
- if ('/' == mutable_base_uri[base_uri_length-1]) {
- /* Trim off '/' for the operation below */
- mutable_base_uri[base_uri_length-1] = 0;
- } else {
- separator = strrchr (mutable_base_uri, '/');
- if (separator) {
- *separator = '\0';
- }
- }
-
- remove_internal_relative_components (uri_current);
-
- /* handle the "../"'s at the beginning of the relative URI */
- while (0 == strncmp ("../", uri_current, 3)) {
- uri_current += 3;
- separator = strrchr (mutable_base_uri, '/');
- if (separator) {
- *separator = '\0';
- } else {
- /* <shrug> */
- break;
- }
- }
-
- /* handle a ".." at the end */
- if (uri_current[0] == '.' && uri_current[1] == '.'
- && uri_current[2] == '\0') {
-
- uri_current += 2;
- separator = strrchr (mutable_base_uri, '/');
- if (separator) {
- *separator = '\0';
- }
- }
-
- /* Re-append the '/' */
- mutable_base_uri [strlen(mutable_base_uri)+1] = '\0';
- mutable_base_uri [strlen(mutable_base_uri)] = '/';
- }
-
- result = g_strconcat (mutable_base_uri, uri_current, NULL);
- g_free (mutable_base_uri);
- g_free (mutable_uri);
- }
-
- return result;
-}
-
-
-gboolean
-nautilus_uri_is_trash (const char *uri)
-{
- return eel_istr_has_prefix (uri, "trash:")
- || eel_istr_has_prefix (uri, "gnome-trash:");
-}
-
-gboolean
-nautilus_uri_is_trash_folder (const char *uri)
-{
- GnomeVFSURI *vfs_uri, *trash_vfs_uri;
- gboolean result;
-
- /* Use a check for the actual trash first so that the trash
- * itself will be "in trash". There are fancier ways to do
- * this, but lets start with this.
- */
- if (nautilus_uri_is_trash (uri)) {
- return TRUE;
- }
-
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return FALSE;
- }
-
- result = gnome_vfs_find_directory
- (vfs_uri, GNOME_VFS_DIRECTORY_KIND_TRASH,
- &trash_vfs_uri, FALSE, FALSE, 0777) == GNOME_VFS_OK;
-
- if (result) {
- result = gnome_vfs_uri_equal (trash_vfs_uri, vfs_uri);
- gnome_vfs_uri_unref (trash_vfs_uri);
- }
-
- gnome_vfs_uri_unref (vfs_uri);
-
- return result;
-}
-
-
-gboolean
-nautilus_uri_is_in_trash (const char *uri)
-{
- GnomeVFSURI *vfs_uri, *trash_vfs_uri;
- gboolean result;
-
- /* Use a check for the actual trash first so that the trash
- * itself will be "in trash". There are fancier ways to do
- * this, but lets start with this.
- */
- if (nautilus_uri_is_trash (uri)) {
- return TRUE;
- }
-
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return FALSE;
- }
-
- result = gnome_vfs_find_directory
- (vfs_uri, GNOME_VFS_DIRECTORY_KIND_TRASH,
- &trash_vfs_uri, FALSE, FALSE, 0777) == GNOME_VFS_OK;
-
- if (result) {
- result = gnome_vfs_uri_equal (trash_vfs_uri, vfs_uri)
- || gnome_vfs_uri_is_parent (trash_vfs_uri, vfs_uri, TRUE);
- gnome_vfs_uri_unref (trash_vfs_uri);
- }
-
- gnome_vfs_uri_unref (vfs_uri);
-
- return result;
-}
-
-
-static gboolean
-nautilus_uri_is_local_scheme (const char *uri)
-{
- gboolean is_local_scheme;
- char *temp_scheme;
- int i;
- char *local_schemes[] = {"file:", "help:", "ghelp:", "gnome-help:",
- "trash:", "man:", "info:",
- "hardware:", "search:", "pipe:",
- "gnome-trash:", NULL};
-
- is_local_scheme = FALSE;
- for (temp_scheme = *local_schemes, i = 0; temp_scheme != NULL; i++, temp_scheme = local_schemes[i]) {
- is_local_scheme = eel_istr_has_prefix (uri, temp_scheme);
- if (is_local_scheme) {
- break;
- }
- }
-
-
- return is_local_scheme;
-}
-
-static char *
-nautilus_handle_trailing_slashes (const char *uri)
-{
- char *temp, *uri_copy;
- gboolean previous_char_is_column, previous_chars_are_slashes_without_column;
- gboolean previous_chars_are_slashes_with_column;
- gboolean is_local_scheme;
-
- g_assert (uri != NULL);
-
- uri_copy = g_strdup (uri);
- if (strlen (uri_copy) <= 2) {
- return uri_copy;
- }
-
- is_local_scheme = nautilus_uri_is_local_scheme (uri);
-
- previous_char_is_column = FALSE;
- previous_chars_are_slashes_without_column = FALSE;
- previous_chars_are_slashes_with_column = FALSE;
-
- /* remove multiple trailing slashes */
- for (temp = uri_copy; *temp != '\0'; temp++) {
- if (*temp == '/' && !previous_char_is_column) {
- previous_chars_are_slashes_without_column = TRUE;
- } else if (*temp == '/' && previous_char_is_column) {
- previous_chars_are_slashes_without_column = FALSE;
- previous_char_is_column = TRUE;
- previous_chars_are_slashes_with_column = TRUE;
- } else {
- previous_chars_are_slashes_without_column = FALSE;
- previous_char_is_column = FALSE;
- previous_chars_are_slashes_with_column = FALSE;
- }
-
- if (*temp == ':') {
- previous_char_is_column = TRUE;
- }
- }
-
- if (*temp == '\0' && previous_chars_are_slashes_without_column) {
- if (is_local_scheme) {
- /* go back till you remove them all. */
- for (temp--; *(temp) == '/'; temp--) {
- *temp = '\0';
- }
- } else {
- /* go back till you remove them all but one. */
- for (temp--; *(temp - 1) == '/'; temp--) {
- *temp = '\0';
- }
- }
- }
-
- if (*temp == '\0' && previous_chars_are_slashes_with_column) {
- /* go back till you remove them all but three. */
- for (temp--; *(temp - 3) != ':' && *(temp - 2) != ':' && *(temp - 1) != ':'; temp--) {
- *temp = '\0';
- }
- }
-
-
- return uri_copy;
-}
-
-char *
-nautilus_make_uri_canonical (const char *uri)
-{
- char *canonical_uri, *old_uri, *p;
- gboolean relative_uri;
-
- relative_uri = FALSE;
-
- if (uri == NULL) {
- return NULL;
- }
-
- /* Convert "gnome-trash:<anything>" and "trash:<anything>" to
- * "trash:".
- */
- if (nautilus_uri_is_trash (uri)) {
- return g_strdup (NAUTILUS_TRASH_URI);
- }
-
- /* FIXME bugzilla.eazel.com 648:
- * This currently ignores the issue of two uris that are not identical but point
- * to the same data except for the specific cases of trailing '/' characters,
- * file:/ and file:///, and "lack of file:".
- */
-
- canonical_uri = nautilus_handle_trailing_slashes (uri);
-
- /* Note: In some cases, a trailing slash means nothing, and can
- * be considered equivalent to no trailing slash. But this is
- * not true in every case; specifically not for web addresses passed
- * to a web-browser. So we don't have the trailing-slash-equivalence
- * logic here, but we do use that logic in NautilusDirectory where
- * the rules are more strict.
- */
-
- /* Add file: if there is no scheme. */
- if (strchr (canonical_uri, ':') == NULL) {
- old_uri = canonical_uri;
-
- if (old_uri[0] != '/') {
- /* FIXME bugzilla.eazel.com 5069:
- * bandaid alert. Is this really the right thing to do?
- *
- * We got what really is a relative path. We do a little bit of
- * a stretch here and assume it was meant to be a cryptic absolute path,
- * and convert it to one. Since we can't call gnome_vfs_uri_new and
- * gnome_vfs_uri_to_string to do the right make-canonical conversion,
- * we have to do it ourselves.
- */
- relative_uri = TRUE;
- canonical_uri = gnome_vfs_make_path_name_canonical (old_uri);
- g_free (old_uri);
- old_uri = canonical_uri;
- canonical_uri = g_strconcat ("file:///", old_uri, NULL);
- } else {
- canonical_uri = g_strconcat ("file:", old_uri, NULL);
- }
- g_free (old_uri);
- }
-
- /* Lower-case the scheme. */
- for (p = canonical_uri; *p != ':'; p++) {
- g_assert (*p != '\0');
- if (isupper (*p)) {
- *p = tolower (*p);
- }
- }
-
- if (!relative_uri) {
- old_uri = canonical_uri;
- canonical_uri = gnome_vfs_make_uri_canonical (canonical_uri);
- if (canonical_uri != NULL) {
- g_free (old_uri);
- } else {
- canonical_uri = old_uri;
- }
- }
-
- /* FIXME bugzilla.eazel.com 2802:
- * Work around gnome-vfs's desire to convert file:foo into file://foo
- * by converting to file:///foo here. When you remove this, check that
- * typing "foo" into location bar does not crash and returns an error
- * rather than displaying the contents of /
- */
- if (eel_str_has_prefix (canonical_uri, "file://")
- && !eel_str_has_prefix (canonical_uri, "file:///")) {
- old_uri = canonical_uri;
- canonical_uri = g_strconcat ("file:/", old_uri + 5, NULL);
- g_free (old_uri);
- }
-
- return canonical_uri;
-}
-
-char *
-nautilus_make_uri_canonical_strip_fragment (const char *uri)
-{
- const char *fragment;
- char *without_fragment, *canonical;
-
- fragment = strchr (uri, '#');
- if (fragment == NULL) {
- return nautilus_make_uri_canonical (uri);
- }
-
- without_fragment = g_strndup (uri, fragment - uri);
- canonical = nautilus_make_uri_canonical (without_fragment);
- g_free (without_fragment);
- return canonical;
-}
-
-static gboolean
-uris_match (const char *uri_1, const char *uri_2, gboolean ignore_fragments)
-{
- char *canonical_1, *canonical_2;
- gboolean result;
-
- if (ignore_fragments) {
- canonical_1 = nautilus_make_uri_canonical_strip_fragment (uri_1);
- canonical_2 = nautilus_make_uri_canonical_strip_fragment (uri_2);
- } else {
- canonical_1 = nautilus_make_uri_canonical (uri_1);
- canonical_2 = nautilus_make_uri_canonical (uri_2);
- }
-
- result = eel_str_is_equal (canonical_1, canonical_2);
-
- g_free (canonical_1);
- g_free (canonical_2);
-
- return result;
-}
-
-gboolean
-nautilus_uris_match (const char *uri_1, const char *uri_2)
-{
- return uris_match (uri_1, uri_2, FALSE);
-}
-
-gboolean
-nautilus_uris_match_ignore_fragments (const char *uri_1, const char *uri_2)
-{
- return uris_match (uri_1, uri_2, TRUE);
-}
-
gboolean
nautilus_file_name_matches_hidden_pattern (const char *name_or_relative_uri)
{
@@ -1046,20 +258,6 @@ nautilus_get_pixmap_directory (void)
return g_strdup (DATADIR "/pixmaps/nautilus");
}
-/* convenience routine to use gnome-vfs to test if a string is a remote uri */
-gboolean
-nautilus_is_remote_uri (const char *uri)
-{
- gboolean is_local;
- GnomeVFSURI *vfs_uri;
-
- vfs_uri = gnome_vfs_uri_new (uri);
- is_local = gnome_vfs_uri_is_local (vfs_uri);
- gnome_vfs_uri_unref(vfs_uri);
- return !is_local;
-}
-
-
/* FIXME bugzilla.eazel.com 2423:
* Callers just use this and dereference so we core dump if
* pixmaps are missing. That is lame.
@@ -1086,571 +284,6 @@ nautilus_pixmap_file (const char *partial_path)
return NULL;
}
-GnomeVFSResult
-nautilus_read_entire_file (const char *uri,
- int *file_size,
- char **file_contents)
-{
- GnomeVFSResult result;
- GnomeVFSHandle *handle;
- char *buffer;
- GnomeVFSFileSize total_bytes_read;
- GnomeVFSFileSize bytes_read;
-
- *file_size = 0;
- *file_contents = NULL;
-
- /* Open the file. */
- result = gnome_vfs_open (&handle, uri, GNOME_VFS_OPEN_READ);
- if (result != GNOME_VFS_OK) {
- return result;
- }
-
- /* Read the whole thing. */
- buffer = NULL;
- total_bytes_read = 0;
- do {
- buffer = g_realloc (buffer, total_bytes_read + READ_CHUNK_SIZE);
- result = gnome_vfs_read (handle,
- buffer + total_bytes_read,
- READ_CHUNK_SIZE,
- &bytes_read);
- if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_EOF) {
- g_free (buffer);
- gnome_vfs_close (handle);
- return result;
- }
-
- /* Check for overflow. */
- if (total_bytes_read + bytes_read < total_bytes_read) {
- g_free (buffer);
- gnome_vfs_close (handle);
- return GNOME_VFS_ERROR_TOO_BIG;
- }
-
- total_bytes_read += bytes_read;
- } while (result == GNOME_VFS_OK);
-
- /* Close the file. */
- result = gnome_vfs_close (handle);
- if (result != GNOME_VFS_OK) {
- g_free (buffer);
- return result;
- }
-
- /* Return the file. */
- *file_size = total_bytes_read;
- *file_contents = g_realloc (buffer, total_bytes_read);
- return GNOME_VFS_OK;
-}
-
-#ifndef PTHREAD_ASYNC_READ
-/* When close is complete, there's no more work to do. */
-static void
-read_file_close_callback (GnomeVFSAsyncHandle *handle,
- GnomeVFSResult result,
- gpointer callback_data)
-{
-}
-
-/* Do a close if it's needed.
- * Be sure to get this right, or we have extra threads hanging around.
- */
-static void
-read_file_close (NautilusReadFileHandle *read_handle)
-{
- if (read_handle->is_open) {
- gnome_vfs_async_close (read_handle->handle,
- read_file_close_callback,
- NULL);
- read_handle->is_open = FALSE;
- }
-}
-
-/* Close the file and then tell the caller we succeeded, handing off
- * the buffer to the caller.
- */
-static void
-read_file_succeeded (NautilusReadFileHandle *read_handle)
-{
- read_file_close (read_handle);
-
- /* Reallocate the buffer to the exact size since it might be
- * around for a while.
- */
- (* read_handle->callback) (GNOME_VFS_OK,
- read_handle->bytes_read,
- g_realloc (read_handle->buffer,
- read_handle->bytes_read),
- read_handle->callback_data);
-
- g_free (read_handle);
-}
-
-/* Tell the caller we failed. */
-static void
-read_file_failed (NautilusReadFileHandle *read_handle, GnomeVFSResult result)
-{
- read_file_close (read_handle);
- g_free (read_handle->buffer);
-
- (* read_handle->callback) (result, 0, NULL, read_handle->callback_data);
- g_free (read_handle);
-}
-
-/* A read is complete, so we might or might not be done. */
-static void
-read_file_read_callback (GnomeVFSAsyncHandle *handle,
- GnomeVFSResult result,
- gpointer buffer,
- GnomeVFSFileSize bytes_requested,
- GnomeVFSFileSize bytes_read,
- gpointer callback_data)
-{
- NautilusReadFileHandle *read_handle;
- gboolean read_more;
-
- /* Do a few reality checks. */
- g_assert (bytes_requested == READ_CHUNK_SIZE);
- read_handle = callback_data;
- g_assert (read_handle->handle == handle);
- g_assert (read_handle->buffer + read_handle->bytes_read == buffer);
- g_assert (bytes_read <= bytes_requested);
-
- /* Check for a failure. */
- if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_EOF) {
- read_file_failed (read_handle, result);
- return;
- }
-
- /* Check for the extremely unlikely case where the file size overflows. */
- if (read_handle->bytes_read + bytes_read < read_handle->bytes_read) {
- read_file_failed (read_handle, GNOME_VFS_ERROR_TOO_BIG);
- return;
- }
-
- /* Bump the size. */
- read_handle->bytes_read += bytes_read;
-
- /* Read more unless we are at the end of the file. */
- if (bytes_read == 0 || result != GNOME_VFS_OK) {
- read_more = FALSE;
- } else {
- if (read_handle->read_more_callback == NULL) {
- read_more = TRUE;
- } else {
- read_more = (* read_handle->read_more_callback)
- (read_handle->bytes_read,
- read_handle->buffer,
- read_handle->callback_data);
- }
- }
- if (read_more) {
- read_file_read_chunk (read_handle);
- return;
- }
-
- /* If at the end of the file, we win! */
- read_file_succeeded (read_handle);
-}
-
-/* Start reading a chunk. */
-static void
-read_file_read_chunk (NautilusReadFileHandle *handle)
-{
- handle->buffer = g_realloc (handle->buffer, handle->bytes_read + READ_CHUNK_SIZE);
- gnome_vfs_async_read (handle->handle,
- handle->buffer + handle->bytes_read,
- READ_CHUNK_SIZE,
- read_file_read_callback,
- handle);
-}
-
-/* Once the open is finished, read a first chunk. */
-static void
-read_file_open_callback (GnomeVFSAsyncHandle *handle,
- GnomeVFSResult result,
- gpointer callback_data)
-{
- NautilusReadFileHandle *read_handle;
-
- read_handle = callback_data;
- g_assert (read_handle->handle == handle);
-
- /* Handle the failure case. */
- if (result != GNOME_VFS_OK) {
- read_file_failed (read_handle, result);
- return;
- }
-
- /* Handle success by reading the first chunk. */
- read_handle->is_open = TRUE;
- read_file_read_chunk (read_handle);
-}
-
-#else
-
-typedef struct {
- NautilusReadFileCallback callback;
- NautilusReadMoreCallback more_callback;
- gpointer callback_data;
- pthread_mutex_t *callback_result_ready_semaphore;
- gboolean synch_callback_result;
-
- GnomeVFSResult result;
- GnomeVFSFileSize file_size;
- char *buffer;
-} NautilusAsyncReadFileCallbackData;
-
-static int
-pthread_nautilus_read_file_callback_idle_binder (void *cast_to_context)
-{
- NautilusAsyncReadFileCallbackData *context;
-
- context = (NautilusAsyncReadFileCallbackData *)cast_to_context;
-
- if (context->more_callback) {
- g_assert (context->callback_result_ready_semaphore != NULL);
- /* Synchronous callback flavor, wait for the return value. */
- context->synch_callback_result = (* context->more_callback) (context->file_size,
- context->buffer, context->callback_data);
- /* Got the result, release the master thread */
- pthread_mutex_unlock (context->callback_result_ready_semaphore);
- } else {
- /* Asynchronous callback flavor, don't wait for the result. */
- (* context->callback) (context->result, context->file_size,
- context->buffer, context->callback_data);
-
- /* We assume ownership of data here in the async call and have to
- * free it.
- */
- g_free (context);
- }
-
- return FALSE;
-}
-
-static gboolean
-pthread_nautilus_read_file_callback_common (NautilusReadFileCallback callback,
- NautilusReadMoreCallback more_callback, gpointer callback_data,
- GnomeVFSResult error, GnomeVFSFileSize file_size,
- char *buffer, pthread_mutex_t *callback_result_ready_semaphore)
-{
- NautilusAsyncReadFileCallbackData *data;
- gboolean result;
-
- g_assert ((callback == NULL) != (more_callback == NULL));
- g_assert ((more_callback != NULL) == (callback_result_ready_semaphore != NULL));
-
- result = FALSE;
- data = g_new0 (NautilusAsyncReadFileCallbackData, 1);
- data->callback = callback;
- data->more_callback = more_callback;
- data->callback_data = callback_data;
- data->callback_result_ready_semaphore = callback_result_ready_semaphore;
- data->result = error;
- data->file_size = file_size;
- data->buffer = buffer;
-
- /* Set up the callback to get called in the main thread. */
- g_idle_add (pthread_nautilus_read_file_callback_idle_binder, data);
-
- if (callback_result_ready_semaphore != NULL) {
- /* Block until callback deposits the return value. This is not optimal but we do it
- * to emulate the nautilus_read_file_async call behavior.
- */
- pthread_mutex_lock (callback_result_ready_semaphore);
- result = data->synch_callback_result;
-
- /* In the synch call we still own data here and need to free it. */
- g_free (data);
-
- }
-
- return result;
-}
-
-static gboolean
-pthread_nautilus_read_file_synchronous_callback (NautilusReadMoreCallback callback,
- gpointer callback_data, GnomeVFSFileSize file_size,
- char *buffer, pthread_mutex_t *callback_result_ready_semaphore)
-{
- return pthread_nautilus_read_file_callback_common(NULL, callback,
- callback_data, GNOME_VFS_OK, file_size, buffer, callback_result_ready_semaphore);
-}
-
-static void
-pthread_nautilus_read_file_asynchronous_callback (NautilusReadFileCallback callback,
- gpointer callback_data, GnomeVFSResult result, GnomeVFSFileSize file_size,
- char *buffer)
-{
- pthread_nautilus_read_file_callback_common(callback, NULL,
- callback_data, result, file_size, buffer, NULL);
-}
-
-typedef struct {
- NautilusReadFileHandle handle;
- char *uri;
- volatile gboolean cancel_requested;
- /* Expose the synch callback semaphore to allow the cancel call to unlock it. */
- pthread_mutex_t *callback_result_ready_semaphore;
-} NautilusAsyncReadFileData;
-
-static void *
-pthread_nautilus_read_file_thread_entry (void *cast_to_data)
-{
- NautilusAsyncReadFileData *data;
- GnomeVFSResult result;
- char *buffer;
- GnomeVFSFileSize total_bytes_read;
- GnomeVFSFileSize bytes_read;
- pthread_mutex_t callback_result_ready_semaphore;
-
- data = (NautilusAsyncReadFileData *)cast_to_data;
- buffer = NULL;
- total_bytes_read = 0;
-
- result = gnome_vfs_open ((GnomeVFSHandle **)&data->handle.handle, data->uri, GNOME_VFS_OPEN_READ);
- if (result == GNOME_VFS_OK) {
-
- if (data->handle.read_more_callback != NULL) {
- /* read_more_callback is a synchronous callback, allocate a semaphore
- * to provide for synchoronization with the callback.
- * We are using the default mutex attributes that give us a fast mutex
- * that behaves like a semaphore.
- */
- pthread_mutex_init (&callback_result_ready_semaphore, NULL);
- /* Grab the semaphore -- the next lock will block us and
- * we will need the callback to unblock the semaphore.
- */
- pthread_mutex_lock (&callback_result_ready_semaphore);
- data->callback_result_ready_semaphore = &callback_result_ready_semaphore;
- }
- for (;;) {
- if (data->cancel_requested) {
- /* Cancelled by the master. */
- result = GNOME_VFS_ERROR_INTERRUPTED;
- break;
- }
-
- buffer = g_realloc (buffer, total_bytes_read + READ_CHUNK_SIZE);
- /* FIXME bugzilla.eazel.com 5070:
- * For a better cancellation granularity we should use gnome_vfs_read_cancellable
- * here, adding a GnomeVFSContext to NautilusAsyncReadFileData.
- */
- result = gnome_vfs_read ((GnomeVFSHandle *)data->handle.handle, buffer + total_bytes_read,
- READ_CHUNK_SIZE, &bytes_read);
-
- total_bytes_read += bytes_read;
-
- if (data->cancel_requested) {
- /* Cancelled by the master. */
- result = GNOME_VFS_ERROR_INTERRUPTED;
- break;
- }
-
- if (result != GNOME_VFS_OK) {
- if (result == GNOME_VFS_ERROR_EOF) {
- /* not really an error, just done reading */
- result = GNOME_VFS_OK;
- }
- break;
- }
-
- if (data->handle.read_more_callback != NULL
- && !pthread_nautilus_read_file_synchronous_callback (data->handle.read_more_callback,
- data->handle.callback_data, total_bytes_read, buffer,
- &callback_result_ready_semaphore)) {
- /* callback doesn't want any more data */
- break;
- }
-
- }
- gnome_vfs_close ((GnomeVFSHandle *)data->handle.handle);
- }
-
- if (result != GNOME_VFS_OK) {
- /* Because of the error or cancellation, nobody will take the data we read,
- * delete the buffer here instead.
- */
- g_free (buffer);
- buffer = NULL;
- total_bytes_read = 0;
- }
-
- /* Call the final callback.
- * If everything is OK, pass in the data read.
- * We are handing off the read buffer -- trim it to the actual size we need first
- * so that it doesn't take up more space than needed.
- */
- pthread_nautilus_read_file_asynchronous_callback(data->handle.callback,
- data->handle.callback_data, result, total_bytes_read,
- g_realloc (buffer, total_bytes_read));
-
- if (data->handle.read_more_callback != NULL) {
- pthread_mutex_destroy (&callback_result_ready_semaphore);
- }
-
- g_free (data->uri);
- g_free (data);
-
- return NULL;
-}
-
-static NautilusReadFileHandle *
-pthread_nautilus_read_file_async(const char *uri, NautilusReadFileCallback callback,
- NautilusReadMoreCallback read_more_callback, gpointer callback_data)
-{
- NautilusAsyncReadFileData *data;
- pthread_attr_t thread_attr;
- pthread_t thread;
-
- data = g_new0 (NautilusAsyncReadFileData, 1);
-
- data->handle.callback = callback;
- data->handle.read_more_callback = read_more_callback;
- data->handle.callback_data = callback_data;
- data->cancel_requested = FALSE;
- data->uri = g_strdup (uri);
-
- pthread_attr_init (&thread_attr);
- pthread_attr_setdetachstate (&thread_attr, PTHREAD_CREATE_DETACHED);
- if (pthread_create (&thread, &thread_attr, pthread_nautilus_read_file_thread_entry, data) != 0) {
- /* FIXME bugzilla.eazel.com 5071:
- * Would be cleaner to call through an idle callback here.
- */
- (*callback) (GNOME_VFS_ERROR_INTERNAL, 0, NULL, NULL);
- g_free (data);
- return NULL;
- }
-
- return (NautilusReadFileHandle *)data;
-}
-
-static void
-pthread_nautilus_read_file_async_cancel (NautilusReadFileHandle *handle)
-{
- /* Must call this before the final callback kicks in. */
- NautilusAsyncReadFileData *data;
-
- data = (NautilusAsyncReadFileData *)handle;
- data->cancel_requested = TRUE;
- if (data->callback_result_ready_semaphore != NULL) {
- pthread_mutex_unlock (data->callback_result_ready_semaphore);
- }
-
- /* now the thread will die on it's own and clean up after itself */
-}
-
-#endif
-
-/* Set up the read handle and start reading. */
-NautilusReadFileHandle *
-nautilus_read_file_async (const char *uri,
- NautilusReadFileCallback callback,
- NautilusReadMoreCallback read_more_callback,
- gpointer callback_data)
-{
-#ifndef PTHREAD_ASYNC_READ
- NautilusReadFileHandle *handle;
-
- handle = g_new0 (NautilusReadFileHandle, 1);
-
- handle->callback = callback;
- handle->read_more_callback = read_more_callback;
- handle->callback_data = callback_data;
-
- gnome_vfs_async_open (&handle->handle,
- uri,
- GNOME_VFS_OPEN_READ,
- read_file_open_callback,
- handle);
- return handle;
-#else
- return pthread_nautilus_read_file_async(uri, callback,
- read_more_callback, callback_data);
-#endif
-}
-
-/* Set up the read handle and start reading. */
-NautilusReadFileHandle *
-nautilus_read_entire_file_async (const char *uri,
- NautilusReadFileCallback callback,
- gpointer callback_data)
-{
- return nautilus_read_file_async (uri, callback, NULL, callback_data);
-}
-
-/* Stop the presses! */
-void
-nautilus_read_file_cancel (NautilusReadFileHandle *handle)
-{
-#ifndef PTHREAD_ASYNC_READ
- gnome_vfs_async_cancel (handle->handle);
- read_file_close (handle);
- g_free (handle->buffer);
- g_free (handle);
-#else
-
- pthread_nautilus_read_file_async_cancel (handle);
-#endif
-}
-
-GnomeVFSResult
-nautilus_make_directory_and_parents (GnomeVFSURI *uri, guint permissions)
-{
- GnomeVFSResult result;
- GnomeVFSURI *parent_uri;
-
- /* Make the directory, and return right away unless there's
- a possible problem with the parent.
- */
- result = gnome_vfs_make_directory_for_uri (uri, permissions);
- if (result != GNOME_VFS_ERROR_NOT_FOUND) {
- return result;
- }
-
- /* If we can't get a parent, we are done. */
- parent_uri = gnome_vfs_uri_get_parent (uri);
- if (parent_uri == NULL) {
- return result;
- }
-
- /* If we can get a parent, use a recursive call to create
- the parent and its parents.
- */
- result = nautilus_make_directory_and_parents (parent_uri, permissions);
- gnome_vfs_uri_unref (parent_uri);
- if (result != GNOME_VFS_OK) {
- return result;
- }
-
- /* A second try at making the directory after the parents
- have all been created.
- */
- result = gnome_vfs_make_directory_for_uri (uri, permissions);
- return result;
-}
-
-GnomeVFSResult
-nautilus_copy_uri_simple ( const char *source_uri, const char *dest_uri)
-{
- GnomeVFSResult result;
- GnomeVFSURI *real_source_uri, *real_dest_uri;
- real_source_uri = gnome_vfs_uri_new (source_uri);
- real_dest_uri = gnome_vfs_uri_new (dest_uri);
-
- result = gnome_vfs_xfer_uri (real_source_uri, real_dest_uri,
- GNOME_VFS_XFER_RECURSIVE, GNOME_VFS_XFER_ERROR_MODE_ABORT,
- GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE,
- NULL, NULL);
-
- gnome_vfs_uri_unref (real_source_uri);
- gnome_vfs_uri_unref (real_dest_uri);
-
- return result;
-}
-
char *
nautilus_unique_temporary_file_name (void)
{
@@ -1693,262 +326,6 @@ nautilus_get_build_message (void)
void
nautilus_self_check_file_utilities (void)
{
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (""), "");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" "), "");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" / "), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" /"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" /home\n\n"), "file:///home");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (" \n\t"), "");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("!"), "http://!");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("#"), "http://#");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/ "), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/!"), "file:///!");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/#"), "file:///%23");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/%20"), "file:///%2520");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/%25"), "file:///%2525");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/:"), "file:///%3A");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/home"), "file:///home");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("/home/darin"), "file:///home/darin");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (":"), "http://:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("::"), "http://::");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input (":://:://:::::::::::::::::"), "http://:://:://:::::::::::::::::");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:"), "file:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///%20"), "file:///%20");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///%3F"), "file:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///:"), "file:///:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///?"), "file:///?");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:///home/joe/some file"), "file:///home/joe/some file");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file://home/joe/some file"), "file://home/joe/some file");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("file:::::////"), "file:::::////");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("foo://foobar.txt"), "foo://foobar.txt");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("home"), "http://home");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://null.stanford.edu"), "http://null.stanford.edu");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://null.stanford.edu:80"), "http://null.stanford.edu:80");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://seth@null.stanford.edu:80"), "http://seth@null.stanford.edu:80");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http:::::::::"), "http:::::::::");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("www.eazel.com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_from_input ("http://null.stanford.edu/some file"), "http://null.stanford.edu/some file");
-
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme ("file:///var/tmp"), "file");
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme (""), NULL);
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme ("file:///var/tmp::"), "file");
- EEL_CHECK_STRING_RESULT (nautilus_uri_get_scheme ("man:ls"), "man");
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uri_is_local_scheme ("file:///var/tmp"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uri_is_local_scheme ("http://www.yahoo.com"), FALSE);
-
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file:///////"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file://foo/"), "file://foo");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file://foo"), "file://foo");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file://"), "file://");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("file:/"), "file:/");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("http://le-hacker.org"), "http://le-hacker.org");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("http://le-hacker.org/dir//////"), "http://le-hacker.org/dir/");
- EEL_CHECK_STRING_RESULT (nautilus_handle_trailing_slashes ("http://le-hacker.org/////"), "http://le-hacker.org/");
-
- /* nautilus_make_uri_canonical */
-
- /* FIXME bugzilla.eazel.com 5072: this is a bizarre result from an empty string */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (""), "file:///");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:/"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///home/mathieu/"), "file:///home/mathieu");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///home/mathieu"), "file:///home/mathieu");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://mathieu:password@le-hackeur.org"), "ftp://mathieu:password@le-hackeur.org");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://mathieu:password@le-hackeur.org/"), "ftp://mathieu:password@le-hackeur.org/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org"), "http://le-hackeur.org");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org/"), "http://le-hackeur.org/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org/dir"), "http://le-hackeur.org/dir");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://le-hackeur.org/dir/"), "http://le-hackeur.org/dir/");
-
- /* FIXME bugzilla.eazel.com 5068: the "nested" URI loses some characters here. Maybe that's OK because we escape them in practice? */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("search://[file://]file_name contains stuff"), "search://[file/]file_name contains stuff");
-#ifdef EAZEL_SERVICES
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("eazel-services:/~turtle"), "eazel-services:///~turtle");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("eazel-services:///~turtle"), "eazel-services:///~turtle");
-#endif
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/"), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/./."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/.//."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/.///."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a"), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a///"), "file:///a/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a"), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("../a"), "file:///../a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("..//a"), "file:///../a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a//."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (".//a/."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a//."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a//.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (".//a/.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a//.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical (".//a//.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/./a/b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/./b/.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/b/./.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/a/b/../."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/../.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("./a/b/../.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("././a/b/../.."), "file:///");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/c/../.."), "file:///a");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/c/../../d"), "file:///a/d");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/../../d"), "file:///d");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/../../d"), "file:///../d");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/b/.././.././c"), "file:///c");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("a/.././.././b/c"), "file:///../b/c");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com/"), "http://www.eazel.com/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com/dir"), "http://www.eazel.com/dir");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com/dir/"), "http://www.eazel.com/dir/");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://yakk:womble@www.eazel.com:42/blah/"), "http://yakk:womble@www.eazel.com:42/blah/");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("FILE:///"), "file:///");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///trash"), "file:///trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///Users/mikef"), "file:///Users/mikef");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/trash"), "file:///trash");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("/root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("//root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("///root"), "file:///root");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("////root"), "file:///root");
-
- /* Test cases related to escaping. */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///%3F"), "file:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///%78"), "file:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///?"), "file:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:///x"), "file:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///%3F"), "glorb:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///%78"), "glorb:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///?"), "glorb:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorb:///x"), "glorb:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///%3F"), "http:///%3F");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///%78"), "http:///x");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///?"), "http:///?");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http:///x"), "http:///x");
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.Eazel.Com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.Eazel.Com/xXx"), "http://www.eazel.com/xXx");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://Darin@www.Eazel.Com/xXx"), "ftp://Darin@www.eazel.com/xXx");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.Eazel.Com:80/xXx"), "http://www.eazel.com:80/xXx");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("ftp://Darin@www.Eazel.Com:80/xXx"), "ftp://Darin@www.eazel.com:80/xXx");
-
- /* FIXME bugzilla.eazel.com 4101: Why append a slash in this case, but not in the http://www.eazel.com case? */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("http://www.eazel.com:80"), "http://www.eazel.com:80/");
-
- /* Note: these cases behave differently here than in
- * gnome-vfs. In some cases because of bugs in gnome-vfs, but
- * in other cases because we just want them handled
- * differently.
- */
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:trash"), "file:trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("//trash"), "file:///trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("file:"), "file:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("trash"), "file:///trash");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("glorp:"), "glorp:");
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("trash:xxx"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("GNOME-TRASH:XXX"), NAUTILUS_TRASH_URI);
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("gnome-trash:xxx"), NAUTILUS_TRASH_URI);
-
- EEL_CHECK_STRING_RESULT (nautilus_make_uri_canonical ("pipe:gnome-info2html2 as"), "pipe:gnome-info2html2 as");
-
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative (NULL, NULL), NULL);
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative ("http://a/b/c/d;p?q", NULL), "http://a/b/c/d;p?q");
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative (NULL, "http://a/b/c/d;p?q"), "http://a/b/c/d;p?q");
-
- /* These test cases are from RFC 2396. */
-#define TEST_PARTIAL(partial, result) \
- EEL_CHECK_STRING_RESULT (nautilus_uri_make_full_from_relative \
- ("http://a/b/c/d;p?q", partial), result)
-
- TEST_PARTIAL ("g", "http://a/b/c/g");
- TEST_PARTIAL ("./g", "http://a/b/c/g");
- TEST_PARTIAL ("g/", "http://a/b/c/g/");
- TEST_PARTIAL ("/g", "http://a/g");
-
- TEST_PARTIAL ("//g", "http://g");
-
- TEST_PARTIAL ("?y", "http://a/b/c/?y");
- TEST_PARTIAL ("g?y", "http://a/b/c/g?y");
- TEST_PARTIAL ("#s", "http://a/b/c/d;p#s");
- TEST_PARTIAL ("g#s", "http://a/b/c/g#s");
- TEST_PARTIAL ("g?y#s", "http://a/b/c/g?y#s");
- TEST_PARTIAL (";x", "http://a/b/c/;x");
- TEST_PARTIAL ("g;x", "http://a/b/c/g;x");
- TEST_PARTIAL ("g;x?y#s", "http://a/b/c/g;x?y#s");
-
- TEST_PARTIAL (".", "http://a/b/c/");
- TEST_PARTIAL ("./", "http://a/b/c/");
-
- TEST_PARTIAL ("..", "http://a/b/");
- TEST_PARTIAL ("../g", "http://a/b/g");
- TEST_PARTIAL ("../..", "http://a/");
- TEST_PARTIAL ("../../", "http://a/");
- TEST_PARTIAL ("../../g", "http://a/g");
-
- /* Others */
- TEST_PARTIAL ("g/..", "http://a/b/c/");
- TEST_PARTIAL ("g/../", "http://a/b/c/");
- TEST_PARTIAL ("g/../g", "http://a/b/c/g");
-
-#undef TEST_PARTIAL
-
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display (""), "/");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display (":"), ":");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///h/user"), "/h/user");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///%68/user/foo%2ehtml"), "/h/user/foo.html");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///h/user/foo.html#fragment"), "file:///h/user/foo.html#fragment");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("http://www.eazel.com"), "http://www.eazel.com");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("http://www.eazel.com/jobs#Engineering"), "http://www.eazel.com/jobs#Engineering");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file"), "/file");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///#"), "file:///#");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///"), "/");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///%20%23"), "/ #");
- EEL_CHECK_STRING_RESULT (nautilus_format_uri_for_display ("file:///%20%23#"), "file:///%20%23#");
-
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("", ""), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match (":", ":"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("file:///h/user/file#gunzip:///", "file:///h/user/file#gunzip:///"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("file:///h/user/file#gunzip:///", "file:///h/user/file#gzip:///"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("http://www.Eazel.Com", "http://www.eazel.com"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match ("http://www.Eazel.Com:80", "http://www.eazel.com:80"), TRUE);
-
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("", ""), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments (":", ":"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file#gunzip:///"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file#gzip:///"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("http://www.Eazel.Com", "http://www.eazel.com"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("http://www.Eazel.Com:80", "http://www.eazel.com:80"), TRUE);
-
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user", "file:///h/user"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user#frag", "file:///h/user"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user#frag", "file:///h/user/"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user#frag", "file:///h/user%23frag"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/", "file:///h/user"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/", "http:///h/user"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/", "http://www.eazel.com"), FALSE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file#gunzip:///", "file:///h/user/file"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/file.html.gz#gunzip:///#fragment", "file:///h/user/file.html.gz"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("file:///h/user/#frag", "file:///h/user/"), TRUE);
-
- /* Since it's illegal to have a # in a scheme name, it doesn't really matter what these cases do */
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("fi#le:///h/user/file", "fi"), TRUE);
- EEL_CHECK_BOOLEAN_RESULT (nautilus_uris_match_ignore_fragments ("fi#le:///h/user/file", "fi#le:"), TRUE);
}
#endif /* !NAUTILUS_OMIT_SELF_CHECK */
diff --git a/libnautilus-private/nautilus-file-utilities.h b/libnautilus-private/nautilus-file-utilities.h
index 37149623e..79e39a295 100644
--- a/libnautilus-private/nautilus-file-utilities.h
+++ b/libnautilus-private/nautilus-file-utilities.h
@@ -27,71 +27,30 @@
#include <libgnomevfs/gnome-vfs-types.h>
-#define NAUTILUS_TRASH_URI "trash:"
-
-typedef void (* NautilusReadFileCallback) (GnomeVFSResult result,
- GnomeVFSFileSize file_size,
- char *file_contents,
- gpointer callback_data);
-typedef gboolean (* NautilusReadMoreCallback) (GnomeVFSFileSize file_size,
- const char *file_contents,
- gpointer callback_data);
-
-typedef struct NautilusReadFileHandle NautilusReadFileHandle;
-
-char * nautilus_format_uri_for_display (const char *uri);
-char * nautilus_make_uri_from_input (const char *location);
-char * nautilus_make_uri_from_shell_arg (const char *location);
-gboolean nautilus_uri_is_trash (const char *uri);
-gboolean nautilus_uri_is_trash_folder (const char *uri);
-gboolean nautilus_uri_is_in_trash (const char *uri);
-char * nautilus_make_uri_canonical (const char *uri);
-char * nautilus_make_uri_canonical_strip_fragment (const char *uri);
-gboolean nautilus_uris_match (const char *uri_1,
- const char *uri_2);
-gboolean nautilus_uris_match_ignore_fragments (const char *uri_1,
- const char *uri_2);
-char * nautilus_uri_get_basename (const char *uri);
-char * nautilus_uri_get_scheme (const char *uri);
-char * nautilus_uri_make_full_from_relative (const char *base_uri,
- const char *uri);
-
/* Recognizing special file names. */
-gboolean nautilus_file_name_matches_hidden_pattern (const char *name_or_relative_uri);
-gboolean nautilus_file_name_matches_backup_pattern (const char *name_or_relative_uri);
-gboolean nautilus_file_name_matches_metafile_pattern(const char *name_or_relative_uri);
-
+gboolean nautilus_file_name_matches_hidden_pattern (const char *name_or_relative_uri);
+gboolean nautilus_file_name_matches_backup_pattern (const char *name_or_relative_uri);
+gboolean nautilus_file_name_matches_metafile_pattern (const char *name_or_relative_uri);
/* FIXME bugzilla.eazel.com 2424:
* This is the same as gnome-libs g_concat_dir_and_file except
* for handling path == NULL.
*/
-char * nautilus_make_path (const char *path,
- const char *name);
-
-
-
+char * nautilus_make_path (const char *path,
+ const char *name);
/* These functions all return something something that needs to be
* freed with g_free, is not NULL, and is guaranteed to exist.
*/
-char * nautilus_get_user_directory (void);
-char * nautilus_get_user_main_directory (void);
-char * nautilus_get_desktop_directory (void);
-char * nautilus_get_pixmap_directory (void);
-
+char * nautilus_get_user_directory (void);
+char * nautilus_get_user_main_directory (void);
+char * nautilus_get_desktop_directory (void);
+char * nautilus_get_pixmap_directory (void);
/* See if the user_main_directory exists. This should be called before
* nautilus_get_user_main_directory, which creates the directory.
*/
-gboolean nautilus_user_main_directory_exists (void);
-
-
-
-/* Convenience routine to test if a string is a remote URI. */
-gboolean nautilus_is_remote_uri (const char *uri);
-
-
+gboolean nautilus_user_main_directory_exists (void);
/* A version of gnome's gnome_pixmap_file that works for the nautilus prefix.
* Otherwise similar to gnome_pixmap_file in that it checks to see if the file
@@ -101,49 +60,22 @@ gboolean nautilus_is_remote_uri (const char
* We might not need this once we get on gnome-libs 2.0 which handles
* gnome_pixmap_file better, using GNOME_PATH.
*/
-char * nautilus_pixmap_file (const char *partial_path);
-
-
-
-/* Read an entire file at once with gnome-vfs. */
-GnomeVFSResult nautilus_read_entire_file (const char *uri,
- int *file_size,
- char **file_contents);
-NautilusReadFileHandle *nautilus_read_entire_file_async (const char *uri,
- NautilusReadFileCallback callback,
- gpointer callback_data);
-NautilusReadFileHandle *nautilus_read_file_async (const char *uri,
- NautilusReadFileCallback callback,
- NautilusReadMoreCallback read_more_callback,
- gpointer callback_data);
-void nautilus_read_file_cancel (NautilusReadFileHandle *handle);
-
-
-
-/* Convenience routine for simple file copying using text-based uris */
-GnomeVFSResult nautilus_copy_uri_simple (const char *source_uri,
- const char *dest_uri);
-
-
-
-/* gnome-vfs cover to make a directory and parents */
-GnomeVFSResult nautilus_make_directory_and_parents (GnomeVFSURI *uri,
- guint permissions);
+char * nautilus_pixmap_file (const char *partial_path);
/* Returns the build time stamp the Nautilus binary.
* This is useful to be able to tell builds apart.
* A return value of NULL means unknown time stamp.
*/
-char * nautilus_get_build_time_stamp (void);
+char * nautilus_get_build_time_stamp (void);
/* Returns the "build message", which provides some information on build
* context. May return NULL.
*/
-char * nautilus_get_build_message (void);
+char * nautilus_get_build_message (void);
/* Return an allocated file name that is guranteed to be unique. */
-char * nautilus_unique_temporary_file_name (void);
-char * nautilus_find_file_in_gnome_path (char *file);
-GList * nautilus_find_all_files_in_gnome_path (char *file);
+char * nautilus_unique_temporary_file_name (void);
+char * nautilus_find_file_in_gnome_path (char *file);
+GList * nautilus_find_all_files_in_gnome_path (char *file);
#endif /* NAUTILUS_FILE_UTILITIES_H */
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index baadf21aa..c4c469110 100644
--- a/libnautilus-private/nautilus-file.c
+++ b/libnautilus-private/nautilus-file.c
@@ -36,6 +36,7 @@
#include "nautilus-trash-directory.h"
#include "nautilus-trash-file.h"
#include "nautilus-vfs-file.h"
+#include "nautilus-file-utilities.h"
#include <ctype.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
@@ -302,7 +303,7 @@ nautilus_file_get_internal (const char *uri, gboolean create)
/* Maybe we wouldn't need this if the gnome-vfs canonical
* stuff was strong enough.
*/
- canonical_uri = nautilus_make_uri_canonical (uri);
+ canonical_uri = eel_make_uri_canonical (uri);
/* Make VFS version of URI. */
vfs_uri = gnome_vfs_uri_new (canonical_uri);
@@ -497,7 +498,7 @@ nautilus_file_get_parent_uri_for_display (NautilusFile *file)
g_assert (NAUTILUS_IS_FILE (file));
raw_uri = nautilus_file_get_parent_uri (file);
- result = nautilus_format_uri_for_display (raw_uri);
+ result = eel_format_uri_for_display (raw_uri);
g_free (raw_uri);
return result;
@@ -754,7 +755,7 @@ nautilus_file_can_rename (NautilusFile *file)
}
/* Nautilus trash directories cannot be renamed */
- if (nautilus_uri_is_trash_folder (uri)) {
+ if (eel_uri_is_trash_folder (uri)) {
can_rename = FALSE;
}
@@ -2175,7 +2176,7 @@ nautilus_file_get_uri_scheme (NautilusFile *file)
return NULL;
}
- return nautilus_uri_get_scheme (file->details->directory->details->uri);
+ return eel_uri_get_scheme (file->details->directory->details->uri);
}
gboolean
@@ -4121,7 +4122,7 @@ nautilus_file_is_in_trash (NautilusFile *file)
{
g_return_val_if_fail (NAUTILUS_IS_FILE (file), FALSE);
- return nautilus_uri_is_in_trash (file->details->directory->details->uri);
+ return eel_uri_is_in_trash (file->details->directory->details->uri);
}
GnomeVFSResult
@@ -4830,7 +4831,7 @@ nautilus_self_check_file (void)
EEL_CHECK_STRING_RESULT (nautilus_file_get_name (file_1), "eazel");
nautilus_file_unref (file_1);
- file_1 = nautilus_file_get (NAUTILUS_TRASH_URI);
+ file_1 = nautilus_file_get (EEL_TRASH_URI);
EEL_CHECK_STRING_RESULT (nautilus_file_get_name (file_1), _("Trash"));
nautilus_file_unref (file_1);
diff --git a/libnautilus-private/nautilus-icon-dnd.c b/libnautilus-private/nautilus-icon-dnd.c
index e09d50a31..61265e19b 100644
--- a/libnautilus-private/nautilus-icon-dnd.c
+++ b/libnautilus-private/nautilus-icon-dnd.c
@@ -31,13 +31,13 @@
#include "nautilus-icon-dnd.h"
#include <eel/eel-background.h>
-#include "nautilus-file-utilities.h"
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gnome-extensions.h>
#include <eel/eel-graphic-effects.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
+#include <eel/eel-vfs-extensions.h>
#include "nautilus-icon-private.h"
#include "nautilus-link.h"
#include <eel/eel-stock-dialogs.h>
@@ -586,7 +586,7 @@ nautilus_icon_container_selection_items_local (const NautilusIconContainer *cont
/* get the URI associated with the container */
container_uri_string = get_container_uri (container);
- if (nautilus_uri_is_trash (container_uri_string)) {
+ if (eel_uri_is_trash (container_uri_string)) {
/* Special-case "trash:" because the nautilus_drag_items_local
* would not work for it.
*/
diff --git a/libnautilus-private/nautilus-icon-factory.c b/libnautilus-private/nautilus-icon-factory.c
index 38ce60f79..abc1d247e 100644
--- a/libnautilus-private/nautilus-icon-factory.c
+++ b/libnautilus-private/nautilus-icon-factory.c
@@ -48,6 +48,7 @@
#include <eel/eel-smooth-text-layout.h>
#include <eel/eel-string.h>
#include <eel/eel-xml-extensions.h>
+#include <eel/eel-vfs-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtksignal.h>
@@ -807,7 +808,7 @@ nautilus_icon_factory_get_icon_name_for_file (NautilusFile *file)
char *uri;
uri = nautilus_file_get_uri (file);
- if (strcmp (uri, NAUTILUS_TRASH_URI) == 0) {
+ if (strcmp (uri, EEL_TRASH_URI) == 0) {
g_free (uri);
return nautilus_trash_monitor_is_empty ()
? ICON_NAME_TRASH_EMPTY : ICON_NAME_TRASH_NOT_EMPTY;
@@ -1547,7 +1548,7 @@ nautilus_icon_factory_get_emblem_icons_for_file (NautilusFile *file,
* lily.
*/
uri = nautilus_file_get_uri (file);
- file_is_trash = strcmp (uri, NAUTILUS_TRASH_URI) == 0;
+ file_is_trash = strcmp (uri, EEL_TRASH_URI) == 0;
g_free (uri);
icons = NULL;
diff --git a/libnautilus-private/nautilus-link.c b/libnautilus-private/nautilus-link.c
index 5dfb1278f..8fd7fcaba 100644
--- a/libnautilus-private/nautilus-link.c
+++ b/libnautilus-private/nautilus-link.c
@@ -27,15 +27,14 @@
#include "nautilus-directory-notify.h"
#include "nautilus-directory.h"
-#include "nautilus-file-utilities.h"
-#include "nautilus-file.h"
#include "nautilus-file-attributes.h"
-#include "nautilus-global-preferences.h"
-#include <eel/eel-gnome-extensions.h>
+#include "nautilus-file.h"
#include "nautilus-metadata.h"
-#include "nautilus-preferences.h"
+#include "nautilus-file-utilities.h"
+#include <eel/eel-gnome-extensions.h>
#include <eel/eel-stock-dialogs.h>
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
@@ -418,7 +417,7 @@ nautilus_link_local_get_image_uri (const char *path)
}
/* if the image is remote, see if we can find it in our local cache */
- if (nautilus_is_remote_uri (icon_uri)) {
+ if (eel_is_remote_uri (icon_uri)) {
local_path = make_local_path (icon_uri);
if (local_path == NULL) {
g_free (icon_uri);
@@ -435,7 +434,7 @@ nautilus_link_local_get_image_uri (const char *path)
info = g_new0 (NautilusLinkIconNotificationInfo, 1);
info->link_uri = gnome_vfs_get_uri_from_local_path (path);
info->file_path = g_strdup (local_path);
- nautilus_read_entire_file_async (icon_uri, icon_read_done_callback, info);
+ eel_read_entire_file_async (icon_uri, icon_read_done_callback, info);
g_free (icon_uri);
g_free (local_path);
diff --git a/libnautilus-private/nautilus-metafile.c b/libnautilus-private/nautilus-metafile.c
index c16926d43..eac730a09 100644
--- a/libnautilus-private/nautilus-metafile.c
+++ b/libnautilus-private/nautilus-metafile.c
@@ -1,4 +1,4 @@
-/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: 8; c-basic-offset: 8 -*- */
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-*/
/* nautilus-metafile.c - server side of Nautilus::Metafile
*
@@ -23,29 +23,27 @@
#include <config.h>
#include "nautilus-metafile.h"
-#include <eel/eel-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-directory.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus/nautilus-bonobo-workarounds.h>
-
-#include <libgnomevfs/gnome-vfs-types.h>
-#include <libgnomevfs/gnome-vfs-uri.h>
-#include <libgnomevfs/gnome-vfs-file-info.h>
-
-#include <eel/eel-string.h>
-#include "nautilus-metadata.h"
-#include "nautilus-thumbnails.h"
-#include <eel/eel-xml-extensions.h>
-#include <eel/eel-glib-extensions.h>
+#include "nautilus-bonobo-extensions.h"
+#include "nautilus-directory.h"
#include "nautilus-directory.h"
-#include "nautilus-global-preferences.h"
#include "nautilus-file-private.h"
+#include "nautilus-global-preferences.h"
+#include "nautilus-metadata.h"
#include "nautilus-search-uri.h"
-
-#include <stdlib.h>
+#include "nautilus-thumbnails.h"
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtkmain.h>
+#include <libgnomevfs/gnome-vfs-file-info.h>
+#include <libgnomevfs/gnome-vfs-types.h>
+#include <libgnomevfs/gnome-vfs-uri.h>
+#include <libnautilus/nautilus-bonobo-workarounds.h>
+#include <stdlib.h>
#define METAFILE_XML_VERSION "1.0"
@@ -162,7 +160,7 @@ NAUTILUS_BONOBO_X_BOILERPLATE (NautilusMetafile, Nautilus_Metafile, BONOBO_X_OBJ
typedef struct MetafileReadState {
gboolean use_public_metafile;
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
GnomeVFSAsyncHandle *get_file_info_handle;
} MetafileReadState;
@@ -270,7 +268,7 @@ construct_private_metafile_vfs_uri (const char *uri)
metafiles_directory_uri = gnome_vfs_uri_append_file_name (user_directory_uri,
METAFILES_DIRECTORY_NAME);
gnome_vfs_uri_unref (user_directory_uri);
- result = nautilus_make_directory_and_parents (metafiles_directory_uri,
+ result = eel_make_directory_and_parents (metafiles_directory_uri,
METAFILES_DIRECTORY_PERMISSIONS);
if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_FILE_EXISTS) {
gnome_vfs_uri_unref (metafiles_directory_uri);
@@ -1658,7 +1656,7 @@ metafile_read_cancel (NautilusMetafile *metafile)
{
if (metafile->details->read_state != NULL) {
if (metafile->details->read_state->handle != NULL) {
- nautilus_read_file_cancel (metafile->details->read_state->handle);
+ eel_read_file_cancel (metafile->details->read_state->handle);
}
if (metafile->details->read_state->get_file_info_handle != NULL) {
gnome_vfs_async_cancel (metafile->details->read_state->get_file_info_handle);
@@ -1869,7 +1867,7 @@ metafile_read_restart (NautilusMetafile *metafile)
: metafile->details->private_vfs_uri,
GNOME_VFS_URI_HIDE_NONE);
- metafile->details->read_state->handle = nautilus_read_entire_file_async
+ metafile->details->read_state->handle = eel_read_entire_file_async
(text_uri, metafile_read_done_callback, metafile);
g_free (text_uri);
diff --git a/libnautilus-private/nautilus-tabs.c b/libnautilus-private/nautilus-tabs.c
index a1a16b3f7..e708e4c0d 100644
--- a/libnautilus-private/nautilus-tabs.c
+++ b/libnautilus-private/nautilus-tabs.c
@@ -33,7 +33,6 @@
#include <eel/eel-gdk-extensions.h>
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
#include <eel/eel-gnome-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
diff --git a/libnautilus-private/nautilus-theme.c b/libnautilus-private/nautilus-theme.c
index 0fb37d839..c236bd8c9 100644
--- a/libnautilus-private/nautilus-theme.c
+++ b/libnautilus-private/nautilus-theme.c
@@ -31,6 +31,7 @@
#include "nautilus-metadata.h"
#include "nautilus-preferences.h"
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-xml-extensions.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gnome-xml/parser.h>
diff --git a/libnautilus-private/nautilus-thumbnails.c b/libnautilus-private/nautilus-thumbnails.c
index 00b464a51..3ae99e7aa 100644
--- a/libnautilus-private/nautilus-thumbnails.c
+++ b/libnautilus-private/nautilus-thumbnails.c
@@ -25,20 +25,20 @@
#include <config.h>
#include "nautilus-thumbnails.h"
-#include <libgnomevfs/gnome-vfs-file-info.h>
-#include <string.h>
-#include "nautilus-file-utilities.h"
-#include <eel/eel-string.h>
-#include <gtk/gtkmain.h>
-#include "nautilus-icon-factory-private.h"
#include "nautilus-directory-notify.h"
+#include "nautilus-icon-factory-private.h"
#include "nautilus-theme.h"
-#include <stdio.h>
#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <librsvg/rsvg.h>
#include <eel/eel-graphic-effects.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gtk/gtkmain.h>
+#include <libgnomevfs/gnome-vfs-file-info.h>
+#include <librsvg/rsvg.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
/* permissions for thumbnail directory */
#define THUMBNAIL_DIR_PERMISSIONS (GNOME_VFS_PERM_USER_ALL \
@@ -128,7 +128,7 @@ make_thumbnail_uri (const char *image_uri, gboolean directory_only, gboolean use
looks like the URI will be local-only, but best to
make sure. */
- result = nautilus_make_directory_and_parents (thumbnail_directory_uri, THUMBNAIL_DIR_PERMISSIONS);
+ result = eel_make_directory_and_parents (thumbnail_directory_uri, THUMBNAIL_DIR_PERMISSIONS);
gnome_vfs_uri_unref (thumbnail_directory_uri);
}
diff --git a/libnautilus-private/nautilus-trash-file.c b/libnautilus-private/nautilus-trash-file.c
index 12aa4fcb6..b4f33a439 100644
--- a/libnautilus-private/nautilus-trash-file.c
+++ b/libnautilus-private/nautilus-trash-file.c
@@ -743,7 +743,7 @@ nautilus_trash_file_initialize (gpointer object, gpointer klass)
trash_file = NAUTILUS_TRASH_FILE (object);
- trash_directory = NAUTILUS_TRASH_DIRECTORY (nautilus_directory_get (NAUTILUS_TRASH_URI));
+ trash_directory = NAUTILUS_TRASH_DIRECTORY (nautilus_directory_get (EEL_TRASH_URI));
trash_file->details = g_new0 (NautilusTrashFileDetails, 1);
trash_file->details->trash_directory = trash_directory;
diff --git a/libnautilus-private/nautilus-trash-monitor.c b/libnautilus-private/nautilus-trash-monitor.c
index 6b6a54abb..f10d7e540 100644
--- a/libnautilus-private/nautilus-trash-monitor.c
+++ b/libnautilus-private/nautilus-trash-monitor.c
@@ -26,12 +26,12 @@
#include <config.h>
#include "nautilus-trash-monitor.h"
-#include "nautilus-directory.h"
#include "nautilus-directory-notify.h"
+#include "nautilus-directory.h"
#include "nautilus-file-attributes.h"
-#include "nautilus-file-utilities.h"
-#include <eel/eel-gtk-macros.h>
#include "nautilus-volume-monitor.h"
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtksignal.h>
#include <libgnomevfs/gnome-vfs-find-directory.h>
#include <libgnomevfs/gnome-vfs-types.h>
@@ -97,7 +97,7 @@ nautilus_trash_files_changed_callback (NautilusDirectory *directory, GList *file
trash_monitor->details->empty = !nautilus_directory_is_not_empty (directory);
if (old_empty_state != trash_monitor->details->empty) {
- file = nautilus_file_get (NAUTILUS_TRASH_URI);
+ file = nautilus_file_get (EEL_TRASH_URI);
nautilus_file_changed (file);
nautilus_file_unref (file);
@@ -119,7 +119,7 @@ nautilus_trash_monitor_initialize (gpointer object, gpointer klass)
/* set up a NautilusDirectory for the Trash directory to monitor */
- trash_directory = nautilus_directory_get (NAUTILUS_TRASH_URI);
+ trash_directory = nautilus_directory_get (EEL_TRASH_URI);
trash_monitor->details = g_new0 (NautilusTrashMonitorDetails, 1);
trash_monitor->details->trash_directory = trash_directory;
diff --git a/src/file-manager/fm-desktop-icon-view.c b/src/file-manager/fm-desktop-icon-view.c
index a42de2c74..e76a835c9 100644
--- a/src/file-manager/fm-desktop-icon-view.c
+++ b/src/file-manager/fm-desktop-icon-view.c
@@ -26,12 +26,19 @@
#include <config.h>
#include "fm-desktop-icon-view.h"
+#include <X11/Xatom.h>
+#include <bonobo/bonobo-ui-util.h>
#include <ctype.h>
#include <dirent.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gnome-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <fcntl.h>
-#include <bonobo/bonobo-ui-util.h>
#include <gdk/gdkx.h>
-#include <X11/Xatom.h>
#include <gtk/gtkcheckmenuitem.h>
#include <libgnome/gnome-dentry.h>
#include <libgnome/gnome-i18n.h>
@@ -44,16 +51,10 @@
#include <libnautilus-extensions/nautilus-file-changes-queue.h>
#include <libnautilus-extensions/nautilus-file-operations.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-link.h>
#include <libnautilus-extensions/nautilus-metadata.h>
#include <libnautilus-extensions/nautilus-program-choosing.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-trash-monitor.h>
#include <libnautilus-extensions/nautilus-volume-monitor.h>
#include <limits.h>
@@ -911,7 +912,7 @@ update_trash_link_and_delete_copies (void)
/* Check for trash link */
if (update_link_and_delete_copies (nautilus_link_local_is_trash_link,
TRASH_LINK_NAME,
- NAUTILUS_TRASH_URI)) {
+ EEL_TRASH_URI)) {
return;
}
@@ -919,7 +920,7 @@ update_trash_link_and_delete_copies (void)
nautilus_link_local_create (desktop_path,
TRASH_LINK_NAME,
"trash-empty.png",
- NAUTILUS_TRASH_URI,
+ EEL_TRASH_URI,
NULL,
NAUTILUS_LINK_TRASH);
g_free (desktop_path);
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index a9ddfbe03..1a3b1d8e0 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -33,8 +33,16 @@
#include "fm-error-reporting.h"
#include "fm-properties-window.h"
#include <bonobo/bonobo-control.h>
-#include <bonobo/bonobo-zoomable.h>
#include <bonobo/bonobo-win.h>
+#include <bonobo/bonobo-zoomable.h>
+#include <eel/eel-background.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gnome-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtkcheckmenuitem.h>
#include <gtk/gtkmain.h>
#include <gtk/gtkmenu.h>
@@ -49,7 +57,6 @@
#include <libgnomevfs/gnome-vfs-result.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <eel/eel-background.h>
#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
#include <libnautilus-extensions/nautilus-directory-background.h>
#include <libnautilus-extensions/nautilus-directory.h>
@@ -57,18 +64,12 @@
#include <libnautilus-extensions/nautilus-file-attributes.h>
#include <libnautilus-extensions/nautilus-file-operations.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-icon-factory.h>
#include <libnautilus-extensions/nautilus-link.h>
#include <libnautilus-extensions/nautilus-metadata.h>
#include <libnautilus-extensions/nautilus-mime-actions.h>
#include <libnautilus-extensions/nautilus-program-choosing.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-trash-monitor.h>
#include <libnautilus-extensions/nautilus-view-identifier.h>
#include <libnautilus/nautilus-bonobo-ui.h>
@@ -858,7 +859,7 @@ show_trash_callback (BonoboUIComponent *component,
view = FM_DIRECTORY_VIEW (callback_data);
- open_location (view, NAUTILUS_TRASH_URI, RESPECT_PREFERENCE);
+ open_location (view, EEL_TRASH_URI, RESPECT_PREFERENCE);
}
static void
@@ -2849,7 +2850,7 @@ trash_or_delete_files_common (const GList *file_uris,
if (fm_directory_view_can_move_uri_to_trash (view, file_uri)) {
moveable_uris = g_list_prepend (moveable_uris, g_strdup (file_uri));
- } else if (nautilus_uri_is_in_trash (file_uri)) {
+ } else if (eel_uri_is_in_trash (file_uri)) {
in_trash_uris = g_list_prepend (in_trash_uris, g_strdup (file_uri));
} else {
unmoveable_uris = g_list_prepend (unmoveable_uris, g_strdup (file_uri));
@@ -2896,7 +2897,7 @@ fm_directory_view_trash_or_delete_files (const GList *files,
}
file_uris = g_list_reverse (file_uris);
- trash_or_delete_files_common (file_uris, NULL, NAUTILUS_TRASH_URI,
+ trash_or_delete_files_common (file_uris, NULL, EEL_TRASH_URI,
GDK_ACTION_MOVE, view);
eel_g_list_free_deep (file_uris);
}
@@ -5228,7 +5229,7 @@ fm_directory_view_move_copy_items (const GList *item_uris,
return;
}
- if (nautilus_uri_is_trash (target_uri)) {
+ if (eel_uri_is_trash (target_uri)) {
trash_or_delete_files_common (item_uris, relative_item_points,
target_uri, copy_action,
view);
diff --git a/src/file-manager/fm-properties-window.c b/src/file-manager/fm-properties-window.c
index 0c25dafe1..4a7e07eb5 100644
--- a/src/file-manager/fm-properties-window.c
+++ b/src/file-manager/fm-properties-window.c
@@ -26,6 +26,19 @@
#include "fm-properties-window.h"
#include "fm-error-reporting.h"
+#include <eel/eel-ellipsizing-label.h>
+#include <eel/eel-gdk-pixbuf-extensions.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gnome-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-image.h>
+#include <eel/eel-labeled-image.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-viewport.h>
+#include <eel/eel-wrap-table.h>
#include <gtk/gtkcheckbutton.h>
#include <gtk/gtkentry.h>
#include <gtk/gtkfilesel.h>
@@ -46,27 +59,14 @@
#include <libgnomeui/gnome-uidefs.h>
#include <libgnomevfs/gnome-vfs.h>
#include <libnautilus-extensions/nautilus-customization-data.h>
-#include <eel/eel-ellipsizing-label.h>
#include <libnautilus-extensions/nautilus-entry.h>
#include <libnautilus-extensions/nautilus-file-attributes.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-icon-factory.h>
-#include <eel/eel-image.h>
#include <libnautilus-extensions/nautilus-link.h>
#include <libnautilus-extensions/nautilus-metadata.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-undo-signal-handlers.h>
#include <libnautilus/nautilus-undo.h>
-#include <eel/eel-wrap-table.h>
-#include <eel/eel-labeled-image.h>
-#include <eel/eel-viewport.h>
#include <string.h>
static GHashTable *windows;
@@ -1355,7 +1355,7 @@ is_merged_trash_directory (NautilusFile *file)
gboolean result;
file_uri = nautilus_file_get_uri (file);
- result = nautilus_uris_match (file_uri, NAUTILUS_TRASH_URI);
+ result = eel_uris_match (file_uri, EEL_TRASH_URI);
g_free (file_uri);
return result;
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index 147bfb889..31d67afba 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -39,26 +39,27 @@
#include "nautilus-shell.h"
#include <bonobo/bonobo-main.h>
#include <bonobo/bonobo-object.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string-list.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtksignal.h>
#include <libgnome/gnome-config.h>
#include <libgnome/gnome-i18n.h>
#include <libgnome/gnome-util.h>
-#include <libgnomeui/gnome-messagebox.h>
#include <libgnomeui/gnome-client.h>
+#include <libgnomeui/gnome-messagebox.h>
#include <libgnomeui/gnome-stock.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
#include <libgnomevfs/gnome-vfs-ops.h>
+#include <libgnomevfs/gnome-vfs-utils.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-icon-factory.h>
+#include <libnautilus-extensions/nautilus-metafile-factory.h>
#include <libnautilus-extensions/nautilus-sound.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
-#include <eel/eel-string-list.h>
#include <libnautilus-extensions/nautilus-undo-manager.h>
#include <libnautilus-extensions/nautilus-volume-monitor.h>
-#include <libnautilus-extensions/nautilus-metafile-factory.h>
#include <liboaf/liboaf.h>
#define FACTORY_IID "OAFIID:nautilus_factory:bd1e1862-92d7-4391-963e-37583f0daef3"
@@ -323,7 +324,7 @@ nautilus_make_uri_list_from_shell_strv (const char * const *strv)
uri_list->_length = length;
uri_list->_buffer = CORBA_sequence_Nautilus_URI_allocbuf (length);
for (i = 0; i < length; i++) {
- translated_uri = nautilus_make_uri_from_shell_arg (strv[i]);
+ translated_uri = eel_make_uri_from_shell_arg (strv[i]);
uri_list->_buffer[i] = CORBA_string_dup (translated_uri);
g_free (translated_uri);
translated_uri = NULL;
diff --git a/src/nautilus-first-time-druid.c b/src/nautilus-first-time-druid.c
index da652a59a..93b4f4436 100644
--- a/src/nautilus-first-time-druid.c
+++ b/src/nautilus-first-time-druid.c
@@ -28,26 +28,26 @@
#include <ctype.h>
#include <dirent.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gnome.h>
-#include <libgnomevfs/gnome-vfs.h>
#include <eel/eel-background.h>
-#include <libnautilus-extensions/nautilus-druid-page-eazel.h>
-#include <libnautilus-extensions/nautilus-druid.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <eel/eel-gdk-extensions.h>
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-image.h>
#include <eel/eel-label.h>
-#include <libnautilus-extensions/nautilus-link.h>
-#include <libnautilus-extensions/nautilus-medusa-support.h>
-#include <libnautilus-extensions/nautilus-preferences.h>
#include <eel/eel-radio-button-group.h>
+#include <eel/eel-stock-dialogs.h>
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gnome.h>
+#include <libgnomevfs/gnome-vfs.h>
+#include <libnautilus-extensions/nautilus-druid-page-eazel.h>
+#include <libnautilus-extensions/nautilus-druid.h>
+#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-stock-dialogs.h>
+#include <libnautilus-extensions/nautilus-link.h>
+#include <libnautilus-extensions/nautilus-medusa-support.h>
#include <nautilus-main.h>
#include <netdb.h>
#include <signal.h>
@@ -1382,16 +1382,16 @@ download_callback (GnomeVFSResult result,
static void
read_file_handle_cancel_cover (gpointer data)
{
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
handle = data;
- nautilus_read_file_cancel (handle);
+ eel_read_file_cancel (handle);
}
static void
initiate_file_download (GnomeDruid *druid)
{
- NautilusReadFileHandle *handle;
+ EelReadFileHandle *handle;
static gboolean prevent_re_entry = FALSE;
/* We exercise the event loop below, so we need to make sure that
@@ -1428,7 +1428,7 @@ initiate_file_download (GnomeDruid *druid)
if (check_network_connectivity ()) {
/* initiate the file transfer */
- handle = nautilus_read_entire_file_async
+ handle = eel_read_entire_file_async
(WELCOME_PACKAGE_URI, download_callback, druid);
if (handle != NULL) {
/* cancel the transfer if the druid goes away */
diff --git a/src/nautilus-information-panel.c b/src/nautilus-information-panel.c
index 0b9b0fea9..ec6396754 100644
--- a/src/nautilus-information-panel.c
+++ b/src/nautilus-information-panel.c
@@ -33,6 +33,13 @@
#include "nautilus-link-set-window.h"
#include "nautilus-sidebar-tabs.h"
#include "nautilus-sidebar-title.h"
+#include <eel/eel-background.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gnome-xml/parser.h>
#include <gtk/gtkcheckmenuitem.h>
@@ -46,24 +53,17 @@
#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <eel/eel-background.h>
#include <libnautilus-extensions/nautilus-directory.h>
#include <libnautilus-extensions/nautilus-drag.h>
-#include <libnautilus-extensions/nautilus-file.h>
#include <libnautilus-extensions/nautilus-file-operations.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
+#include <libnautilus-extensions/nautilus-file.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-keep-last-vertical-box.h>
#include <libnautilus-extensions/nautilus-metadata.h>
#include <libnautilus-extensions/nautilus-mime-actions.h>
#include <libnautilus-extensions/nautilus-preferences.h>
#include <libnautilus-extensions/nautilus-program-choosing.h>
#include <libnautilus-extensions/nautilus-sidebar-functions.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-theme.h>
#include <libnautilus-extensions/nautilus-trash-monitor.h>
#include <math.h>
@@ -710,7 +710,7 @@ receive_dropped_uri_list (NautilusSidebar *sidebar,
NULL);
}
} else {
- if (nautilus_is_remote_uri (uris[0])) {
+ if (eel_is_remote_uri (uris[0])) {
eel_show_error_dialog (
_("The file that you dropped is not local. "
"You can only use local images as custom icons."),
diff --git a/src/nautilus-location-bar.c b/src/nautilus-location-bar.c
index f95ac00ea..40c4746bb 100644
--- a/src/nautilus-location-bar.c
+++ b/src/nautilus-location-bar.c
@@ -34,8 +34,13 @@
#include <config.h>
#include "nautilus-location-bar.h"
-#include "nautilus-window.h"
#include "nautilus-window-private.h"
+#include "nautilus-window.h"
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gtk/gtkdnd.h>
#include <gtk/gtkeventbox.h>
#include <gtk/gtksignal.h>
@@ -45,13 +50,8 @@
#include <libgnomeui/gnome-stock.h>
#include <libgnomeui/gnome-uidefs.h>
#include <libgnomevfs/gnome-vfs.h>
-#include <libnautilus/nautilus-clipboard.h>
#include <libnautilus-extensions/nautilus-entry.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
+#include <libnautilus/nautilus-clipboard.h>
#include <stdio.h>
#include <string.h>
@@ -321,7 +321,7 @@ try_to_expand_path (gpointer callback_data)
g_free (user_location);
return FALSE;
}
- current_path = nautilus_make_uri_from_input (user_location);
+ current_path = eel_make_uri_from_input (user_location);
if (!eel_istr_has_prefix (current_path, "file://")) {
g_free (user_location);
@@ -717,7 +717,7 @@ nautilus_location_bar_set_location (NautilusNavigationBar *navigation_bar,
/* Note: This is called in reaction to external changes, and
* thus should not emit the LOCATION_CHANGED signal.*/
- formatted_location = nautilus_format_uri_for_display (location);
+ formatted_location = eel_format_uri_for_display (location);
nautilus_entry_set_text (NAUTILUS_ENTRY (bar->details->entry),
formatted_location);
g_free (formatted_location);
@@ -748,7 +748,7 @@ nautilus_location_bar_set_location (NautilusNavigationBar *navigation_bar,
* @bar: A NautilusLocationBar.
*
* returns a newly allocated "string" containing the mangled
- * (by nautilus_make_uri_from_input) text that the user typed in...maybe a URI
+ * (by eel_make_uri_from_input) text that the user typed in...maybe a URI
* but not guaranteed.
*
**/
@@ -761,7 +761,7 @@ nautilus_location_bar_get_location (NautilusNavigationBar *navigation_bar)
bar = NAUTILUS_LOCATION_BAR (navigation_bar);
user_location = gtk_editable_get_chars (GTK_EDITABLE (bar->details->entry), 0, -1);
- best_uri = nautilus_make_uri_from_input (user_location);
+ best_uri = eel_make_uri_from_input (user_location);
g_free (user_location);
return best_uri;
}
@@ -778,9 +778,9 @@ nautilus_location_bar_update_label (NautilusLocationBar *bar)
char *current_text, *current_location;
current_text = gtk_entry_get_text (GTK_ENTRY (bar->details->entry));
- current_location = nautilus_make_uri_from_input (current_text);
+ current_location = eel_make_uri_from_input (current_text);
- if (nautilus_uris_match (bar->details->last_location, current_location)) {
+ if (eel_uris_match (bar->details->last_location, current_location)) {
gtk_label_set_text (GTK_LABEL (bar->details->label), LOCATION_LABEL);
} else {
gtk_label_set_text (GTK_LABEL (bar->details->label), GO_TO_LABEL);
diff --git a/src/nautilus-navigation-window-menus.c b/src/nautilus-navigation-window-menus.c
index 5fcddf519..3592a551f 100644
--- a/src/nautilus-navigation-window-menus.c
+++ b/src/nautilus-navigation-window-menus.c
@@ -39,6 +39,14 @@
#include "nautilus-window-manage-views.h"
#include "nautilus-window-private.h"
#include <bonobo/bonobo-ui-util.h>
+#include <eel/eel-debug.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gnome-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtkmain.h>
@@ -48,17 +56,10 @@
#include <libgnomevfs/gnome-vfs-file-info.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <eel/eel-debug.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
#include <libnautilus-extensions/nautilus-icon-factory.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-undo-manager.h>
-#include <eel/eel-xml-extensions.h>
#include <libnautilus/nautilus-bonobo-ui.h>
#ifdef ENABLE_PROFILER
@@ -783,7 +784,7 @@ show_bogus_bookmark_window (BookmarkHolder *holder)
char *prompt;
uri = nautilus_bookmark_get_uri (holder->bookmark);
- uri_for_display = nautilus_format_uri_for_display (uri);
+ uri_for_display = eel_format_uri_for_display (uri);
if (holder->prompt_for_removal) {
prompt = g_strdup_printf (_("The location \"%s\" does not exist. Do you "
diff --git a/src/nautilus-profiler.c b/src/nautilus-profiler.c
index b8fed6e67..157bfafcf 100644
--- a/src/nautilus-profiler.c
+++ b/src/nautilus-profiler.c
@@ -302,7 +302,7 @@ nautilus_profiler_bonobo_ui_report_callback (BonoboUIComponent *component,
uri = g_strdup_printf ("file://%s", dump_file_name);
- if (nautilus_read_entire_file (uri, &dump_size, &dump_contents) == GNOME_VFS_OK) {
+ if (eel_read_entire_file (uri, &dump_size, &dump_contents) == GNOME_VFS_OK) {
dump_dialog_show (dump_contents, uri);
}
diff --git a/src/nautilus-property-browser.c b/src/nautilus-property-browser.c
index 83da7a345..57274812f 100644
--- a/src/nautilus-property-browser.c
+++ b/src/nautilus-property-browser.c
@@ -33,6 +33,22 @@
#include "nautilus-signaller.h"
#include <ctype.h>
+#include <eel/eel-background.h>
+#include <eel/eel-gdk-extensions.h>
+#include <eel/eel-gdk-pixbuf-extensions.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gnome-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-image-table.h>
+#include <eel/eel-image.h>
+#include <eel/eel-label.h>
+#include <eel/eel-labeled-image.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-viewport.h>
+#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtkcolorsel.h>
@@ -57,30 +73,14 @@
#include <libgnomeui/gnome-stock.h>
#include <libgnomeui/gnome-uidefs.h>
#include <libgnomevfs/gnome-vfs.h>
-#include <eel/eel-background.h>
#include <libnautilus-extensions/nautilus-customization-data.h>
#include <libnautilus-extensions/nautilus-directory.h>
#include <libnautilus-extensions/nautilus-drag-window.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <libnautilus-extensions/nautilus-file.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-image.h>
-#include <eel/eel-label.h>
#include <libnautilus-extensions/nautilus-metadata.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-theme.h>
-#include <eel/eel-xml-extensions.h>
-#include <eel/eel-labeled-image.h>
-#include <eel/eel-image-table.h>
-#include <eel/eel-viewport.h>
#include <math.h>
/* property types */
@@ -1055,7 +1055,7 @@ add_pattern_to_browser (const char *path_name, gpointer *data)
path_uri = gnome_vfs_get_uri_from_local_path (path_name);
/* don't allow the user to change the reset image */
- basename = nautilus_uri_get_basename (path_uri);
+ basename = eel_uri_get_basename (path_uri);
if (basename && eel_strcmp (basename, RESET_IMAGE_NAME) == 0) {
eel_show_error_dialog (_("Sorry, but you can't replace the reset image."), _("Not an Image"), NULL);
g_free (path_uri);
@@ -1086,7 +1086,7 @@ add_pattern_to_browser (const char *path_name, gpointer *data)
g_free (directory_path);
- result = nautilus_copy_uri_simple (path_name, destination_name);
+ result = eel_copy_uri_simple (path_name, destination_name);
if (result != GNOME_VFS_OK) {
char *message = g_strdup_printf (_("Sorry, but the pattern %s couldn't be installed."), path_name);
eel_show_error_dialog (message, _("Couldn't install pattern"), GTK_WINDOW (property_browser));
@@ -1359,7 +1359,7 @@ emblem_dialog_clicked (GtkWidget *dialog, int which_button, NautilusPropertyBrow
g_free(directory_path);
/* perform the actual copy */
- result = nautilus_copy_uri_simple (property_browser->details->image_path, destination_name);
+ result = eel_copy_uri_simple (property_browser->details->image_path, destination_name);
if (result != GNOME_VFS_OK) {
char *message = g_strdup_printf (_("Sorry, but the image at %s couldn't be installed as an emblem."), property_browser->details->image_path);
diff --git a/src/nautilus-sidebar.c b/src/nautilus-sidebar.c
index 0b9b0fea9..ec6396754 100644
--- a/src/nautilus-sidebar.c
+++ b/src/nautilus-sidebar.c
@@ -33,6 +33,13 @@
#include "nautilus-link-set-window.h"
#include "nautilus-sidebar-tabs.h"
#include "nautilus-sidebar-title.h"
+#include <eel/eel-background.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gnome-xml/parser.h>
#include <gtk/gtkcheckmenuitem.h>
@@ -46,24 +53,17 @@
#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <eel/eel-background.h>
#include <libnautilus-extensions/nautilus-directory.h>
#include <libnautilus-extensions/nautilus-drag.h>
-#include <libnautilus-extensions/nautilus-file.h>
#include <libnautilus-extensions/nautilus-file-operations.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
+#include <libnautilus-extensions/nautilus-file.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
#include <libnautilus-extensions/nautilus-keep-last-vertical-box.h>
#include <libnautilus-extensions/nautilus-metadata.h>
#include <libnautilus-extensions/nautilus-mime-actions.h>
#include <libnautilus-extensions/nautilus-preferences.h>
#include <libnautilus-extensions/nautilus-program-choosing.h>
#include <libnautilus-extensions/nautilus-sidebar-functions.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-theme.h>
#include <libnautilus-extensions/nautilus-trash-monitor.h>
#include <math.h>
@@ -710,7 +710,7 @@ receive_dropped_uri_list (NautilusSidebar *sidebar,
NULL);
}
} else {
- if (nautilus_is_remote_uri (uris[0])) {
+ if (eel_is_remote_uri (uris[0])) {
eel_show_error_dialog (
_("The file that you dropped is not local. "
"You can only use local images as custom icons."),
diff --git a/src/nautilus-theme-selector.c b/src/nautilus-theme-selector.c
index c623b6b57..262bff1e9 100644
--- a/src/nautilus-theme-selector.c
+++ b/src/nautilus-theme-selector.c
@@ -31,41 +31,41 @@
#include "nautilus-theme-selector.h"
#include <ctype.h>
+#include <eel/eel-background.h>
+#include <eel/eel-gdk-extensions.h>
+#include <eel/eel-gdk-font-extensions.h>
+#include <eel/eel-gdk-pixbuf-extensions.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-gtk-macros.h>
+#include <eel/eel-label.h>
+#include <eel/eel-scalable-font.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-xml-extensions.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gnome-xml/parser.h>
+#include <gnome-xml/xmlmemory.h>
#include <gtk/gtkeventbox.h>
#include <gtk/gtkfilesel.h>
#include <gtk/gtkframe.h>
#include <gtk/gtkhbox.h>
#include <gtk/gtkscrolledwindow.h>
#include <gtk/gtkvbox.h>
-#include <gnome-xml/parser.h>
-#include <gnome-xml/xmlmemory.h>
#include <libgnome/gnome-defs.h>
#include <libgnome/gnome-i18n.h>
#include <libgnome/gnome-util.h>
-#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-file-info.h>
+#include <libgnomevfs/gnome-vfs-types.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
-#include <eel/eel-background.h>
#include <libnautilus-extensions/nautilus-directory.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
#include <libnautilus-extensions/nautilus-file.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-gdk-font-extensions.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-label.h>
#include <libnautilus-extensions/nautilus-metadata.h>
-#include <eel/eel-scalable-font.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-theme.h>
-#include <eel/eel-xml-extensions.h>
#include <math.h>
struct NautilusThemeSelectorDetails {
@@ -390,7 +390,7 @@ add_theme_to_icons (GtkWidget *widget, gpointer *data)
theme_selector->details->dialog = NULL;
/* make sure it's a valid theme directory - check for xml file */
- theme_name = nautilus_uri_get_basename (theme_path);
+ theme_name = eel_uri_get_basename (theme_path);
temp_path = nautilus_make_path (theme_path, theme_name);
xml_path = g_strconcat (temp_path, ".xml", NULL);
@@ -420,7 +420,7 @@ add_theme_to_icons (GtkWidget *widget, gpointer *data)
/* copy the new theme into the themes directory */
if (result == GNOME_VFS_OK) {
- result = nautilus_copy_uri_simple (theme_path, theme_destination_path);
+ result = eel_copy_uri_simple (theme_path, theme_destination_path);
}
g_free (theme_destination_path);
diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c
index 4dce98425..f4c9a07f4 100644
--- a/src/nautilus-window-manage-views.c
+++ b/src/nautilus-window-manage-views.c
@@ -30,32 +30,33 @@
#include "nautilus-applicable-views.h"
#include "nautilus-application.h"
-#include "nautilus-main.h"
#include "nautilus-location-bar.h"
+#include "nautilus-main.h"
#include "nautilus-window-private.h"
#include "nautilus-zoom-control.h"
-#include <gtk/gtksignal.h>
-#include <gtk/gtkmain.h>
#include <bonobo/bonobo-ui-util.h>
+#include <eel/eel-debug.h>
+#include <eel/eel-gdk-extensions.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <gtk/gtkmain.h>
+#include <gtk/gtksignal.h>
#include <libgnome/gnome-i18n.h>
#include <libgnomeui/gnome-dialog-util.h>
#include <libgnomevfs/gnome-vfs-async-ops.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <eel/eel-debug.h>
-#include <libnautilus-extensions/nautilus-file.h>
#include <libnautilus-extensions/nautilus-file-attributes.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-glib-extensions.h>
+#include <libnautilus-extensions/nautilus-file.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gtk-extensions.h>
#include <libnautilus-extensions/nautilus-metadata.h>
#include <libnautilus-extensions/nautilus-mime-actions.h>
#include <libnautilus-extensions/nautilus-search-uri.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
/* FIXME bugzilla.eazel.com 1243:
* We should use inheritance instead of these special cases
@@ -298,7 +299,7 @@ set_displayed_location (NautilusWindow *window, const char *location)
recreate = TRUE;
} else {
bookmark_uri = nautilus_bookmark_get_uri (window->current_location_bookmark);
- recreate = !nautilus_uris_match (bookmark_uri, location);
+ recreate = !eel_uris_match (bookmark_uri, location);
g_free (bookmark_uri);
}
@@ -321,7 +322,7 @@ check_bookmark_location_matches (NautilusBookmark *bookmark, const char *uri)
char *bookmark_uri;
bookmark_uri = nautilus_bookmark_get_uri (bookmark);
- if (!nautilus_uris_match (uri, bookmark_uri)) {
+ if (!eel_uris_match (uri, bookmark_uri)) {
g_warning ("bookmark uri is %s, but expected %s", bookmark_uri, uri);
}
g_free (bookmark_uri);
@@ -423,7 +424,7 @@ handle_go_elsewhere (NautilusWindow *window, const char *location)
* This also avoids a problem where set_displayed_location
* didn't update last_location_bookmark since the uri didn't change.
*/
- if (!nautilus_uris_match (window->details->location, location)) {
+ if (!eel_uris_match (window->details->location, location)) {
/* Store bookmark for current location in back list, unless there is no current location */
check_last_bookmark_location_matches_window (window);
@@ -506,7 +507,7 @@ viewed_file_changed_callback (NautilusFile *file,
* title. Ignore fragments in this comparison, because
* NautilusFile omits the fragment part.
*/
- if (!nautilus_uris_match_ignore_fragments (new_location,
+ if (!eel_uris_match_ignore_fragments (new_location,
window->details->location)) {
g_free (window->details->location);
window->details->location = new_location;
@@ -1207,7 +1208,7 @@ determined_initial_view_callback (NautilusDetermineViewHandle *handle,
}
/* Some sort of failure occurred. How 'bout we tell the user? */
- full_uri_for_display = nautilus_format_uri_for_display (location);
+ full_uri_for_display = eel_format_uri_for_display (location);
/* Truncate the URI so it doesn't get insanely wide. Note that even
* though the dialog uses wrapped text, if the URI doesn't contain
* white space then the text-wrapping code is too stupid to wrap it.
@@ -1334,7 +1335,7 @@ determined_initial_view_callback (NautilusDetermineViewHandle *handle,
better test for that */
home_uri = nautilus_preferences_get (NAUTILUS_PREFERENCES_HOME_URI);
- if (!nautilus_uris_match (home_uri, location)) {
+ if (!eel_uris_match (home_uri, location)) {
nautilus_window_go_home (NAUTILUS_WINDOW (window));
} else {
/* the last fallback is to go to a known place that can't be deleted! */
@@ -1800,7 +1801,7 @@ open_location_prefer_existing_window_callback (NautilusViewFrame *view,
if (existing_location == NULL) {
existing_location = existing_window->details->location;
}
- if (nautilus_uris_match (existing_location, location)) {
+ if (eel_uris_match (existing_location, location)) {
eel_gtk_window_present (GTK_WINDOW (existing_window));
return;
}
@@ -1870,7 +1871,7 @@ report_redirect_callback (NautilusViewFrame *view,
existing_location = window->details->location;
}
if (existing_location == NULL
- || !nautilus_uris_match (existing_location, from_location)) {
+ || !eel_uris_match (existing_location, from_location)) {
return;
}
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 5fcddf519..3592a551f 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -39,6 +39,14 @@
#include "nautilus-window-manage-views.h"
#include "nautilus-window-private.h"
#include <bonobo/bonobo-ui-util.h>
+#include <eel/eel-debug.h>
+#include <eel/eel-glib-extensions.h>
+#include <eel/eel-gnome-extensions.h>
+#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-stock-dialogs.h>
+#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
+#include <eel/eel-xml-extensions.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include <gtk/gtkmain.h>
@@ -48,17 +56,10 @@
#include <libgnomevfs/gnome-vfs-file-info.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <eel/eel-debug.h>
#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <eel/eel-glib-extensions.h>
#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
#include <libnautilus-extensions/nautilus-icon-factory.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
#include <libnautilus-extensions/nautilus-undo-manager.h>
-#include <eel/eel-xml-extensions.h>
#include <libnautilus/nautilus-bonobo-ui.h>
#ifdef ENABLE_PROFILER
@@ -783,7 +784,7 @@ show_bogus_bookmark_window (BookmarkHolder *holder)
char *prompt;
uri = nautilus_bookmark_get_uri (holder->bookmark);
- uri_for_display = nautilus_format_uri_for_display (uri);
+ uri_for_display = eel_format_uri_for_display (uri);
if (holder->prompt_for_removal) {
prompt = g_strdup_printf (_("The location \"%s\" does not exist. Do you "