static gboolean ask_for_missing_attachment (EPlugin *ep, GtkWindow *window) { GtkWidget *check; GtkWidget *dialog; GtkWidget *container; gint response; dialog = e_alert_dialog_new_for_args ( window, "org.gnome.evolution.plugins.attachment_reminder:" "attachment-reminder", NULL); container = e_alert_dialog_get_content_area (E_ALERT_DIALOG (dialog)); /*Check buttons*/ 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); response = gtk_dialog_run (GTK_DIALOG (dialog)); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check))) e_plugin_enable (ep, FALSE); gtk_widget_destroy (dialog); if (response == GTK_RESPONSE_OK) gtk_action_activate (E_COMPOSER_ACTION_ATTACH (window)); return response == GTK_RESPONSE_YES; }
/* 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; }