platform/upstream/evolution-data-server.git
11 years agolibebook: Add phone number utilities
Mathias Hasselmann [Tue, 4 Dec 2012 23:47:07 +0000 (00:47 +0100)]
libebook: Add phone number utilities

This functionality covers parsing, formatting and comparing
phone numbers.

Note that this commit introduces an optional depedency on C++.

See: https://bugzilla.gnome.org/show_bug.cgi?id=689622

11 years agoFixed regression in e_book_get_book_view_async().
Tristan Van Berkom [Wed, 23 Jan 2013 05:34:54 +0000 (14:34 +0900)]
Fixed regression in e_book_get_book_view_async().

The reference counting scheme on the returned view was changed while
porting the EBook apis to use EBookClient apis internally, the result
is that the async callback no longer receives ownership of the passed
EBookView (this commit reverts to the old behaviour).

11 years agotest-ecal-get-objects-for-uid: Fixed assertions in test case.
Tristan Van Berkom [Wed, 23 Jan 2013 08:49:49 +0000 (17:49 +0900)]
test-ecal-get-objects-for-uid: Fixed assertions in test case.

Similar to test-ecal-create-object, this test was comparing a component
built from scratch (with no UID) against a component fetched from
the calendar (with a UID).

Fixed test case to compare the components in the returned list against
a component fetched from the calendar (both with UIDs).

11 years agotest-ecal-create-object: Fixed to assert something that makes sense.
Tristan Van Berkom [Wed, 23 Jan 2013 08:35:07 +0000 (17:35 +0900)]
test-ecal-create-object: Fixed to assert something that makes sense.

The old assertions were broken in that it compares the scratch component
with no UID with the newly created and fetched component.

Now simply check that the newly created component can be fetched and that
it is 'valid'.

11 years agotest-ecal-get-ldap-attribute: Changing test to check the reported error code.
Tristan Van Berkom [Wed, 23 Jan 2013 08:19:06 +0000 (17:19 +0900)]
test-ecal-get-ldap-attribute: Changing test to check the reported error code.

As e_cal_get_ldap_attribute() docs mention that the function has been dropped
completely, this test (instead of removing) now simply tests for the expected
error code.

Additionally, the unused function ecal_test_utils_cal_get_ldap_attribute()
has been removed from in ecal-test-utils.[ch].

11 years agoECal test, test-ecal-get-free-busy: Create a valid user identity and account
Tristan Van Berkom [Wed, 23 Jan 2013 07:52:50 +0000 (16:52 +0900)]
ECal test, test-ecal-get-free-busy: Create a valid user identity and account

Without this, the backend does not report any free-busy information,
with this commit the backend actually reports the free-busy data.

NOTE: This test still fails, because e_cal_get_free_busy() does not report
free busy information from the ECalClient API properly (see FIXME comment
in e_cal_get_free_busy()).

11 years agoECalClient test, test-client-get-free-busy: Create a valid user identity and account
Tristan Van Berkom [Wed, 23 Jan 2013 07:49:19 +0000 (16:49 +0900)]
ECalClient test, test-client-get-free-busy: Create a valid user identity and account

Without this, the backend does not report any free-busy information,
with this commit the backend actually reports the free-busy data and
the test now additionally asserts that the free-busy data was reported.

11 years agoECalClient test test-client-refresh: Only test the refresh APIs if it is supported.
Tristan Van Berkom [Wed, 23 Jan 2013 06:33:01 +0000 (15:33 +0900)]
ECalClient test test-client-refresh: Only test the refresh APIs if it is supported.

Newer versions of the local calendar backend dont support the explicit refresh,
so failing the explicit refresh is not an error.

11 years agoEBookBackendFile: Report the proper error if a contact is not found by UID.
Tristan Van Berkom [Mon, 21 Jan 2013 09:06:15 +0000 (18:06 +0900)]
EBookBackendFile: Report the proper error if a contact is not found by UID.

Conflicts:

addressbook/backends/file/e-book-backend-file.c

