platform/upstream/evolution-data-server.git
12 years agoIntroduce e_gdbus_templates_init_main_thread()
Milan Crha [Mon, 7 Nov 2011 09:23:07 +0000 (10:23 +0100)]
Introduce e_gdbus_templates_init_main_thread()

This is required to properly distinguish between EGDbusTemplates'
sync calls from the main thread and from a dedicated thread, because
the check with g_main_context_is_owner (g_main_context_default ())
doesn't work when there is no main loop running. The call to
e_gdbus_templates_init_main_thread() is good to do, but it is not
mandatory.

12 years agoAdd camel_operation_cancel_all().
Matthew Barnes [Sat, 5 Nov 2011 05:00:46 +0000 (01:00 -0400)]
Add camel_operation_cancel_all().

Replaces camel_operation_cancel(NULL).

For non-NULL cases, use g_cancellable_cancel() instead.

12 years agoRemove camel_operation_uncancel().
Matthew Barnes [Sat, 5 Nov 2011 04:42:35 +0000 (00:42 -0400)]
Remove camel_operation_uncancel().

Use g_cancellable_reset() instead.

12 years agoRemove camel_operation_cancel_check().
Matthew Barnes [Sat, 5 Nov 2011 04:36:17 +0000 (00:36 -0400)]
Remove camel_operation_cancel_check().

Use g_cancellable_is_cancelled() instead.

12 years agoRemove camel_operation_cancel_fd().
Matthew Barnes [Sat, 5 Nov 2011 04:22:33 +0000 (00:22 -0400)]
Remove camel_operation_cancel_fd().

Use g_cancellable_get_fd() instead.

12 years agoRemove camel_operation_cancel_prfd().
Matthew Barnes [Fri, 4 Nov 2011 22:49:11 +0000 (18:49 -0400)]
Remove camel_operation_cancel_prfd().

No longer needed by anything.  Also allowed me to remove all the
CamelMsgPort muck in CamelOperation, which simplifies things nicely.

12 years agoUse the same technique in imapx_parser_thread().
Matthew Barnes [Fri, 4 Nov 2011 22:12:28 +0000 (18:12 -0400)]
Use the same technique in imapx_parser_thread().

Call PR_Interrupt() from a GCancellable::cancelled signal handler to
cancel the blocking PR_Poll() call in imapx_parser_thread().

12 years agoCamelTcpStreamRaw: Use PR_Interrupt() to cancel blocked I/O.
Matthew Barnes [Fri, 4 Nov 2011 21:47:53 +0000 (17:47 -0400)]
CamelTcpStreamRaw: Use PR_Interrupt() to cancel blocked I/O.

Call PR_Interrupt() from a GCancellable::cancelled signal handler to
cancel blocking PR_Connect(), PR_Read() and PR_Write() calls.

Way easier and more responsive than using camel_operation_cancel_prfd().

12 years agocamel_settings_load_from_url(): Forgot to handle "auth-mechanism".
Matthew Barnes [Fri, 4 Nov 2011 17:16:00 +0000 (13:16 -0400)]
camel_settings_load_from_url(): Forgot to handle "auth-mechanism".

12 years agocamel_settings_save_to_url(): Forgot to handle "auth-mechanism".
Matthew Barnes [Fri, 4 Nov 2011 17:15:12 +0000 (13:15 -0400)]
camel_settings_save_to_url(): Forgot to handle "auth-mechanism".

12 years agoCamelNetworkSettings: host and user should never be NULL.
Matthew Barnes [Fri, 4 Nov 2011 16:11:17 +0000 (12:11 -0400)]
CamelNetworkSettings: host and user should never be NULL.

Otherwise it creates nuisance runtime warnings when binding the
properties to widgets like GtkEntry.

12 years agoUpdated Galician translations
Fran Diéguez [Fri, 4 Nov 2011 12:29:35 +0000 (13:29 +0100)]
Updated Galician translations

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 2 Nov 2011 12:54:17 +0000 (13:54 +0100)]
Updated Spanish translation

12 years agoBug #655167 - Messages moved from IMAP Inbox reappear
Michel Dänzer [Wed, 2 Nov 2011 07:35:56 +0000 (08:35 +0100)]
Bug #655167 - Messages moved from IMAP Inbox reappear

