mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-10-02 14:03:39 +00:00
placessidebar: Sort internal volumes last
These used to be hidden in Other Locations view. Now that they live in the sidebar, let's sort them last, in order to avoid pushing external volumes (e.g. plugged-in devices or connected remotes) down the list and possibly out of view. Let's keep external volumes above the recently returned internal ones. Part of: https://gitlab.gnome.org/GNOME/nautilus/-/issues/3012
This commit is contained in:
parent
2e4151ca3d
commit
f7bb6975a5
|
@ -906,7 +906,9 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
name = g_mount_get_name (mount);
|
name = g_mount_get_name (mount);
|
||||||
tooltip = g_file_get_parse_name (root);
|
tooltip = g_file_get_parse_name (root);
|
||||||
|
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, (is_external_volume (volume) ?
|
||||||
|
NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT :
|
||||||
|
NAUTILUS_GTK_PLACES_INTERNAL_MOUNT),
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, mount_uri,
|
name, start_icon, NULL, mount_uri,
|
||||||
drive, volume, mount, NULL, 0, tooltip);
|
drive, volume, mount, NULL, 0, tooltip);
|
||||||
|
@ -931,7 +933,9 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
name = g_volume_get_name (volume);
|
name = g_volume_get_name (volume);
|
||||||
tooltip = g_strdup_printf (_("Mount and Open “%s”"), name);
|
tooltip = g_strdup_printf (_("Mount and Open “%s”"), name);
|
||||||
|
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, (is_external_volume (volume) ?
|
||||||
|
NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT :
|
||||||
|
NAUTILUS_GTK_PLACES_INTERNAL_MOUNT),
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, NULL,
|
name, start_icon, NULL, NULL,
|
||||||
drive, volume, NULL, NULL, 0, tooltip);
|
drive, volume, NULL, NULL, 0, tooltip);
|
||||||
|
@ -1017,7 +1021,9 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
mount_uri = g_file_get_uri (root);
|
mount_uri = g_file_get_uri (root);
|
||||||
tooltip = g_file_get_parse_name (root);
|
tooltip = g_file_get_parse_name (root);
|
||||||
name = g_mount_get_name (mount);
|
name = g_mount_get_name (mount);
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, (is_external_volume (volume) ?
|
||||||
|
NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT :
|
||||||
|
NAUTILUS_GTK_PLACES_INTERNAL_MOUNT),
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, mount_uri,
|
name, start_icon, NULL, mount_uri,
|
||||||
NULL, volume, mount, NULL, 0, tooltip);
|
NULL, volume, mount, NULL, 0, tooltip);
|
||||||
|
@ -1033,7 +1039,9 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
/* see comment above in why we add an icon for an unmounted mountable volume */
|
/* see comment above in why we add an icon for an unmounted mountable volume */
|
||||||
start_icon = g_volume_get_symbolic_icon (volume);
|
start_icon = g_volume_get_symbolic_icon (volume);
|
||||||
name = g_volume_get_name (volume);
|
name = g_volume_get_name (volume);
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, (is_external_volume (volume) ?
|
||||||
|
NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT :
|
||||||
|
NAUTILUS_GTK_PLACES_INTERNAL_MOUNT),
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, NULL,
|
name, start_icon, NULL, NULL,
|
||||||
NULL, volume, NULL, NULL, 0, name);
|
NULL, volume, NULL, NULL, 0, name);
|
||||||
|
@ -1077,7 +1085,7 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
mount_uri = g_file_get_uri (root);
|
mount_uri = g_file_get_uri (root);
|
||||||
name = g_mount_get_name (mount);
|
name = g_mount_get_name (mount);
|
||||||
tooltip = g_file_get_parse_name (root);
|
tooltip = g_file_get_parse_name (root);
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT,
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, mount_uri,
|
name, start_icon, NULL, mount_uri,
|
||||||
NULL, NULL, mount, NULL, 0, tooltip);
|
NULL, NULL, mount, NULL, 0, tooltip);
|
||||||
|
@ -1144,7 +1152,7 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
name = g_volume_get_name (volume);
|
name = g_volume_get_name (volume);
|
||||||
tooltip = g_strdup_printf (_("Mount and Open “%s”"), name);
|
tooltip = g_strdup_printf (_("Mount and Open “%s”"), name);
|
||||||
|
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT,
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, NULL,
|
name, start_icon, NULL, NULL,
|
||||||
NULL, volume, NULL, NULL, 0, tooltip);
|
NULL, volume, NULL, NULL, 0, tooltip);
|
||||||
|
@ -1165,7 +1173,7 @@ update_places (NautilusGtkPlacesSidebar *sidebar)
|
||||||
mount_uri = g_file_get_uri (root);
|
mount_uri = g_file_get_uri (root);
|
||||||
name = g_mount_get_name (mount);
|
name = g_mount_get_name (mount);
|
||||||
tooltip = g_file_get_parse_name (root);
|
tooltip = g_file_get_parse_name (root);
|
||||||
add_place (sidebar, NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
add_place (sidebar, NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT,
|
||||||
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
NAUTILUS_GTK_PLACES_SECTION_MOUNTS,
|
||||||
name, start_icon, NULL, mount_uri,
|
name, start_icon, NULL, mount_uri,
|
||||||
NULL, NULL, mount, NULL, 0, tooltip);
|
NULL, NULL, mount, NULL, 0, tooltip);
|
||||||
|
@ -3340,13 +3348,24 @@ list_box_sort_func (GtkListBoxRow *row1,
|
||||||
|
|
||||||
if (section_type_1 == section_type_2)
|
if (section_type_1 == section_type_2)
|
||||||
{
|
{
|
||||||
if ((section_type_1 == NAUTILUS_GTK_PLACES_SECTION_COMPUTER &&
|
if (section_type_1 == NAUTILUS_GTK_PLACES_SECTION_COMPUTER &&
|
||||||
place_type_1 == place_type_2 &&
|
place_type_1 == place_type_2 &&
|
||||||
place_type_1 == NAUTILUS_GTK_PLACES_XDG_DIR) ||
|
place_type_1 == NAUTILUS_GTK_PLACES_XDG_DIR)
|
||||||
section_type_1 == NAUTILUS_GTK_PLACES_SECTION_MOUNTS)
|
|
||||||
{
|
{
|
||||||
retval = g_utf8_collate (label_1, label_2);
|
retval = g_utf8_collate (label_1, label_2);
|
||||||
}
|
}
|
||||||
|
else if (section_type_1 == NAUTILUS_GTK_PLACES_SECTION_MOUNTS)
|
||||||
|
{
|
||||||
|
if (place_type_1 == place_type_2)
|
||||||
|
{
|
||||||
|
retval = g_utf8_collate (label_1, label_2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Sort internals last */
|
||||||
|
retval = (place_type_1 == NAUTILUS_GTK_PLACES_INTERNAL_MOUNT) ? 1 : -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if ((place_type_1 == NAUTILUS_GTK_PLACES_BOOKMARK || place_type_2 == NAUTILUS_GTK_PLACES_DROP_FEEDBACK) &&
|
else if ((place_type_1 == NAUTILUS_GTK_PLACES_BOOKMARK || place_type_2 == NAUTILUS_GTK_PLACES_DROP_FEEDBACK) &&
|
||||||
(place_type_1 == NAUTILUS_GTK_PLACES_DROP_FEEDBACK || place_type_2 == NAUTILUS_GTK_PLACES_BOOKMARK))
|
(place_type_1 == NAUTILUS_GTK_PLACES_DROP_FEEDBACK || place_type_2 == NAUTILUS_GTK_PLACES_BOOKMARK))
|
||||||
{
|
{
|
||||||
|
|
|
@ -104,7 +104,8 @@ typedef enum {
|
||||||
NAUTILUS_GTK_PLACES_INVALID,
|
NAUTILUS_GTK_PLACES_INVALID,
|
||||||
NAUTILUS_GTK_PLACES_BUILT_IN,
|
NAUTILUS_GTK_PLACES_BUILT_IN,
|
||||||
NAUTILUS_GTK_PLACES_XDG_DIR,
|
NAUTILUS_GTK_PLACES_XDG_DIR,
|
||||||
NAUTILUS_GTK_PLACES_MOUNTED_VOLUME,
|
NAUTILUS_GTK_PLACES_EXTERNAL_MOUNT,
|
||||||
|
NAUTILUS_GTK_PLACES_INTERNAL_MOUNT,
|
||||||
NAUTILUS_GTK_PLACES_BOOKMARK,
|
NAUTILUS_GTK_PLACES_BOOKMARK,
|
||||||
NAUTILUS_GTK_PLACES_HEADING,
|
NAUTILUS_GTK_PLACES_HEADING,
|
||||||
NAUTILUS_GTK_PLACES_DROP_FEEDBACK,
|
NAUTILUS_GTK_PLACES_DROP_FEEDBACK,
|
||||||
|
|
Loading…
Reference in a new issue