11 years agoEBookBackendSqliteDB: Added contact-not-found error type.
Tristan Van Berkom [Mon, 21 Jan 2013 08:50:55 +0000 (17:50 +0900)]
EBookBackendSqliteDB: Added contact-not-found error type.

Report this error if a contact was requested by UID and not found.

11 years agoImproving test-client-remove-contact
Tristan Van Berkom [Mon, 21 Jan 2013 08:35:13 +0000 (17:35 +0900)]
Improving test-client-remove-contact

Check for error type is more clear and safe now.

11 years agoBug #692278 - LDAP backend mutex deadlock on finalize
Milan Crha [Tue, 22 Jan 2013 19:43:30 +0000 (20:43 +0100)]
Bug #692278 - LDAP backend mutex deadlock on finalize

11 years agoCamelIMAPXStore: Configure folder flags on folder creation.
Matthew Barnes [Tue, 22 Jan 2013 16:02:52 +0000 (11:02 -0500)]
CamelIMAPXStore: Configure folder flags on folder creation.

Immediately after CamelFolder creation, check whether the store is
configured to use real Junk/Trash folders and set CamelFolderFlags
appropriately.

This solves the problem of Evolution not displaying junk messages in a
real Junk folder.  This does NOT solve the restart problem, as noted in
the comment.

11 years agoCamelIMAPXStore: Pass a GError to get_folder_offline().
Matthew Barnes [Tue, 22 Jan 2013 15:12:38 +0000 (10:12 -0500)]
CamelIMAPXStore: Pass a GError to get_folder_offline().

This is just silly.  get_folder_offline() already sets the GError on
failure.  There's no reason for imapx_store_get_folder_sync() to not
pass the GError to get_folder_offline() and then set its own generic
error message on failure.

11 years agoCamelIMAPXStore: get_folder_offline() cleanups.
Matthew Barnes [Tue, 22 Jan 2013 15:10:53 +0000 (10:10 -0500)]
CamelIMAPXStore: get_folder_offline() cleanups.

11 years agoFixing test-ebook-get-supported-auth-methods.c
Tristan Van Berkom [Tue, 22 Jan 2013 08:36:28 +0000 (17:36 +0900)]
Fixing test-ebook-get-supported-auth-methods.c

This tests that unsupported code paths actually run as expected
(the problem was that the async callback was called before entering
the mainloop and waiting for a reply or timeout).

11 years agoAdded test case ensuring that new contacts have thier UID preserved.
Tristan Van Berkom [Fri, 18 Jan 2013 06:55:32 +0000 (15:55 +0900)]
Added test case ensuring that new contacts have thier UID preserved.

Asserts both that newly added contacts preserve the assigned UID and
also that 2 contacts with the same UID cannot be added.

11 years agoEBookBackendFile: Don't overwrite UIDs on incomming/new contacts.
Tristan Van Berkom [Fri, 18 Jan 2013 06:53:46 +0000 (15:53 +0900)]
EBookBackendFile: Don't overwrite UIDs on incomming/new contacts.

  o Only assign a generated UID if the new contact does not have any
  o If the UID already exists in the SQLite at creation time, then
    report an E_DATA_BOOK_STATUS_CONTACTID_ALREADY_EXISTS error.

11 years agoEBookBackendSqliteDB: Added e_book_backend_new_contact[s]() APIs
Tristan Van Berkom [Fri, 18 Jan 2013 06:50:04 +0000 (15:50 +0900)]
EBookBackendSqliteDB: Added e_book_backend_new_contact[s]() APIs

The new API allows control on whether or not to overwrite existing contacts
with the same UID.

Deprecated the older e_book_backend_add_contact[s]() apis which include
the unused 'partial_contact' parameter and have no control on whether
or not to overwrite existing contacts.

Additionally this patch exposes the E_BOOK_SDB_ERROR domain and a couple
of error codes to distinguish if an error occurred because of a constraint
or other errors (UID conflicts at contact addition time are constraint
errors).

Conflicts:

addressbook/libedata-book/e-book-backend-sqlitedb.c
addressbook/libedata-book/e-book-backend-sqlitedb.h

