aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@helixcode.com>2001-01-11 08:18:40 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-01-11 08:18:40 +0800
commit43f23f54d91c91143544034356cb42e415da9eb9 (patch)
tree39a4c5fc6bee209348d133e80a324eb2f5b5fe39
parentee65e2a7329a9f6d818f5cc61092f05b67f4c5bd (diff)
downloadgsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.tar
gsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.tar.gz
gsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.tar.bz2
gsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.tar.lz
gsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.tar.xz
gsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.tar.zst
gsoc2013-evolution-43f23f54d91c91143544034356cb42e415da9eb9.zip
New function that explains to the user why he can't do the action he
2001-01-10 Jeffrey Stedfast <fejj@helixcode.com> * mail-callbacks.c (configure_mail): New function that explains to the user why he can't do the action he requested and then procedes to ask if he'd like to configure his accounts now. (check_send_configuration): If the user doesn't have configured accounts, don't let him continue and call configure_mail(). (fetch_mail): Same. (send_queued_mail): Same. (send_receieve_mail): Same. * mail-config.c (mail_config_write): Don't save a "is_configured" variable. Instead we'll just check to see if we have accounts - if yes, then configured == TRUE. (mail_config_is_configured): return accounts != NULL. (mail_config_get_default_account): Mark the first account as the default if none are marked. svn path=/trunk/; revision=7377
-rw-r--r--mail/ChangeLog18
-rw-r--r--mail/mail-callbacks.c38
-rw-r--r--mail/mail-config.c22
3 files changed, 38 insertions, 40 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 3a5b1c973d..1fa988b000 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,23 @@
2001-01-10 Jeffrey Stedfast <fejj@helixcode.com>
+ * mail-callbacks.c (configure_mail): New function that explains to
+ the user why he can't do the action he requested and then procedes
+ to ask if he'd like to configure his accounts now.
+ (check_send_configuration): If the user doesn't have configured
+ accounts, don't let him continue and call configure_mail().
+ (fetch_mail): Same.
+ (send_queued_mail): Same.
+ (send_receieve_mail): Same.
+
+ * mail-config.c (mail_config_write): Don't save a "is_configured"
+ variable. Instead we'll just check to see if we have accounts - if
+ yes, then configured == TRUE.
+ (mail_config_is_configured): return accounts != NULL.
+ (mail_config_get_default_account): Mark the first account as the
+ default if none are marked.
+
+2001-01-10 Jeffrey Stedfast <fejj@helixcode.com>
+
* mail-account-editor.c (source_auth_type_changed): Set the
sensitivity of the Password label too.
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index f26380773a..7943e27443 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -64,14 +64,11 @@ struct post_send_data {
guint32 flags;
};
-static gboolean
-check_configured (FolderBrowser *fb)
+static void
+configure_mail (FolderBrowser *fb)
{
MailConfigDruid *druid;
- if (mail_config_is_configured ())
- return TRUE;
-
if (fb) {
GtkWidget *dialog;
@@ -83,7 +80,7 @@ check_configured (FolderBrowser *fb)
GNOME_STOCK_BUTTON_YES,
GNOME_STOCK_BUTTON_NO, NULL);
gnome_dialog_set_parent (GNOME_DIALOG (dialog),
- GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET(fb), GTK_TYPE_WINDOW)));
+ GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (fb), GTK_TYPE_WINDOW)));
switch (gnome_dialog_run_and_close (GNOME_DIALOG (dialog))) {
case 0:
@@ -95,10 +92,7 @@ check_configured (FolderBrowser *fb)
default:
break;
}
-
- return mail_config_is_configured ();
- } else
- return FALSE;
+ }
}
static gboolean
@@ -107,7 +101,8 @@ check_send_configuration (FolderBrowser *fb)
const MailConfigAccount *account;
/* Check general */
- if (!check_configured (fb)) {
+ if (!mail_config_is_configured ()) {
+ configure_mail (fb);
return FALSE;
}
@@ -162,25 +157,14 @@ fetch_mail (GtkWidget *widget, gpointer user_data)
{
GSList *sources;
- if (!check_configured (FOLDER_BROWSER (user_data))) {
- GtkWidget *win = gtk_widget_get_ancestor (GTK_WIDGET (user_data),
- GTK_TYPE_WINDOW);
-
- gnome_error_dialog_parented (_("You have no mail sources "
- "configured"),
- GTK_WINDOW (win));
+ if (!mail_config_is_configured ()) {
+ configure_mail (FOLDER_BROWSER (user_data));
return;
}
sources = mail_config_get_sources ();
if (!sources || !sources->data) {
- GtkWidget *win = gtk_widget_get_ancestor (GTK_WIDGET (user_data),
- GTK_TYPE_WINDOW);
-
- gnome_error_dialog_parented (_("You have no mail sources "
- "configured"),
- GTK_WINDOW (win));
return;
}
@@ -207,6 +191,7 @@ send_queued_mail (GtkWidget *widget, gpointer user_data)
const MailConfigAccount *account;
if (!mail_config_is_configured ()) {
+ configure_mail (FOLDER_BROWSER (user_data));
return;
}
@@ -236,6 +221,11 @@ void
send_receieve_mail (GtkWidget *widget, gpointer user_data)
{
/* receive first then send, this is a temp fix for POP-before-SMTP */
+ if (!mail_config_is_configured ()) {
+ configure_mail (FOLDER_BROWSER (user_data));
+ return;
+ }
+
fetch_mail (widget, user_data);
send_queued_mail (widget, user_data);
}
diff --git a/mail/mail-config.c b/mail/mail-config.c
index f67d2c7578..f238207d79 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -35,7 +35,6 @@
#include "mail-ops.h"
typedef struct {
- gboolean configured;
gboolean thread_list;
gboolean view_source;
gint paned_size;
@@ -201,11 +200,6 @@ config_read (void)
mail_config_clear ();
- /* Configured */
- str = g_strdup_printf ("=%s/config/General=/General/configured", evolution_dir);
- config->configured = gnome_config_get_bool (str);
- g_free (str);
-
/* Accounts */
str = g_strdup_printf ("=%s/config/Mail=/Accounts/", evolution_dir);
gnome_config_push_prefix (str);
@@ -326,13 +320,6 @@ mail_config_write (void)
gchar *str;
gint len, i;
- /* Configured switch */
- str = g_strdup_printf ("=%s/config/General=/General/configured",
- evolution_dir);
- config->configured = TRUE;
- gnome_config_set_bool (str, config->configured);
- g_free (str);
-
/* Accounts */
str = g_strdup_printf ("=%s/config/Mail=/Accounts/", evolution_dir);
gnome_config_push_prefix (str);
@@ -456,7 +443,7 @@ mail_config_write_on_exit (void)
gboolean
mail_config_is_configured (void)
{
- return config->configured;
+ return config->accounts != NULL;
}
gboolean
@@ -537,8 +524,11 @@ mail_config_get_default_account (void)
l = l->next;
}
- /* non are marked as default so return the first one */
- return (MailConfigAccount *)config->accounts->data;
+ /* none are marked as default so mark the first one as the default */
+ account = config->accounts->data;
+ mail_config_set_default_account (account);
+
+ return account;
}
const GSList *