summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2016-03-30 15:02:12 +0200
committerCarlos Soriano <csoriano@gnome.org>2016-04-06 10:58:21 +0200
commitab3a2f2de999469e04137fcee1b43860a4b74dbf (patch)
treeaa1002f9db4b08d6d3f7ab7b0eca1466fc19e916
parente01b029a89e408ee8aeee7210e8abf4fc1e2ca6b (diff)
downloadnautilus-ab3a2f2de999469e04137fcee1b43860a4b74dbf.tar.gz
file: allow overriding invalidate_attributes_internal
We are special casing some cases where we want to do something different in subclasses. Allow to override this function so subclasses can use it.
-rw-r--r--libnautilus-private/nautilus-file.c12
-rw-r--r--libnautilus-private/nautilus-file.h3
2 files changed, 13 insertions, 2 deletions
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index 4a413caa2..0c7410cd8 100644
--- a/libnautilus-private/nautilus-file.c
+++ b/libnautilus-private/nautilus-file.c
@@ -7424,8 +7424,15 @@ nautilus_file_invalidate_extension_info_internal (NautilusFile *file)
}
void
-nautilus_file_invalidate_attributes_internal (NautilusFile *file,
- NautilusFileAttributes file_attributes)
+nautilus_file_invalidate_attributes_internal (NautilusFile *file,
+ NautilusFileAttributes file_attributes)
+{
+ NAUTILUS_FILE_CLASS (G_OBJECT_GET_CLASS (file))->invalidate_attributes_internal (file, file_attributes);
+}
+
+static void
+real_invalidate_attributes_internal (NautilusFile *file,
+ NautilusFileAttributes file_attributes)
{
Request request;
@@ -8006,6 +8013,7 @@ nautilus_file_class_init (NautilusFileClass *class)
class->rename = real_rename;
class->get_target_uri = real_get_target_uri;
class->drag_can_accept_files = real_drag_can_accept_files;
+ class->invalidate_attributes_internal = real_invalidate_attributes_internal;
signals[CHANGED] =
g_signal_new ("changed",
diff --git a/libnautilus-private/nautilus-file.h b/libnautilus-private/nautilus-file.h
index 77b4fe16a..a6e265bf0 100644
--- a/libnautilus-private/nautilus-file.h
+++ b/libnautilus-private/nautilus-file.h
@@ -601,6 +601,9 @@ typedef struct {
char* (* get_target_uri) (NautilusFile *file);
gboolean (* drag_can_accept_files) (NautilusFile *drop_target_item);
+
+ void (* invalidate_attributes_internal) (NautilusFile *file,
+ NautilusFileAttributes file_attributes);
} NautilusFileClass;
#endif /* NAUTILUS_FILE_H */