11 years agobuild: Fix parallel make issue in GResource change
Colin Walters [Tue, 22 Jan 2013 02:58:40 +0000 (21:58 -0500)]
build: Fix parallel make issue in GResource change

We need deps on the generated files for both header and source.

11 years agoBundle built-in data sources as a GResource.
Matthew Barnes [Mon, 21 Jan 2013 23:45:07 +0000 (18:45 -0500)]
Bundle built-in data sources as a GResource.

This was primarily meant to aid our test suite, whose goal is to run
successfully without requiring evolution-data-server (or its data files)
to be installed.  The tests inadvertently depend on these built-in data
sources being present.

But this is good to do anyway.  Bundling the data sources directly in
the evolution-source-registry binary guarantees they're always present,
which the E-D-S APIs already assume, and avoids the usual problems with
installed data files: I/O errors, user meddling, etc.

11 years agoDeprecate e_source_registry_server_load_all().
Matthew Barnes [Tue, 22 Jan 2013 00:02:34 +0000 (19:02 -0500)]
Deprecate e_source_registry_server_load_all().

It was a mistake to encode this much file location policy directly into
libebackend's API.  Instead, evolution-source-registry.c will implement
its own function that uses e_source_registry_server_load_resource().

11 years agoAdd e_source_registry_server_load_resource().
Matthew Barnes [Mon, 21 Jan 2013 23:45:17 +0000 (18:45 -0500)]
Add e_source_registry_server_load_resource().

Loads data source key files from a GResource by enumerating the children
at the given pathname and calling e_source_registry_server_load_file()
on each child.

11 years agoFix the copyright in test-client-custom-summary.c
Mathias Hasselmann [Mon, 21 Jan 2013 21:24:44 +0000 (22:24 +0100)]
Fix the copyright in test-client-custom-summary.c

11 years agolibebook: Reduce code-duplication in e_book_query_from_string()
Mathias Hasselmann [Wed, 5 Dec 2012 00:31:51 +0000 (01:31 +0100)]
libebook: Reduce code-duplication in e_book_query_from_string()

Merge almost identical sexp handlers used by that functions.
Also merge two de-facto identical error branches.

11 years agolibecal: Fix accidental double semicolon
Mathias Hasselmann [Mon, 21 Jan 2013 18:49:39 +0000 (19:49 +0100)]
libecal: Fix accidental double semicolon

11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Mon, 21 Jan 2013 10:56:06 +0000 (11:56 +0100)]
Updated Norwegian bokmål translation

11 years agoUpdated Thai translation
Theppitak Karoonboonyanan [Sun, 20 Jan 2013 13:13:02 +0000 (20:13 +0700)]
Updated Thai translation

11 years agoUpdated Uyghur translation
Gheyret Kenji [Sun, 20 Jan 2013 00:04:18 +0000 (09:04 +0900)]
Updated Uyghur translation

Signed-off-by: Gheyret Kenji <gheyret@gmail.com>
11 years agolibebook: Allow *some* deprecated API into bindings.
Matthew Barnes [Sat, 19 Jan 2013 18:35:25 +0000 (13:35 -0500)]
libebook: Allow *some* deprecated API into bindings.

Also some functions with "Deprecated" tags into bindings.

There are still some old, deprecated classes that we definitely don't
want to allow into bindings.  Use "#ifndef __GI_SCANNER__ ... #endif"
to force g-ir-scanner to skip them.

They are:

    EBook
    EBookView

11 years agolibedataserver: Allow *some* deprecated API into bindings.
Matthew Barnes [Sat, 19 Jan 2013 18:22:18 +0000 (13:22 -0500)]
libedataserver: Allow *some* deprecated API into bindings.

Allow some functions with "Deprecated" tags into bindings.

There are still some old, deprecated classes that we definitely don't
want to allow into bindings.  Use "#ifndef __GI_SCANNER__ ... #endif"
to force g-ir-scanner to skip them.

They are:

    ECredentials
    EIterator
    EListIterator
    EList
    EUrl

11 years agoUpdated Thai translation
Theppitak Karoonboonyanan [Sat, 19 Jan 2013 15:23:22 +0000 (22:23 +0700)]
Updated Thai translation