12 years agoAdded test case showing photo data stored as uris.
Tristan Van Berkom [Sat, 23 Jul 2011 00:06:38 +0000 (20:06 -0400)]
Added test case showing photo data stored as uris.

The test asserts:
  o binary inlined photos added to the EBook come out
    as uris in the EBookView signals
  o that it is still possible to use an external uri that the
    addressbook does not recognize at which point the addressbook
    is simply expected to store the provided URI string without
    any extra management (the test does this, however it only
    asserts that a uri is indeed returned).
  o When sharing an addressbook owned uri fetched from one contact
    and assigning it to the next contact, the second contact's uri
    is still accessible on disk after deleting the first contact.

12 years agoMake local addressbook backend store image data as URIs.
Tristan Van Berkom [Sat, 23 Jul 2011 00:05:21 +0000 (20:05 -0400)]
Make local addressbook backend store image data as URIs.

Whenever the local address book receives a uri as a binary
blob it proceeds to transform it to a uri accessbile on
the system somewhere under $XDG_DATA_HOME. The local backend
cleans up old photo uris when contacts are removed or modified
to use new photos.

Additionally, whenever it is detected that the user is
cross-referencing a uri which belongs to another contact,
a hard-link will be created to the addressbook owned file
on disk and a new uri will be assigned to any additional
contacts which try to share a uri owned by the addressbook.

12 years agoBug #663062 - Missing attachment icon on a message with it
Milan Crha [Tue, 1 Nov 2011 11:33:26 +0000 (12:33 +0100)]
Bug #663062 - Missing attachment icon on a message with it

12 years agoAvoid possible crash when url->path is NULL
Milan Crha [Tue, 1 Nov 2011 09:58:05 +0000 (10:58 +0100)]
Avoid possible crash when url->path is NULL

12 years agoAdd a comment explaining CamelStore's mode field.
Matthew Barnes [Sat, 29 Oct 2011 15:16:03 +0000 (11:16 -0400)]
Add a comment explaining CamelStore's mode field.

I was about to get rid of this field thinking it was unused, but as
usual it's a GroupWise-specific hack for non-writable proxy accounts.
Add a comment to the header file for future reference.

12 years agoRemove g_thread_init() calls.
Matthew Barnes [Wed, 26 Oct 2011 19:33:19 +0000 (15:33 -0400)]
Remove g_thread_init() calls.

g_type_init() already calls it, and has for several GLib releases.

12 years agoIMAP: Split off a new mutex for commands and responses.
Matthew Barnes [Tue, 25 Oct 2011 21:19:39 +0000 (17:19 -0400)]
IMAP: Split off a new mutex for commands and responses.

Define a new public GStaticRecMutex named "command_and_response_lock"
on CamelImapStore for IMAP command and response operations to use.

Fixes some deadlocks I was encountering due to the overreliance on
CAMEL_SERVICE_REC_CONNECT_LOCK, particularly during authentication.

12 years agocamel_imap_store_connected() cleanup.
Matthew Barnes [Tue, 25 Oct 2011 18:55:39 +0000 (14:55 -0400)]
camel_imap_store_connected() cleanup.

If camel_service_connect_sync() set a GError, don't overwrite it with a
generic "you must be working online" message.  The connect_sync() error
message has useful information to help identify the real problem.

12 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 25 Oct 2011 18:58:58 +0000 (20:58 +0200)]
Updated Slovenian translation

12 years agoBug 662524 - POP3: Use a safer default value for "delete-after-days"
Matthew Barnes [Tue, 25 Oct 2011 15:08:10 +0000 (11:08 -0400)]
Bug 662524 - POP3: Use a safer default value for "delete-after-days"

Default to not deleting mail kept on the POP3 server at all rather than
automatically deleting after X days.  Helps avoid accidental data loss.

12 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 25 Oct 2011 08:45:20 +0000 (10:45 +0200)]
Updated Spanish translation

12 years agoBug #660182 - Error dialog on LDAP query with multiple referrals
Milan Crha [Tue, 25 Oct 2011 07:58:25 +0000 (09:58 +0200)]
Bug #660182 - Error dialog on LDAP query with multiple referrals

