platform/upstream/evolution-data-server.git
13 years agoCamelDataWrapper: Keep contents in a GByteArray.
Matthew Barnes [Wed, 6 Jul 2011 18:58:51 +0000 (14:58 -0400)]
CamelDataWrapper: Keep contents in a GByteArray.

Keep CamelDataWrapper contents in an internal GByteArray rather than a
CamelStream.  The CamelStream was causing problems because it now needs
to be seekable, but in some cases we were getting a CamelStreamFilter
which is _not_ seekable.

Also add camel_data_wrapper_get_byte_array() for when you need direct
access to the contents.  This is sometimes more convenient than copying
it into a memory stream, but carries a thread-safety risk if you're not
careful.  Only CamelDataWrapper subclasses should really be using it.

This is another API and ABI break since CamelDataWrapper's CamelStream
pointer was a public struct member.

13 years agoRemove camel_stream_printf().
Matthew Barnes [Wed, 6 Jul 2011 11:39:43 +0000 (07:39 -0400)]
Remove camel_stream_printf().

GIO streams have no equivalent method, so removing this function forces
our code to look a bit more like it will when we move to GIO streams.

Also, camel_stream_printf() lacks GCancellable and GError arguments,
which inevitably leads to poor error handling in the providers.

libcamel soname has already been bumped for 3.1.4.

13 years agoAvoid camel_stream_printf().
Matthew Barnes [Tue, 5 Jul 2011 20:43:59 +0000 (16:43 -0400)]
Avoid camel_stream_printf().

camel_stream_printf() is next on the chopping block.

Use g_strdup_printf() or a GString to construct a formatted string in
memory, pass to to camel_stream_write() in one go, and then check for
errors (unless it's a memory stream).

13 years agopost release version bump
Chenthill Palanisamy [Wed, 6 Jul 2011 09:57:01 +0000 (15:27 +0530)]
post release version bump

13 years agoNews update for 3.1.3.1 release
Chenthill Palanisamy [Wed, 6 Jul 2011 09:44:03 +0000 (15:14 +0530)]
News update for 3.1.3.1 release

13 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 6 Jul 2011 07:41:44 +0000 (09:41 +0200)]
Updated Spanish translation

13 years agoUpdate Simplified Chinese translation.
Wylmer Wang [Wed, 6 Jul 2011 07:21:39 +0000 (07:21 +0000)]
Update Simplified Chinese translation.

13 years agoBug#654054 Fix eds build failure
Akhil Laddha [Wed, 6 Jul 2011 04:47:04 +0000 (10:17 +0530)]
Bug#654054 Fix eds build failure

13 years agocamel_stream_vprintf() doesn't exist.
Matthew Barnes [Tue, 5 Jul 2011 15:41:22 +0000 (11:41 -0400)]
camel_stream_vprintf() doesn't exist.

Remove its declaration from camel-stream.h.

13 years agoRemove camel_stream_reset().
Matthew Barnes [Tue, 5 Jul 2011 14:50:11 +0000 (10:50 -0400)]
Remove camel_stream_reset().

All use cases accounted for; they're all seekable streams, so use
g_seekable_seek() instead if you need to reset the cursor position.

Obviously an API break.  The libcamel soname has already been bumped for
3.1.4 so we'll leave it be.

13 years agoPrefer g_seekable_seek() over camel_stream_reset().
Matthew Barnes [Tue, 5 Jul 2011 13:20:47 +0000 (09:20 -0400)]
Prefer g_seekable_seek() over camel_stream_reset().

When a stream is obviously a file or memory stream (both of which
implement the GSeekable interface), use g_seekable_seek() instead of
camel_stream_reset().

This is helping me discover if it's safe to remove camel_stream_reset().
We want to eventually move to GIO streams, which have no reset method.

13 years agoCamel: Remove some unnecessary type casts.
Matthew Barnes [Tue, 5 Jul 2011 13:36:13 +0000 (09:36 -0400)]
Camel: Remove some unnecessary type casts.

13 years agoCamelImapWrapper: Use GError instead of errno.
Matthew Barnes [Tue, 5 Jul 2011 11:07:23 +0000 (07:07 -0400)]
CamelImapWrapper: Use GError instead of errno.

