summaryrefslogtreecommitdiff
path: root/monitor/udisks2/gvfsudisks2volume.c
diff options
context:
space:
mode:
authorDavid Zeuthen <zeuthen@gmail.com>2012-12-05 18:51:37 -0500
committerDavid Zeuthen <zeuthen@gmail.com>2012-12-05 19:01:01 -0500
commitbb4e7ed0236855d2ced7cfd4445877822da8fe7b (patch)
tree724f143759400f3059c888007838aa70009675d6 /monitor/udisks2/gvfsudisks2volume.c
parent986f052f48aa87288ff4eb55fb7f8b9e157e33bc (diff)
downloadgvfs-bb4e7ed0236855d2ced7cfd4445877822da8fe7b.tar.gz
udisks2: add support for mount option x-gvfs-symbolic-icon
... and also the new Block:HintSymbolicIcon icon just added to udisks master. Signed-off-by: David Zeuthen <zeuthen@gmail.com>
Diffstat (limited to 'monitor/udisks2/gvfsudisks2volume.c')
-rw-r--r--monitor/udisks2/gvfsudisks2volume.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/monitor/udisks2/gvfsudisks2volume.c b/monitor/udisks2/gvfsudisks2volume.c
index 7bb816cc..0266b5c2 100644
--- a/monitor/udisks2/gvfsudisks2volume.c
+++ b/monitor/udisks2/gvfsudisks2volume.c
@@ -165,6 +165,7 @@ apply_options_from_fstab (GVfsUDisks2Volume *volume,
{
gchar *name;
gchar *icon_name;
+ gchar *symbolic_icon_name;
name = gvfs_udisks2_utils_lookup_fstab_options_value (fstab_options, "x-gvfs-name=");
if (name != NULL)
@@ -180,6 +181,14 @@ apply_options_from_fstab (GVfsUDisks2Volume *volume,
volume->icon = g_themed_icon_new_with_default_fallbacks (icon_name);
g_free (icon_name);
}
+
+ symbolic_icon_name = gvfs_udisks2_utils_lookup_fstab_options_value (fstab_options, "x-gvfs-symbolic-icon=");
+ if (symbolic_icon_name != NULL)
+ {
+ g_clear_object (&volume->symbolic_icon);
+ volume->symbolic_icon = g_themed_icon_new_with_default_fallbacks (symbolic_icon_name);
+ g_free (symbolic_icon_name);
+ }
}
@@ -446,8 +455,16 @@ update_volume (GVfsUDisks2Volume *volume)
g_clear_object (&volume->icon);
volume->icon = g_themed_icon_new_with_default_fallbacks (hint);
}
+#if UDISKS_CHECK_VERSION(2,0,90)
+ hint = udisks_block_get_hint_symbolic_icon_name (volume->block);
+ if (hint != NULL && strlen (hint) > 0)
+ {
+ g_clear_object (&volume->symbolic_icon);
+ volume->symbolic_icon = g_themed_icon_new_with_default_fallbacks (hint);
+ }
+#endif
- /* Use x-gvfs-name=The%20Name and x-gvfs-icon=foo-name, if available */
+ /* Use x-gvfs-name=The%20Name, x-gvfs-icon=foo-name, x-gvfs-icon=foo-name-symbolic, if available */
g_variant_iter_init (&iter, udisks_block_get_configuration (block));
while (g_variant_iter_next (&iter, "(&s@a{sv})", &configuration_type, &configuration_value))
{