1
0
mirror of https://gitlab.gnome.org/GNOME/nautilus synced 2024-06-30 23:46:35 +00:00

pathbar: Add support for custom network view scheme

This commit is contained in:
António Fernandes 2024-01-24 20:08:15 +00:00
parent a157d6d07f
commit 41b3bed264
3 changed files with 23 additions and 0 deletions

View File

@ -7448,6 +7448,16 @@ nautilus_file_is_starred_location (NautilusFile *file)
return g_file_has_uri_scheme (location, SCHEME_STARRED);
}
gboolean
nautilus_file_is_network_view (NautilusFile *file)
{
g_return_val_if_fail (NAUTILUS_IS_FILE (file), FALSE);
g_autoptr (GFile) location = nautilus_file_get_location (file);
return nautilus_is_root_for_scheme (location, SCHEME_NETWORK_VIEW);
}
/**
* nautilus_file_is_in_admin
*

View File

@ -197,6 +197,7 @@ gboolean nautilus_file_is_in_starred (Nautilu
gboolean nautilus_file_is_in_admin (NautilusFile *file);
gboolean nautilus_file_is_remote (NautilusFile *file);
gboolean nautilus_file_is_starred_location (NautilusFile *file);
gboolean nautilus_file_is_network_view (NautilusFile *file);
gboolean nautilus_file_is_home (NautilusFile *file);
GError * nautilus_file_get_file_info_error (NautilusFile *file);
gboolean nautilus_file_get_directory_item_count (NautilusFile *file,

View File

@ -58,6 +58,7 @@ typedef enum
RECENT_BUTTON,
MOUNT_BUTTON,
TRASH_BUTTON,
NETWORK_BUTTON,
} ButtonType;
#define BUTTON_DATA(x) ((ButtonData *) (x))
@ -879,6 +880,11 @@ get_gicon (ButtonData *button_data)
return nautilus_trash_monitor_get_symbolic_icon ();
}
case NETWORK_BUTTON:
{
return g_themed_icon_new ("folder-remote-symbolic");
}
default:
{
return NULL;
@ -999,6 +1005,11 @@ setup_button_type (ButtonData *button_data,
button_data->type = TRASH_BUTTON;
button_data->is_root = TRUE;
}
else if (nautilus_is_root_for_scheme (location, SCHEME_NETWORK_VIEW))
{
button_data->type = NETWORK_BUTTON;
button_data->is_root = TRUE;
}
else
{
button_data->type = NORMAL_BUTTON;
@ -1136,6 +1147,7 @@ make_button_data (NautilusPathBar *self,
case TRASH_BUTTON:
case RECENT_BUTTON:
case STARRED_BUTTON:
case NETWORK_BUTTON:
{
button_data->label = gtk_label_new (NULL);
child = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);