11 years agoBug #691126 - Fix warnings found by Clang (POP3 part)
Milan Crha [Fri, 18 Jan 2013 11:18:11 +0000 (12:18 +0100)]
Bug #691126 - Fix warnings found by Clang (POP3 part)

The change itself fixed a symbol clash on CAMEL_POP3_STREAM_LINE,
where one was an enum value, and the other a line size integer.
It may or may not change behaviour of the POP3 provider.
This is committed separately, and only to master branch, to give
the change more time for testing.

11 years agoBug #691126 - Fix warnings find by Clang
Milan Crha [Fri, 18 Jan 2013 11:14:29 +0000 (12:14 +0100)]
Bug #691126 - Fix warnings find by Clang

11 years agoBump libsoup dependency to 2.40.3
Milan Crha [Fri, 18 Jan 2013 10:56:18 +0000 (11:56 +0100)]
Bump libsoup dependency to 2.40.3

This removes workarounds for below libsoup bugs and makes trust-prompt
for WebDAV based backends work better, by checking also server certificates.

 * soup_message_get_https_status() now returns the certificate
   and flags for unsuccessful https connections as well as
   successful ones. [bug #690176]

 * Fixed a deadlock when calling soup_session_abort() on
   a SoupSessionSync in some cases. [bug #691399]

11 years agoEBookBackendSqliteDB: Fixed retry loop when SQLite is busy.
Tristan Van Berkom [Thu, 17 Jan 2013 04:37:30 +0000 (13:37 +0900)]
EBookBackendSqliteDB: Fixed retry loop when SQLite is busy.

11 years agoMake GTK+ a soft dependancy
Tristan Van Berkom [Wed, 16 Jan 2013 09:02:40 +0000 (18:02 +0900)]
Make GTK+ a soft dependancy

This patch disables building of the user-prompter service and trust-prompt
module if GTK+ is not available, allowing alternative implementations of
the user prompter service to be installed on platforms where GTK+ is not
available.

11 years agoThis patch makes google addressbook backend optional
Tristan Van Berkom [Mon, 17 Dec 2012 10:51:21 +0000 (19:51 +0900)]
This patch makes google addressbook backend optional

Adds a configure option to avoid building the google backend,
making libgdata an optional dependency.

11 years agotest-server-utils: Permit to preserve working directory
Mathias Hasselmann [Wed, 16 Jan 2013 23:25:21 +0000 (00:25 +0100)]
test-server-utils: Permit to preserve working directory

11 years agolibebook: Explicitly check e_sexp_parse() result
Mathias Hasselmann [Wed, 16 Jan 2013 14:42:37 +0000 (15:42 +0100)]
libebook: Explicitly check e_sexp_parse() result

e_sexp_parse() returns -1 on error and 0 on success. Therefore using it
straighly within an if() statement is confusing for the reader.

11 years agotests: Remove phone number specific EBook query tests
Mathias Hasselmann [Wed, 16 Jan 2013 14:39:36 +0000 (15:39 +0100)]
tests: Remove phone number specific EBook query tests

They sneaked in by accident with commit f358f98697c63a27c3a50538519ae0bacb6e086c.

11 years agolibedataserver: Don't print warning if e_sexp_parse() fails
Mathias Hasselmann [Thu, 6 Dec 2012 14:40:03 +0000 (15:40 +0100)]
libedataserver: Don't print warning if e_sexp_parse() fails

Backends that don't support the full range of queries call e_sexp_parse() with
their reduced set of symbols to check if they actually can process a query or
if they must resort to full table scans. If now such a backend is used from
within a GTest based test this warning causes the test to fail, which obviously
is bad. Therefore this patch drops the warning in e_sexp_parse() and moves it
to hopefully more appropriate places.

11 years agolibedata-book: Simplify signature of sexp helpers
Mathias Hasselmann [Thu, 6 Dec 2012 21:18:23 +0000 (22:18 +0100)]
libedata-book: Simplify signature of sexp helpers

The compare() and list_compare() functions are used as plain boolean
predicates. Still the function signature required the helpers to return
a fancy string without actually describing the requirements for that
string. Let's stop that now.

11 years agolibedata-book: Use slice allocator for EbSdbSearchData
Mathias Hasselmann [Tue, 11 Dec 2012 09:53:00 +0000 (10:53 +0100)]
libedata-book: Use slice allocator for EbSdbSearchData

EbSdbSearchData is a tiny object that gets allocated for each search result.
For such objects the slice allocator must be used to improve performance and
to reduce memory fragmentation.

11 years agobuild: Move langinfo checks into autoconf macro
Mathias Hasselmann [Tue, 4 Dec 2012 21:40:11 +0000 (22:40 +0100)]
build: Move langinfo checks into autoconf macro

Also add a check for _NL_ADDRESS_COUNTRY_AB2.
Actually this second check was the motivation for touching this.

11 years agotests: Verify more EBook queries
Mathias Hasselmann [Wed, 5 Dec 2012 12:48:12 +0000 (13:48 +0100)]
tests: Verify more EBook queries

11 years agotests: Port libebook/test-query.c to GTest
Mathias Hasselmann [Wed, 5 Dec 2012 11:22:59 +0000 (12:22 +0100)]
tests: Port libebook/test-query.c to GTest

11 years agoUpdated Belarusian translation.
Ihar Hrachyshka [Wed, 16 Jan 2013 11:27:19 +0000 (14:27 +0300)]
Updated Belarusian translation.

11 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 15 Jan 2013 17:10:42 +0000 (18:10 +0100)]
Updated Spanish translation

11 years agolegal: Update copyright notice of our recent contributions.
Mathias Hasselmann [Tue, 15 Jan 2013 11:19:35 +0000 (12:19 +0100)]
legal: Update copyright notice of our recent contributions.

11 years agoUpdated Bulgarian translation
Krasimir Chonov [Tue, 15 Jan 2013 05:40:59 +0000 (07:40 +0200)]
Updated Bulgarian translation

11 years agoUpdated Galician translations
Fran Diéguez [Sun, 13 Jan 2013 16:35:39 +0000 (17:35 +0100)]
Updated Galician translations

11 years agoPost-release version bump.
Matthew Barnes [Sun, 13 Jan 2013 13:09:44 +0000 (08:09 -0500)]
Post-release version bump.

11 years agoNEWS update for 3.7.4 release. upstream/3.7.4
Matthew Barnes [Sun, 13 Jan 2013 12:12:07 +0000 (07:12 -0500)]
NEWS update for 3.7.4 release.

11 years agoUpdated Slovenian translation
Matej Urbančič [Sun, 13 Jan 2013 10:25:18 +0000 (11:25 +0100)]
Updated Slovenian translation

11 years agoe-data-server-util.c: Fix a couple typos.
Matthew Barnes [Sat, 12 Jan 2013 22:04:01 +0000 (17:04 -0500)]
e-data-server-util.c: Fix a couple typos.

11 years agoDeprecate e_util_copy_object_slist().
Matthew Barnes [Sat, 12 Jan 2013 20:16:20 +0000 (15:16 -0500)]
Deprecate e_util_copy_object_slist().

Use g_slist_copy_deep() instead, and optionally g_slist_concat() to
concatenate the copied list to another GSList.

11 years agoDeprecate e_util_copy_string_slist().
Matthew Barnes [Sat, 12 Jan 2013 20:14:29 +0000 (15:14 -0500)]
Deprecate e_util_copy_string_slist().

Use g_slist_copy_deep() instead, and optionally g_slist_concat() to
concatenate the copied list to another GSList.

11 years agoDeprecate e_util_free_object_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:37:46 +0000 (14:37 -0500)]
Deprecate e_util_free_object_slist().

