diff options
| author | Tomas Bzatek <tbzatek@redhat.com> | 2009-02-17 16:33:51 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@redhat.com> | 2009-02-17 16:33:51 +0100 |
| commit | 0701d66c3aa3b969f7d4bda0826a365d5f5e193c (patch) | |
| tree | 3b9b46a9030df115c00b372c5fdedca149f8be09 /src | |
| parent | bbcc150f88649c2db776d85e1165c44c95b15a4a (diff) | |
| download | nautilus-gdu-0701d66c3aa3b969f7d4bda0826a365d5f5e193c.tar.gz nautilus-gdu-0701d66c3aa3b969f7d4bda0826a365d5f5e193c.tar.xz nautilus-gdu-0701d66c3aa3b969f7d4bda0826a365d5f5e193c.zip | |
Show only relevant presentables, hide toplevel ones if device contains filesystem(s)
Diffstat (limited to 'src')
| -rw-r--r-- | src/gdu-utils.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gdu-utils.c b/src/gdu-utils.c index 6929c66..e85eee3 100644 --- a/src/gdu-utils.c +++ b/src/gdu-utils.c @@ -174,6 +174,7 @@ gdu_util_presentable_combo_box_create_store (GduPool *pool) GduDevice *toplevel_device = NULL; GduDevice *device; GdkPixbuf *pixbuf = NULL; + GList *enclosed_presentables = NULL; char *name = NULL; char *display_name = NULL; @@ -184,7 +185,10 @@ gdu_util_presentable_combo_box_create_store (GduPool *pool) toplevel_device = gdu_presentable_get_device (toplevel_presentable); pixbuf = gdu_util_get_pixbuf_for_presentable (presentable, GTK_ICON_SIZE_DIALOG); - if (toplevel_device != NULL && gdu_device_is_removable (toplevel_device)) { + /* determine parent presentables (in case of toplevel drive) */ + enclosed_presentables = gdu_pool_get_enclosed_presentables (pool, presentable); + + if (toplevel_device != NULL && gdu_device_is_removable (toplevel_device) && g_list_length (enclosed_presentables) == 0) { name = g_strdup (gdu_device_id_get_label (device)); if (name && strlen (name) > 0) display_name = g_strdup (name); @@ -212,6 +216,8 @@ gdu_util_presentable_combo_box_create_store (GduPool *pool) if (name) g_free (name); } + g_list_foreach (enclosed_presentables, (GFunc) g_object_unref, NULL); + g_list_free (enclosed_presentables); } if (pixbuf) |
