Add G_VOLUME_IDENTIFIER_KIND_CLASS identifier

If an application (such as Nautilus) wants to show a sidebar with
devices group into different groups such as "Devices" and "Network",
it's currently up to the application itself to do the classification
(for example by looking at the URI scheme for the activation root,
e.g. smb://).

This patch adds a new identifier G_VOLUME_IDENTIFIER_KIND_CLASS that
can be set by volume monitors and used by applications.

See https://bugzilla.gnome.org/show_bug.cgi?id=668295

Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
David Zeuthen 2012-03-01 14:06:43 -05:00
parent 479416fada
commit 10fbfcf090
2 changed files with 19 additions and 0 deletions

View File

@ -1098,6 +1098,7 @@ G_VOLUME_IDENTIFIER_KIND_LABEL
G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT
G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE
G_VOLUME_IDENTIFIER_KIND_UUID
G_VOLUME_IDENTIFIER_KIND_CLASS
g_volume_enumerate_identifiers
g_volume_get_identifier
g_volume_get_sort_key

View File

@ -67,6 +67,24 @@ G_BEGIN_DECLS
*/
#define G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT "nfs-mount"
/**
* G_VOLUME_IDENTIFIER_KIND_CLASS:
*
* The string used to obtain the volume <emphasis>class</emphasis>
* with g_volume_get_identifier().
*
* Known volume classes include <literal>device</literal> and
* <literal>network</literal>. Other classes may be added in the
* future.
*
* This is intended to be used by applications to classify #GVolume
* instances into different sections - for example a file manager or
* file chooser can use this information to show
* <literal>network</literal> volumes under a "Network" heading and
* <literal>device</literal> volumes under a "Devices" heading.
*/
#define G_VOLUME_IDENTIFIER_KIND_CLASS "class"
#define G_TYPE_VOLUME (g_volume_get_type ())
#define G_VOLUME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_VOLUME, GVolume))