summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2016-04-04 12:34:31 +0200
committerCarlos Soriano <csoriano@gnome.org>2016-04-06 11:03:19 +0200
commitafd3d6ba640b9e6dfe5e6b97c40a64f60b45f920 (patch)
tree3be74d10ea9295b9a7142c96c48975aa41ea39eb
parent1c4f69b4edbf446ff7a42b14e0ebb0111139484d (diff)
downloadnautilus-afd3d6ba640b9e6dfe5e6b97c40a64f60b45f920.tar.gz
desktop-canvas-view-container: override get icon text
Now that we have a subclass we can override the function instead of special casing in the parent.
-rw-r--r--src/nautilus-canvas-view-container.c7
-rw-r--r--src/nautilus-desktop-canvas-view-container.c44
2 files changed, 47 insertions, 4 deletions
diff --git a/src/nautilus-canvas-view-container.c b/src/nautilus-canvas-view-container.c
index a56ec66e8..efcb7356e 100644
--- a/src/nautilus-canvas-view-container.c
+++ b/src/nautilus-canvas-view-container.c
@@ -243,10 +243,9 @@ nautilus_canvas_view_container_get_icon_text (NautilusCanvasContainer *container
return;
}
- if (NAUTILUS_IS_DESKTOP_ICON_FILE (file) ||
- nautilus_file_is_nautilus_link (file)) {
- /* Don't show the normal extra information for desktop icons,
- * or desktop files, it doesn't make sense. */
+ if (nautilus_file_is_nautilus_link (file)) {
+ /* Don't show the normal extra information for desktop files,
+ * it doesn't make sense. */
*additional_text = NULL;
return;
}
diff --git a/src/nautilus-desktop-canvas-view-container.c b/src/nautilus-desktop-canvas-view-container.c
index 48e6f95d6..6c76f7424 100644
--- a/src/nautilus-desktop-canvas-view-container.c
+++ b/src/nautilus-desktop-canvas-view-container.c
@@ -26,6 +26,49 @@ struct _NautilusDesktopCanvasViewContainer
G_DEFINE_TYPE (NautilusDesktopCanvasViewContainer, nautilus_desktop_canvas_view_container, NAUTILUS_TYPE_CANVAS_VIEW_CONTAINER)
+
+static void
+real_get_icon_text (NautilusCanvasContainer *container,
+ NautilusCanvasIconData *data,
+ char **editable_text,
+ char **additional_text,
+ gboolean include_invisible)
+{
+ NautilusFile *file;
+ gboolean use_additional;
+
+ file = NAUTILUS_FILE (data);
+
+ g_assert (NAUTILUS_IS_FILE (file));
+ g_assert (editable_text != NULL);
+
+ use_additional = (additional_text != NULL);
+
+ /* Strip the suffix for nautilus object xml files. */
+ *editable_text = nautilus_file_get_display_name (file);
+
+ if (!use_additional) {
+ return;
+ }
+
+ if (NAUTILUS_IS_DESKTOP_ICON_FILE (file) ||
+ nautilus_file_is_nautilus_link (file))
+ {
+ /* Don't show the normal extra information for desktop icons,
+ * or desktop files, it doesn't make sense.
+ */
+ *additional_text = NULL;
+
+ return;
+ }
+
+ return NAUTILUS_CANVAS_CONTAINER_CLASS (G_OBJECT_GET_CLASS (container))->get_icon_text (container,
+ data,
+ editable_text,
+ additional_text,
+ include_invisible);
+}
+
static char *
real_get_icon_description (NautilusCanvasContainer *container,
NautilusCanvasIconData *data)
@@ -58,6 +101,7 @@ nautilus_desktop_canvas_view_container_class_init (NautilusDesktopCanvasViewCont
NautilusCanvasContainerClass *container_class = NAUTILUS_CANVAS_CONTAINER_CLASS (klass);
container_class->get_icon_description = real_get_icon_description;
+ container_class->get_icon_text = real_get_icon_text;
}
static void