CAMLprim value ml_gtktext_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_text_view_get_type() + gtk_text_buffer_get_type() + gtk_text_child_anchor_get_type() + gtk_text_mark_get_type() + gtk_text_tag_get_type() + gtk_text_tag_table_get_type(); return Val_GType(t); }
static void secure_button_clicked_cb (GtkWidget *widget, CamelCipherValidity *validity) { GtkBuilder *builder; GtkWidget *grid, *w; GtkWidget *dialog; g_return_if_fail (validity != NULL); builder = gtk_builder_new (); e_load_ui_builder_definition (builder, "mail-dialogs.ui"); dialog = e_builder_get_widget (builder, "message_security_dialog"); grid = e_builder_get_widget (builder, "signature_grid"); w = gtk_label_new (_(smime_sign_table[validity->sign.status].description)); gtk_misc_set_alignment ((GtkMisc *) w, 0.0, 0.5); gtk_label_set_line_wrap ((GtkLabel *) w, TRUE); gtk_container_add (GTK_CONTAINER (grid), w); if (validity->sign.description) { GtkTextBuffer *buffer; buffer = gtk_text_buffer_new (NULL); gtk_text_buffer_set_text ( buffer, validity->sign.description, strlen (validity->sign.description)); w = g_object_new ( gtk_scrolled_window_get_type (), "hscrollbar_policy", GTK_POLICY_AUTOMATIC, "vscrollbar_policy", GTK_POLICY_AUTOMATIC, "shadow_type", GTK_SHADOW_IN, "expand", TRUE, "child", g_object_new (gtk_text_view_get_type (), "buffer", buffer, "cursor_visible", FALSE, "editable", FALSE, "width_request", 500, "height_request", 160, NULL), NULL); g_object_unref (buffer); gtk_container_add (GTK_CONTAINER (grid), w); } if (!g_queue_is_empty (&validity->sign.signers)) add_cert_table ( grid, &validity->sign.signers, NULL); gtk_widget_show_all (grid); grid = e_builder_get_widget (builder, "encryption_grid"); w = gtk_label_new (_(smime_encrypt_table[validity->encrypt.status].description)); gtk_misc_set_alignment ((GtkMisc *) w, 0.0, 0.5); gtk_label_set_line_wrap ((GtkLabel *) w, TRUE); gtk_container_add (GTK_CONTAINER (grid), w); if (validity->encrypt.description) { GtkTextBuffer *buffer; buffer = gtk_text_buffer_new (NULL); gtk_text_buffer_set_text ( buffer, validity->encrypt.description, strlen (validity->encrypt.description)); w = g_object_new ( gtk_scrolled_window_get_type (), "hscrollbar_policy", GTK_POLICY_AUTOMATIC, "vscrollbar_policy", GTK_POLICY_AUTOMATIC, "shadow_type", GTK_SHADOW_IN, "expand", TRUE, "child", g_object_new (gtk_text_view_get_type (), "buffer", buffer, "cursor_visible", FALSE, "editable", FALSE, "width_request", 500, "height_request", 160, NULL), NULL); g_object_unref (buffer); gtk_container_add (GTK_CONTAINER (grid), w); } if (!g_queue_is_empty (&validity->encrypt.encrypters)) add_cert_table (grid, &validity->encrypt.encrypters, NULL); gtk_widget_show_all (grid); g_object_unref (builder); g_signal_connect ( dialog, "response", G_CALLBACK (info_response), NULL); gtk_widget_show (dialog); }