13 years agocamel_stream_process_connect(): Add GError parameter.
Matthew Barnes [Tue, 5 Jul 2011 11:00:48 +0000 (07:00 -0400)]
camel_stream_process_connect(): Add GError parameter.

13 years agoUpdated Galician translations
Fran Dieguez [Tue, 5 Jul 2011 09:29:17 +0000 (11:29 +0200)]
Updated Galician translations

13 years agocamel_tcp_stream_ssl_enable_ssl(): Add GError parameter.
Matthew Barnes [Tue, 5 Jul 2011 04:06:46 +0000 (00:06 -0400)]
camel_tcp_stream_ssl_enable_ssl(): Add GError parameter.

13 years agoSMTP: Use GError instead of errno.
Matthew Barnes [Tue, 5 Jul 2011 03:44:58 +0000 (23:44 -0400)]
SMTP: Use GError instead of errno.

13 years agoNNTP: Remove unnecessary <errno.h> includes.
Matthew Barnes [Tue, 5 Jul 2011 03:30:56 +0000 (23:30 -0400)]
NNTP: Remove unnecessary <errno.h> includes.

13 years agoPOP3: Use GError instead of errno.
Matthew Barnes [Tue, 5 Jul 2011 02:08:04 +0000 (22:08 -0400)]
POP3: Use GError instead of errno.

13 years ago[l10n] Updated German translation
Mario Blättermann [Mon, 4 Jul 2011 19:50:28 +0000 (21:50 +0200)]
[l10n] Updated German translation

13 years ago[l10n] Updated German translation
Mario Blättermann [Mon, 4 Jul 2011 19:48:37 +0000 (21:48 +0200)]
[l10n] Updated German translation

13 years agoCamel: Fix Gtk-Doc notation in comment blocks.
Matthew Barnes [Mon, 4 Jul 2011 14:53:37 +0000 (10:53 -0400)]
Camel: Fix Gtk-Doc notation in comment blocks.

13 years agoAuthorization domains are no longer used in password storage.
Matthew Barnes [Mon, 4 Jul 2011 13:21:02 +0000 (09:21 -0400)]
Authorization domains are no longer used in password storage.

They are a relic of keyfile-based password storage, where the auth
domain was merely the keyfile group name.  Keyring-based password
storage, which we now use exclusively, has no such concept.

Rename all "component_name" parameters in e-passwords.c to "unused" and
remove their argument guards from functions.

Remove all AUTH_DOMAIN definitions from ECredentials.  Better to nip
that in the bud before we're stuck with those symbols.  DO NOT bump the
libedataserver soname, however, since that would be highly disruptive to
distros and nothing uses ECredentials yet.

Remove the "domain" parameter from CamelSession password methods.  Also
remove any mention of "auth_domain" URL parameters.  This is a genuine
API break requiring a libcamel soname bump, but no one cares.

13 years agopost release version bump
Chenthill Palanisamy [Mon, 4 Jul 2011 09:28:46 +0000 (14:58 +0530)]
post release version bump

13 years agoNews update for 3.1.3 release
Chenthill Palanisamy [Mon, 4 Jul 2011 08:46:23 +0000 (14:16 +0530)]
News update for 3.1.3 release

13 years agoUpdated Galician translations
Fran Dieguez [Sun, 3 Jul 2011 16:04:10 +0000 (18:04 +0200)]
Updated Galician translations

13 years agolibedata-cal cleanups.
Matthew Barnes [Tue, 28 Jun 2011 19:28:38 +0000 (15:28 -0400)]
libedata-cal cleanups.

13 years agoFix build break (my bad).
Matthew Barnes [Sun, 3 Jul 2011 12:48:13 +0000 (08:48 -0400)]
Fix build break (my bad).

13 years agoUpdate API documentation.
Matthew Barnes [Sat, 2 Jul 2011 18:52:01 +0000 (14:52 -0400)]
Update API documentation.

13 years agoCoding style and whitespace cleanups.
Matthew Barnes [Sat, 2 Jul 2011 15:46:04 +0000 (11:46 -0400)]
Coding style and whitespace cleanups.

13 years agoBug #650671 - Service connect/disconnect not cancelled properly
Milan Crha [Fri, 1 Jul 2011 18:00:57 +0000 (20:00 +0200)]
Bug #650671 - Service connect/disconnect not cancelled properly