Use g_slist_free_full() instead.

11 years agoDeprecate e_util_free_string_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:36:24 +0000 (14:36 -0500)]
Deprecate e_util_free_string_slist().

Use g_slist_free_full() instead.

11 years agoDeprecate e_client_util_free_object_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:33:46 +0000 (14:33 -0500)]
Deprecate e_client_util_free_object_slist().

Use g_slist_free_full() instead.

11 years agoDeprecate e_client_util_free_string_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:32:33 +0000 (14:32 -0500)]
Deprecate e_client_util_free_string_slist().

Use g_slist_free_full() instead.

11 years agoDeprecate e_client_util_copy_object_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:31:06 +0000 (14:31 -0500)]
Deprecate e_client_util_copy_object_slist().

Use e_util_copy_object_slist() instead.

11 years agoDeprecate e_client_util_copy_string_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:29:46 +0000 (14:29 -0500)]
Deprecate e_client_util_copy_string_slist().

Use e_util_copy_string_slist() instead.

11 years agoDeprecate e_client_util_strv_to_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:28:33 +0000 (14:28 -0500)]
Deprecate e_client_util_strv_to_slist().

Use e_util_strv_to_slist() instead.

11 years agoDeprecate e_client_util_slist_to_strv().
Matthew Barnes [Sat, 12 Jan 2013 19:27:08 +0000 (14:27 -0500)]
Deprecate e_client_util_slist_to_strv().