12 years agoBug 662643 - camel_url_decode_path() crashes on empty string
Matthew Barnes [Mon, 24 Oct 2011 21:51:10 +0000 (17:51 -0400)]
Bug 662643 - camel_url_decode_path() crashes on empty string

12 years agoMove remaining CamelURL elements to CamelSettings.
Matthew Barnes [Thu, 20 Oct 2011 21:24:04 +0000 (17:24 -0400)]
Move remaining CamelURL elements to CamelSettings.

This is a continuation of the CamelSettings work I started in 3.1.

CamelService no longer stores a CamelURL.  The URL components are being
moved to CamelSettings.

For network services, the host, port, user and authentication mechanism
URL components now live in CamelNetworkSettings.

For local services, the path URL component (aka, the file path to the
root of the local mail store) now lives in CamelLocalSettings.

For now these new settings are configured the same as other settings:
through camel_settings_load_from_url().  But again, that function will
be dropped as soon as we move to key files for account data storage.

Also:

- Remove camel_service_get_url(), which is no longer used.

- camel_session_add_service() now takes a protocol name instead of a
  URL string.  The protocol name must match a registered CamelProvider.

- camel_service_get_camel_url() is renamed camel_service_new_camel_url().
  It now returns a new CamelURL which must be freed with camel_url_free().
  The returned CamelURL is built from user, host, port and path settings,
  and does not have any parameters.  You MUST access settings through
  CamelSettings now.

- CamelServices need to be prepared for CamelSettings values changing or
  even the entire CamelSettings object being replaced at any time.  Most
  services were already prepared, but I caught a few services caching
  settings during initialization.  Always consult CamelSettings when a
  setting value is needed so the service is acting on a fresh value.

- Camel's SONAME is hereby bumped (yet again) for 3.3.2.

12 years agoCall g_thread_init() conditionally
Milan Crha [Mon, 24 Oct 2011 07:42:17 +0000 (09:42 +0200)]
Call g_thread_init() conditionally

12 years agoPost-release version bump.
Matthew Barnes [Sun, 23 Oct 2011 02:06:12 +0000 (22:06 -0400)]
Post-release version bump.

12 years agoNEWS update for 3.3.1 release.
Matthew Barnes [Sun, 23 Oct 2011 01:17:36 +0000 (21:17 -0400)]
NEWS update for 3.3.1 release.

12 years agoAvoid a crash in camel_session_get_service_by_url().
Matthew Barnes [Sat, 22 Oct 2011 01:45:02 +0000 (21:45 -0400)]
Avoid a crash in camel_session_get_service_by_url().

Check that we found a CamelProvider before dereferencing it.

12 years agoAdd camel_folder_refresh_info()/_finish().
Matthew Barnes [Sat, 22 Oct 2011 00:47:44 +0000 (20:47 -0400)]
Add camel_folder_refresh_info()/_finish().

I forget to write wrapper functions for CamelFolderClass.refresh_info()
and CamelFolderClass.refresh_info_finish() even though the class methods
have been there for awhile.

Thanks to Srini for pointing this out.

12 years agoUpdated Slovenian translation
Matej Urbančič [Fri, 21 Oct 2011 19:22:00 +0000 (21:22 +0200)]
Updated Slovenian translation

12 years agoAdded test to show that fields-of-interest is working in libecal
Tristan Van Berkom [Thu, 18 Aug 2011 17:41:43 +0000 (19:41 +0200)]
Added test to show that fields-of-interest is working in libecal

Test is based on test-client-get-view.c, this version of the test
sets fields-of-interest to UID, RECURRENCE-ID and LAST-MODIFIED
fields, tests that all those fields are returned and asserts that
the event summary (which is indeed set) is always NULL.

12 years agoUpdated Polish translation
Piotr Drąg [Fri, 21 Oct 2011 15:44:21 +0000 (17:44 +0200)]
Updated Polish translation

12 years agoUpdated Polish translation
Piotr Drąg [Fri, 21 Oct 2011 15:40:26 +0000 (17:40 +0200)]
Updated Polish translation

12 years agoUpdated Polish translation
Piotr Drąg [Fri, 21 Oct 2011 15:38:43 +0000 (17:38 +0200)]
Updated Polish translation

