aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/mail-accounts.c31
-rw-r--r--mail/mail-accounts.h3
3 files changed, 34 insertions, 7 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 7a5edf152d..077a0c1d79 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-23 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-accounts.c: Added back the checkmark icon for enabled
+ accounts.
+ (account_able_clicked): Don't reload the accounts list, that was
+ just lame.
+
2002-04-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (mail_display_render): Plug-in Anna's html for
diff --git a/mail/mail-accounts.c b/mail/mail-accounts.c
index 7090b06155..580f31fa97 100644
--- a/mail/mail-accounts.c
+++ b/mail/mail-accounts.c
@@ -45,9 +45,6 @@
#include "mail-account-editor-news.h"
#include "mail-send-recv.h"
-#include "art/mail-new.xpm"
-#include "art/mail-read.xpm"
-
#include "art/mark.xpm"
#define USE_ETABLE 0
@@ -99,8 +96,8 @@ mail_accounts_tab_class_init (MailAccountsTabClass *klass)
/* setup static data */
- disabled_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) mail_new_xpm);
- enabled_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) mail_read_xpm);
+ disabled_pixbuf = NULL;
+ enabled_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) mark_xpm);
}
static void
@@ -108,6 +105,8 @@ mail_accounts_tab_init (MailAccountsTab *prefs)
{
prefs->druid = NULL;
prefs->editor = NULL;
+
+ gdk_pixbuf_render_pixmap_and_mask (enabled_pixbuf, &prefs->mark_pixmap, &prefs->mark_bitmap, 128);
}
static void
@@ -116,6 +115,8 @@ mail_accounts_tab_finalise (GtkObject *obj)
MailAccountsTab *prefs = (MailAccountsTab *) obj;
gtk_object_unref (GTK_OBJECT (prefs->gui));
+ gdk_pixmap_unref (prefs->mark_pixmap);
+ gdk_bitmap_unref (prefs->mark_bitmap);
((GtkObjectClass *)(parent_class))->finalize (obj);
}
@@ -319,11 +320,22 @@ account_able_clicked (GtkButton *button, gpointer user_data)
mail_remove_storage_by_uri (account->source->url);
}
+#if USE_ETABLE
+
+#else
+ if (account->source->enabled)
+ gtk_clist_set_pixmap (prefs->table, row, 0,
+ prefs->mark_pixmap,
+ prefs->mark_bitmap);
+ else
+ gtk_clist_set_pixmap (prefs->table, row, 0, NULL, NULL);
+
+ gtk_clist_select_row (prefs->table, row, 0);
+#endif
+
mail_autoreceive_setup ();
mail_config_write ();
-
- mail_accounts_load (prefs);
}
}
@@ -439,6 +451,11 @@ mail_accounts_load (MailAccountsTab *prefs)
g_free (text[1]);
+ if (account->source->enabled)
+ gtk_clist_set_pixmap (prefs->table, row, 0,
+ prefs->mark_pixmap,
+ prefs->mark_bitmap);
+
gtk_clist_set_row_data (prefs->table, row, (gpointer) account);
}
#endif
diff --git a/mail/mail-accounts.h b/mail/mail-accounts.h
index b95e5b706d..9e11acfdf9 100644
--- a/mail/mail-accounts.h
+++ b/mail/mail-accounts.h
@@ -60,6 +60,9 @@ struct _MailAccountsTab {
GtkWidget *druid;
GtkWidget *editor;
+ GdkPixmap *mark_pixmap;
+ GdkBitmap *mark_bitmap;
+
GtkCList *table;
#if 0
ETable *table;