summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendsmb.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2008-03-06 20:51:30 +0000
committerAlexander Larsson <alexl@src.gnome.org>2008-03-06 20:51:30 +0000
commit29bf92644a4d8c9bada48faadcdb99ee21b80a8e (patch)
tree8ef3e017f12d8f2759ab0913daf4dd5747e766e3 /daemon/gvfsbackendsmb.c
parentd6ee41978959a8f3d3ac63e63f291d9f32ba4755 (diff)
downloadgvfs-29bf92644a4d8c9bada48faadcdb99ee21b80a8e.tar.gz
Use g_content_type_get_icon() instead of open coding it. Also picks up
2008-03-06 Alexander Larsson <alexl@redhat.com> * daemon/gvfsbackendsftp.c: * daemon/gvfsbackendsmb.c: Use g_content_type_get_icon() instead of open coding it. Also picks up more icons since that has been fixed. (#520742) svn path=/trunk/; revision=1586
Diffstat (limited to 'daemon/gvfsbackendsmb.c')
-rw-r--r--daemon/gvfsbackendsmb.c42
1 files changed, 8 insertions, 34 deletions
diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
index 5b0c302d..349b8bfa 100644
--- a/daemon/gvfsbackendsmb.c
+++ b/daemon/gvfsbackendsmb.c
@@ -1295,35 +1295,9 @@ set_info_from_stat (GVfsBackendSmb *backend,
if (content_type)
{
- char *mimetype_icon, *generic_mimetype_icon, *type_icon, *p;
- char *icon_names[3];
- int i;
-
- mimetype_icon = g_strdup (content_type);
- g_strdelimit (mimetype_icon, "/", '-');
-
- p = strchr (content_type, '/');
- if (p == NULL)
- p = content_type + strlen (content_type);
-
- generic_mimetype_icon = g_malloc (p - content_type + strlen ("-x-generic") + 1);
- memcpy (generic_mimetype_icon, content_type, p - content_type);
- memcpy (generic_mimetype_icon + (p - content_type), "-x-generic", strlen ("-x-generic"));
- generic_mimetype_icon[(p - content_type) + 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 (content_type);
+ if (G_IS_THEMED_ICON (icon))
+ g_themed_icon_append_name (G_THEMED_ICON (icon), "text-x-generic");
}
}
@@ -1332,12 +1306,12 @@ set_info_from_stat (GVfsBackendSmb *backend,
g_file_info_set_content_type (info, content_type);
g_free (content_type);
}
+
+ if (icon == NULL)
+ icon = g_themed_icon_new ("text-x-generic");
- if (icon)
- {
- g_file_info_set_icon (info, icon);
- g_object_unref (icon);
- }
+ g_file_info_set_icon (info, icon);
+ g_object_unref (icon);
}
/* Don't trust n_link, uid, gid, etc returned from libsmb, its just made up.