12 years agoBug #660870 - Empty Contacts list when pressing "To:" in composer
Milan Crha [Fri, 21 Oct 2011 13:45:11 +0000 (15:45 +0200)]
Bug #660870 - Empty Contacts list when pressing "To:" in composer

12 years agoRevert "Remove of -Werror-deprecated-function-declaration", it doesn't work
Kjartan Maraas [Fri, 21 Oct 2011 09:02:52 +0000 (11:02 +0200)]
Revert "Remove of -Werror-deprecated-function-declaration", it doesn't work

12 years agoBug #660656 - Fix e_iterator_get annotation
Alban Browaeys [Fri, 21 Oct 2011 07:40:16 +0000 (09:40 +0200)]
Bug #660656 - Fix e_iterator_get annotation

12 years agoUpdated Belarusian translation.
Ihar Hrachyshka [Thu, 20 Oct 2011 19:24:04 +0000 (22:24 +0300)]
Updated Belarusian translation.

12 years agoRemove -Werror-deprecated-function-declaration to make it build for the 3.4 moduleset
Kjartan Maraas [Thu, 20 Oct 2011 19:01:37 +0000 (21:01 +0200)]
Remove -Werror-deprecated-function-declaration to make it build for the 3.4 moduleset

12 years agoBug #527614 - Valgrind shows a nice amount of lost memory
Milan Crha [Thu, 20 Oct 2011 07:01:55 +0000 (09:01 +0200)]
Bug #527614 - Valgrind shows a nice amount of lost memory

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 19 Oct 2011 14:40:07 +0000 (16:40 +0200)]
Updated Spanish translation

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 19 Oct 2011 14:38:06 +0000 (16:38 +0200)]
Updated Spanish translation

12 years agoFix compiler warnings from GOA code in book factory
Milan Crha [Wed, 19 Oct 2011 11:56:28 +0000 (13:56 +0200)]
Fix compiler warnings from GOA code in book factory

12 years agoReally implement e_cal_client_view_set_fields_of_interest().
Tristan Van Berkom [Sat, 15 Oct 2011 15:34:32 +0000 (11:34 -0400)]
Really implement e_cal_client_view_set_fields_of_interest().

As discussed on bug https://bugzilla.gnome.org/show_bug.cgi?id=652180,
this patch adds many '_component' variants to functions that are named
with '_object', all the '_component' variants take an 'icalcomponent *'
instead of an ical string.

The magic filtering happens in e_data_cal_view_get_component_string()
which creates an ical string representation while omitting properties
that are not mentioned in the fields of interest.

12 years ago[l10n] Updated German translation
Mario Blättermann [Tue, 18 Oct 2011 20:16:19 +0000 (22:16 +0200)]
[l10n] Updated German translation

12 years ago[l10n] Updated German translation
Mario Blättermann [Tue, 18 Oct 2011 20:15:33 +0000 (22:15 +0200)]
[l10n] Updated German translation

12 years agoAvoid possible deadlock with CamelStoreSummary locks
Milan Crha [Tue, 18 Oct 2011 18:12:29 +0000 (20:12 +0200)]
Avoid possible deadlock with CamelStoreSummary locks

Recently added store_summary_sync_folder_summary_count_cb() could
cause deadlock when locking SUMMARY_LOCK first, and then calling
functions which lock REF_LOCK before SUMMARY_LOCK. Locking REF_LOCK
first avoids this.

12 years agoBug #661549 - Avoid fetching from backend when calculating summary
Milan Crha [Tue, 18 Oct 2011 11:07:54 +0000 (13:07 +0200)]
Bug #661549 - Avoid fetching from backend when calculating summary

12 years agoBug #656603 - Add support for generating vCard 2.1 in libebook
Bartosz Szatkowski [Tue, 18 Oct 2011 10:29:07 +0000 (12:29 +0200)]
Bug #656603 - Add support for generating vCard 2.1 in libebook

12 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Tue, 18 Oct 2011 05:43:30 +0000 (07:43 +0200)]
Updated Norwegian bokmål translation

12 years agoUpdated Galician translations
Fran Diéguez [Mon, 17 Oct 2011 22:13:13 +0000 (00:13 +0200)]
Updated Galician translations

12 years agoUpdated Japanese translation
OKANO Takayoshi [Mon, 17 Oct 2011 16:43:35 +0000 (01:43 +0900)]
Updated Japanese translation