Use e_util_slist_to_strv() instead.

11 years agoSimplify e_util_copy_object_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:23:48 +0000 (14:23 -0500)]
Simplify e_util_copy_object_slist().

11 years agoSimplify e_util_copy_string_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:21:49 +0000 (14:21 -0500)]
Simplify e_util_copy_string_slist().

11 years agoUpdate API documentation.
Matthew Barnes [Sat, 12 Jan 2013 17:11:28 +0000 (12:11 -0500)]
Update API documentation.

11 years agoRestore ESourceWebdav:ignore-invalid-cert property.
Matthew Barnes [Sat, 12 Jan 2013 17:08:23 +0000 (12:08 -0500)]
Restore ESourceWebdav:ignore-invalid-cert property.

Deprecate the property, don't break backward-compatibility.

11 years agoAvoid GSList in new public APIs.
Matthew Barnes [Sat, 12 Jan 2013 16:47:16 +0000 (11:47 -0500)]
Avoid GSList in new public APIs.

11 years agoMove ETrustPromptResponse to e-source-enums.h.
Matthew Barnes [Sat, 12 Jan 2013 16:34:50 +0000 (11:34 -0500)]
Move ETrustPromptResponse to e-source-enums.h.

11 years agoCoding style and whitespace cleanups.
Matthew Barnes [Sat, 12 Jan 2013 15:54:47 +0000 (10:54 -0500)]
Coding style and whitespace cleanups.

11 years agoAssamese translation updated
Nilamdyuti Goswami [Fri, 11 Jan 2013 15:44:25 +0000 (21:14 +0530)]
Assamese translation updated

11 years agoBug #691477 - exists_vcard is not supported when parsing a query from string
Milan Crha [Fri, 11 Jan 2013 13:27:38 +0000 (14:27 +0100)]
Bug #691477 - exists_vcard is not supported when parsing a query from string

11 years agoECalBackend: Emit "timezone-added" from outside the cache lock.
Matthew Barnes [Fri, 11 Jan 2013 12:17:19 +0000 (07:17 -0500)]
ECalBackend: Emit "timezone-added" from outside the cache lock.

The "timezone-added" signal triggers e_timezone_cache_list_timezones()
in ECalBackendStore, which also tries to acquire the cache lock.

Similarly in ECalClient, though less chance of deadlock there.

11 years agoBug #690151 - Crash in e_book_backend_file_bump_revision()
Milan Crha [Fri, 11 Jan 2013 11:27:47 +0000 (12:27 +0100)]
Bug #690151 - Crash in e_book_backend_file_bump_revision()

11 years agoCamelMimeFilterPgp: Ignore right side white spaces
Milan Crha [Thu, 10 Jan 2013 19:27:12 +0000 (20:27 +0100)]
CamelMimeFilterPgp: Ignore right side white spaces

11 years agoBug 691466 - Cache reaper restores old IMAP cache directories
Matthew Barnes [Thu, 10 Jan 2013 12:03:11 +0000 (07:03 -0500)]
Bug 691466 - Cache reaper restores old IMAP cache directories

