summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendsftp.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/gvfsbackendsftp.c')
-rw-r--r--daemon/gvfsbackendsftp.c38
1 files changed, 6 insertions, 32 deletions
diff --git a/daemon/gvfsbackendsftp.c b/daemon/gvfsbackendsftp.c
index d995ba57..e278a425 100644
--- a/daemon/gvfsbackendsftp.c
+++ b/daemon/gvfsbackendsftp.c
@@ -1644,41 +1644,15 @@ parse_attributes (GVfsBackendSftp *backend,
{
icon = NULL;
if (S_ISDIR(mode))
- icon = g_themed_icon_new ("folder-remote");
+ icon = g_themed_icon_new ("folder");
else if (mimetype)
{
- char *mimetype_icon, *generic_mimetype_icon, *type_icon, *p;
- char *icon_names[3];
- int i;
-
- mimetype_icon = g_strdup (mimetype);
- g_strdelimit (mimetype_icon, "/", '-');
-
- p = strchr (mimetype, '/');
- if (p == NULL)
- p = mimetype + strlen (mimetype);
-
- generic_mimetype_icon = g_malloc (p - mimetype + strlen ("-x-generic") + 1);
- memcpy (generic_mimetype_icon, mimetype, p - mimetype);
- memcpy (generic_mimetype_icon + (p - mimetype), "-x-generic", strlen ("-x-generic"));
- generic_mimetype_icon[(p - mimetype) + strlen ("-x-generic")] = 0;
-
- type_icon = "text-x-generic";
-
- i = 0;
- icon_names[i++] = mimetype_icon;
- icon_names[i++] = generic_mimetype_icon;
- if (strcmp (generic_mimetype_icon, type_icon) != 0 &&
- strcmp (mimetype_icon, type_icon) != 0)
- icon_names[i++] = type_icon;
-
- icon = g_themed_icon_new_from_names (icon_names, i);
-
- g_free (mimetype_icon);
- g_free (generic_mimetype_icon);
-
+ icon = g_content_type_get_icon (mimetype);
+ if (G_IS_THEMED_ICON (icon))
+ g_themed_icon_append_name (G_THEMED_ICON (icon), "text-x-generic");
}
- else
+
+ if (icon == NULL)
icon = g_themed_icon_new ("text-x-generic");
g_file_info_set_icon (info, icon);