12 years agol10n: updated Italian translation
Luca Ferretti [Mon, 17 Oct 2011 08:06:41 +0000 (10:06 +0200)]
l10n: updated Italian translation

12 years agoUpdate libedata-book API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:26:52 +0000 (17:26 -0400)]
Update libedata-book API docs.

12 years agoUpdate libebook API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:22:20 +0000 (17:22 -0400)]
Update libebook API docs.

12 years agoUpdate libedata-cal API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:15:58 +0000 (17:15 -0400)]
Update libedata-cal API docs.

12 years agoUpdate libedataserver API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:13:10 +0000 (17:13 -0400)]
Update libedataserver API docs.

12 years agoUpdate Camel API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:02:38 +0000 (17:02 -0400)]
Update Camel API docs.

12 years agoUpdated Korean translation
Changwoo Ryu [Sun, 16 Oct 2011 18:08:33 +0000 (03:08 +0900)]
Updated Korean translation

12 years agoUpdated British English translation
Bruce Cowan [Sun, 16 Oct 2011 13:42:13 +0000 (14:42 +0100)]
Updated British English translation

12 years agosmtp: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:51:35 +0000 (09:51 -0400)]
smtp: Adapt to Camel's new authentication API.

12 years agopop3: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:51:22 +0000 (09:51 -0400)]
pop3: Adapt to Camel's new authentication API.

12 years agonntp: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:51:05 +0000 (09:51 -0400)]
nntp: Adapt to Camel's new authentication API.

12 years agoimapx: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:50:52 +0000 (09:50 -0400)]
imapx: Adapt to Camel's new authentication API.

12 years agoimap: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:50:06 +0000 (09:50 -0400)]
imap: Adapt to Camel's new authentication API.

12 years agoCamel: New authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:35:43 +0000 (09:35 -0400)]
Camel: New authentication API.

Currently each provider has to implement its own authentication loop.

The idea for these changes is add a CamelSession method that executes
a common authentication loop for all providers:

    CamelSessionClass:

    gboolean  (*authenticate_sync)   (CamelSession *session,
                                      CamelService *service,
                                      const gchar *mechanism,
                                      GCancellable *cancellable,
                                      GError **error);

    void      (*authenticate)        (CamelSession *session,
                                      CamelService *service,
                                      const gchar *mechanism,
                                      gint io_priority,
                                      GCancellable *cancellable,
                                      GAsyncReadyCallback callback,
                                      gpointer user_data);

    gboolean  (*authenticate_finish) (CamelSession *session,
                                      GAsyncResult *result,
                                      GError **error);

Each CamelService is then responsible for implementing a new
authenticate method that makes only ONE authentication attempt and
returns an appropriate status code:

    CamelServiceClass:

    CamelAuthenticationResult
              (*authenticate_sync)   (CamelService *service,
                                      const gchar *mechanism,
                                      GCancellable *cancellable,
                                      GError **error);

    void      (*authenticate)        (CamelService *service,
                                      const gchar *mechanism,
                                      gint io_priority,
                                      GCancellable *cancellable,
                                      GAsyncReadyCallback callback,
                                      gpointer user_data);

    CamelAuthenticationResult
              (*authenticate_finish) (CamelService *service,
                                      GAsyncResult *result,
                                      GError **error);

The status codes are defined by the CamelAuthenticationResult enum:

    CAMEL_AUTHENTICATION_SUCCESS    : auth credentials were accepted
    CAMEL_AUTHENTICATION_FAILURE    : auth credentials were rejected
    CAMEL_AUTHENTICATION_ERROR      : something went horribly wrong!

CAMEL_AUTHENTICATION_SUCCESS and CAMEL_AUTHENTICATION_ERROR both
terminate the authentication loop, but CAMEL_AUTHENTICATION_FAILURE
cycles the loop and asks the CamelService to retry authentication,
usually after prompting the user to enter a different password.

12 years agoUpdaged Galician translations
Fran Dieguez [Sat, 15 Oct 2011 14:36:25 +0000 (16:36 +0200)]
Updaged Galician translations

12 years agoRequire libgdata >= 0.10.
Matthew Barnes [Thu, 13 Oct 2011 01:09:05 +0000 (21:09 -0400)]
Require libgdata >= 0.10.

