summaryrefslogtreecommitdiff
path: root/src/nautilus-location-bar.c
diff options
context:
space:
mode:
authorArik Devens <arik@src.gnome.org>2001-02-13 11:05:39 +0000
committerArik Devens <arik@src.gnome.org>2001-02-13 11:05:39 +0000
commit25dcf28b44ff1d4bb0dce83270677d071cd1fa81 (patch)
tree0e4c1cf0b66afe5d1c9d5f17daa198906322e8bc /src/nautilus-location-bar.c
parentf02bf5997c4f8a42974f3b0b8ae5ce656b66ff12 (diff)
downloadnautilus-25dcf28b44ff1d4bb0dce83270677d071cd1fa81.tar.gz
Fixed bugs 5837, 6463, 6478, and 6506 by making tilde support work alot better in nautilus.
Diffstat (limited to 'src/nautilus-location-bar.c')
-rw-r--r--src/nautilus-location-bar.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/nautilus-location-bar.c b/src/nautilus-location-bar.c
index 9a70f8bdf..85d8e10e3 100644
--- a/src/nautilus-location-bar.c
+++ b/src/nautilus-location-bar.c
@@ -1,3 +1,4 @@
+
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
@@ -305,7 +306,8 @@ try_to_expand_path (NautilusLocationBar *bar)
char *dir_name;
char *expand_text;
char *expand_name;
-
+ char *tilde_expand_name;
+
editable = GTK_EDITABLE (bar->details->entry);
user_location = gtk_editable_get_chars (editable, 0, -1);
bar->details->idle_id = 0;
@@ -339,7 +341,7 @@ try_to_expand_path (NautilusLocationBar *bar)
g_free (current_path);
return FALSE;
}
-
+
base_length = strlen (base_name);
dir_name = gnome_vfs_uri_extract_dirname (uri);
@@ -372,11 +374,17 @@ try_to_expand_path (NautilusLocationBar *bar)
/* if we've got something, add it to the entry */
if (expand_text && !nautilus_str_has_suffix (current_path, expand_text)) {
- gtk_entry_append_text (GTK_ENTRY (editable), expand_text + base_length);
- gtk_entry_select_region (GTK_ENTRY (editable), current_path_length - offset,
+ gtk_entry_append_text (GTK_ENTRY (editable), expand_text + base_length);
+ gtk_entry_select_region (GTK_ENTRY (editable), current_path_length - offset,
current_path_length + strlen (expand_text) - base_length - offset);
g_free (expand_text);
}
+
+ tilde_expand_name = gtk_entry_get_text (GTK_ENTRY (editable));
+ if (*tilde_expand_name == '~') {
+ gtk_entry_set_text (GTK_ENTRY (editable), gnome_vfs_expand_initial_tilde (tilde_expand_name));
+ }
+ g_free (tilde_expand_name);
g_free (dir_name);
g_free (base_name);
@@ -540,6 +548,7 @@ nautilus_location_bar_initialize (NautilusLocationBar *bar)
entry = nautilus_entry_new ();
NAUTILUS_ENTRY (entry)->special_tab_handling = TRUE;
+ NAUTILUS_ENTRY (entry)->expand_tilde = TRUE;
gtk_signal_connect_object (GTK_OBJECT (entry), "activate",
nautilus_navigation_bar_location_changed, GTK_OBJECT (bar));