static void on_selection_changed (GtkTreeSelection *treeselection, gpointer user_data) { NautilusBookmark *selected; const char *name = NULL; char *entry_text = NULL; GFile *location; g_assert (GTK_IS_ENTRY (name_field)); g_assert (GTK_IS_ENTRY (uri_field)); selected = get_selected_bookmark (); if (selected) { name = nautilus_bookmark_get_name (selected); location = nautilus_bookmark_get_location (selected); entry_text = g_file_get_parse_name (location); g_object_unref (location); } /* Set the sensitivity of widgets that require a selection */ gtk_widget_set_sensitive (remove_button, selected != NULL); gtk_widget_set_sensitive (jump_button, selected != NULL); gtk_widget_set_sensitive (name_field, selected != NULL); gtk_widget_set_sensitive (uri_field, selected != NULL); g_signal_handler_block (name_field, name_field_changed_signal_id); nautilus_entry_set_text (NAUTILUS_ENTRY (name_field), name ? name : ""); g_signal_handler_unblock (name_field, name_field_changed_signal_id); g_signal_handler_block (uri_field, uri_field_changed_signal_id); nautilus_entry_set_text (NAUTILUS_ENTRY (uri_field), entry_text ? entry_text : ""); g_signal_handler_unblock (uri_field, uri_field_changed_signal_id); text_changed = FALSE; name_text_changed = FALSE; g_free (entry_text); }
static void nautilus_location_entry_update_current_uri (NautilusLocationEntry *entry, const char *uri) { g_free (entry->details->current_directory); entry->details->current_directory = g_strdup (uri); nautilus_entry_set_text (NAUTILUS_ENTRY (entry), uri); set_position_and_selection_to_end (GTK_EDITABLE (entry)); }
static void on_selection_changed (GtkTreeSelection *treeselection, gpointer user_data) { NautilusBookmark *selected; char *name = NULL, *uri = NULL; g_assert (GTK_IS_ENTRY (name_field)); g_assert (GTK_IS_ENTRY (uri_field)); selected = get_selected_bookmark (); if (selected) { name = nautilus_bookmark_get_name (selected); uri = nautilus_bookmark_get_uri (selected); } /* Set the sensitivity of widgets that require a selection */ gtk_widget_set_sensitive (remove_button, selected != NULL); gtk_widget_set_sensitive (jump_button, selected != NULL); gtk_widget_set_sensitive (name_field, selected != NULL); gtk_widget_set_sensitive (uri_field, selected != NULL); g_signal_handler_block (name_field, name_field_changed_signal_id); nautilus_entry_set_text (NAUTILUS_ENTRY (name_field), name ? name : ""); g_signal_handler_unblock (name_field, name_field_changed_signal_id); g_signal_handler_block (uri_field, uri_field_changed_signal_id); nautilus_entry_set_text (NAUTILUS_ENTRY (uri_field), uri ? uri : ""); g_signal_handler_unblock (uri_field, uri_field_changed_signal_id); text_changed = FALSE; name_text_changed = FALSE; g_free (name); g_free (uri); }
static void on_selection_changed (GtkTreeSelection *treeselection, gpointer user_data) { NautilusBookmarksWindow *self = user_data; NautilusBookmark *selected; const char *name = NULL; char *entry_text = NULL; GFile *location; selected = get_selected_bookmark (self); if (selected) { name = nautilus_bookmark_get_name (selected); location = nautilus_bookmark_get_location (selected); entry_text = g_file_get_parse_name (location); g_object_unref (location); } update_widgets_sensitivity (self); g_signal_handler_block (self->priv->name_field, self->priv->name_changed_id); nautilus_entry_set_text (NAUTILUS_ENTRY (self->priv->name_field), name ? name : ""); g_signal_handler_unblock (self->priv->name_field, self->priv->name_changed_id); g_signal_handler_block (self->priv->uri_field, self->priv->uri_changed_id); nautilus_entry_set_text (NAUTILUS_ENTRY (self->priv->uri_field), entry_text ? entry_text : ""); g_signal_handler_unblock (self->priv->uri_field, self->priv->uri_changed_id); self->priv->text_changed = FALSE; self->priv->name_text_changed = FALSE; g_free (entry_text); }