Drop all the backward-compatibility cruft.

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 12 Oct 2011 15:28:32 +0000 (17:28 +0200)]
Updated Spanish translation

12 years agoBug #661448 - e_util_copy_*_slist(): Avoid using append function
Christophe Dumez [Tue, 11 Oct 2011 11:02:57 +0000 (14:02 +0300)]
Bug #661448 - e_util_copy_*_slist(): Avoid using append function

The current implementation calls g_slist_append() for each element
of the list to copy. However, g_slist_append() is expensive
because it iterate over the whole destination list.

This patch alters the behavior to first make a deep copy of the
list and then concatenate the destination list and the list copy.
The concatenation only iterates of the destination list once.

12 years agoUpdated Hungarian translation
Gabor Kelemen [Tue, 11 Oct 2011 19:21:57 +0000 (21:21 +0200)]
Updated Hungarian translation

12 years agoEBookClient: Avoid useless copying of valid UTF-8 strings
Christophe Dumez [Mon, 10 Oct 2011 13:35:32 +0000 (16:35 +0300)]
EBookClient: Avoid useless copying of valid UTF-8 strings

Make use of e_util_ensure_gdbus_string() instead of
e_util_utf8_make_valid() whenever possible to avoid useless
copying/freeing of valid UTF-8 strings (likely case).

12 years agoe-book-backend-file: Don't share DB_ENV between address books from different sources
Christophe Dumez [Tue, 11 Oct 2011 08:20:40 +0000 (11:20 +0300)]
e-book-backend-file: Don't share DB_ENV between address books from different sources

A DB_ENV is associated to the folder when the database is stored, in
order to store transaction logs. As a consequence, a DB_ENV should
never be shared between address books from different sources, since
they are kept in separate folders.

12 years agoENameSelectorEntry::user_delete_text: Delete whole text when user deleted it
Milan Crha [Tue, 11 Oct 2011 11:25:44 +0000 (13:25 +0200)]
ENameSelectorEntry::user_delete_text: Delete whole text when user deleted it

In cases like setting an empty string to a GtkEntry the event
passes -1 as end_pos, where ENameSelectorEntry didn't behave properly.

12 years agoBug #661432 - 'Any field contains' search doesn't work in contact view
Milan Crha [Tue, 11 Oct 2011 10:28:53 +0000 (12:28 +0200)]
Bug #661432 - 'Any field contains' search doesn't work in contact view

12 years agoBug #660829 - Allow 'Mark as read' in right click menu on spam folder
Milan Crha [Tue, 11 Oct 2011 08:02:33 +0000 (10:02 +0200)]
Bug #660829 - Allow 'Mark as read' in right click menu on spam folder

12 years agoRevert "gdbus_proxy_call_sync: stop using g_usleep()"
Christophe Dumez [Tue, 11 Oct 2011 07:51:37 +0000 (10:51 +0300)]
Revert "gdbus_proxy_call_sync: stop using g_usleep()"

This reverts commit cf78ee827d3c5157e44a1e4c32d395942a816461.

12 years agoEBookClientView: Use e_util_free_object_slist() utility function
Christophe Dumez [Tue, 11 Oct 2011 06:36:59 +0000 (09:36 +0300)]
EBookClientView: Use e_util_free_object_slist() utility function

12 years agoe-book-client: Refactor bulk methods code
Christophe Dumez [Mon, 10 Oct 2011 12:54:42 +0000 (15:54 +0300)]
e-book-client: Refactor bulk methods code

Add a contact_slist_to_utf8_vcard_array() utility function to
avoid code duplication in EBookClient bulk methods.

12 years agogdbus_proxy_call_sync: stop using g_usleep()
Christophe Dumez [Mon, 10 Oct 2011 06:51:11 +0000 (09:51 +0300)]
gdbus_proxy_call_sync: stop using g_usleep()

Instead, tell g_main_context_iteration() that it may block if no
event source is ready.

12 years agoDon't free vcard memory in e_data_book_view_notify_update*_vcard()
Christophe Dumez [Wed, 5 Oct 2011 07:36:20 +0000 (10:36 +0300)]
Don't free vcard memory in e_data_book_view_notify_update*_vcard()

