This commit is contained in:
Matthias Clasen 2008-07-22 04:47:51 +00:00
parent b04540e104
commit 0aa6e375f3
8 changed files with 480 additions and 914 deletions

View File

@ -1 +1 @@
nautilus-2.23.4.tar.bz2
nautilus-2.23.5.tar.bz2

View File

@ -1,324 +0,0 @@
diff -up nautilus-2.21.1/configure.in.dynamic-search nautilus-2.21.1/configure.in
--- nautilus-2.21.1/configure.in.dynamic-search 2007-12-20 10:33:26.000000000 -0500
+++ nautilus-2.21.1/configure.in 2007-12-21 22:45:20.000000000 -0500
@@ -271,42 +271,12 @@ dnl ====================================
dnl search implementations
dnl ****************************
-AM_CONDITIONAL(HAVE_TRACKER, false)
+# We hardcode beagle and tracker use and then load it dynamically
+AM_CONDITIONAL(HAVE_TRACKER, true)
+AC_DEFINE(HAVE_TRACKER, 1, [Define to enable tracker support])
-dnl libtracker checking
-
-AC_ARG_ENABLE(tracker, [ --disable-tracker build without tracker support])
-msg_tracker=no
-if test "x$enable_tracker" != "xno"; then
- PKG_CHECK_MODULES(TRACKER, tracker >= tracker_minver, [
- AM_CONDITIONAL(HAVE_TRACKER, true)
- AC_DEFINE(HAVE_TRACKER, 1, [Define to enable tracker support])
- ]
- msg_tracker=yes,
- [AM_CONDITIONAL(HAVE_TRACKER, false)])
- AC_SUBST(TRACKER_CFLAGS)
- AC_SUBST(TRACKER_LIBS)
-fi
-
-dnl ==========================================================================
-
-
-AM_CONDITIONAL(HAVE_BEAGLE, false)
-
-dnl libbeagle checking
-
-AC_ARG_ENABLE(beagle, [ --disable-beagle build without beagle support])
-msg_beagle=no
-if test "x$enable_beagle" != "xno"; then
- PKG_CHECK_MODULES(BEAGLE, libbeagle-0.0 >= beagle_minver, [
- AM_CONDITIONAL(HAVE_BEAGLE, true)
- AC_DEFINE(HAVE_BEAGLE, 1, [Define to enable beagle support])
- ]
- msg_beagle=yes,
- [AM_CONDITIONAL(HAVE_BEAGLE, false)])
- AC_SUBST(BEAGLE_CFLAGS)
- AC_SUBST(BEAGLE_LIBS)
-fi
+AM_CONDITIONAL(HAVE_BEAGLE, true)
+AC_DEFINE(HAVE_BEAGLE, 1, [Define to enable beagle support])
dnl ==========================================================================
diff -up nautilus-2.21.1/libnautilus-private/nautilus-search-engine-beagle.c.dynamic-search nautilus-2.21.1/libnautilus-private/nautilus-search-engine-beagle.c
--- nautilus-2.21.1/libnautilus-private/nautilus-search-engine-beagle.c.dynamic-search 2007-12-14 04:36:31.000000000 -0500
+++ nautilus-2.21.1/libnautilus-private/nautilus-search-engine-beagle.c 2007-12-21 22:45:20.000000000 -0500
@@ -23,10 +23,20 @@
#include <config.h>
#include "nautilus-search-engine-beagle.h"
-#include <beagle/beagle.h>
#include <eel/eel-gtk-macros.h>
#include <eel/eel-glib-extensions.h>
+#include <gmodule.h>
+
+typedef struct _BeagleHit BeagleHit;
+typedef struct _BeagleQuery BeagleQuery;
+typedef struct _BeagleClient BeagleClient;
+typedef struct _BeagleRequest BeagleRequest;
+typedef struct _BeagleFinishedResponse BeagleFinishedResponse;
+typedef struct _BeagleHitsAddedResponse BeagleHitsAddedResponse;
+typedef struct _BeagleQueryPartProperty BeagleQueryPartProperty;
+typedef struct _BeagleQueryPart BeagleQueryPart;
+typedef struct _BeagleHitsSubtractedResponse BeagleHitsSubtractedResponse;
struct NautilusSearchEngineBeagleDetails {
BeagleClient *client;
@@ -37,6 +47,127 @@ struct NautilusSearchEngineBeagleDetails
gboolean query_finished;
};
+/* We dlopen() all the following from libbeagle at runtime */
+#define BEAGLE_HIT(x) ((BeagleHit *)(x))
+#define BEAGLE_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), beagle_request_get_type(), BeagleRequest))
+#define BEAGLE_QUERY_PART(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), beagle_query_part_get_type(), BeagleQueryPart))
+
+typedef enum {
+ BEAGLE_QUERY_PART_LOGIC_REQUIRED = 1,
+ BEAGLE_QUERY_PART_LOGIC_PROHIBITED = 2
+} BeagleQueryPartLogic;
+
+typedef enum {
+ BEAGLE_PROPERTY_TYPE_UNKNOWN = 0,
+ BEAGLE_PROPERTY_TYPE_TEXT = 1,
+ BEAGLE_PROPERTY_TYPE_KEYWORD = 2,
+ BEAGLE_PROPERTY_TYPE_DATE = 3,
+ BEAGLE_PROPERTY_TYPE_LAST = 4
+} BeaglePropertyType;
+
+/* *static* wrapper function pointers */
+static gboolean (*beagle_client_send_request_async) (BeagleClient *client,
+ BeagleRequest *request,
+ GError **err) = NULL;
+static G_CONST_RETURN char *(*beagle_hit_get_uri) (BeagleHit *hit) = NULL;
+static GSList *(*beagle_hits_added_response_get_hits) (BeagleHitsAddedResponse *response) = NULL;
+static BeagleQuery *(*beagle_query_new) (void) = NULL;
+static void (*beagle_query_add_text) (BeagleQuery *query,
+ const char *str) = NULL;
+static void (*beagle_query_add_hit_type) (BeagleQuery *query,
+ const char *hit_type) = NULL;
+static BeagleQueryPartProperty *(*beagle_query_part_property_new) (void) = NULL;
+static void (*beagle_query_part_set_logic) (BeagleQueryPart *part,
+ BeagleQueryPartLogic logic) = NULL;
+static void (*beagle_query_part_property_set_key) (BeagleQueryPartProperty *part,
+ const char *key) = NULL;
+static void (*beagle_query_part_property_set_value) (BeagleQueryPartProperty *part,
+ const char * value) = NULL;
+static void (*beagle_query_part_property_set_property_type) (BeagleQueryPartProperty *part,
+ BeaglePropertyType prop_type) = NULL;
+static void (*beagle_query_add_part) (BeagleQuery *query,
+ BeagleQueryPart *part) = NULL;
+static GType (*beagle_request_get_type) (void) = NULL;
+static GType (*beagle_query_part_get_type) (void) = NULL;
+static gboolean (*beagle_util_daemon_is_running) (void) = NULL;
+static BeagleClient *(*beagle_client_new_real) (const char *client_name) = NULL;
+static void (*beagle_query_set_max_hits) (BeagleQuery *query,
+ int max_hits) = NULL;
+static void (*beagle_query_add_mime_type) (BeagleQuery *query,
+ const char *mime_type) = NULL;
+static GSList *(*beagle_hits_subtracted_response_get_uris) (BeagleHitsSubtractedResponse *response) = NULL;
+
+static struct BeagleDlMapping
+{
+ const char *fn_name;
+ gpointer *fn_ptr_ref;
+} beagle_dl_mapping[] =
+{
+#define MAP(a) { #a, (gpointer *)&a }
+ MAP (beagle_client_send_request_async),
+ MAP (beagle_hit_get_uri),
+ MAP (beagle_hits_added_response_get_hits),
+ MAP (beagle_query_new),
+ MAP (beagle_query_add_text),
+ MAP (beagle_query_add_hit_type),
+ MAP (beagle_query_part_property_new),
+ MAP (beagle_query_part_set_logic),
+ MAP (beagle_query_part_property_set_key),
+ MAP (beagle_query_part_property_set_value),
+ MAP (beagle_query_part_property_set_property_type),
+ MAP (beagle_query_add_part),
+ MAP (beagle_request_get_type),
+ MAP (beagle_query_part_get_type),
+ MAP (beagle_util_daemon_is_running),
+ MAP (beagle_query_set_max_hits),
+ MAP (beagle_query_add_mime_type),
+ MAP (beagle_hits_subtracted_response_get_uris),
+#undef MAP
+ { "beagle_client_new", (gpointer *)&beagle_client_new_real },
+};
+
+static void
+open_libbeagle (void)
+{
+ static gboolean done = FALSE;
+
+ if (!done)
+ {
+ int i;
+ GModule *beagle;
+
+ done = TRUE;
+
+ beagle = g_module_open ("libbeagle.so.0", G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
+ if (!beagle)
+ return;
+
+ for (i = 0; i < G_N_ELEMENTS (beagle_dl_mapping); i++)
+ {
+ if (!g_module_symbol (beagle, beagle_dl_mapping[i].fn_name,
+ beagle_dl_mapping[i].fn_ptr_ref))
+ {
+ g_warning ("Missing symbol '%s' in libbeagle\n",
+ beagle_dl_mapping[i].fn_name);
+ g_module_close (beagle);
+
+ for (i = 0; i < G_N_ELEMENTS (beagle_dl_mapping); i++)
+ beagle_dl_mapping[i].fn_ptr_ref = NULL;
+
+ return;
+ }
+ }
+ }
+}
+
+static BeagleClient *
+beagle_client_new (const char *client_name)
+{
+ if (beagle_client_new_real)
+ return beagle_client_new_real (client_name);
+
+ return NULL;
+}
static void nautilus_search_engine_beagle_class_init (NautilusSearchEngineBeagleClass *class);
static void nautilus_search_engine_beagle_init (NautilusSearchEngineBeagle *engine);
@@ -276,8 +407,11 @@ nautilus_search_engine_beagle_new (void)
{
NautilusSearchEngineBeagle *engine;
BeagleClient *client;
+
+ open_libbeagle ();
- if (!beagle_util_daemon_is_running ()) {
+ if (beagle_util_daemon_is_running == NULL ||
+ !beagle_util_daemon_is_running ()) {
/* check whether daemon is running as beagle_client_new
* doesn't fail when a stale socket file exists */
return NULL;
diff -up nautilus-2.21.1/libnautilus-private/nautilus-search-engine-tracker.c.dynamic-search nautilus-2.21.1/libnautilus-private/nautilus-search-engine-tracker.c
--- nautilus-2.21.1/libnautilus-private/nautilus-search-engine-tracker.c.dynamic-search 2007-12-14 04:36:31.000000000 -0500
+++ nautilus-2.21.1/libnautilus-private/nautilus-search-engine-tracker.c 2007-12-21 22:55:17.000000000 -0500
@@ -23,11 +23,89 @@
#include <config.h>
#include "nautilus-search-engine-tracker.h"
-#include <tracker.h>
+#include <gmodule.h>
#include <eel/eel-gtk-macros.h>
#include <eel/eel-glib-extensions.h>
+typedef struct _TrackerClient TrackerClient;
+
+typedef void (*TrackerArrayReply) (char **result, GError *error, gpointer user_data);
+
+static TrackerClient * (*tracker_connect) (gboolean enable_warnings) = NULL;
+static void (*tracker_disconnect) (TrackerClient *client) = NULL;
+static void (*tracker_cancel_last_call) (TrackerClient *client) = NULL;
+
+static void (*tracker_search_metadata_by_text_async) (TrackerClient *client,
+ const char *query,
+ TrackerArrayReply callback,
+ gpointer user_data) = NULL;
+static void (*tracker_search_metadata_by_text_and_mime_async) (TrackerClient *client,
+ const char *query,
+ const char **mimes,
+ TrackerArrayReply callback,
+ gpointer user_data) = NULL;
+static void (*tracker_search_metadata_by_text_and_location_async) (TrackerClient *client,
+ const char *query,
+ const char *location,
+ TrackerArrayReply callback,
+ gpointer user_data) = NULL;
+static void (*tracker_search_metadata_by_text_and_mime_and_location_async) (TrackerClient *client,
+ const char *query,
+ const char **mimes,
+ const char *location,
+ TrackerArrayReply callback,
+ gpointer user_data) = NULL;
+
+static struct TrackerDlMapping
+{
+ const char *fn_name;
+ gpointer *fn_ptr_ref;
+} tracker_dl_mapping[] =
+{
+#define MAP(a) { #a, (gpointer *)&a }
+ MAP (tracker_connect),
+ MAP (tracker_disconnect),
+ MAP (tracker_cancel_last_call),
+ MAP (tracker_search_metadata_by_text_async),
+ MAP (tracker_search_metadata_by_text_and_mime_async),
+ MAP (tracker_search_metadata_by_text_and_location_async),
+ MAP (tracker_search_metadata_by_text_and_mime_and_location_async)
+#undef MAP
+};
+
+static void
+open_libtracker (void)
+{
+ static gboolean done = FALSE;
+ if (!done)
+ {
+ int i;
+ GModule *tracker;
+
+ done = TRUE;
+
+ tracker = g_module_open ("libtrackerclient.so.0", G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
+ if (!tracker)
+ return;
+
+ for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++)
+ {
+ if (!g_module_symbol (tracker, tracker_dl_mapping[i].fn_name,
+ tracker_dl_mapping[i].fn_ptr_ref))
+ {
+ g_warning ("Missing symbol '%s' in libtracker\n",
+ tracker_dl_mapping[i].fn_name);
+ g_module_close (tracker);
+
+ for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++)
+ tracker_dl_mapping[i].fn_ptr_ref = NULL;
+
+ return;
+ }
+ }
+ }
+}
struct NautilusSearchEngineTrackerDetails {
NautilusQuery *query;
@@ -259,6 +337,12 @@ nautilus_search_engine_tracker_new (void
NautilusSearchEngineTracker *engine;
TrackerClient *tracker_client;
+ open_libtracker ();
+
+ if (!tracker_connect) {
+ return NULL;
+ }
+
tracker_client = tracker_connect (FALSE);
if (!tracker_client) {

View File

@ -1,13 +0,0 @@
--- trunk/libnautilus-private/nautilus-mime-application-chooser.c 2008/02/20 15:11:17 13784
+++ trunk/libnautilus-private/nautilus-mime-application-chooser.c 2008/03/13 15:11:05 13931
@@ -599,9 +599,9 @@
const char *extension,
const char *mime_type)
{
- chooser->details->extension = g_strdup (extension);
if (extension != NULL &&
g_content_type_is_unknown (mime_type)) {
+ chooser->details->extension = g_strdup (extension);
chooser->details->content_type = g_strdup_printf ("application/x-extension-%s", extension);
/* the %s here is a file extension */
chooser->details->type_description =

View File

@ -1,7 +1,7 @@
diff -up nautilus-2.22.1/configure.in.dynamic-search nautilus-2.22.1/configure.in
--- nautilus-2.22.1/configure.in.dynamic-search 2008-03-14 07:58:02.000000000 -0400
+++ nautilus-2.22.1/configure.in 2008-04-04 23:59:12.000000000 -0400
@@ -269,49 +269,18 @@ dnl ====================================
diff -up nautilus-2.23.5/configure.in.dynamic-search nautilus-2.23.5/configure.in
--- nautilus-2.23.5/configure.in.dynamic-search 2008-07-21 11:27:29.000000000 -0400
+++ nautilus-2.23.5/configure.in 2008-07-22 00:43:14.000000000 -0400
@@ -280,53 +280,18 @@ dnl ====================================
dnl search implementations
dnl ****************************
@ -9,7 +9,9 @@ diff -up nautilus-2.22.1/configure.in.dynamic-search nautilus-2.22.1/configure.i
-
-dnl libtracker checking
-
-AC_ARG_ENABLE(tracker, [ --disable-tracker build without tracker support])
-AC_ARG_ENABLE(tracker,
- AC_HELP_STRING([--disable-tracker],
- [build without tracker support]))
-msg_tracker=no
-if test "x$enable_tracker" != "xno"; then
- PKG_CHECK_MODULES(TRACKER, tracker >= tracker_minver, [
@ -28,8 +30,10 @@ diff -up nautilus-2.22.1/configure.in.dynamic-search nautilus-2.22.1/configure.i
-AM_CONDITIONAL(HAVE_BEAGLE, false)
-
-dnl libbeagle checking
-
-AC_ARG_ENABLE(beagle, [ --disable-beagle build without beagle support])
-
-AC_ARG_ENABLE(beagle,
- AC_HELP_STRING([--disable-beagle],
- [build without beagle support]))
-msg_beagle=no
-if test "x$enable_beagle" != "xno"; then
- BEAGLE_PKGCONFIG=
@ -54,7 +58,7 @@ diff -up nautilus-2.22.1/configure.in.dynamic-search nautilus-2.22.1/configure.i
+TRACKER_CFLAGS=
+AC_SUBST(TRACKER_CFLAGS)
+msg_tracker=yes
+
+
+AM_CONDITIONAL(HAVE_BEAGLE, true)
+AC_DEFINE(HAVE_BEAGLE, 1, [Define to enable beagle support])
+BEAGLE_CFLAGS=
@ -63,9 +67,9 @@ diff -up nautilus-2.22.1/configure.in.dynamic-search nautilus-2.22.1/configure.i
dnl ==========================================================================
diff -up nautilus-2.22.1/libnautilus-private/nautilus-search-engine-beagle.c.dynamic-search nautilus-2.22.1/libnautilus-private/nautilus-search-engine-beagle.c
--- nautilus-2.22.1/libnautilus-private/nautilus-search-engine-beagle.c.dynamic-search 2007-12-14 04:36:31.000000000 -0500
+++ nautilus-2.22.1/libnautilus-private/nautilus-search-engine-beagle.c 2008-04-04 23:59:12.000000000 -0400
diff -up nautilus-2.23.5/libnautilus-private/nautilus-search-engine-beagle.c.dynamic-search nautilus-2.23.5/libnautilus-private/nautilus-search-engine-beagle.c
--- nautilus-2.23.5/libnautilus-private/nautilus-search-engine-beagle.c.dynamic-search 2008-06-30 12:02:43.000000000 -0400
+++ nautilus-2.23.5/libnautilus-private/nautilus-search-engine-beagle.c 2008-07-22 00:41:24.000000000 -0400
@@ -23,10 +23,20 @@
#include <config.h>
@ -223,9 +227,9 @@ diff -up nautilus-2.22.1/libnautilus-private/nautilus-search-engine-beagle.c.dyn
/* check whether daemon is running as beagle_client_new
* doesn't fail when a stale socket file exists */
return NULL;
diff -up nautilus-2.22.1/libnautilus-private/nautilus-search-engine-tracker.c.dynamic-search nautilus-2.22.1/libnautilus-private/nautilus-search-engine-tracker.c
--- nautilus-2.22.1/libnautilus-private/nautilus-search-engine-tracker.c.dynamic-search 2008-03-19 11:34:17.000000000 -0400
+++ nautilus-2.22.1/libnautilus-private/nautilus-search-engine-tracker.c 2008-04-04 23:59:12.000000000 -0400
diff -up nautilus-2.23.5/libnautilus-private/nautilus-search-engine-tracker.c.dynamic-search nautilus-2.23.5/libnautilus-private/nautilus-search-engine-tracker.c
--- nautilus-2.23.5/libnautilus-private/nautilus-search-engine-tracker.c.dynamic-search 2008-06-30 12:02:26.000000000 -0400
+++ nautilus-2.23.5/libnautilus-private/nautilus-search-engine-tracker.c 2008-07-22 00:41:24.000000000 -0400
@@ -23,11 +23,92 @@
#include <config.h>

View File

@ -18,7 +18,7 @@
Name: nautilus
Summary: Nautilus is a file manager for GNOME
Version: 2.23.4
Version: 2.23.5
Release: 1%{?dist}
License: GPLv2+
Group: User Interface/Desktops
@ -79,10 +79,10 @@ Obsoletes: nautilus-media
Patch1: nautilus-2.5.7-rhconfig.patch
Patch3: background-no-delay.patch
Patch5: nautilus-2.23.3-selinux.diff
Patch5: nautilus-2.23.5-selinux.patch
# Why is this not upstream ?
Patch6: nautilus-2.22.1-dynamic-search.patch
Patch6: nautilus-2.23.5-dynamic-search.patch
Patch7: rtl-fix.patch
Patch8: nautilus-2.22.1-hide-white-screen.patch
@ -129,7 +129,7 @@ for writing nautilus extensions.
%patch1 -p1 -b .rhconfig
%patch3 -p1 -b .no-delay
%patch5 -p0 -b .selinux
%patch5 -p1 -b .selinux
%patch6 -p1 -b .dynamic-search
%patch7 -p1 -b .rtl-fix
# %patch8 -p1 -b .hide-white-screen
@ -255,6 +255,9 @@ fi
%changelog
* Tue Jul 22 2008 Matthias Clasen <mclasen@redhat.com> - 2.23.5-1
- Update to 2.23.5
* Tue Jun 17 2008 Tomas Bzatek <tbzatek@redhat.com> - 2.23.4-1
- Update to 2.23.4

View File

@ -1,83 +0,0 @@
Index: libnautilus-private/nautilus-file.c
===================================================================
--- libnautilus-private/nautilus-file.c (revision 13949)
+++ libnautilus-private/nautilus-file.c (working copy)
@@ -7044,11 +7044,13 @@
iface->get_uri = nautilus_file_get_uri;
iface->get_parent_location = nautilus_file_get_parent_location;
iface->get_parent_uri = nautilus_file_get_parent_uri;
+ iface->get_parent_info = nautilus_file_get_parent;
iface->get_uri_scheme = nautilus_file_get_uri_scheme;
iface->get_activation_uri = nautilus_file_get_activation_uri;
iface->get_mime_type = nautilus_file_get_mime_type;
iface->is_mime_type = nautilus_file_is_mime_type;
iface->is_directory = nautilus_file_is_directory;
+ iface->can_write = nautilus_file_can_write;
iface->add_emblem = nautilus_file_add_emblem;
iface->get_string_attribute = nautilus_file_get_string_attribute;
iface->add_string_attribute = nautilus_file_add_string_attribute;
Index: libnautilus-extension/nautilus-file-info.c
===================================================================
--- libnautilus-extension/nautilus-file-info.c (revision 13949)
+++ libnautilus-extension/nautilus-file-info.c (working copy)
@@ -152,6 +152,15 @@
return NAUTILUS_FILE_INFO_GET_IFACE (file)->get_parent_uri (file);
}
+NautilusFileInfo *
+nautilus_file_info_get_parent_info (NautilusFileInfo *file)
+{
+ g_return_val_if_fail (NAUTILUS_IS_FILE_INFO (file), NULL);
+ g_return_val_if_fail (NAUTILUS_FILE_INFO_GET_IFACE (file)->get_parent_info != NULL, NULL);
+
+ return NAUTILUS_FILE_INFO_GET_IFACE (file)->get_parent_info (file);
+}
+
char *
nautilus_file_info_get_uri_scheme (NautilusFileInfo *file)
{
@@ -191,6 +200,15 @@
return NAUTILUS_FILE_INFO_GET_IFACE (file)->is_directory (file);
}
+gboolean
+nautilus_file_info_can_write (NautilusFileInfo *file)
+{
+ g_return_val_if_fail (NAUTILUS_IS_FILE_INFO (file), FALSE);
+ g_return_val_if_fail (NAUTILUS_FILE_INFO_GET_IFACE (file)->can_write != NULL, FALSE);
+
+ return NAUTILUS_FILE_INFO_GET_IFACE (file)->can_write (file);
+}
+
void
nautilus_file_info_add_emblem (NautilusFileInfo *file,
const char *emblem_name)
Index: libnautilus-extension/nautilus-file-info.h
===================================================================
--- libnautilus-extension/nautilus-file-info.h (revision 13949)
+++ libnautilus-extension/nautilus-file-info.h (working copy)
@@ -78,6 +78,8 @@
GFileType (*get_file_type) (NautilusFileInfo *file);
GFile * (*get_location) (NautilusFileInfo *file);
GFile * (*get_parent_location) (NautilusFileInfo *file);
+ NautilusFileInfo* (*get_parent_info) (NautilusFileInfo *file);
+ gboolean (*can_write) (NautilusFileInfo *file);
};
@@ -96,6 +98,7 @@
char * nautilus_file_info_get_activation_uri (NautilusFileInfo *file);
GFile * nautilus_file_info_get_parent_location (NautilusFileInfo *file);
char * nautilus_file_info_get_parent_uri (NautilusFileInfo *file);
+NautilusFileInfo* nautilus_file_info_get_parent_info (NautilusFileInfo *file);
char * nautilus_file_info_get_uri_scheme (NautilusFileInfo *file);
/* File Type */
@@ -103,6 +106,7 @@
gboolean nautilus_file_info_is_mime_type (NautilusFileInfo *file,
const char *mime_type);
gboolean nautilus_file_info_is_directory (NautilusFileInfo *file);
+gboolean nautilus_file_info_can_write (NautilusFileInfo *file);
/* Modifying the NautilusFileInfo */

View File

@ -1 +1 @@
6daaf064536cc1c194bb6e1d381679b9 nautilus-2.23.4.tar.bz2
8d76213546653b36d0a2a32d76c3b438 nautilus-2.23.5.tar.bz2