13 years agoRequire libgdata >= 0.9.1 for GNOME Online Accounts support.
Matthew Barnes [Fri, 1 Jul 2011 14:56:59 +0000 (10:56 -0400)]
Require libgdata >= 0.9.1 for GNOME Online Accounts support.

Appearently there were more API changes since libgdata 0.9.0.

13 years agoBug #653476 - icaltimezone not copied completely with libical 0.43
Milan Crha [Fri, 1 Jul 2011 12:44:48 +0000 (14:44 +0200)]
Bug #653476 - icaltimezone not copied completely with libical 0.43

This is based on Chen's findings and initial patch for the issue.
Once eds will depend on libical 0.46 this can be removed.

13 years agoUpdated Swedish translation
Daniel Nylander [Fri, 1 Jul 2011 07:54:55 +0000 (09:54 +0200)]
Updated Swedish translation

13 years agoBug #650126 - Add API to set the scroll policy of the Contacts container
Raul Gutierrez Segales [Thu, 30 Jun 2011 15:09:34 +0000 (17:09 +0200)]
Bug #650126 - Add API to set the scroll policy of the Contacts container

13 years agoBug #653385 - ldaps fails with server using self-signed certificate
Milan Crha [Thu, 30 Jun 2011 11:28:17 +0000 (13:28 +0200)]
Bug #653385 - ldaps fails with server using self-signed certificate

13 years agoBump the required version of Vala for the bindings.
Travis Reitter [Wed, 29 Jun 2011 23:33:10 +0000 (16:33 -0700)]
Bump the required version of Vala for the bindings.

Closes: bgo#651722 - EDS vala bindings require newer version of Vala

13 years agoe_cal_client_get_object() should not return VCALENDAR components
Milan Crha [Wed, 29 Jun 2011 21:02:49 +0000 (23:02 +0200)]
e_cal_client_get_object() should not return VCALENDAR components

The e_cal_get_object() returns either detached instance, the master
object or the first object from the VCALENDAR component, thus make
ECalClient do this too.

This was discovered while fixing regression crash from bug #579779.

13 years agoUpdated Dutch translation by Hannie Dumoleyn
Hannie Dumoleyn [Wed, 29 Jun 2011 17:27:53 +0000 (19:27 +0200)]
Updated Dutch translation by Hannie Dumoleyn

