summaryrefslogtreecommitdiff
path: root/src/nautilus-pathbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-pathbar.c')
-rw-r--r--src/nautilus-pathbar.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c
index 19ff073e8..8e8319af8 100644
--- a/src/nautilus-pathbar.c
+++ b/src/nautilus-pathbar.c
@@ -43,6 +43,7 @@ enum {
typedef enum {
NORMAL_BUTTON,
+ OTHER_LOCATIONS_BUTTON,
ROOT_BUTTON,
HOME_BUTTON,
MOUNT_BUTTON
@@ -400,11 +401,14 @@ nautilus_path_bar_dispose (GObject *object)
static const char *
get_dir_name (ButtonData *button_data)
{
- if (button_data->type == HOME_BUTTON) {
- return _("Home");
- } else {
- return button_data->dir_name;
- }
+ switch (button_data->type) {
+ case HOME_BUTTON:
+ return _("Home");
+ case OTHER_LOCATIONS_BUTTON:
+ return _("Other Locations");
+ default:
+ return button_data->dir_name;
+ }
}
/* We always want to request the same size for the label, whether
@@ -1629,8 +1633,13 @@ setup_button_type (ButtonData *button_data,
GFile *location)
{
GMount *mount;
+ gchar *uri;
+
+ uri = g_file_get_uri (location);
- if (nautilus_is_root_directory (location)) {
+ if (g_strcmp0 (uri, "other-locations:///") == 0) {
+ button_data->type = OTHER_LOCATIONS_BUTTON;
+ } else if (nautilus_is_root_directory (location)) {
button_data->type = ROOT_BUTTON;
} else if (nautilus_is_home_directory (location)) {
button_data->type = HOME_BUTTON;
@@ -1644,6 +1653,8 @@ setup_button_type (ButtonData *button_data,
} else {
button_data->type = NORMAL_BUTTON;
}
+
+ g_free (uri);
}
static void