summaryrefslogtreecommitdiff
path: root/monitor/afc
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2012-08-28 18:13:59 -0400
committerWilliam Jon McCann <jmccann@redhat.com>2012-08-30 11:24:19 -0400
commitc47f093895ceb648429ef4ab85004b9c3941438d (patch)
treea1b4f406e29f5206743b015c77d85d81f0df9454 /monitor/afc
parent96daf6359e857818c3255d49c0c7d9375870aaa5 (diff)
downloadgvfs-c47f093895ceb648429ef4ab85004b9c3941438d.tar.gz
Add support for getting symbolic icons
https://bugzilla.gnome.org/show_bug.cgi?id=681458
Diffstat (limited to 'monitor/afc')
-rw-r--r--monitor/afc/afcvolume.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/monitor/afc/afcvolume.c b/monitor/afc/afcvolume.c
index 3669b27c..9829077c 100644
--- a/monitor/afc/afcvolume.c
+++ b/monitor/afc/afcvolume.c
@@ -25,6 +25,7 @@ struct _GVfsAfcVolume {
char *name;
char *icon;
+ char *symbolic_icon;
char *icon_fallback;
};
@@ -45,6 +46,7 @@ g_vfs_afc_volume_finalize (GObject *object)
g_free (self->name);
g_free (self->icon);
+ g_free (self->symbolic_icon);
g_free (self->icon_fallback);
if (G_OBJECT_CLASS(g_vfs_afc_volume_parent_class)->finalize)
@@ -58,6 +60,7 @@ g_vfs_afc_volume_init (GVfsAfcVolume *self)
afc_volume->name = g_strdup ("iPhone");
afc_volume->icon = g_strdup ("phone-apple-iphone");
+ afc_volume->symbolic_icon = g_strdup ("phone-apple-iphone-symbolic");
}
static void
@@ -138,11 +141,13 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
{
g_free (self->icon);
self->icon = g_strdup ("multimedia-player-apple-ipod-touch");
+ self->symbolic_icon = g_strdup ("multimedia-player-apple-ipod-touch-symbolic");
}
else if (g_str_equal(model, "iPad") != FALSE)
{
g_free (self->icon);
self->icon = g_strdup ("computer-apple-ipad");
+ self->symbolic_icon = g_strdup ("computer-apple-ipad-symbolic");
}
g_free (model);
plist_free (value);
@@ -207,6 +212,17 @@ g_vfs_afc_volume_get_icon (GVolume *volume)
return icon;
}
+static GIcon *
+g_vfs_afc_volume_get_symbolic_icon (GVolume *volume)
+{
+ GVfsAfcVolume *afc_volume = G_VFS_AFC_VOLUME (volume);
+ GIcon *icon;
+
+ icon = g_themed_icon_new_with_default_fallbacks (afc_volume->symbolic_icon);
+
+ return icon;
+}
+
static char *
g_vfs_afc_volume_get_uuid (GVolume *volume)
{
@@ -355,6 +371,7 @@ g_vfs_afc_volume_iface_init (GVolumeIface *iface)
{
iface->get_name = g_vfs_afc_volume_get_name;
iface->get_icon = g_vfs_afc_volume_get_icon;
+ iface->get_symbolic_icon = g_vfs_afc_volume_get_symbolic_icon;
iface->get_uuid = g_vfs_afc_volume_get_uuid;
iface->get_drive = g_vfs_afc_volume_get_drive;
iface->get_mount = g_vfs_afc_volume_get_mount;