[evolution] Composer could start with empty From
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Composer could start with empty From
- Date: Wed, 5 Sep 2012 14:44:37 +0000 (UTC)
commit e18f1b87095c60977c4c0e0a279e7ee78a049dc6
Author: Milan Crha <mcrha redhat com>
Date: Wed Sep 5 16:43:58 2012 +0200
Composer could start with empty From
composer/e-composer-from-header.c | 39 ++++++++++++++++++++++++++++++++++++-
composer/e-msg-composer.c | 9 ++++++-
2 files changed, 45 insertions(+), 3 deletions(-)
---
diff --git a/composer/e-composer-from-header.c b/composer/e-composer-from-header.c
index a844ca3..ceecd68 100644
--- a/composer/e-composer-from-header.c
+++ b/composer/e-composer-from-header.c
@@ -107,7 +107,44 @@ e_composer_from_header_set_active_id (EComposerFromHeader *header,
g_return_if_fail (E_IS_COMPOSER_FROM_HEADER (header));
+ if (!active_id)
+ return;
+
combo_box = GTK_COMBO_BOX (E_COMPOSER_HEADER (header)->input_widget);
- gtk_combo_box_set_active_id (combo_box, active_id);
+ if (!gtk_combo_box_set_active_id (combo_box, active_id) && active_id && *active_id) {
+ ESourceRegistry *registry;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ gint id_column;
+
+ registry = e_composer_header_get_registry (E_COMPOSER_HEADER (header));
+ id_column = gtk_combo_box_get_id_column (combo_box);
+ model = gtk_combo_box_get_model (combo_box);
+
+ if (gtk_tree_model_get_iter_first (model, &iter)) {
+ do {
+ gchar *identity_uid = NULL;
+
+ gtk_tree_model_get (model, &iter, id_column, &identity_uid, -1);
+
+ if (identity_uid) {
+ ESource *source;
+
+ source = e_source_registry_ref_source (registry, identity_uid);
+ if (source) {
+ if (g_strcmp0 (e_source_get_parent (source), active_id) == 0) {
+ g_object_unref (source);
+ gtk_combo_box_set_active_id (combo_box, identity_uid);
+ g_free (identity_uid);
+ break;
+ }
+ g_object_unref (source);
+ }
+
+ g_free (identity_uid);
+ }
+ } while (gtk_tree_model_iter_next (model, &iter));
+ }
+ }
}
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 0fc5f2f..777b7e7 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -575,8 +575,8 @@ build_message_headers (EMsgComposer *composer,
camel_mime_message_set_from (message, addr);
g_object_unref (addr);
- /* X-Evolution-Account */
- header_name = "X-Evolution-Account";
+ /* X-Evolution-Identity */
+ header_name = "X-Evolution-Identity";
camel_medium_set_header (medium, header_name, uid);
/* X-Evolution-Fcc */
@@ -3108,6 +3108,11 @@ e_msg_composer_new_with_message (EShell *shell,
/* Restore the mail identity preference. */
identity_uid = (gchar *) camel_medium_get_header (
CAMEL_MEDIUM (message), "X-Evolution-Identity");
+ if (!identity_uid) {
+ /* for backward compatibility */
+ identity_uid = (gchar *) camel_medium_get_header (
+ CAMEL_MEDIUM (message), "X-Evolution-Account");
+ }
if (identity_uid != NULL) {
identity_uid = g_strstrip (g_strdup (identity_uid));
source = e_source_registry_ref_source (registry, identity_uid);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]