summaryrefslogtreecommitdiff
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
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
-rw-r--r--ChangeLog8
-rw-r--r--daemon/gvfsbackendsftp.c38
-rw-r--r--daemon/gvfsbackendsmb.c42
3 files changed, 22 insertions, 66 deletions
diff --git a/ChangeLog b/ChangeLog
index 38657ad7..2fa4ab31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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)
+
2008-03-06 Benjamin Otte <otte@gnome.org>
* daemon/gvfsbackendftp.c: (ftp_connection_create),
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);
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.