Alter the name of the cache directory when moving it to trash.

11 years agoBug #690177 - Use trust-prompt for certificate verification in WebDAV backends
Milan Crha [Wed, 9 Jan 2013 22:03:37 +0000 (23:03 +0100)]
Bug #690177 - Use trust-prompt for certificate verification in WebDAV backends

11 years agoECalBackendStore: Better ensure final save works.
Matthew Barnes [Wed, 9 Jan 2013 19:12:53 +0000 (14:12 -0500)]
ECalBackendStore: Better ensure final save works.

Collect what we need from ETimezoneCache when we schedule the save
instead of relying on ETimezoneCache when we actually do the save.

11 years agoRevert "Add e_cal_backend_store_save()."
Matthew Barnes [Wed, 9 Jan 2013 19:24:30 +0000 (14:24 -0500)]
Revert "Add e_cal_backend_store_save()."

This reverts two commits:

    a68f14d5573b72ada7e04d090af47f879455e0bc
    ad12a30f349d5ca1a44fcdd607d272a8149ab9cf

Thought of a better way to solve the final save problem that doesn't
involve adding new API or modifying backends.

11 years agoweather: Fix build break.
Matthew Barnes [Wed, 9 Jan 2013 17:36:12 +0000 (12:36 -0500)]
weather: Fix build break.

It helps to actually build the weather backend when changing it.
Forgot I had configured E-D-S with --disable-weather.

11 years agoSave changes before finalizing ECalBackendStore.
Matthew Barnes [Wed, 9 Jan 2013 17:02:00 +0000 (12:02 -0500)]
Save changes before finalizing ECalBackendStore.

11 years agoAdd e_cal_backend_store_save().
Matthew Barnes [Wed, 9 Jan 2013 16:53:32 +0000 (11:53 -0500)]
Add e_cal_backend_store_save().

This function cancels the automatic save delay and saves changes to
disk immediately.  If no changes have been made since the last save,
the function does nothing.

11 years ago[http calendar] Ref backend inside source_changed_cb()
Milan Crha [Wed, 9 Jan 2013 14:41:10 +0000 (15:41 +0100)]
[http calendar] Ref backend inside source_changed_cb()

In certain situation, the backend can be freed while the callback
is still in action, then the factory can crash inside
cal_backend_http_ensure_uri() or such.

11 years agoBug 690158 - libedataserver: Vala binding updates
Alban Browaeys [Tue, 8 Jan 2013 15:57:39 +0000 (10:57 -0500)]
Bug 690158 - libedataserver: Vala binding updates

11 years agoCamelObject: Suppress state file warnings for old IMAP accounts.
Matthew Barnes [Tue, 8 Jan 2013 15:00:30 +0000 (10:00 -0500)]
CamelObject: Suppress state file warnings for old IMAP accounts.

CamelImapFolder had a persistent "check-folder" property whose value was
recorded in Camel's binary state files under tag 0x2500.  This property
is not present in CamelIMAPXFolder, but we may still be reading the tag
for accounts that were migrated from IMAP to IMAPX.  Check for that tag
value while reading state files and suppress the runtime warning.

11 years agoUpdated German translation
Christian Kirbach [Tue, 8 Jan 2013 13:47:27 +0000 (14:47 +0100)]
Updated German translation

11 years agoweather: Fix build break.
Matthew Barnes [Sat, 5 Jan 2013 06:02:37 +0000 (01:02 -0500)]
weather: Fix build break.

11 years agoECalBackendFile: Override the ETimezoneCache methods.
Matthew Barnes [Fri, 4 Jan 2013 19:52:07 +0000 (14:52 -0500)]
ECalBackendFile: Override the ETimezoneCache methods.

This backend stores time zone data directly in an icalcomponent,
so it needs to override the ETimezoneCacheInterface implementation
provided by ECalBackend, which uses a hash table.

11 years agoRemove e_cal_backend_store_put_timezone().
Matthew Barnes [Fri, 4 Jan 2013 18:03:43 +0000 (13:03 -0500)]
Remove e_cal_backend_store_put_timezone().