Instead, the vcard memory is freed by the caller which feels more
consistent with the rest of the code and less error-prone.

12 years agoe_book_backend_sqlitedb_new: Fix database connection reuse
Christophe Dumez [Mon, 10 Oct 2011 16:18:20 +0000 (19:18 +0300)]
e_book_backend_sqlitedb_new: Fix database connection reuse

Remove EBookBackendSqliteDB objects from the db_connections
hash table in their dispose function. It used to be done in
their finalize function but this would cause
g_hash_table_lookup() to sometime return EBookBackendSqliteDB
GObjects whose ref_count is 0, under heavy load.

This patch also makes sure the database mutex is properly unlocked
in case of error. It also properly reports errors when
book_backend_sqlitedb_load() fails.

12 years agoUpdated Telugu Translations
krishnababu k [Mon, 10 Oct 2011 11:26:09 +0000 (16:56 +0530)]
Updated Telugu Translations

12 years agolibebook: Add unit test for bulk modification function
Christophe Dumez [Thu, 6 Oct 2011 05:41:21 +0000 (08:41 +0300)]
libebook: Add unit test for bulk modification function

12 years agoe-book-client: Add bulk contact modification methods.
Christophe Dumez [Wed, 5 Oct 2011 13:22:31 +0000 (16:22 +0300)]
e-book-client: Add bulk contact modification methods.

This reduces the number of DBus round-trips and enables
optimizations in the backend.
This patch also makes use of Berkeley DB transactions in the file
backend.

12 years agoWorkaround possible crash in imap_body_decode()
Milan Crha [Mon, 10 Oct 2011 08:56:33 +0000 (10:56 +0200)]
Workaround possible crash in imap_body_decode()

12 years agoUpdated Vietnamese translation
Nguyễn Thái Ngọc Duy [Mon, 10 Oct 2011 08:30:36 +0000 (19:30 +1100)]
Updated Vietnamese translation

12 years agovi.po: import from Damned Lies
Nguyễn Thái Ngọc Duy [Fri, 7 Oct 2011 11:51:44 +0000 (22:51 +1100)]
vi.po: import from Damned Lies

12 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Mon, 10 Oct 2011 05:50:13 +0000 (07:50 +0200)]
Updated Norwegian bokmål translation

12 years agoUpdated Swedish translation
Daniel Nylander [Sun, 9 Oct 2011 18:46:14 +0000 (20:46 +0200)]
Updated Swedish translation

12 years agoUpdated Spanish translation
Daniel Mustieles [Sun, 9 Oct 2011 09:45:41 +0000 (11:45 +0200)]
Updated Spanish translation

12 years agoconfigure.ac: Bump ADDRESS_BOOK_DBUS_SERVICE_NAME to 2
Christophe Dumez [Sat, 8 Oct 2011 07:09:12 +0000 (10:09 +0300)]
configure.ac: Bump ADDRESS_BOOK_DBUS_SERVICE_NAME to 2

The DBus API has changed with the addition of bulk contact
addition methods.

12 years agoaddressbook: Improve bulk contact removal code
Christophe Dumez [Tue, 4 Oct 2011 13:26:52 +0000 (16:26 +0300)]
addressbook: Improve bulk contact removal code

The patch makes use of Berkeley DB transations in the file backend
and roll back the transaction in case of error to make the
behavior consistent with bulk addition.

This patch also makes the webdav backend behave as expected since
it does not support bulk removal and the implementation was broken.

12 years agolibebook: Add test for bulk methods
Christophe Dumez [Fri, 30 Sep 2011 14:08:14 +0000 (17:08 +0300)]
libebook: Add test for bulk methods

12 years agoe-book-client: add e_book_client_add_contacts*() methods
Christophe Dumez [Tue, 27 Sep 2011 10:35:36 +0000 (13:35 +0300)]
e-book-client: add e_book_client_add_contacts*() methods

Enables optimizations for batch additions of contacts such as
less DBus round trips and use of database transactions in file
backend.

12 years agobuild_sqlitedb(): remove useless free() for vcard_dbt.data
Christophe Dumez [Sat, 8 Oct 2011 06:42:44 +0000 (09:42 +0300)]
build_sqlitedb(): remove useless free() for vcard_dbt.data