Exemplo n.º 1
0
/* 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;
    }
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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);
}