Use the ETimezoneCache API instead:

    cache = e_cal_backend_store_ref_timezone_cache (store);
    e_timezone_cache_add_timezone (cache, zone);
    g_object_unref (cache);

This is another API break.  3rd party backends will have to be adjusted.

11 years agoRemove e_cal_backend_store_get_timezone().
Matthew Barnes [Fri, 4 Jan 2013 17:50:30 +0000 (12:50 -0500)]
Remove e_cal_backend_store_get_timezone().

Use the ETimezoneCache API instead:

    cache = e_cal_backend_store_ref_timezone_cache (store);
    zone = e_timezone_cache_get_timezone (cache, tzid);
    ... do what you gotta do with zone ...
    g_object_unref (cache);

This is another API break.  3rd party backends will have to be adjusted.

11 years agoECalBackend: Remove internal_get_timezone() method.
Matthew Barnes [Thu, 3 Jan 2013 16:49:44 +0000 (11:49 -0500)]
ECalBackend: Remove internal_get_timezone() method.

No longer needed since ECalBackend implements ETimezoneCache.

Use e_timezone_cache_get_timezone() instead.

Removed functions:

    e_cal_backend_internal_get_timezone()

This is another API break.  3rd party backends will have to be adjusted.

11 years agoECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.
Matthew Barnes [Thu, 3 Jan 2013 16:35:15 +0000 (11:35 -0500)]
ECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.

Here's the real reason for the ETimezoneCache interface.

By changing ECalBackend parameters to ETimezoneCache (an interface which
ECalBackend implements), we abstract away the requirement for a calendar
backend when performing S-expression evaluation.

Since ECalClient also implements the ETimezoneCache interface, this opens
the possibility of allowing client-side S-expression evaluation.  (Would
first require moving ECalBackendSExp to libecal, plus of course a rename
to omit the "Backend" part.)

Affected functions:

    e_cal_backend_sexp_match_object()
    e_cal_backend_sexp_match_comp()

This is another API break.  3rd party backends will have to be adjusted.

11 years agoECalBackendStore: Add a "timezone-cache" construct-only property.
Matthew Barnes [Thu, 3 Jan 2013 15:26:51 +0000 (10:26 -0500)]
ECalBackendStore: Add a "timezone-cache" construct-only property.

Instead of keeping its own an internal hash table of icaltimezones, have
ECalBackendStore take an ETimezoneCache in e_cal_backend_store_new().

Usually the ETimezoneCache will be an ECalBackend, which implements the
ETimezoneCache interface and owns the ECalBackendStore.  For that reason,
the store only keeps a weak reference on its ETimezoneCache to avoid a
reference cycle.

New functions:

    e_cal_backend_store_ref_timezone_cache()

This is an API break.  3rd party backends will have to be adjusted.

11 years agoe_cal_backend_store_set_default_timezone(): Remove const qualifier.
Matthew Barnes [Thu, 3 Jan 2013 15:05:10 +0000 (10:05 -0500)]
e_cal_backend_store_set_default_timezone(): Remove const qualifier.

Same justification as previous commit.

11 years agoe_cal_backend_store_put_timezone(): Remove const qualifier.
Matthew Barnes [Thu, 3 Jan 2013 14:52:07 +0000 (09:52 -0500)]
e_cal_backend_store_put_timezone(): Remove const qualifier.

Semantics have not changed, but the const qualifier is unnecessary.
None of the icaltimezone API uses const, not even the "get" functions.
So to declare an icaltimezone parameter as const creates type casting
awkwardness on our end.

11 years agoRemove unused e_cal_backend_cache_remove_timezone().
Matthew Barnes [Thu, 3 Jan 2013 14:13:21 +0000 (09:13 -0500)]
Remove unused e_cal_backend_cache_remove_timezone().

11 years agoRemove unused e_cal_backend_store_remove_timezone().
Matthew Barnes [Thu, 3 Jan 2013 14:11:17 +0000 (09:11 -0500)]
Remove unused e_cal_backend_store_remove_timezone().