13 years agoMinor compiler warning fix (change #if to #ifdef)
Milan Crha [Wed, 29 Jun 2011 06:46:57 +0000 (08:46 +0200)]
Minor compiler warning fix (change #if to #ifdef)

13 years agoBug #224687 - Skip ignored destinations in destination_get_address()
Dan Vrátil [Wed, 29 Jun 2011 06:34:18 +0000 (08:34 +0200)]
Bug #224687 - Skip ignored destinations in destination_get_address()

13 years agoFix LDAP authentication and process authentication requests on idle
Milan Crha [Wed, 29 Jun 2011 05:38:35 +0000 (07:38 +0200)]
Fix LDAP authentication and process authentication requests on idle

13 years agoAdd OAuth support to Google Contacts backend.
Matthew Barnes [Sun, 26 Jun 2011 11:54:44 +0000 (07:54 -0400)]
Add OAuth support to Google Contacts backend.

For ESources tagged with a "goa-account-id" property set by Evolution,
authenticate using OAuth 1.0 via libgoa-1.0 and libgdata 0.9.

13 years agolibedata-book cleanups.
Matthew Barnes [Mon, 27 Jun 2011 13:24:33 +0000 (09:24 -0400)]
libedata-book cleanups.

13 years agoMinor compiler warning fix (change #if to #ifdef)
Milan Crha [Tue, 28 Jun 2011 09:46:39 +0000 (11:46 +0200)]
Minor compiler warning fix (change #if to #ifdef)

13 years agoBug #224687 - Create lists of lists
Dan Vrátil [Tue, 28 Jun 2011 09:39:54 +0000 (11:39 +0200)]
Bug #224687 - Create lists of lists

13 years agoVala bindings: we depend on gio-2.0
Raul Gutierrez Segales [Tue, 28 Jun 2011 07:05:47 +0000 (08:05 +0100)]
Vala bindings: we depend on gio-2.0

13 years agoAllow asynchronous retrieval of EClient capabilities for easier caching
Milan Crha [Mon, 27 Jun 2011 09:29:36 +0000 (11:29 +0200)]
Allow asynchronous retrieval of EClient capabilities for easier caching

13 years agoFix build breaks when using libgdata 0.9.
Matthew Barnes [Sun, 26 Jun 2011 11:50:50 +0000 (07:50 -0400)]
Fix build breaks when using libgdata 0.9.

13 years agoRemove pointless ENABLE_THREADS define.
Matthew Barnes [Sat, 25 Jun 2011 17:37:56 +0000 (13:37 -0400)]
Remove pointless ENABLE_THREADS define.

Of course we enable thread support.  We love threads!  And lots of
complex mutex locking!  It's great job security.  </sarcasm>

13 years agoIntrospection: fix annotation in e_vcard_add_attribute
Raul Gutierrez Segales [Sat, 25 Jun 2011 12:03:13 +0000 (13:03 +0100)]
Introspection: fix annotation in e_vcard_add_attribute

13 years agoIntrospection: fix annotation in e_vcard_get_attribute
Raul Gutierrez Segales [Sat, 25 Jun 2011 11:40:59 +0000 (12:40 +0100)]
Introspection: fix annotation in e_vcard_get_attribute

13 years agoSMTP: Handle 235 code after initial AUTH command.
Matthew Barnes [Fri, 24 Jun 2011 22:51:22 +0000 (18:51 -0400)]
SMTP: Handle 235 code after initial AUTH command.

The server may accept the initial response in our AUTH command and
return a 235 (success) code without a 334 (continue) code, such as
for example with XOAUTH.  Handle this correctly.

13 years agoMake Camel's SASL framework more extensible.
Matthew Barnes [Fri, 24 Jun 2011 15:29:04 +0000 (11:29 -0400)]
Make Camel's SASL framework more extensible.

Gather SASL mechanism names by traversing subclasses of CamelSasl
instead of hard-coding all known mechanism names.  This allows
mechanisms to be added from outside of libcamel.

This adds a CamelServiceAuthType pointer to CamelSaslClass, which
changes the ABI.  Statically registered subclasses can just point to a
static CamelServiceAuthType struct.  Dynamically registered subclasses
should allocate a CamelServiceAuthType struct in their base_init class
method and free it in their base_finalize class method.

Adapt CamelSasl subclasses to the new approach.

13 years agoCamelSasl: Coding style cleanups.
Matthew Barnes [Fri, 24 Jun 2011 14:42:02 +0000 (10:42 -0400)]
CamelSasl: Coding style cleanups.

13 years agoFix a few srcdir != builddir issues
Colin Walters [Thu, 23 Jun 2011 19:17:14 +0000 (15:17 -0400)]
Fix a few srcdir != builddir issues

jhbuild will be defaulting to this soon.

13 years agoKeep opening EClient-s till they report busy error
Milan Crha [Thu, 23 Jun 2011 16:27:37 +0000 (18:27 +0200)]
Keep opening EClient-s till they report busy error

13 years agoMake loading of ENameSelector on demand and cancellable
Milan Crha [Thu, 23 Jun 2011 16:26:53 +0000 (18:26 +0200)]
Make loading of ENameSelector on demand and cancellable

13 years agoReverting one line I added to Christophe's commit on my own
Milan Crha [Thu, 23 Jun 2011 06:44:13 +0000 (08:44 +0200)]
Reverting one line I added to Christophe's commit on my own

I added this change to Christophe's commit myself, and I didn't
notice that it is unnecessary change, thus I'm reverting it back.
Christophe notified me about my fault in bug #652173.

13 years agoBug #652173 - libebook: Delay client-side vCard parsing
Christophe Dumez [Wed, 22 Jun 2011 14:18:21 +0000 (16:18 +0200)]
Bug #652173 - libebook: Delay client-side vCard parsing

13 years agoUpdated Galician translations
Fran Diéguez [Tue, 21 Jun 2011 11:53:49 +0000 (13:53 +0200)]
Updated Galician translations

13 years agoBug #648468 - POP3 doesn't recover or claim error after lost connection
Milan Crha [Tue, 21 Jun 2011 10:27:40 +0000 (12:27 +0200)]
Bug #648468 - POP3 doesn't recover or claim error after lost connection

13 years agoBug #269413 - Search treats "4 weeks" and "1 month" as synonymous
Milan Crha [Mon, 20 Jun 2011 11:56:46 +0000 (13:56 +0200)]
Bug #269413 - Search treats "4 weeks" and "1 month" as synonymous

13 years agoUpdated Slovenian translation
Matej Urbančič [Sun, 19 Jun 2011 19:40:10 +0000 (21:40 +0200)]
Updated Slovenian translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Sun, 19 Jun 2011 09:52:17 +0000 (11:52 +0200)]
Updated Spanish translation

13 years agoBug #565961 - Crash with recurring all-day event
Milan Crha [Wed, 15 Jun 2011 13:07:23 +0000 (15:07 +0200)]
Bug #565961 - Crash with recurring all-day event

13 years agoFix few memory leaks
Milan Crha [Wed, 15 Jun 2011 12:37:33 +0000 (14:37 +0200)]
Fix few memory leaks

13 years agoEmit notification for EClient::opened property
Raul Gutierrez Segales [Tue, 14 Jun 2011 08:57:40 +0000 (09:57 +0100)]
Emit notification for EClient::opened property

From introspected bindings (i.e.: Vala) we can't
see the opened signal cause it overlaps with the
opened property. So we need to listen to notifications
on the property related to the signal.

13 years agoFix sqlitedb-test build error.
Travis Reitter [Tue, 14 Jun 2011 13:58:02 +0000 (14:58 +0100)]
Fix sqlitedb-test build error.

13 years agoEBookBackendSqliteDD: Fix a missing comma in search contacts.
Chenthill Palanisamy [Tue, 14 Jun 2011 12:25:03 +0000 (17:55 +0530)]
EBookBackendSqliteDD: Fix a missing comma in search contacts.

13 years agoBug #652530 - EClient - Notify about opening phase result first
Milan Crha [Tue, 14 Jun 2011 11:22:50 +0000 (13:22 +0200)]
Bug #652530 - EClient - Notify about opening phase result first

13 years agoFix recently introduced compiler warnings in CalDAV calendar backend
Milan Crha [Tue, 14 Jun 2011 07:30:27 +0000 (09:30 +0200)]
Fix recently introduced compiler warnings in CalDAV calendar backend

13 years agoBug #652392 - Port to libgdata 0.9.0
Philip Withnall [Tue, 14 Jun 2011 07:19:04 +0000 (09:19 +0200)]
Bug #652392 - Port to libgdata 0.9.0

13 years agoDo not use deprecated EBook/ECal API
Milan Crha [Tue, 14 Jun 2011 06:51:15 +0000 (08:51 +0200)]
Do not use deprecated EBook/ECal API

13 years agoPost-release version bump.
Matthew Barnes [Mon, 13 Jun 2011 16:10:26 +0000 (12:10 -0400)]
Post-release version bump.

13 years agoGtk-Doc updates.
Matthew Barnes [Mon, 13 Jun 2011 16:08:21 +0000 (12:08 -0400)]
Gtk-Doc updates.

13 years agoNEWS update for 3.1.2 release.
Matthew Barnes [Mon, 13 Jun 2011 16:08:09 +0000 (12:08 -0400)]
NEWS update for 3.1.2 release.

13 years agoCoding style and whitespace cleanups.
Matthew Barnes [Mon, 13 Jun 2011 14:24:19 +0000 (10:24 -0400)]
Coding style and whitespace cleanups.

13 years agoEBookBackendSqliteDB, e-sqlite3-vfs.[ch]: Add sqlitedb cache for addressbook. It can
Chenthill Palanisamy [Mon, 13 Jun 2011 10:50:44 +0000 (16:20 +0530)]
EBookBackendSqliteDB, e-sqlite3-vfs.[ch]: Add sqlitedb cache for addressbook. It can
be used as summary+cache.

13 years agoCamelImapStore: Remove unused declarations.
Matthew Barnes [Sat, 11 Jun 2011 18:54:50 +0000 (14:54 -0400)]
CamelImapStore: Remove unused declarations.

13 years agoCamelIMAPXFolder: Fix handling of "filter_junk" option.
Matthew Barnes [Fri, 10 Jun 2011 14:36:24 +0000 (10:36 -0400)]
CamelIMAPXFolder: Fix handling of "filter_junk" option.

Looks like a typo.  Just stumbled on this by accident, but I wonder
if it has something to do with certain junk filtering bugs I've seen
reported by IMAPX users.

13 years agoFixup markup of e_vcard_attribute_add_param (takes ownership of param)
Alexander Larsson [Fri, 10 Jun 2011 12:41:46 +0000 (14:41 +0200)]
Fixup markup of e_vcard_attribute_add_param (takes ownership of param)

13 years agoAnnotate e_vcard_attribute_new (group name may be null)
Alexander Larsson [Fri, 10 Jun 2011 10:10:49 +0000 (12:10 +0200)]
Annotate e_vcard_attribute_new (group name may be null)

13 years agoUse the right free function in the boxed type for EVCardAttributeParam
Alexander Larsson [Fri, 10 Jun 2011 10:10:01 +0000 (12:10 +0200)]
Use the right free function in the boxed type for EVCardAttributeParam

We were using e_vcard_attribute_free, not e_vcard_attribute_param_free

13 years agoAdded UG translation
Abduxukur Abdurixit [Fri, 10 Jun 2011 07:54:04 +0000 (09:54 +0200)]
Added UG translation

13 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Thu, 9 Jun 2011 10:44:33 +0000 (12:44 +0200)]
Updated Norwegian bokmål translation

13 years agoCamelVeeFolder: Check for the presence of unmatched folder before
Chenthill Palanisamy [Tue, 7 Jun 2011 12:50:35 +0000 (18:20 +0530)]
CamelVeeFolder: Check for the presence of unmatched folder before
accessing full_name, error in previous commit.

13 years agoCamelVeeFolder: Adapt changes to unmatched_check_uid that was missed in commit -
Chenthill Palanisamy [Tue, 7 Jun 2011 10:51:25 +0000 (16:21 +0530)]
CamelVeeFolder: Adapt changes to unmatched_check_uid that was missed in commit -
6bc75c47f516301364d653140fcf82193d0a2d52 .

13 years agoCamelVeeFolder: Fix a hang in folder_change_change. do not read db in between a trans...
Chenthill Palanisamy [Tue, 7 Jun 2011 10:35:51 +0000 (16:05 +0530)]
CamelVeeFolder: Fix a hang in folder_change_change. do not read db in between a transaction

13 years agocalendar: include rid in "objects-removed" ECalView signal
Patrick Ohly [Tue, 17 May 2011 07:45:24 +0000 (09:45 +0200)]
calendar: include rid in "objects-removed" ECalView signal

Since migration to D-Bus for libecal<->EDS communication, the
RECURRENCE-ID (rid) has not been sent in the "objects-removed" signal.
As a result, a backend could not communicate the removal of specific
recurrences.

This patch adds the rid after a newline to the string stored
internally and transferred via D-Bus. Because the newline is only
added when needed, traditional uid-only removals look the same as
before and continue to work with older versions of libecal. A uid+rid
combination will look like an unknown uid to an older libecal which
does not know how to split them. Therefore the D-Bus API is considered
unchanged and the interface number is not increased.

Whether clients really interpret "objects-removed" with empty rid (=
parent removed) or valid rid (= child removed) correctly is outside
the scope of this patch.

13 years agocalendar file backend: support remove with CALOBJ_MOD_ONLY_THIS
Patrick Ohly [Thu, 12 May 2011 12:04:37 +0000 (14:04 +0200)]
calendar file backend: support remove with CALOBJ_MOD_ONLY_THIS

Support for this capability is easy:
- report removal of the detached recurrence
- report error when not found
- avoid modifying the parent (= full_object)

13 years agocalendar file backend: removal notification for detached recurrence, part 2
Patrick Ohly [Thu, 12 May 2011 11:30:06 +0000 (13:30 +0200)]
calendar file backend: removal notification for detached recurrence, part 2

e_cal_remove_object_with_mod() can only return one pair of old/new
object pointers to the caller. When the function modifies the parent
and removes a detached recurrence, the removal of the detached
recurrence had to be deduced by clients from the modification of the
parent.

Now clients are explicitly informed about removal of the detached
recurrence in addition to the modification of the parent.

13 years agocalendar file backend: removal notification for detached recurrence, part 1
Patrick Ohly [Thu, 12 May 2011 09:05:59 +0000 (11:05 +0200)]
calendar file backend: removal notification for detached recurrence, part 1

If e_cal_remove_object_with_mod() was called for an appointment where
only a detached recurrence existed, no "objects-removed" signal was
triggered although it should have been.

Apparently Evolution avoids the problem by calling
e_cal_remove_component() instead in this case. Fixing the problem
makes writing clients easier (no special cases).

With this patch, remove_instance() itself decides what it reports back
to the caller. Note that it cannot report back both a modification and
a removal at the moment.

13 years agocalendar file backend: white list check for supported CalObjModType
Patrick Ohly [Thu, 12 May 2011 07:48:37 +0000 (09:48 +0200)]
calendar file backend: white list check for supported CalObjModType

Explicitly check that the CalObjModType is supported before
starting to work on the appointment. Relies in libecal to reject
completely bogus modes with an "invalid parameter" error.

13 years agolibecal: catch invalid CalObjModType values
Patrick Ohly [Thu, 12 May 2011 07:36:59 +0000 (09:36 +0200)]
libecal: catch invalid CalObjModType values

This protects backends without their own parameter checking
from being invoked with invalid CalObjModType values. Note
that this only excludes values that haven't been defined.
Backends still need to check whether they support the
selected mode.

13 years agolibecal: added CALOBJ_MOD_ONLY_THIS
Patrick Ohly [Thu, 12 May 2011 07:29:16 +0000 (09:29 +0200)]
libecal: added CALOBJ_MOD_ONLY_THIS

The goal is to have an orthogonal API where each operation also
has an inverse operation. Adding a detached recurrence was
possible with e_cal_modify_object(), but removing it again
wasn't without modifying the parent appointment.

CALOBJ_MOD_ONLY_THIS in e_cal_remove_object_with_mod() provides
that inverse operation by avoiding the modifications to the
parent.

The semantic in e_cal_modify_object(), the other call taking a
CalObjModType, is unchanged. CALOBJ_MOD_ONLY_THIS is not valid there.

Because not all backends reject CALOBJ_MOD_ONLY_THIS when they don't
support it, a static capability CAL_STATIC_CAPABILITY_REMOVE_ONLY_THIS
is added that must be checked first before using CALOBJ_MOD_ONLY_THIS.

13 years agocalendar file backend: support removing parent event with CALOBJ_MOD_THIS
Patrick Ohly [Wed, 11 May 2011 14:59:51 +0000 (16:59 +0200)]
calendar file backend: support removing parent event with CALOBJ_MOD_THIS

It was possible to create a meeting series with just a detached event
(RECURRENCE-ID set) by importing a meeting invitation for that single
recurrence. It was not possible to arrive at that same state after
adding the parent event (the one with the RRULE) because
e_cal_remove_object_with_mod() removed all instances for
CALOBJ_MOD_THIS and empty rid.

This contradicts the intended semantic of e_cal_remove_object_with_mod():
 "By using a combination of the @uid, @rid and @mod
 arguments, you can remove specific instances. If what you want
 is to remove all instances, use e_cal_remove_object instead."

This patch implements the desired semantic:
- e_cal_backend_file_remove_object(CALOBJ_MOD_THIS) now always
  calls remove_instance().
- remove_instance() was extended to also work for the parent
  event.
- That call removes the complete object if nothing is left
  after removing the instance. This case must be handled by
  the caller. The return value is the original object (if
  it still exists) and NULL if not.
- Because the uid pointer into the object may become invalid
  as part of the removal, a more permanent pointer has to
  be provided by the caller.

13 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Tue, 7 Jun 2011 09:04:59 +0000 (11:04 +0200)]
Updated Norwegian bokmål translation

13 years agoe_book_backend_file_get_contact_list: Fix memory leak
Christophe Dumez [Mon, 6 Jun 2011 13:48:42 +0000 (16:48 +0300)]
e_book_backend_file_get_contact_list: Fix memory leak

vcard_dbt.data should be freed if it is not appended to
the contact list otherwise memory gets leaked.

13 years agoe_contact_name_from_string(): Fix possible memory leak
Christophe Dumez [Mon, 6 Jun 2011 13:55:04 +0000 (16:55 +0300)]
e_contact_name_from_string(): Fix possible memory leak

The 'name' variable memory was leaked when name_str
is NULL.