aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-08-17 11:01:37 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-08-17 11:01:37 +0800
commit6b1869912eb6d5b70bd36e2b52c0f746da5a1825 (patch)
treec30d42094a53b3663c41d94c23c08023639f664c
parent3f8453bad74edb5d48660a5a9173c3fbeb1ec006 (diff)
downloadgsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.tar
gsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.tar.gz
gsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.tar.bz2
gsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.tar.lz
gsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.tar.xz
gsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.tar.zst
gsoc2013-evolution-6b1869912eb6d5b70bd36e2b52c0f746da5a1825.zip
Respect the user's desire to be prompted to confirm that he wants to
2001-08-16 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (confirm_expunge): Respect the user's desire to be prompted to confirm that he wants to expunge the blasted folder. Also, don't set the usize - that's just an evil hack and you may find it will cut off text once the label has been translated. (create_msg_composer): In order for the security options to be checked when composing a new message, we must set the from account explicitly even though the composer hdrs sets the default from account and emits the signal because at that stage the composer hasn't yet connected to the signals and thus the bonobo menu items don't get set. * mail-config.c (mail_config_set_confirm_expunge): New. (mail_config_get_confirm_expunge): New. svn path=/trunk/; revision=12141
-rw-r--r--mail/ChangeLog17
-rw-r--r--mail/mail-callbacks.c28
-rw-r--r--mail/mail-config.c25
-rw-r--r--mail/mail-config.h3
4 files changed, 63 insertions, 10 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 1ba972f910..0772093ae5 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,20 @@
+2001-08-16 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-callbacks.c (confirm_expunge): Respect the user's desire to
+ be prompted to confirm that he wants to expunge the blasted
+ folder. Also, don't set the usize - that's just an evil hack and
+ you may find it will cut off text once the label has been
+ translated.
+ (create_msg_composer): In order for the security options to be
+ checked when composing a new message, we must set the from account
+ explicitly even though the composer hdrs sets the default from
+ account and emits the signal because at that stage the composer
+ hasn't yet connected to the signals and thus the bonobo menu items
+ don't get set.
+
+ * mail-config.c (mail_config_set_confirm_expunge): New.
+ (mail_config_get_confirm_expunge): New.
+
2001-08-16 Peter Williams <peterw@ximian.com>
* subscribe-dialog.c (fe_got_children): Sort the nodes here...
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index f84f28332d..81fd4e43be 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -288,7 +288,7 @@ struct _send_data {
};
static void
-composer_sent_cb(char *uri, CamelMimeMessage *message, gboolean sent, void *data)
+composer_sent_cb (char *uri, CamelMimeMessage *message, gboolean sent, void *data)
{
struct _send_data *send = data;
@@ -354,7 +354,7 @@ composer_get_message (EMsgComposer *composer)
return NULL;
}
}
-
+
/* Check for no subject */
subject = camel_mime_message_get_subject (message);
if (subject == NULL || subject[0] == '\0') {
@@ -396,11 +396,11 @@ composer_send_cb (EMsgComposer *composer, gpointer data)
message = composer_get_message (composer);
if (!message)
return;
-
+
transport = mail_config_get_default_transport ();
if (!transport)
return;
-
+
send = g_malloc (sizeof (*send));
send->psd = psd;
send->composer = composer;
@@ -451,6 +451,7 @@ create_msg_composer (const char *url)
composer = url ? e_msg_composer_new_from_url (url) : e_msg_composer_new ();
if (composer) {
+ e_msg_composer_hdrs_set_from_account (composer->hdrs, account->name);
e_msg_composer_set_send_html (composer, send_html);
e_msg_composer_show_sig_file (composer);
}
@@ -1673,25 +1674,36 @@ expunged_folder (CamelFolder *f, void *data)
static gboolean
confirm_expunge (void)
{
- GtkWidget *dialog, *label;
+ GtkWidget *dialog, *label, *checkbox;
int button;
+ if (!mail_config_get_confirm_expunge ())
+ return TRUE;
+
dialog = gnome_dialog_new (_("Warning"),
GNOME_STOCK_BUTTON_YES,
GNOME_STOCK_BUTTON_NO,
NULL);
- gtk_widget_set_usize (GTK_WIDGET (dialog), 323, 180);
-
- label = gtk_label_new (_("This operation will permanently erase all messages marked as deleted. If you continue, you will not be able to recover these messages. \n \n Really erase these messages? "));
+ label = gtk_label_new (_("This operation will permanently erase all messages marked as deleted. If you continue, you will not be able to recover these messages.\n\nReally erase these messages?"));
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
gtk_widget_show (label);
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), label, TRUE, TRUE, 4);
+ checkbox = gtk_check_button_new_with_label (_("Do not ask me again."));
+ gtk_object_ref (GTK_OBJECT (checkbox));
+ gtk_widget_show (checkbox);
+ gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), checkbox, TRUE, TRUE, 4);
+
button = gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
+ if (button == 0 && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)))
+ mail_config_set_confirm_expunge (FALSE);
+
+ gtk_object_unref (GTK_OBJECT (checkbox));
+
if (button == 0)
return TRUE;
else
diff --git a/mail/mail-config.c b/mail/mail-config.c
index f40d999b0a..2050da0e05 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -66,6 +66,7 @@ typedef struct {
guint32 citation_color;
gboolean prompt_empty_subject;
gboolean prompt_only_bcc;
+ gboolean confirm_expunge;
gboolean do_seen_timeout;
gint seen_timeout;
gboolean empty_trash_on_exit;
@@ -517,6 +518,10 @@ config_read (void)
config->prompt_only_bcc = bonobo_config_get_boolean_with_default (
config->db, "/Mail/Prompts/only_bcc", TRUE, NULL);
+ /* Expunge */
+ config->confirm_expunge = bonobo_config_get_boolean_with_default (
+ config->db, "/Mail/Prompts/confirm_expunge", TRUE, NULL);
+
/* PGP/GPG */
config->pgp_path = bonobo_config_get_string (config->db,
"/Mail/PGP/path", NULL);
@@ -786,11 +791,15 @@ mail_config_write_on_exit (void)
/* Empty Subject */
bonobo_config_set_boolean (config->db, "/Mail/Prompts/empty_subject",
- config->prompt_empty_subject, NULL);
+ config->prompt_empty_subject, NULL);
/* Only Bcc */
bonobo_config_set_boolean (config->db, "/Mail/Prompts/only_bcc",
- config->prompt_only_bcc, NULL);
+ config->prompt_only_bcc, NULL);
+
+ /* Expunge */
+ bonobo_config_set_boolean (config->db, "/Mail/Prompts/confirm_expunge",
+ config->confirm_expunge, NULL);
/* PGP/GPG */
bonobo_config_set_string_wrapper (config->db, "/Mail/PGP/path",
@@ -1144,6 +1153,18 @@ mail_config_set_prompt_only_bcc (gboolean value)
config->prompt_only_bcc = value;
}
+gboolean
+mail_config_get_confirm_expunge (void)
+{
+ return config->confirm_expunge;
+}
+
+void
+mail_config_set_confirm_expunge (gboolean value)
+{
+ config->confirm_expunge = value;
+}
+
struct {
char *bin;
diff --git a/mail/mail-config.h b/mail/mail-config.h
index db057f0656..76aa3b60cd 100644
--- a/mail/mail-config.h
+++ b/mail/mail-config.h
@@ -148,6 +148,9 @@ void mail_config_set_prompt_empty_subject (gboolean value);
gboolean mail_config_get_prompt_only_bcc (void);
void mail_config_set_prompt_only_bcc (gboolean value);
+gboolean mail_config_get_confirm_expunge (void);
+void mail_config_set_confirm_expunge (gboolean value);
+
CamelPgpType mail_config_get_pgp_type (void);
void mail_config_set_pgp_type (CamelPgpType pgp_type);