diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-08-07 05:48:45 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-08-07 06:42:42 +0800 |
commit | 740af34bdf59229f5c63b30b5cca6264672f6707 (patch) | |
tree | 153c02805da8ade80f8e0934fcdd529f20d8d4be /e-util/e-signature-list.c | |
parent | ba5c9e6f8046f76ffda4a1871d1287f9834d1211 (diff) | |
download | gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.gz gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.bz2 gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.lz gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.xz gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.zst gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.zip |
Seal up ESignature and add GObject properties.
Diffstat (limited to 'e-util/e-signature-list.c')
-rw-r--r-- | e-util/e-signature-list.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/e-util/e-signature-list.c b/e-util/e-signature-list.c index 094d4785da..3fd4f8ab15 100644 --- a/e-util/e-signature-list.c +++ b/e-util/e-signature-list.c @@ -153,8 +153,7 @@ add_autogen (ESignatureList *list, GSList *new_sigs) ESignature *autogen; autogen = e_signature_new (); - autogen->name = g_strdup ("Autogenerated"); - autogen->autogen = TRUE; + e_signature_set_autogenerated (autogen, TRUE); e_list_append (E_LIST (list), autogen); @@ -182,8 +181,11 @@ gconf_signatures_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, if ((uid = e_signature_uid_from_xml (l->data))) { /* See if this is an existing signature */ for (iter = e_list_get_iterator (old_sigs); e_iterator_is_valid (iter); e_iterator_next (iter)) { + const gchar *signature_uid; + signature = (ESignature *) e_iterator_get (iter); - if (!strcmp (signature->uid, uid)) { + signature_uid = e_signature_get_uid (signature); + if (!strcmp (signature_uid, uid)) { /* The signature still exists, so remove * it from "old_sigs" and update it. */ @@ -192,7 +194,7 @@ gconf_signatures_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, if (e_signature_set_from_xml (signature, l->data)) g_signal_emit (signature_list, signals[SIGNATURE_CHANGED], 0, signature); - have_autogen |= signature->autogen; + have_autogen |= e_signature_get_autogenerated (signature); break; } @@ -204,11 +206,8 @@ gconf_signatures_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, if (!found) { /* Must be a new signature */ signature = e_signature_new_from_xml (l->data); - have_autogen |= signature->autogen; - if (!signature->uid) { - signature->uid = e_uid_new (); - resave = TRUE; - } + have_autogen |= e_signature_get_autogenerated (signature); + resave = TRUE; e_list_append (E_LIST (signature_list), signature); new_sigs = g_slist_prepend (new_sigs, signature); @@ -422,9 +421,11 @@ e_signature_list_remove (ESignatureList *signatures, ESignature *signature) * Return value: The signature or NULL if it doesn't exist. **/ const ESignature * -e_signature_list_find (ESignatureList *signatures, e_signature_find_t type, const gchar *key) +e_signature_list_find (ESignatureList *signatures, + e_signature_find_t type, + const gchar *key) { - const ESignature *signature = NULL; + ESignature *signature = NULL; EIterator *it; /* this could use a callback for more flexibility ... @@ -436,20 +437,21 @@ e_signature_list_find (ESignatureList *signatures, e_signature_find_t type, cons for (it = e_list_get_iterator ((EList *) signatures); e_iterator_is_valid (it); e_iterator_next (it)) { - gint found = 0; + const gchar *value; - signature = (const ESignature *) e_iterator_get (it); + /* XXX EIterator misuses const. */ + signature = (ESignature *) e_iterator_get (it); switch (type) { - case E_SIGNATURE_FIND_NAME: - found = strcmp (signature->name, key) == 0; - break; - case E_SIGNATURE_FIND_UID: - found = strcmp (signature->uid, key) == 0; - break; + case E_SIGNATURE_FIND_NAME: + value = e_signature_get_name (signature); + break; + case E_SIGNATURE_FIND_UID: + value = e_signature_get_uid (signature); + break; } - if (found) + if (g_strcmp0 (value, key) == 0) break; signature = NULL; |