diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-04-27 20:14:15 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-04-28 09:48:06 +0800 |
commit | 521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3 (patch) | |
tree | 5fb5b0de92cfd294f88f8c370d9745533ce3b631 /calendar/gui/dialogs/memo-page.c | |
parent | c814aa614c78a6e6350f2380eb2e23dab6e0989e (diff) | |
download | gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.tar gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.tar.gz gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.tar.bz2 gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.tar.lz gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.tar.xz gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.tar.zst gsoc2013-evolution-521caf8b6cbe648e8f5c5d6104cc58bb8446e0e3.zip |
Add itip_get_fallback_identity().
Convenience function returns a name + address string from the default
mail identity, to be used as a fallback for organizers.
Diffstat (limited to 'calendar/gui/dialogs/memo-page.c')
-rw-r--r-- | calendar/gui/dialogs/memo-page.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c index 54692894e3..e708cefc0c 100644 --- a/calendar/gui/dialogs/memo-page.c +++ b/calendar/gui/dialogs/memo-page.c @@ -93,6 +93,7 @@ struct _MemoPagePrivate { GtkWidget *source_selector; gchar **address_strings; + gchar *fallback_address; ENameSelector *name_selector; }; @@ -188,6 +189,7 @@ memo_page_dispose (GObject *object) priv = MEMO_PAGE (object)->priv; g_strfreev (priv->address_strings); + g_free (priv->fallback_address); /* Chain up to parent's dispose() method. */ G_OBJECT_CLASS (memo_page_parent_class)->dispose (object); @@ -1096,18 +1098,12 @@ memo_page_select_organizer (MemoPage *mpage, const gchar *backend_address) CompEditor *editor; CompEditorFlags flags; ECal *client; - EAccount *def_account; - gchar *def_address = NULL; const gchar *default_address; gboolean subscribed_cal = FALSE; ESource *source = NULL; const gchar *user_addr = NULL; gint ii; - def_account = e_get_default_account (); - if (def_account && def_account->enabled) - def_address = g_strdup_printf("%s <%s>", def_account->id->name, def_account->id->address); - priv = mpage->priv; editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (mpage)); client = comp_editor_get_client (editor); @@ -1123,7 +1119,8 @@ memo_page_select_organizer (MemoPage *mpage, const gchar *backend_address) else user_addr = (backend_address && *backend_address) ? backend_address : NULL; - default_address = NULL; + default_address = priv->fallback_address; + if (user_addr) { for (ii = 0; priv->address_strings[ii] != NULL; ii++) { if (g_strrstr (priv->address_strings[ii], user_addr) != NULL) { @@ -1133,18 +1130,13 @@ memo_page_select_organizer (MemoPage *mpage, const gchar *backend_address) } } - if (!default_address && def_account) - default_address = def_address; - - if (default_address) { + if (default_address != NULL) { if (flags & COMP_EDITOR_NEW_ITEM) { gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (priv->org_combo))), default_address); gtk_widget_set_sensitive (priv->org_combo, !subscribed_cal); } } else g_warning ("No potential organizers!"); - - g_free (def_address); } /** @@ -1183,6 +1175,8 @@ memo_page_construct (MemoPage *mpage) model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->org_combo)); priv->address_strings = itip_get_user_identities (); + priv->fallback_address = itip_get_fallback_identity (); + for (ii = 0; priv->address_strings[ii] != NULL; ii++) e_dialog_append_list_store_text ( model, 0, priv->address_strings[ii]); |