diff options
Diffstat (limited to 'daemon/gvfsbackendsftp.c')
-rw-r--r-- | daemon/gvfsbackendsftp.c | 38 |
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); |