/* because 'composer' is compiled before 'mail' folder */ static gboolean composer_copy_em_utils_prompt_user (GtkWindow *parent, const gchar *promptkey, const gchar *tag, ...) { GtkWidget *dialog; GtkWidget *check = NULL; GtkWidget *container; va_list ap; gint button; GSettings *settings; EAlert *alert = NULL; settings = g_settings_new ("org.gnome.evolution.mail"); if (promptkey && !g_settings_get_boolean (settings, promptkey)) { g_object_unref (settings); return TRUE; } va_start (ap, tag); alert = e_alert_new_valist (tag, ap); va_end (ap); dialog = e_alert_dialog_new (parent, alert); g_object_unref (alert); container = e_alert_dialog_get_content_area (E_ALERT_DIALOG (dialog)); if (promptkey) { check = gtk_check_button_new_with_mnemonic ( _("_Do not show this message again")); gtk_box_pack_start ( GTK_BOX (container), check, FALSE, FALSE, 0); gtk_widget_show (check); } button = gtk_dialog_run (GTK_DIALOG (dialog)); if (promptkey) g_settings_set_boolean ( settings, promptkey, !gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON (check))); gtk_widget_destroy (dialog); g_object_unref (settings); return button == GTK_RESPONSE_YES; }
static void alert_sink_fallback (GtkWidget *widget, EAlert *alert) { GtkWidget *dialog; gpointer parent; parent = gtk_widget_get_toplevel (widget); parent = gtk_widget_is_toplevel (parent) ? parent : NULL; dialog = e_alert_dialog_new (parent, alert); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); }