diff options
-rw-r--r-- | composer/ChangeLog | 6 | ||||
-rw-r--r-- | composer/e-msg-composer-hdrs.c | 78 |
2 files changed, 48 insertions, 36 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index e0a258ff47..9af8a83013 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,9 @@ +2003-01-08 Jeffrey Stedfast <fejj@ximian.com> + + * e-msg-composer-hdrs.c (create_from_optionmenu): Use gconf to get + the default account index. + (e_msg_composer_hdrs_set_from_account): Same. + 2003-01-07 Jeffrey Stedfast <fejj@ximian.com> * e-msg-composer-attachment-bar.c (get_default_charset): New diff --git a/composer/e-msg-composer-hdrs.c b/composer/e-msg-composer-hdrs.c index a7b1d0a9b5..6b80f01d3b 100644 --- a/composer/e-msg-composer-hdrs.c +++ b/composer/e-msg-composer-hdrs.c @@ -40,6 +40,9 @@ #include <gtk/gtkoptionmenu.h> #include <gtk/gtktooltips.h> +#include <gconf/gconf.h> +#include <gconf/gconf-client.h> + #include <gal/e-text/e-entry.h> #include <camel/camel.h> @@ -132,7 +135,7 @@ static void e_msg_composer_hdrs_and_string_free (EMsgComposerHdrsAndString *emchas) { if (emchas->hdrs) - g_object_unref(emchas->hdrs); + g_object_unref (emchas->hdrs); g_free (emchas->string); } @@ -145,7 +148,7 @@ e_msg_composer_hdrs_and_string_create (EMsgComposerHdrs *hdrs, const char *strin emchas->hdrs = hdrs; emchas->string = g_strdup (string); if (emchas->hdrs) - g_object_ref(emchas->hdrs); + g_object_ref (emchas->hdrs); return emchas; } @@ -176,14 +179,14 @@ from_changed (GtkWidget *item, gpointer data) EMsgComposerHdrs *hdrs = E_MSG_COMPOSER_HDRS (data); const char *reply_to; - hdrs->account = g_object_get_data(G_OBJECT(item), "account"); + hdrs->account = g_object_get_data ((GObject *) item, "account"); /* we do this rather than calling e_msg_composer_hdrs_set_reply_to() because we don't want to change the visibility of the header */ reply_to = hdrs->account->id->reply_to; e_entry_set_text (E_ENTRY (hdrs->priv->reply_to.entry), reply_to ? reply_to : ""); - g_signal_emit(hdrs, signals [FROM_CHANGED], 0); + g_signal_emit (hdrs, signals [FROM_CHANGED], 0); } static GtkWidget * @@ -195,12 +198,14 @@ create_from_optionmenu (EMsgComposerHdrs *hdrs) GPtrArray *addresses; GtkWidget *item, *hbox; int i = 0, history = 0, m, matches; - int default_account; + GConfClient *gconf; + int index; omenu = gtk_option_menu_new (); menu = gtk_menu_new (); - default_account = mail_config_get_default_account_num (); + gconf = gconf_client_get_default (); + index = gconf_client_get_int (gconf, "/apps/evolution/mail/default_account", NULL); /* Make list of account email addresses */ addresses = g_ptr_array_new (); @@ -210,7 +215,7 @@ create_from_optionmenu (EMsgComposerHdrs *hdrs) if (account->id->address) g_ptr_array_add (addresses, account->id->address); } - + while (accounts) { char *label; @@ -240,11 +245,10 @@ create_from_optionmenu (EMsgComposerHdrs *hdrs) item = gtk_menu_item_new_with_label (label); g_free (label); - g_object_set_data(G_OBJECT(item), "account", account_copy (account)); - g_signal_connect(G_OBJECT (item), "activate", - G_CALLBACK (from_changed), hdrs); + g_object_set_data ((GObject *) item, "account", account_copy (account)); + g_signal_connect (item, "activate", G_CALLBACK (from_changed), hdrs); - if (i == default_account) { + if (i == index) { first = item; history = i; } @@ -252,20 +256,21 @@ create_from_optionmenu (EMsgComposerHdrs *hdrs) /* this is so we can later set which one we want */ hdrs->priv->from_options = g_slist_append (hdrs->priv->from_options, item); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); i++; } accounts = accounts->next; } + g_ptr_array_free (addresses, TRUE); gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu); if (first) { gtk_option_menu_set_history (GTK_OPTION_MENU (omenu), history); - g_signal_emit_by_name(first, "activate", hdrs); + g_signal_emit_by_name (first, "activate", hdrs); } hbox = gtk_hbox_new (FALSE, 3); @@ -273,7 +278,7 @@ create_from_optionmenu (EMsgComposerHdrs *hdrs) gtk_widget_show (omenu); gtk_widget_show (hbox); - g_object_set_data(G_OBJECT(hbox), "from_menu", omenu); + g_object_set_data ((GObject *) hbox, "from_menu", omenu); return hbox; } @@ -581,16 +586,16 @@ destroy (GtkObject *object) if (priv->tooltips) { gtk_object_destroy (GTK_OBJECT (priv->tooltips)); - g_object_unref(priv->tooltips); + g_object_unref (priv->tooltips); priv->tooltips = NULL; } - + l = priv->from_options; while (l) { MailConfigAccount *account; GtkWidget *item = l->data; - account = g_object_get_data(G_OBJECT(item), "account"); + account = g_object_get_data ((GObject *) item, "account"); account_destroy (account); l = l->next; @@ -615,7 +620,7 @@ class_init (EMsgComposerHdrsClass *class) object_class = GTK_OBJECT_CLASS (class); object_class->destroy = destroy; - parent_class = g_type_class_ref(gtk_table_get_type ()); + parent_class = g_type_class_ref (gtk_table_get_type ()); signals[SHOW_ADDRESS_DIALOG] = g_signal_new ("show_address_dialog", @@ -663,8 +668,8 @@ init (EMsgComposerHdrs *hdrs) priv = g_new0 (EMsgComposerHdrsPrivate, 1); priv->tooltips = gtk_tooltips_new (); - g_object_ref(priv->tooltips); - gtk_object_sink((GtkObject *)priv->tooltips); + g_object_ref (priv->tooltips); + gtk_object_sink ((GtkObject *) priv->tooltips); hdrs->priv = priv; } @@ -705,7 +710,7 @@ e_msg_composer_hdrs_new (BonoboUIComponent *uic, int visible_mask, int visible_f priv->uic = uic; if (!setup_corba (new)) { - g_object_unref(new); + g_object_unref (new); return NULL; } @@ -794,9 +799,9 @@ set_recipients_from_destv (CamelMimeMessage *msg, camel_mime_message_set_recipients (msg, header, bcc_addr); } - camel_object_unref(to_addr); - camel_object_unref(cc_addr); - camel_object_unref(bcc_addr); + camel_object_unref (to_addr); + camel_object_unref (cc_addr); + camel_object_unref (bcc_addr); } static void @@ -823,12 +828,12 @@ e_msg_composer_hdrs_to_message_internal (EMsgComposerHdrs *hdrs, } else { camel_mime_message_set_from (msg, addr); } - camel_object_unref(addr); + camel_object_unref (addr); addr = e_msg_composer_hdrs_get_reply_to (hdrs); if (addr) { camel_mime_message_set_reply_to (msg, addr); - camel_object_unref(addr); + camel_object_unref (addr); } if (hdrs->visible_mask & E_MSG_COMPOSER_VISIBLE_MASK_RECIPIENTS) { @@ -875,19 +880,20 @@ e_msg_composer_hdrs_set_from_account (EMsgComposerHdrs *hdrs, const char *account_name) { GtkOptionMenu *omenu; + GConfClient *gconf; GtkWidget *item; + int index = -1; GSList *l; int i = 0; - int default_account = 0; g_return_if_fail (E_IS_MSG_COMPOSER_HDRS (hdrs)); omenu = GTK_OPTION_MENU (e_msg_composer_hdrs_get_from_omenu (hdrs)); - if (account_name) - default_account = -1; - else - default_account = mail_config_get_default_account_num (); + gconf = gconf_client_get_default (); + + if (!account_name) + index = gconf_client_get_int (gconf, "/apps/evolution/mail/default_account", NULL); /* find the item that represents the account and activate it */ l = hdrs->priv->from_options; @@ -895,19 +901,19 @@ e_msg_composer_hdrs_set_from_account (EMsgComposerHdrs *hdrs, MailConfigAccount *account; item = l->data; - account = g_object_get_data(G_OBJECT(item), "account"); + account = g_object_get_data ((GObject *) item, "account"); if (account_name) { if (account->name && !strcmp (account_name, account->name)) { /* set the correct optionlist item */ gtk_option_menu_set_history (omenu, i); - g_signal_emit_by_name (G_OBJECT (item), "activate", hdrs); + g_signal_emit_by_name (item, "activate", hdrs); return; } - } else if (i == default_account) { + } else if (i == index) { /* set the default optionlist item */ gtk_option_menu_set_history (omenu, i); - g_signal_emit_by_name (G_OBJECT (item), "activate", hdrs); + g_signal_emit_by_name (item, "activate", hdrs); return; } @@ -1222,5 +1228,5 @@ e_msg_composer_hdrs_get_from_omenu (EMsgComposerHdrs *hdrs) { g_return_val_if_fail (E_IS_MSG_COMPOSER_HDRS (hdrs), NULL); - return GTK_WIDGET (g_object_get_data(G_OBJECT(hdrs->priv->from.entry), "from_menu")); + return GTK_WIDGET (g_object_get_data ((GObject *) hdrs->priv->from.entry, "from_menu")); } |