static void nautilus_query_editor_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { NautilusQueryEditor *self; self = NAUTILUS_QUERY_EDITOR (object); switch (prop_id) { case PROP_LOCATION: { nautilus_query_editor_set_location (self, g_value_get_object (value)); } break; case PROP_QUERY: { nautilus_query_editor_set_query (self, g_value_get_object (value)); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }
void nautilus_window_slot_set_query_editor_visible (NautilusWindowSlot *slot, gboolean visible) { if (visible) { ensure_query_editor (slot); if (slot->qe_changed_id == 0) slot->qe_changed_id = g_signal_connect (slot->query_editor, "changed", G_CALLBACK (query_editor_changed_callback), slot); if (slot->qe_cancel_id == 0) slot->qe_cancel_id = g_signal_connect (slot->query_editor, "cancel", G_CALLBACK (query_editor_cancel_callback), slot); if (slot->qe_activated_id == 0) slot->qe_activated_id = g_signal_connect (slot->query_editor, "activated", G_CALLBACK (query_editor_activated_callback), slot); } else { gtk_widget_hide (GTK_WIDGET (slot->query_editor)); g_signal_handler_disconnect (slot->query_editor, slot->qe_changed_id); slot->qe_changed_id = 0; g_signal_handler_disconnect (slot->query_editor, slot->qe_cancel_id); slot->qe_cancel_id = 0; g_signal_handler_disconnect (slot->query_editor, slot->qe_activated_id); slot->qe_activated_id = 0; nautilus_query_editor_set_query (slot->query_editor, NULL); } }
static void real_update_query_editor (NautilusWindowSlot *slot) { GtkWidget *query_editor; NautilusQuery *query; NautilusDirectory *directory; NautilusSearchDirectory *search_directory; directory = nautilus_directory_get (slot->location); if (NAUTILUS_IS_SEARCH_DIRECTORY (directory)) { search_directory = NAUTILUS_SEARCH_DIRECTORY (directory); query_editor = nautilus_query_editor_new (nautilus_search_directory_is_saved_search (search_directory), nautilus_search_directory_is_indexed (search_directory)); slot->query_editor = NAUTILUS_QUERY_EDITOR (query_editor); nautilus_window_slot_add_extra_location_widget (slot, query_editor); gtk_widget_show (query_editor); g_signal_connect_object (query_editor, "changed", G_CALLBACK (query_editor_changed_callback), slot, 0); query = nautilus_search_directory_get_query (search_directory); if (query != NULL) { nautilus_query_editor_set_query (NAUTILUS_QUERY_EDITOR (query_editor), query); g_object_unref (query); } else { nautilus_query_editor_set_default_query (NAUTILUS_QUERY_EDITOR (query_editor)); } } nautilus_directory_unref (directory); }
static void real_update_query_editor (NautilusWindowSlot *slot) { NautilusDirectory *directory; NautilusSearchDirectory *search_directory; NautilusQuery *query; GtkWidget *query_editor; g_assert (slot->pane->window != NULL); query_editor = NULL; directory = nautilus_directory_get (slot->location); if (NAUTILUS_IS_SEARCH_DIRECTORY (directory)) { search_directory = NAUTILUS_SEARCH_DIRECTORY (directory); if (nautilus_search_directory_is_saved_search (search_directory)) { query_editor = nautilus_query_editor_new (TRUE, nautilus_search_directory_is_indexed (search_directory)); } else { query_editor = nautilus_query_editor_new_with_bar (FALSE, nautilus_search_directory_is_indexed (search_directory), slot->pane->window->details->active_pane->active_slot == slot, NAUTILUS_SEARCH_BAR (slot->pane->search_bar), slot); } } slot->query_editor = NAUTILUS_QUERY_EDITOR (query_editor); if (query_editor != NULL) { g_signal_connect_object (query_editor, "changed", G_CALLBACK (query_editor_changed_callback), slot, 0); query = nautilus_search_directory_get_query (search_directory); if (query != NULL) { nautilus_query_editor_set_query (NAUTILUS_QUERY_EDITOR (query_editor), query); g_object_unref (query); } else { nautilus_query_editor_set_default_query (NAUTILUS_QUERY_EDITOR (query_editor)); } nautilus_window_slot_add_extra_location_widget (slot, query_editor); gtk_widget_show (query_editor); nautilus_query_editor_grab_focus (NAUTILUS_QUERY_EDITOR (query_editor)); } nautilus_directory_unref (directory); }
static void update_query_editor (NautilusWindowSlot *slot) { NautilusDirectory *directory; NautilusSearchDirectory *search_directory; directory = nautilus_directory_get (slot->location); if (NAUTILUS_IS_SEARCH_DIRECTORY (directory)) { NautilusQuery *query; search_directory = NAUTILUS_SEARCH_DIRECTORY (directory); query = nautilus_search_directory_get_query (search_directory); if (query != NULL) { nautilus_query_editor_set_query (slot->query_editor, query); g_object_unref (query); } } else { nautilus_query_editor_set_location (slot->query_editor, slot->location); } nautilus_directory_unref (directory); }