diff options
author | Carlos Soriano <csoriano@gnome.org> | 2016-03-30 14:41:42 +0200 |
---|---|---|
committer | Carlos Soriano <csoriano@gnome.org> | 2016-04-05 15:13:51 +0200 |
commit | 2eb201492b54bca590d706a8ffa7709385ab7479 (patch) | |
tree | ba75ef18868b61df04ff4e0c1c58a72f1aaf64e6 | |
parent | 6d05138a4c134a75e5db7a0b10c141042514761d (diff) | |
download | nautilus-2eb201492b54bca590d706a8ffa7709385ab7479.tar.gz |
file: allow overriding of get_drop_target_uri
So subclasses like desktop icon can make its own handling, instead
of special casing in the parent.
-rw-r--r-- | libnautilus-private/nautilus-file.c | 7 | ||||
-rw-r--r-- | libnautilus-private/nautilus-file.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c index 7ef00f78e..4fc0a4dec 100644 --- a/libnautilus-private/nautilus-file.c +++ b/libnautilus-private/nautilus-file.c @@ -3849,6 +3849,12 @@ nautilus_file_get_activation_location (NautilusFile *file) char * nautilus_file_get_drop_target_uri (NautilusFile *file) { + return NAUTILUS_FILE_CLASS (G_OBJECT_GET_CLASS (file))->get_drop_target_uri (file); +} + +static char * +real_get_drop_target_uri (NautilusFile *file) +{ char *uri, *target_uri; GFile *location; NautilusDesktopLink *link; @@ -8012,6 +8018,7 @@ nautilus_file_class_init (NautilusFileClass *class) class->set_metadata_as_list = real_set_metadata_as_list; class->can_rename = real_can_rename; class->rename = real_rename; + class->get_drop_target_uri = real_get_drop_target_uri; signals[CHANGED] = g_signal_new ("changed", diff --git a/libnautilus-private/nautilus-file.h b/libnautilus-private/nautilus-file.h index 790d67b6b..e7ed6b995 100644 --- a/libnautilus-private/nautilus-file.h +++ b/libnautilus-private/nautilus-file.h @@ -567,6 +567,8 @@ typedef struct { const char *new_name, NautilusFileOperationCallback callback, gpointer callback_data); + + char* (* get_drop_target_uri) (NautilusFile *file); } NautilusFileClass; #endif /* NAUTILUS_FILE_H */ |