/* Callback for the "response" signal of the dialog. */ static void tp_dialog_response_cb(GtkDialog * dialog, gint response, gpointer data) { GdkScreen *screen; GError *err = NULL; switch (response) { case GTK_RESPONSE_DELETE_EVENT: case GTK_RESPONSE_CLOSE: gtk_widget_destroy(GTK_WIDGET(dialog)); break; case GTK_RESPONSE_HELP: screen = gtk_widget_get_screen(GTK_WIDGET(dialog)); gtk_show_uri(screen, "help:balsa/toolbar-prefs", gtk_get_current_event_time(), &err); if (err) { balsa_information(LIBBALSA_INFORMATION_WARNING, _("Error displaying toolbar help: %s\n"), err->message); g_error_free(err); } break; default: break; } }
BalsaMimeWidget * balsa_mime_widget_new_image(BalsaMessage * bm, LibBalsaMessageBody * mime_body, const gchar * content_type, gpointer data) { GdkPixbuf *pixbuf; GtkWidget *image; GError * load_err = NULL; BalsaMimeWidgetImage *mwi; BalsaMimeWidget *mw; g_return_val_if_fail(mime_body != NULL, NULL); g_return_val_if_fail(content_type != NULL, NULL); pixbuf = libbalsa_message_body_get_pixbuf(mime_body, &load_err); if (!pixbuf) { if (load_err) { balsa_information(LIBBALSA_INFORMATION_ERROR, _("Error loading attached image: %s\n"), load_err->message); g_error_free(load_err); } return NULL; } mwi = g_object_new(BALSA_TYPE_MIME_WIDGET_IMAGE, NULL); mw = (BalsaMimeWidget *) mwi; mw->widget = gtk_event_box_new(); g_signal_connect(G_OBJECT(mw->widget), "button-press-event", G_CALLBACK(balsa_image_button_press_cb), data); #if !GTK_CHECK_VERSION(3, 15, 0) mwi->context = gtk_widget_get_style_context(GTK_WIDGET(bm->scroll)); bmwi_context_changed_cb(mwi->context, mw); mwi->context_changed_handler_id = g_signal_connect(mwi->context, "changed", G_CALLBACK(bmwi_context_changed_cb), mw); #endif image = gtk_image_new_from_icon_name("image-missing", GTK_ICON_SIZE_BUTTON); g_object_set_data(G_OBJECT(image), "orig-width", GINT_TO_POINTER(gdk_pixbuf_get_width(pixbuf))); g_object_set_data(G_OBJECT(image), "mime-body", mime_body); g_object_unref(pixbuf); gtk_container_add(GTK_CONTAINER(mw->widget), image); return mw; }
static void fex_dialog_response_func(GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter, gpointer data) { LibBalsaFilter *fil; gchar *str; gtk_tree_model_get(model, iter, 1, &fil, -1); str = g_strdup_printf("%s.siv", fil->name); if (!libbalsa_filter_export_sieve(fil, str)) balsa_information(LIBBALSA_INFORMATION_ERROR, _("Unable to export filter %s, " "an error occurred."), fil->name); g_free(str); }