static void gtk_search_entry_init (GtkSearchEntry *entry) { g_signal_connect (entry, "changed", G_CALLBACK (search_entry_changed_cb), NULL); g_signal_connect (entry, "icon-release", G_CALLBACK (search_entry_clear_cb), NULL); search_entry_changed_cb (GTK_ENTRY (entry), NULL); }
static void ephy_find_toolbar_init (EphyFindToolbar *toolbar) { GtkWidget *box; GtkSizeGroup *size_group; size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_style_context_add_class (gtk_widget_get_style_context (box), GTK_STYLE_CLASS_RAISED); gtk_style_context_add_class (gtk_widget_get_style_context (box), GTK_STYLE_CLASS_LINKED); gtk_container_add (GTK_CONTAINER (toolbar), box); toolbar->entry = gtk_entry_new (); gtk_entry_set_width_chars (GTK_ENTRY (toolbar->entry), 32); gtk_entry_set_max_length (GTK_ENTRY (toolbar->entry), 512); gtk_entry_set_placeholder_text (GTK_ENTRY (toolbar->entry), _("Type to search…")); gtk_container_add (GTK_CONTAINER (box), toolbar->entry); /* Prev */ toolbar->prev = gtk_button_new_from_icon_name ("go-up-symbolic", GTK_ICON_SIZE_MENU); gtk_widget_set_tooltip_text (toolbar->prev, _("Find previous occurrence of the search string")); gtk_container_add (GTK_CONTAINER (box), toolbar->prev); gtk_widget_show_all (toolbar->prev); gtk_widget_set_sensitive (toolbar->prev, FALSE); /* Next */ toolbar->next = gtk_button_new_from_icon_name ("go-down-symbolic", GTK_ICON_SIZE_MENU); gtk_widget_set_tooltip_text (toolbar->next, _("Find next occurrence of the search string")); gtk_container_add (GTK_CONTAINER (box), toolbar->next); gtk_widget_set_sensitive (toolbar->next, FALSE); gtk_size_group_add_widget (size_group, toolbar->entry); gtk_size_group_add_widget (size_group, toolbar->next); gtk_size_group_add_widget (size_group, toolbar->prev); g_object_unref (size_group); /* connect signals */ g_signal_connect (toolbar->entry, "icon-release", G_CALLBACK (search_entry_clear_cb), toolbar); g_signal_connect (toolbar->entry, "key-press-event", G_CALLBACK (entry_key_press_event_cb), toolbar); g_signal_connect_after (toolbar->entry, "changed", G_CALLBACK (search_entry_changed_cb), toolbar); g_signal_connect (toolbar->entry, "activate", G_CALLBACK (entry_activate_cb), toolbar); g_signal_connect_swapped (toolbar->next, "clicked", G_CALLBACK (ephy_find_toolbar_find_next), toolbar); g_signal_connect_swapped (toolbar->prev, "clicked", G_CALLBACK (ephy_find_toolbar_find_previous), toolbar); gtk_search_bar_connect_entry (GTK_SEARCH_BAR (toolbar), GTK_ENTRY (toolbar->entry)); search_entry_changed_cb (GTK_ENTRY (toolbar->entry), toolbar); gtk_widget_show_all (GTK_WIDGET (toolbar)); }